From 3b632af4b27918c05a89a7d3b5c5474f29cc0d8d Mon Sep 17 00:00:00 2001 From: lana-k Date: Sun, 4 Jul 2021 11:54:27 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20build=20from=20@=20lana-k/sqli?= =?UTF-8?q?teviz@fb930028de6a534ba01670f0d6cb278a58586089=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist.zip | Bin 3032437 -> 3111082 bytes index.html | 2 +- js/_worker.8030f477.worker.js | 19 ------------------- js/_worker.8030f477.worker.js.map | 1 - js/_worker.f23e8754.worker.js | 19 +++++++++++++++++++ js/_worker.f23e8754.worker.js.map | 1 + js/app.07e3c4a6.js.map | 1 - js/{app.07e3c4a6.js => app.42b58cb4.js} | 4 ++-- js/app.42b58cb4.js.map | 1 + js/sql-wasm.wasm | Bin 1183841 -> 1330242 bytes service-worker.js | 2 +- service-worker.js.map | 2 +- 12 files changed, 26 insertions(+), 26 deletions(-) delete mode 100644 js/_worker.8030f477.worker.js delete mode 100644 js/_worker.8030f477.worker.js.map create mode 100644 js/_worker.f23e8754.worker.js create mode 100644 js/_worker.f23e8754.worker.js.map delete mode 100644 js/app.07e3c4a6.js.map rename js/{app.07e3c4a6.js => app.42b58cb4.js} (95%) create mode 100644 js/app.42b58cb4.js.map diff --git a/dist.zip b/dist.zip index 9c90bf7186f85e34e59552a86ea017db58a64b2a..8a966da1e3d092b6e38737259f6d7ac1aabf927f 100644 GIT binary patch delta 843737 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�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 {Rn>Bjft% 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ͭ+cxQlVCRW?1qxPKJ!9t)GD$dnLZLiCzr zQF0W>S83OPT2aVM|HM%(BIxmU*B{(gtJgF)$83B+x{pDPOH0)WpBx_tt1%l@VMiGC zY&|{@dm{db;w!ISwc73ViaT!m#RKyZ&3SVMgk%k-P-WXMVj8454U&h0wB&OfqzU(G zEmXpWpebJr#(%XMx)XKWR%J>xoc4OW)tz9?ur4orSgzx12JzTLH6!GH1#^bJhkSfU zQk!7^1e7qOgkdouY&AIiz6HhAmP9S!9_XXul=5ubfA78TO#8K@LvZl2fBhO?$^~u0 zN2dc_A5!Q0HMnH!nrevn3iqL9L=O{MHf{S$kYrf~v46%mZVd&STXM^N@+EGf9L;O_ zs7#dKT1u69ZA^x$UkAaND4GCHrgr^kD>U#Rf2%{2 z6^(HO0pVP+RnNx;A&t?ev-xSp6+_E}cQLdkNQEPsoJ8>CAn`Shf#*C2k~gvgr6)Na zdA?EXTYq8c3g_ zNAc%OmrP>GV|L1Z7u6M{>O&;89(p`O3XMvtLRX(sZdia$4s|G8(%q8wu4yBv#9Xe6 zyvl1H3tMjVPyOh@()iaMMaN$N|!4AI8!T zA%Bun_Yk^N@z!glP@5YVAYNaG58*tA=&#{WyMyU(*Bp)gpS$^1yF|1$EtvI(3UEZPhA_! zK@)EiZO}$AXrtqKcO(bRhd8-GOEX9d^?x;$A=w#J&qa1NrG==`9OVq!EIr)esxar%^X7DLw{Mr z{OWymT3uBAs&Qc8^P1h}fuAJ!@PjGL>=30);Xg@Na&YzhC4`IHBs#ylF-Pt6rSF!*<%i6EP47I za+M6OtX>#ZDnzIg7U+M;31dtav*|cQ@s)(WMh&+|9`IT~rTdJeso{8#{CZw?`IbZuZs=YN(%CPK&w zEtarA{8=b4V-f`Yq!SD8mbef`u2+5`(z&BHa!0oT>z4Br%Xxxl3&|K3xMBr%;xN$v`Cs)LdDS);~Z+}5}vF*^)axrdakG1sKoBLrXpQVpY`2v3q8)*uE?q-iQ zH_OO5gc+Y@tGy=PqtQwIy%fC0;ci_*(5K87QCYF?$YtVKX^UmcHrta+`z_VZGN5;n z#}uYg

mf2wR+G*K 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

PAak=fdbJfF1x`Z7lYywnv%U5(2;>< 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

KxA`eAl&`kz13rBuwZMJD0{1aSVO{6F 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�UyYK=@?V*A*~MdHJ_uiWSWtQ- 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

fum+UPdDSLrV~>qF;=fMh zEzck0z=;ze))}`cU}&641mzBRy0}djbF32QaviI~=B5s7zv{d)$J+2liSu8&CZ$b# zHebZ{tPWLrUS`=ARB3ILSB`6ih|ZlW&3}Dl&Pb4IFpaJ%6XZHVif*ix+HND!k53m* z&Ed7!j2)G&mW$YZ_*Gq*N;m?tP&^m0+Z}H1n!0kV%GH*gyJK<=yKT3AS+pqsgWD)? z5@i{1#{9M}LrxJxS?okjEv+#MDQM^H+fCnr;oOJ)SXRtUO8I<0x6Ax0`2wgI;D7hU zaNxed=2x2^2Tm)ReA3i^{RN1*lMp1d^P!#`zaeB<;E~!W`l#KcEz$S>_sO_>(U&%& z&kpOYLQHmI#?ae{zj5k+F1i9Bu`LC_D0h2!z-lY z?IIk1pThC+K!u}qqPL8*B9&YxNsz_1|=@>XI9zqmv~=;SdAsH{eGD zo>E2|@P}4xz(-^;f0i5YBkc{i*@Zu3IMQnYSY0^0;y2{OH{`=NM>*=w-vNH~mi^HEG91?QG!D0jK8?0*z$#dtnRJ=po~cfV5D(PioR9UA$V~ zQU+G*cje}F&~z|-$#SB_{(m966X;{}W~be(R^#P{!$*SEEQcQmyy@_f;9uQ#Xua*w zu3|gvv}}hRZ#(R)VmoBPCt3xc@C9LwM<5%WU((*zn~6uc7w`y5^HkypzK(8$GA!Or zybq)h$bUBD=MHhc=`Y6hs-qTVdxJv_m;W7_9rR^z;WX&92u<5lGkaWsOk%Ue8-P{c-FBG|1HNpywIU(VPUyG+FTLye&(QS9;>fVk7sXi zy0XEYc7xl~rr)kx|9{-mrfG0`u^UW@fDMf}>WG0CAxrU!E2X1f?7%W;m2qN|20~~E zP64Qwj%*pSAMU|5MiF*$>c`ygu43}7TEX@#thrU@t8SI}eAs+ryIj?%`>+}GRY!Tm zR1m?0e#rBP$1ImB4u$=i?*(3crCSbwi64@+)NEL;Zb7 zst3i_$;#p?a`ip@``Cla;e`%l{~Lq2Y!E^82Ola-=<9K$p@klF)Py%e^a$LhQza0I zs%dPsQ;dBor+iXJIqkpgCxWwrv?;5#df3ywt+bg5O`9<#0!n8emXV?o&dP)_k#(5+drd0=rW@Y1P{56}1Q{*fW ze2T2$bXZ3Vut?A|Q^@pT*SnwbBa^V}xBZyqOmin1f+x(`myjouXB)zUDL33@4C1dZ zD-P;yGL7K60YvPgf_BwsK7izj^61qjliTnN#D1HyD}Q=CpAt9libmlTV+1LR+B26c zcJZ)Gi+?m5WeRp{Q~Zcg{)Hc+ccy@|#Pu3SiBnLfpQzt|_3;*Dn{j>`%O}m_htzaUBjIk22fV9)sW&f7JTK^UI>=c88Thh)acAv+Y1TRGza;34@Rk<{d&F>x-%YBt z->u*Nw~jY>1V`R&!;f#-kG~zXbJXkPcF!{K@^}&ube_hDg$=8gW9e|=;qFNH+TMD+0Ay9Ztjs!H#i_m`Mv+_G6wCEBZig^53l!_`yNo= zG+^+tLh8p&Psc10Gg$-$OoO>U-C)8qGlp@q#M}?7WpMCu84gQwdMxj&ShJY;{N-@) zVSlT)V~kg<;}tG@f^knE6Kd-FE_B1>#$n|krGA7);}f+(_rv_`SnwE~A&Yq2{f4%D zJ7!UXx^JZiGbZ~=CtKIa*@{li*aYq5Pz!|G$+nr!R;g$#DL~A47hCj!U9E#`tAj?Q z2Iyit*2SYivTF>I9qVH2azuxk?7jTO7JprA+i!)X;lOA@Yeq`Dmra}6z&L6Hv=hAy zt$@LwKaig-5zVc%bve z8@+({VP*F`@#vcR)n5ePP_Qn_&YzuI!7}+by7}wv=5)1g4)@gm^fv})O`mZ#IziQc z9xO~)!#%cdMHiC`o^sl{6`?t9rGJ8^@0OKWzwN7fruh`eW!i~sqnm>EP1_s-o9G0{ z1Q_WZw$VEx4q>EvN94q_Ss|XyxZYt#dPmfZvYaU~%H(7p7tPU-B$lfP)@U`YgJAaOn7#4sI8PO9UToeGI?Uwj6}vFS$ibH(MZJ2NW>Tk3wE>d zkpK`|Ne;l39pX8n+9SbAb2Q?8ed9+X!)RnW8u8duGB+9-pGHt8_HFEj(T()VY0z0V z2mELt$iK5z$JtiL+2tK)SATSz9q%~1X2+R}&~cqs#|8frI?hewn1FlZ)3}UQpT-JQ zO(~)=!}cFc{Ud~=g1Vv(pliK5XYTDjXHk817xE?Q&1i_Wp%MOtW;{VqD^nIOUxidH)l zwB8B@{~Y^WxvD`SbX!w=&Vz0^cF>Jfij8-4INs6WSr59=@`G+$Er`}o3!<|gblV+m z*XZcA54x*#v^(fVD(6UBchGwF-^{!f_6mKZ_K`of^2 z+_2!4IW_=JZ(1eru?aKKNIXxE;1pkY!XrRPyxEixU`B1hIQvxfD{j4kPN zo)yxwvPH%q&3`@n0l(vIgF1mo8Z-bZR+$~(v@*j%PmbYfxW_B$ITmxQ#_Mpwp2<1B{nF z!MG<-1M07)0j*+ViOc>n%MJ$Q(AhPhdbtMF(||VLseeua{<~kWnR>A^#i%*p&w9p_ zA%fR+wDE>3I9(&H-}vre$cw((c|L5N^o&30jcvOYjj^kp^lW3$T4`TypY$TA$kA%{ zWv5`Xc5CeotJ;_2v)h+fp7d7Qm+PSHEVuxm6fS4t0gaA&%-&A(AIfc}3ERa2Sn}!= zi*^kxS7Xf4$F=wLEurA-EmX2 zM?rdH&gBk*I1#E@_MY1(e(5xkfc2+o`OHNf?SG)3Ho5oc%V(Ig8Ipi4=EQ@0{HbOW zFz{m@$q?&<3n8fn%W$DeuQpH8?*L{yFf09Vwb?|_;o?|bd~X#p63+5TPg2_5Xb`%{ z`)T#e&yX~oS)PiJP-p_>w0h@fG>R8L%;e8fXMZCyG1db4BFdNv_zX5wJ3Bm062uc z6;jT%Blaz>2sG5RCnLHa(Squ`4v|hUbbq1k7%X#ulzyR$D1(-ojRs3wm7!Icwklh# zRav`L+45FpO{=oCTa`(xvSw_WRwZMtO2$WN`hrKP@S{}dC{4RjYK@NPdUflgnS4oW z@QXs` zsX>0a>an#X*{e1Jl9Pix84@q+^4dJq)ab`x)*0MWd$^gU9x`x3JDIp|{q68Lv-$*q zf3y5^7c|aLyA&hf!iW2#-+vhHuV=Vl^LleJ#`~{glP@u_w#Fe@!G}hYF60kjCIWqy zrH2ECcLT0s*o0V0wg&K9#*E&r_23aQg15G!J@&{&wui@8YpUluV6CRDYh6rVXGsj!D0Z zZ2_?}af3;WG3kJY-Q)PNf@pPoJ!2=8_l#AJ;Dpbs=sHi}G$c_XceF@RCS89h#-N|f z;{xAOGJCAxaD{}nD+GVVs)eJ|sl1UM{2DY)UC8<64+~w($vG8bZ^ywY9+Ud3KGC?H zW974S>j<#`n~H@^On(#bh_&x+@i&o*j&7Op))X4)0&0>XcH7itg9hy$oL`OzvsNxKVzA83 zzeXl+ryZ@`Igd)D)bg zB5y(!>7#CvKVGK^9^@7nFi+=xBccTuzMhf>fiyZYJj3I-g^jB09GESx2BQ#mj}C1) z(P78N>$V3D;|>f}gq_kVmzHtiPTMu3@F6Iqr@*OudVkQ9*5_4s-rP+l#NN%0`(?Xm z*Xh8Zoz5oT9W&T(hw1K_c9*)ccMQSzZ5vb2j?&8d+kq~CPVA_3VVVG3w}RsVMcxDD zk&9T_%P_GW0y;pCP7S&`AF(hLr99TdIx*}c(nt@uS!NnUz%>%;wq2%bFe1r4Ij%A3 zovXM6E`O#BD;HR>qS#(_@VW=46JZdVFkkt!uwLREin($bvjxZ64N7U}W)EiD=vC+z zrKHs#&s~qzUW^>JSoE4o2JU$pj`;e z<&OP*S^$|RIKD)=7DQHFjr1HWb5f>)NP#CfLojF+I%Rm&@2#6E&H%23%>(6D@ls?y zc#hh&T@czP%od_$CRix?U>O@?zbE?ucIsc2|G2fW1BqTm@NjjXUEst{;1Jc^c!6Un zaDP4p!9< z*rkyM9?8`F;_v;+%hP>>#OeEWO!6@b-+u(zkl*B?f6TxcXL_}4>$6OG>K9uF9ngx@ zJ%4FJE+NwrGj+Ny{ADYbyTy|o$27^_lCrD44h~MRV;et(47_vF6*yCb zeS^ILc&Wb)tW+gk^)Uo{R;^n5FQ5eI z(IpEb^GR^Px_mtA*+Rx|pu=*-Gk<8GyC`5Y7+%F0&**@tPrRHVg~i8A6_8*tAJ*S8 zR3KL7N1u`@mnb7>0&|b1u?^IYGr&%bjQ1^72kUSXFx_E*>!_8nBLlv92sDBojOIAV zFfYuO6Y3BGU8>CCjc)3K?V@6Oq#2*TW_F_2|Ukfl&Q-UQv$?+w;)TZ?`6K zD8px-bscx*$vf(=0=zn`zwqZFDS>fBdfa_au4f@+=1FCj+y=$tiv4c*r09jKPkw~O z4_4_clQkkxmqa8D&T9dcacETHY^wSDcf+w`0fPNVy%OQ@_3(uxWAaRWX@a| zAFATnihnXvPTFyU9>?;(14eTh=)QFy0O8gEfI6>4)-eDm&=y|I2Y+59@SXgPvFUQc z6kA1d*ITI>VQzVZ# zxa`91^4teQL?!E0uzyX}Gso(g?`4*Pe_cSAFn72C%r<(i({*J0Uw$#g&0@mo!!M@p z^~Am6VnWU-5)Wcz%W_(VC9}F)i>U`K3=XZ{Yy~3|8j0^+x0pcs$;CwO&13RbznC&C zrnp&5F&9&Y#T1SflT2=1Ote9TTui0i$2y)!7NqFY;LQElJAdzeD5$^mo<3HmoO|P0 znwm}~3$i%w0Jf_(AE8`y-V+_h`>D(5x_-lR>6O2~jc|M^eHHdV z=nm;YJx+@(dyP@g$bF{K*tTiA59tT1`$~ulsvE}rz#U(Q2lW>j$V7iV zzBtJI6*USDd4JH}3h67#cp1O=#g+Sl02lnwz7URIfT1T^sFESB%2PA^m8oo2oOqNl zu0-<&DaoLq)RFfXJPSX*xCX7Hhv)}uIrW^F2EzSHG%8ELePigXoI)53KviQh*CS`F za!fXZLBJ&&K$~RnLf<*TPZIogq+o1QC|UKQ^3B;COl8_5x}e$_94l=o?#ka07Np(&J=*t>L;#$c)b zJ|xUXNRpS6oMTRj*8ow8+fpw+H;9VXS?PIoiq)q0c0Com5cXte*BAY}_%@wD5$KP| zfu{g>YJXX@V|P8x-Br&GK_t}NxE-M^JHt7pu`R9wXtNU961h22KDKB}c#oMk&x60W zjEX%{y0~T#=)9kkkB0jwYPgT05%*D~);fC6wu0-LoLDkqd`Aq*$6R_cCn4SDAphaW zCSWCzGvKX?ks}Mgo*q`IGn(F@SNGK6p+S@@$bZtcRpJ5-b(TktJWLKtn7caw@;-n0 z-K7Da>bKl|{J8R+*yF@GklFQ%w9Z^h*KF;grg*a&aI$%GTm)fq3N{R_QkgwaX^Ez8 zdf-snLN|#}_((;WuvCBU3B$AP;oRHNc1Y87tgNH$eIW;lL{0EORQ@^+1okScbe;#@ zYJV%90gAXC_Esu-e4edCJ})|rO5gno=xF3X+ZH^}IfZBr$#foA%!6Cyh1t&V2$g{y zG7qp?l!$rvUFf3nb3y*VT(B}1LPuFDAI)5_&0MgfxnOlJ*wI{wFc(6d3nEB# zF7Ulv9eUSRZV~)@;l-L@PA>(uNaS85a?IWN>cm-WI4_P>K?mzs8xY- zB+$x0kIBFOD`pf(XKg5x^LoV?Y$Jyw;DO4z*T@{bn2j*?`vR%AHf8jVYdydVRunuk zut8#vuo}n_wrdbxs7Wqd*+&0vr7&R?G>nZ)`r;u+<}dHte4O{vivuv6z*@ZS0e@Ng z@v({>aX{K#A?ySro4f7iaMgp*5Rrk-aIw~92wApnby*h9DKg2lh_jI&hVKn$TrmuK@$9L=q{zU*lyvoEH35U(q@4SwXwcKbF4%X%=j(+Uz8jVkFy`Sk8b_5l zNLW^6hYQ@>K@T7MMvKOLY~aoNQVpqLUu&2&HKf*;poR%+*gxMICR)Q}d4COKtsxXh z3sv+CASSU-OO0#d2SMxi7v<+gxCikyy#u_-D8}Fbxpb4&9q9MEwl7aa!tr1%72A&-H};LgLE`or**bw8j0mQtQbVgIxIUqD8@Ui@EtbF zF`e)+$1d)X9p>We7{{0lUr00G@RqL zi?nt)G0SkKZl*?M+RW6{&(w%Nb1d<7*;vXYKU1fNV+{kB*I>ehsDFiu1?H#f*?PX2 zs)e?#7){kt+lm!EUo>sgqzm7+2{%=xKbomJ;isxxe4sje^CsG@Q;%7Ebkxc^&G8~= z?wL;8NHzp>e6Wu2)*u2=P5KvdI%1SbIc?nXva=9*Q8gyy1q@|#0JnGyjcUnhR4TKz zOkB!hwA6HCh5n4xpnu@Huv^Bb2Vm#wRvmO<7q(n>Aw8dwH|R!X2ff&D+M?c|i0-no z^Gt+c+A=*f;I25sYKj2RsAl5DW((EVFXRSbix!oat|sk-lq!k#OEM%QuQwF!rbi@l z>LnP^ti~@Br8+kMNk}+qn87XP9@y8W|4HGqu<8SuF z5%mv7quP{_)>TbW(bw1qjQQs3~W-hYYIrgJ7+!U)-Iv7bnsWh!df;G}8rxTx(y)UMs&gyJY+gA+A%CaW|U z22spX3!-^#TT;eNgJa*|gg>*v_`0mYa%sH5BTd`=OoGuuMfc8&2LM)-zq-1=sFB4R4TtSFNJ-c) ztBy|(3V#OEqqE3##Tb4vO-{a;H@&#*-ClLQV97W8f=TJ zi9?#PJYT~=_N+F?4#R9W=rH-YhcKQLc1D6g^yKG3576&rT5K5 zz?6erE~m&trWW2#JvW5=91e-r$fOtlNy(EPWaEa(46Ozf;|P2WK`ce4)G_0I;8v@AgA_(xo)<) zM1Q8BB3{eM78Wq+HTQu%Xions^F2%3l@tQN0U4?MJ!*9g}=Obmz^FE3ovpcw~#}tC}sb-^Q>mVAX>)u_t2XQv2iD}ekJkuY@;C`gN z_%s7rn}eDiHP<{aHaohb+0o6LR+Ls7z=n5+3KuWpnKq>+(BBoa@PV|)AjJ1g3$SI4 zS4~G^^?KQr!(dPOaR{|mZX8%0=6^&v3@Bdj4E5wMv!(3hHyg9moTWr`Oe6*j+s>7~ ziID)|9?ymifa@%gUSh%x!_KqSlXfdaOPnV^T&(wOr`Sg;mlnH*u^?j@DOv1VGc8+PCWtTV}h7$*9ok z73U4Et)oh}s;m)fsB!MVhkxj7ku$k&q_KC4wPy(J468P)URv3(XuM%fots)p#o;1t zH!K|$l7^+eVacdr(YYEHH4Up2P(-EDzstH=PqeP-?Psf^U0FrDqKe5_6`Ofszosf` zvH`7-m=?K)^l@6eINnd69v38)5!*xFj#a`42*OFJp95H38VZi-bhl3i3)bH0|#qaL;2; z?+us~oFQ@*!7eT#G|cp@7peOoAXiY;RW%5?twtVGb~P?sBdh!RYHwIb0rqG2I)?ku zGw(V@-DSX~^<9hD`+sV)h@^sgiOBa21XW2g~QH}F_IsJ1+ZlyevMcGlk@7{_Ro2`nlyz_(S= z0aXW%slAimI-)}<*i45yR9(v1mq}wSs3SQP+@=W>$8shPA%A+Uw*dE%LbkeUR0esA z{RbM^i$H|_e0k3U$c~B-x^Lz00DuFDx{bmzzhU&3nRBjM9bSyNjId@MVu0B;DGTkv z;gMi=+^&l3HTC}?@4O}_#J|jZoBv%Z2k5Zvbt9{cv^iagA#uXAKqNvBB5|gn=sID> zVIBtj1(5v~Fw z5vt%ChmmlJ`e^0Y`*bbKWjO-pdiG1mDV+vA;=dl71K5;oU z9Q27qGlA6g-AY% zBSQz0D)bQ{If!uN{NJ3Rb=|5K8H^bu5HDYKX~4)G;t2y-^M=NRuWIt}Wd#m3!~bZs zbpHKhw11zh>n8xwF(x-goV)9%E;^_SgNjtn^^+WWFLpom07k&R0*V$9mq5k8+3_>ftEU{8uB}ZI*o6j{9=db4>mjRIeAN&?IS1_dWA={4E4K(`2(ixrL)c;}S{r+R?1AaQ_R0DHhAb#A7GRHon^Ra|^Bq#mOEJ?dzU zHbWnedXw>_hg{}{3$;p`Od$-y-rYd~<0~4rQv=vN_@=%T#hU@e4Sf>3{ESiOSgMNC zPj9kQOVM4*37I;@NrX)5BSbb22kIf!(|?{-(zGcYFQ-lqE}MTS7|h7)XR1qKEuJYa zEib#7tBabHwCz&aQ76!?Ic&cKdnXvwM6F^l>`Bhkx`rf)L2X zAMzJrde=*@^_M2~@7KA%Ejhk=qI-WlILu#u7{4g_;$)fJC^BmjKAy?hQ-e$4OvK{2 zw7LwdR@Q8}(ffEd!T+S2>}7C3A^OR6A#5S_>zkV5q=Jmd%btm3R;gkiAPt&%X&SlZ zrIyb=-8z+Us`OM8ilSJ~+;yn4t7R;-$CEg<=h$ded7AQGwSSuu=PK>s z)uPtl$edN@VY?I=maF!D$4wS@2xb2R5l%Gsq%{VeQbEW@9k2UnM}NnLX<~V8>Pbvy zQ@_R3Kh1f42_}hV2j~!W@Wun}ZRK@FHK6-pC&$?cgVu3_mg=C{GP|LV?6IVr66M#b z-V>>QFoTm`P+j^wRT8GF7-tsgqf2F!2bVe=jDYErG61AVL|%KZEbzbUW(U}{qubyQ z9}d>bu_q&Lo5z7zCx2QPPwaTQ2xWxZrm$KU)un1nmJ$k{Rj%7&xoFpwmm=tKT{#I2 zEMSyBBAU==5c#5%tY?D5Bn)a)3S>T#6ZfDYEsNncrzLTM8R%%0ChJ`DDo;W^I^W)JTjyKj&$mBf{rUEO zJAS^sbnJW!eSgNBsxDpie0v$rx0jWd-dWDzd>gjUx9#&LH*K76%_`^HsCB-L{P{Lo z<$UYTDE@qFdA^O*5RF#0-Z#GM0gmNJ-)c33>~^v>{McTKADs7ib|^?!-6x#*FTcIaO4R(b7Fz7QmV zp9rZ;X=YdPC&sH*4lqEYj&O@U25g3p7>`|~IskvTzxlz`Kg#d)!VwH++ zaXJ)wXOl?U;$G*8*KO8SM%hQlU>u&mmxmAq+(>ly)FxEg1hRLc6?+xvX9n;oA~IF` zvufPcRFdMRjk)Ha%yIHL1eQ6e&P}jGW6Dg7O@GRX3(ZZRXm>Q#2@ut5XoPZ42l?AW z6Eg2)uYylFf(Pz`AsVI`M|wsiposd8L>K@9iB7tQ0$JAeYcCl%+8{YK zYcg=)T&(m#04$*R-AJK+!s6xdjD;?!7cftMXBHiX*Vu);#Tns|XIMpMPh%Zlyd(z= zgnxy+ixhn!U|1~cO2`w32@^VO*wulS&MQSO8h@=>@!EXZd!b~>ZTW+W$fwhL&2*9r z^Ywn06u`Q3ww%3Q)do)Dx{|{n^e)*iVFc{^POfFEzL*>_?;p zb!kCnhjlrY_?SLS@oHS)pOV7JM`wYylg=R|FUJ7nWt_u+jM237D5hRkhL!Ts+<%~O zbqnC8N6MojxWO1@7pe|&W$9tb>A@J5J(r^5YnRFM%OPx1W!XbQ0Nhrjte?T-Cluxu z5fvTQyXq?tLBC#lG2)wPDhEJC3XlFIPAFQL0^iWr4XfL0YYR)i!f{mGf z1UK-Hu>DKa{v&Sxk+lCvM}NdpF@OF+WF7Vrpn2sSgv_fMBtGz4k1;#y6V#+@%=sHM z2M_C$-9M*-KUjM;UTD&+Y)tAWOf-HfQHw>QZbev(k{vR^>?xNt6^$iLVKHiygT{U( z#cRX8ik92te~Nff9E<#4jFsKsE)5A~153xrHj=3*Oh)_2hs<`O@dOoU4q3V1bN^I8NtwC^%Qx3Nxw%Z5nt#TPS|F==GWV_24z1E>%YsGCz0R$qyk$HKr!M>#&1BqE z!9Wc&hGVQZ#b1YrDs)-IncL%~2WY5gt5Zb+NTfSN>v&|N&DCuDsA)3$dKgv3`Jycf z$g0#&r-!52ks%YifP#Rt?gUbl*-HtlrXVA=(8;h_pyLn>BLSrUb?clP=q6SmZPnW90A}onYB_DNwQC$yU4PV1^nr=CyRWL1b8uo- zaY^aS%n7bl<>hFd<<70d?46kb3FBo5xA$XpTIz-_y?D5hmn%r`9W@I2REa9|qzG_A zxV#_^2*ABz#FH@NGp2EQ00(PH4+nF`6~?Wexy=QKTgOnM4$F+bmYLg%EebV*_XUTk zL3cDEkRJtNgnzK19vk`v@4el+9bx%XL=uUrKw|6kuy`z#zU`1qgeV1IT)#LvRY z`#+DPnx$lZO1V^or!ha(7D0w13VxpzS9u~CMfb~UV zV10cAqE14TX+EON;BwM~^+gTc`otJL7Xqp#o(T*@3i%b32rrdssGi6n zqM!x}I|*+%-CWqiCMk5mRiy$K4Nzf04=MT+8*nuNDS5mqo`Z#57UbS=8Sc<%Q$3a` z>>trd8Grv0vd2I#A0h}SRUwJ{T@x``<$3)(OJ-u;GCP>W+|9kUwGX@s>7-M`QSOT7(&Em%nZxP;^SczIV4J52o#QoRVQ*SA{{zsBWla3V4Ij7SLe{x z*?Qeo=K`51;U`w{f&Lz3jPFrCGq*L-t*zlt>3_C>;ZO{;NXHKP>4iG$(s78D0%srU zs14O4Wq_zy}2(U2w@YsiYh`Jasq=w0fbcy$I7GMkMH<@@|4I^Y% z$?K#$b|5BwhYgP3S;?|`?yN>gW!Ffs8NmW#xMxLH^pLzQ$1YtRb`v2oZjBYn}cUlV~{HM zWtIEsvg{pBDUH3aKVi%PA=)(&K`F~DQgw9JT9>M$9i25w4AOPd23#;4GSE@c_JFX2*C%W%OS;+*{biay+lMFuFADZf9+?eyvSv_h_ISj>>&`%)}{40 zg~s*egrZtT4fqv*%K$zm4|kPeRc`UmG8&d?Tv(>>Xqf;xJ1HM^eK|2ck)24K8Ll=D zW|SDAb?w=JGS$V)TJrc3Ay5QXPk$^;tAZ)me-Y7MMAR~tB7(kZ-PtmCA+nSdw6J*n zY3)Ny*?*3LO!agNBrd-@fsIZA(O%u&b4BdkyU5==a(;q=HOha%FrmUxSJa^kkqQ{6 zqFeJO5{Q*BQZ_+ez0G?kIn9@ndN4=?1mWxfCCXU{+%umNATYnmZ!^cU> z<9)09g=k4B=Y%|D31+Ia0EZ?-xdywySywttW9!g$k$wgTD6|sz78Q7;#$i949eBKk zL}Sv&kUygp5W5LO)g9_*!~*+fm0%)NYK8&d0&5@v>Zfg? ze!Bc_4sgz&9qOmdoL!7&hkx&&Op2}bn+z^qBU5K8gXeqI?e)A=-PZP6Mhc46Q!9oB zD`$+JFMd?!wp!K|a9`C(Tc?W(B-~IHTgN*ob84JWlT3a+rJd~M4(_h9dL&em_`T5{ zw@uG)1}t)eXy72i7o zd+no1SV&rnFmfoxrtf$}JVKuF2zjAH$h$~!P#%qf7&}1wDz2(OPI7o+vjoLUV5SM_ z8QVJw_%{U7!zs+emVW^{Z;y+bFRlS5fb%Mipvz1HU1mnmWk#XPj6#UO!KdXCRx%*#t`2R)trkpZf`a5 zg$`LfK4jAaoBQN9yUfM<^*NsyZ*YXjh3ZYP>cMm-F58e2JFqkjOU0X3t-yI1or8AF zA0VrBpIhNZ=G$w{0E8y)P{$(gs=`#7(~nX=X7r=bj|_xQKnnz$j8aW!!{SHCeYn{p zFK(8r&PVxRtbgNQy6iz_ZW_?M*uAlAA6A)nBVFEeb^JY2+uIlD6shlfr*4e$=xojKl>r~$MsmY}$B7QE|Tmh+8YLXqRPn>unT|A2Kcho1o8Y25`=8mIBu?#;E zD6B2h^y2XUj`8dFvi-CyXw+ z$MllC*?+Vw#_|9NdHfSdZ%LQBe?o*m^a+gAzemx4i~W$iQL&${Vr71eN^{+;Le<8O z>6v_n#8mvf2w^M^^-X#rCn*dyy>Qt;laxr2Xel&6V!lr`l=gHob+~{4Z9tO0){ajn zGSP-Ihm4y;c|(u@+rWB^ZK+D%Z$$K}ulzsFX|?tHMV)`iP2~S+^v36KF$n!XnJsb& z`IF2^{{Jq@UHkeWEI8b!;TFGQe_yEr1}1DlKg-ftfaX(o4-)J9iiL?irnA<+fd4w@ z`dua6z$j|I67xzI5$PCii~5RvMATCpYE`}Jrz}i_feBn%>mWoRX;>*-wbs?P>zeb% zr|#E4gTR0P)KNrrs|Vq+`^WBPy)ZRN*})$AnEdv~IACZ6O#Kf5v$N{Q*tOdN%OdY{ zMbML+hTDSB{XouhWD^^oovWR#ufKvMCvH2|!0R9%gzI$eaGik zvO#B{^2?}ws;y{ep2q@wvZ+_HqnNy$jxKltn9bl%(dBc!k&fqJ@Pd|7Z0_79uPSJwm1>pa!c z14Mrz{Y7JqL$;YAy|&LSql0|EKk)_phVR$Zd|mf{@*lpw`#n;_E+z~|wNS%++`K0l35@lPDSRZ8@pVx* zvtp;iKO9R_{_(VmpoOgGWP3qz9X?)&52h|(WnZA*va9S1dsDevg1y2K^Ata17>|Ev z@A4H_yk%z&HFd^6pArT|4O2_O)5p3+pc7e!P5?Y=K7T;&Tw?6Fd%=`1OGIN+e_)dT zIWP+|9+RVMp#6H;%m_*+j~{i!5qQD=H9LP|(Bbs#pguu+kW$wh&+n!G`a@AJ)PH#S56?5(vmoXjXUp6M9@vV5!I>W;%NmQEQ*vmrXyZPwfE>Y} zTV-uX3mNWETlwP*{@^bVwENX#gN`U8c0)+Wh>~YA%~;SL+Z{~P6DWVZpj^X;M$|HCZjsdCe z?svcNN}?y%oKom zW~ku6)1%l4Y`h33BEI1O@3Bk<^KKE7K9jmfzTi-X*W%htlNu0&N8Zy-ooG==WPw*PqxFEb>d02X}oE03TMdIjRo(XCwOMp{(Ugm9-rmH3HWBRUSwpKYJZwL0;Z=^3!L<)l4XvKR!DQhyqN}4-qN}eW z_l~)9kTp2~Bs$wmlG;XiOezUc)l9!uk3kr%Nl<@xq3&HBAJvG_|G_dPGrG`cx06$3 z!hA?=9l9-q&O=;*XNoQ!qcBO>810_=4WB|}{L|EDl@3PvKfSVXr=3uD8dcD}RnSDL z28|00=C`1DiBcgK&l&_5O=k{0edAw6rq|l)Jj$3;li~Nzh$EwFGAb#XM69|p&^TH& zRzZKGD+gXz4pdhT8XBvRZQHLYRFQ-8e+jKP;g#k-wW(@!A z4V8$q>n&|r*;S}QLufa0Z}wY1Hjr`sqiuh<#1xou6YX*n$I1zh8rNS2gQ&1^DR=MU znFv|sjyr~dn9`c)+*0{|HO6=L`#7;+KlnVb4~JCf)vt=Mj?tkZ#GxUSLqno-5+oVT zp&@Jz4dLj}5bB{JTy|(k{GlO{4zIu)T?VryL-d2@=n&+e44XNYZALgrX9OI*i>!Y~ z#Z}Bv^sXXWf!x&BpbMF2w*wf1%D;88Q0IJA_8&QnwwMw=`&Zx-G zs2soQY)VG6$uzSm(b;6!IO(Lkem`(=RHH*2D^aiI7)^Wc$S^Ka-3@nRp;BJtaCF_0 znzflT;ZYqvGlno2k0A_(BZNU1QoMgv-l&D^nI+BbSqo;6$rICqoFQTibBQsndxR3u za9)5dYb2VM5S51~WV&5uhEQa>!_pZHctUU?0oRlrm~r7`Zj25le^~_DL^EcRSBU}R zwQ41RA&t~iQ|@CJk)v1+l^}CX+qU!|kEJaWceIZ?B5BYO2|O$3xGHWDf;xY-aGY%z zyfe^moh?)DE4E-uM%uj>3Fv)$!XVYQrKcE6%9y@@ZA;NMv2GEzy*;cS z*DC(Utx|on63*}Kofh0d;^7W{qvPQY-rgC9JGf*F?%>k$k}^3}U9u|N!3^LIX39(M zEH7OF=a;nL2XYVRm#+eMU|Mho#={+$Rp1WPtFsKw&p6~YY311ah+ zysg9U*|1v2jzqUZ-4ENcC#gH4E7q4@hp@d;B*tq`oQM`3wx)Msb_WvwCaF{*6ljC1MNa85XTmQoR-2bw({b+LA&Fg$H(d$9`pMVKClMlHV%SR`#`|^?H z^@Mz+c|9o~NnR)N5$At(Pd;Gu4;>|TR#))JLB?S@SUB6T56flXoDt1X18*l}I__Dh z|KhK)*ZhD*Zh)Lj7Y0S$k!OZnM3Av0dZk?E`OnEE#`GDu!TFR=e*xK@+lTTXJi14Z zZ@SeB{z&%ZxFys`R^yUa83!z{WS^%}gQ^hC8=E1BLP1h}rObc054;%$@rl|FKu}VL zsAesSXMOjN%6?E>Jxd4v>9^<~QUgVC%oVpKMA|DVN<>G--h&xAp~q%PT2)=oR0e70 z+gU@Tk3IU1aEJ!uBdZ_OAIgb+v%D3n@X=K{GGnz?_5v8$&RCNh9-8*9Ue=~hwkQw&8*=`b7>M~#njLIFMdCalX^2bc4rQCOW>JGs!%sbmaMO#ACc9VAhO?p9KR z`uBRA;nMLLB9X&fhopP<^?w$*@IjI8(-WIST??Z)Nwa@WH{ZCi*Poayrq->W-f+pK zGnZ`ycUsDr!|C2-81f7Na?CVKMmb=b#oE<_M>UDSO*s!|y1!*GuuNe;qlLN4h{(L` zbN8-+>o+AEQ&wz|*`;`PB@!O=cd#Url#ws$6AdHf* zFC{MEpof2D+G}FLCKYE7kW{O}ie&A9%gzT@Bn817-!_9krWbr);nJm8NnPTAMZ@CL z$am^pqGjtop4*bv}K&{%n1_{^IrR`lfH!|J(NMl)h?%&Oe~|F-?8cn?Y}S zl^$NN1A+1)Rui8KBCF`XAVjmbuJyZF<@c%9@8N$czZb4PnW9qy9c$}CMcf>z@AGx= zMxa0hL%{Lz@BRpu?x$U)d2`(ol-Zs7Bf+rv6q5s=PqDmKy3=`qV~wRd^*MZ~@#M;> zIpG>HNyIibP}#CTm|h8T8o~3XPIzz<-$xi8h%d>y%~?-qmHg0xQ)+ zT8MvpMBkSo?qq-e*mJ-`vk4Guj94%D1foweOc$UG3aTp8E*kQ{PkQ*VSM^zC8o2Sk zNu2;lvU5Y%*Xh!!sS`uu;(7#U`Le5ooZ~d;UGTtW7c{W__Q3YfXJC8U!n~RLsPYeU z?ss)qaha9`?vojh`kBLmz*o5FHt@%sH!^=wmD5<~0}n29#0(W-p#v^z%=_>Cz8{Jy z8am2((?LxNpdjw4;udJ=sx4+wt(UO<%C%*l@yh-rI^$sEd*OcKUf zZD<1KK&sFw`%r{Bm@$xjuf)5d10rmz?%q~z7)tp;g9q26&!Jq;Uc;=Ia%&)4r2~J{ z6~e~BoPQ_aGt-3ZVNA2lgh|T@9qk0c+X>YF>t>O~&5-v$r1iNOG>35+ z0sj-XZwBx$pkfoZWXqwxD$Gm>pqmJ0#Y8ZxOawEU27x?H9WUZ0aEx zJSNEL_XB$)mmxUE7z68v-J!=30Mu%VAU{g|n9+|yKQf&fnZn#hYRb1ffHA8i@^*Bt zvLn=!!1wEdp?g}YP zY}&X>6Ca0n4c$F^n*g{vP&|%)lB3ls886MpqV$|QQ3fg}aYp`8Zd;qB)eaE$} zp?itXP`&qhJE5+C6A@hjtMm1gEg{qMLgsQWWXf?NvtdlgTvBc*d#9=ms|uM*A!IHs zH{4lXvO>u8T5Em63z>;kgiP8JGN~6b=_*1-DJYj&_Z?udG;!>8q>ZP1m{7qmp@LyT z1p}A#W8rE7`LTbX)mf?UtiNfvjUEfm)m`b=(p~BKIzui_cS$Q(IzteGAPckDGU&-) zOAv9nH#VL&QqlfUFuzFV!`}NQt&eLn!F`bk|4CWqB1Thv8R6xU{K!K9=ewf$8K}~ROz0e zYa0rDZAoVB}na4tpLO<}qV;ZQQ*Sm&;>9V_b;42o^5#S|4@-jzi zbk!JBE`fh1LjC--`}}ygrbT-7l*3N_SU98t^+X7iu8&J)|4Yi8F1Ti@Ox-Wq2hMZb ztG{D^)u(F})|)wbtCB!uRqEQ*D(

^i8RJewuH3+`ozQj~uroV3k{Ef#xL7eJrfH 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 U3%EI;B;)U@r@;0lS09+$08REnN&o-= delta 764737 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℘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 lIQ;8whUk7HTv>R66 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

QHZ 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 P@O^b-QyxQX74d-&QM%F+0nhLiFZ6!WVwf6 z5g0Zbgv%4$(?tQ1Vo}0^sX)3kzWWum=`)CBh1W%}GQtRyh^Kg_gC?w962yNTEhpw^ zJLqf$V)h*|+dwPE3PzTgBNDTx#2ig)YMke&(;L!oz@C$aBcu~%hDe^>UB_->U`w`O z_{>`n8(Hr(8jN$oZP?;AjNN}W44c~!!9%0lkiW!~9O4EN5y4W? z(POHc-WT|B)73@3vObt03ci>9vR^7bIzx~zs8H|*pEf#N-{WSRV@H1v8KS|u(wsxD z*q=YCUNNIyF~9bTnPpxvf905!pgG9k1cNloy<*azhpb~s#R913i91Q$aCVM5AdF^L3>Z3A4AC(#UsEqokjQXhJC2NJe?cBx5A?fVgo z^e&kNt^!>IXiMvxWgkqM-bi!0kusz69&EiB@Ap#r_Sj96{>?A>XD_sf{qECZ0_Uh& zMVc_{i_wZjKEt}mXEchmey&EcoQoo#=hjH;*2c?qQT@I(bZC*&9; z()z>-Nb7-~f}=?5!3s$0_C|-aZiuuV*tF8cCGT^gB)1!=){DLiGIh};kDKZX|Adg2 z$IW0EQWC5bQnKhTb1pYyO8U*^?4N2($)b;b-A?Z^WS2fVXkE)~c!-1AwH(aaXof&t z%ktgT-Lt1do7;bHJ5$;4l{Qdm<;HRhjO``nHq+DExG3X&)`bk7I4irNI`nz37)$f9 z>C>(+{+Hgv#BzKsH+8H!0&gkR}3+Z ziZjq2!i&eaLSuQ#xK$NH$87S;8AL;FX|$B9ibO#6As2s2ZI8fGPFVX|nDZ;v)xTo6julvNC=j zrgGd41Xu1`mWSIh4d{(f6Xhy@2VDhxLy(U_wP9O*ItmWhUOU10{s) zn!JxUmlO@-+Pf0dd!r&gy*DDr*IwW$g~8x;-+GYaDp+#e-Vj(Pa$JQ=Z?JdN-kTWS zoA!Sok3`fAAp!Cy2J=-gRmQ%ifZ`7PJUrwN&@#V9);2?rPY4}_pQLgcr! zD7M{t{^q4&u*XdGH-C@)cg)m*u-?jnuAzlx&TK-82lC%;HYUtB8RrD(TWQYuDk%J6z+9`1-Ma&B^aH2|I{bH5qN)m z?(AEW`Ps!AZ)!YjL%t$}d^MlnsL#*1s%j0UYB^V()_NmtkbyhWgB6c-=v~O7zibcI z+J+j-u^!-9?<_yoJ9@0o{`ME_|3m^fa_ilI;p^zx+~HXj%gzhalLs%iheV_n!&4?C zC!#e(`?iu&XR9W(B{Q<4iKhR6{2G5VUQS#?n0kUU9-8+s)s36JQE;MG(a~~fHWQgO#Iz7#`Ob34{l6kct zNvN{0ogOj+xNuZPTus-!Vg-;;Lr177t|~c&%Lp{A2{d#BN)cED&32yQnQ`=7+AD!k zRP5fWIi7TQw5y3h(Gjt;SjCm>01U4@Qzg1p^6!~g=v7-;QYwb!r5Mjw$=UI!Cuc{P zuR|zWm>0kR39&cngVf5vv0{ISbhHlVg%Cbqt0ovPU(=xs${G`^g@o5nkt@n!tq?;H zQoW3FsF$dPr6hPp4p$!yKqU2tLi))c3U&Ww7t6S9nTzzQnk{gXwKdxS(uZ){&XVUx z1GMAj#*J6pxTnMY+e_qVY}pnNS)#Ldqe#9 zqha<=)I%{W4mOXB)VV|S*+!%E(5E&sqdb*~Z zKP@``@R5cu_}KoNTjqZP!tMff%$4# zJ9qnVAIlf)<5>1FqEp>Ij&&c$!+jhN_i?QIIM#j4TpN91$G&e0hU(Z!Af5D--^(rk zqrF>R*tQ2qxq534F`w&&cH|Tyoj<@VCMwY*iA-;*KKDIZb-W+Zs&h(0{7P0G>DB{k z)mfV5(34wnrVTHoudv-{5t$P)=!ltlQr;4l^NfilBCskzC5>acF+CO^O9h3!n zDha5O0`1=G>)(d}V!uv4-|IsceMofCZ<p(aSRCE9e;O+Ue15kgs)wg=_Ek3O`Tn#OD+4$Y) z@0xB5SS|WYy7>G7zg#7sR*C-ElXssfbJEMMEPI$9`FRefn#fC+!_`dXW@W@taPi3i-+2gju3_L=`KxH(ATQt+ zEb?^+@^T&-oW<w14=TZmw|o6SQS3|(xIZd)(o&h!Y- zLv#f-@YbE|$aCt9mQTB}$)0Ibxy^@7#mz;QX}3}6wo!QEZM0RDf)nkgtqcfhZYk{^ z45VH3a);elA7%UYoBF)QiuhfIHU@V|nJ4*fULB96_h?>iJn(K24w0*+$d4nuZ+;n*)*6C5&^QvTJ;luM*oB!vZ!w|xs zNQqxUG$z9JBRxlBH7(fVG(qewxT1Faa9K#FU&AkQKpv1U2SfXoCA+_&HsJm`RG{pyr<*V=zsP+uNs0iqaES0F8@l+aeuAQaI+PCS_S@UMyn!UH0d z=(&*cWI)j%$a{#WLPHo}yH4ym@9wgSW!DU zyH#K7P|}sJLfZ8JpWgu6vIBfR2KfAXfbHP`@i6p_xyBfGAr)uX-n!-OtwVe3PN6;5 z90@Kz3u2nR=d1xPpGnOsU#%BpyjwJ}yMvw3Y3u}k=8B#Ni&n90VP*5(U7oq5pCbeq zM3?ulw^6k_0JY%_M2=AtCVp> zEAxfn{weWmxto{~YiJD1$MaR-7BXYpl~9)uvs^3a_BMMVAY-9H^x8by5iaCYOUMeU z&i_Z=zra~?o%Nw;)vD*-wRd;*V`h4~TT<=P$nKG6G-ELyO-6r8Q1$UV^ke`Vn}nO| zoN(@S_Q*M!@x(Z}(sav`jT{UJFp0?zh#-J?NFZ_q7AFv7kimcr!WPCjHkOSb<`FD{ z9ULCk{r>-Nt$OU<^O9w9@{4R~@2*|7YCXR7t?&8&@bAqHS*6?{dS<`3+#V>Rf| zJwXO!Lk*XU%b|an7ez4#IKhxy3T9%mbDYr?xh^1e{o7aQnV{v^x{Yw)ZoF}f93%J< zI`(EYR!6FVL_{*{v2q5|NNi*a(zAH9Tk~^cdLGpUo}=64wHbv$TSB_^61l#{DAyv( z?+Il9Gevelo-S1qdTgqYy1)9Nzfc6C7ih};V%(#TK}3I@-6Ep49ivxHI7Y9u05-;f zwOq6}l&I;Xmyvo&p6UGROzS)KLsaZ}sL18Rz$ zsePR_lRx8iJkZfrDf9hbiYb0Sr zIH5%jMT^WZQKbfB7s5a^T{GD&B!xIgwT!6sfuD~VS{p`XspNu)Z?!jsL%Z7e?_ZLTMF$sFsay&pwo}9bt?_ z%9*yp`2hu!p*#lAVKiN+pcG--i($}&_wLR<1>1i1}nFF-cg3l6N&Sl1Rm z%dAxlv$DMK7`i(!2f^SoU*EewJ%BvfC;RVcIl zVZty}f6!NzG-?9X-$%^DIyN!tLUexn1VpFTa%%o9NPg0@_gN3)FsiZlhMofNwH=#R zPB=C-(#WS#WN2e>DMMQ$2@nXQCh7=6aS>~1EK~~FB|W4xaL9v!4ebpHz*Hh`r|f@d zwE>M`oEv7`2aM`M4lm4_gl~et2wIUoVgW2rr&_4VIU=>zMQv+c4F(uDV1Snb1Q<_P z>tYR(8H!dufFNN*!ymUaP(&@;XI_2$FKTSg$XPyvb9=PI>F&advP?(Q7yofEaAT{9 zGz&jrV7_v~zY2N06pRZn=mE{m54ms5!EXI(}HR zBKOj-buR_CZkx4Vt7h#JZFtD~soIE+qdam@md=t64}1q8vb8}Yjhl+vaZ@!(^g8&E z;iZtpwAd-(%g$f znl&@^F9Utx1hHc@1nAcD`0RhP_9A4L?6YU=(~T#oYn}5Q7qQXL9~S^S2k{*cPgqCF zS3cQ4jpTQXXx2GX^>3~1o+v4s*(Jv0ATBknQg2rhcQ&+>EEm~%`qD{@3?s$3NeqZW6Tvg{GTg$w?7$^=btww?-B!NClhDuOv`uGF?pRV%NBs|`UGaQ zW?4eI7nRfH;m^gxr6#!UaByo`R$dY+B~X zYiBolO?IQ-WH*u)FCoM699X_R)%uz#UcA)A_r=x}&vvMA_7Xu6X1i24+or;#ddes= z+%JbFZG+FYlIRtO_J?Wt7^vYRu1W4=pEV+B*H#a+Rbz^$q{x4fsa%AOmEQcYN`r=T ze*lq&{Ym>rt89O$976}RVkn7E{wDFsgPZO_(|OR!-3Bz+es;e;yOy6p@R}qMLg|bIhzrnJ-#u{td%C~8h z@8pFUz7nElJ30mz`7*`hN`WdeC8gh@^BUYs;hY!yTiHjwy zqXAYhZD0k{04szq3|JwYm}unBl72Ze$EVE9{_0bl8Tz8mjYRRKoSEag#V|8&A^-O0 zhCR8}fpmWawb|x*&Q77Ta zZ(M&1E%Caif=8@Ei`Lt8Im}TVB?%jvmM3^~8RKu4yc|&(R-bWPCod!RE&qD0*G;RN z*}&Jea-e?Wxb_>z#lYf`u=5_Rhxwl6#x+edd(0tt`Pq``bNxbOz72=3fDrBtd<eY%yk^7sIHB>Jy*s%u|9 zmoYJUVfN)@!jLE;(u9HNi=&WeDuqNAd&eVoG`$}l3Tk6QVg&b}ylDkl2Z$RhwUVSz zaOGKLTCEi!E7B&m5QsTb_Qy8f-$Oe=!M{(IeT38BvZBR6(9Urb9zl+g&b&NYq+@?( zGAGPl+R)`R2o8S)@OMnQ(6}d2*=JiOCmRPf3zO6A7LyZ(a1yah3B};j6d4M8q`-aA zXrGw)X393+HI;1ukqH`buc>1b);z;(;ThrdIyM)D@M5O&4AFnX7n5g%Qz;^x&NKX) zXZVh1_{uZErO#QEiB^V^%vZ#J8G z;g)-rDDvHg^9!Svdz}Ft$@286z8JMQ?W)CT$8<%Ix$L>f^g0DuaLBP!2jr9+fW9n1 z`e40}BQCO%@e+)nx&v{F2?f8xcr0I$%6VuF>B-hY6cYgRNmE5PEixL?Qw4vi?-l)H z7MoLE_YPIfZ5mPB+75s7UsXF#CbvVfMLQ3t!!BNwJt*mH2dACCW6O4kE^#|Voeb?s zgSwBLBW4PAH2&5`kh80^5$f{8buda3*&xid3S}D@y$TbPQ4^DKfenV+z=oo{;8ArY z4jZvhZ>IAq_x=m_toswXmEV8fOqo^Zv+s{upo)zhZW+Cu!o2uyqG?u!umD zFi7RUA21P%n+%iVPilX)!3A}+xTAIimkc&J;kgeowVeUd(*hIN8W#8VO``bJb(t)d zY39cO8ir7FIwofmIzVpQnn{V;YiqjuE*65+K}Nxu_Qy2fWdzuKi$8K=Hp?EDgCaxO z(X1GJrIyS6ZY>k%F>5lh&Ao%YzTe!+pI|`^6?`y-Bl(~_1nYm_K|CUDA%_%*yg2mO zhnpGb9V$#(50?t!_fo}6c(6VxswdMQceLZyA zqwMQ-XxP(^dril^rsJM=+&i!AYpw2K_M<2|uWu*A2~mmgu(x1nzahaHBsWxWJs85L zpD4)ke9c;sY24>8RX_iQ;MDd05`Mq6w8`fNfdna@AC#JM&JdV%HnX?Uzy+XA5o8&~ zt|j@7QImffjBQCMZGf_Ri0@&AT8+!owXTaWlC_mCb;Y#fDdbD0y=8weUJI2xeYAUO zv*Vu95Of$=qyU<-_dc)p4s`lib^*T{ox;Q3q74X24Hs%rDOd~M>ucpK%KzNYvbTpO znkdTZ?ek?iZqsuF8kfw^A;wx9(!DcqXtO%^^uT|iZDC->QeDudx}c%DsG+(`p|}=a zgmL&Vw#FtA`*9)?KFf9%YjQ|~!aP+z2=Z@iA#b6=#G;6rP$3$G>*idN6cw((lU5>_%V>r)h0CEobyF(4^3SN(U;qir|QT9M!5T zIVx@RY_wW84n>14G7XZI7H=qXGIY#Vt{;GuO{>*${yV0ODSoG{lcJTfnSz4XIJ;pu z74#7GYl5JGPGiaQvtP){YE67_;&s( zBUPaYzoqyM1=Qrvn=o2L+LVi^X`G@8>Vl?FAX7CiT;Z2<*M9b2*b&)s^#|6~ueF4W z1#Y8a=79OEUv4WFi-nE5iftQz&)m@948<438A@JwN$M%W2TZ&mgi+4OFwjLz5&?g_ z7gC5B5}MGi7+7NkjXoedEDCD=@EAeqJ(h6w!6cKA@pm~3kln7Kz{x~Vl!Z}K2f!Jv z?1Un?u-Tcu( zUTRW;SB5T{lGUS7(1_9eF!;{XRvcOlrS=%GW>AkNwEEW`DyZQezwBwrG|fnW9uMl9 zzez6&oyot)SKx+N0rq;LV;Nu(2I^CYRToONoJ5@cUy11pXSVL`fGp9|;#%N?(NUF0 zQP4?N>Be$Mk;e+VLz~QBeawFwD;n$xAbub@+~DK*D5XP8>mxN}eW*p&fg|hd99bXg zlJ%^T^=uJ5T+Y^Holhg{Igs^SF?)BBzh=k+L=9O7Ejo)FSw~;8ngNHpuX7@^D|pPR zSsFk#BV<@+`saOSghJ#nlp>Ny4no@Bjt-5B2Atushue)tZ+D-{TF-wSRWWN34k1Oa zjTF5$QuNwL(Q6|`ujNOoA0CSh1=U$PB3KGN|1)397jknV9a%nRZCoCJvGrch-Yc?j zn05M`XY2hA?4jeOCg^ja;0sCH#;tbu~6=y-h{1U6vVFNQ~l z0o+IwSuU^*AYNq}V+VhcE7A6XYD2_pEikJQr&V}V3(Hss4giMocZMtiC6bxUWOjq^ zQ~e;D@Chhi&CfO-`mv~(-x-QpU{pBu@D%)2BE@F^`U4N+=l!J`7xX zes`s4X9ljs5MK^QWpJh(RL_1B>ob-8<8*fos%PW^L!|TDgxU6OwmeQ>bSA9!*>6#G zLILM`w+uzj9}%>i#a4Q{bTi{}mMyn$T$V8{ulLUueWJdtKZQb1cd-`m?7erD%lwvn zjdXcK*nA(0Hfw(!w&PA?eM)P~4`m|=gfl=3)|#%kZRToLRbpi&{Nr!=$MZe=GeZ!D zHbrS>fI#Vni|(IRdu5;FqWimCbXmFRGN4SBYc9I-8f|$CCtU?6T`iXHE><8QBrQ&g z`#Tj_gqJa9x*cs^bJIxu8C`A~P2r~Y#x6H)yudRu+|GY1Ll)Mc0aT&wDQm(kjp4vJX|4*vuUb$FpmUVRNIdbZ?^Js@1jYTD9x+-j>tx1kPGlv=~MuoL~ClbeOf zXtiVRCQ5%Js?+?dP@aN5!?9?)6iP(y4lG}sBdWxPa)MkzCp_H3S}1nIA=}1gM@9L| z$^jw`D7W+!E~h%ookhuJP|lJAFjIx)zhkBvJk{5#T}2-c*uRFyhQ^62&J_;E5X*-! z2H8JDq#R}Khg4X@`VO(3jw$rN%-jGY#K2~_hl_t)BO~Upf|;;mX?~!JWo!>y5pw${ zEdX&qj=xBf9*<*P%(7P{x1nls(K}PU$3F$e#qwfV4V0uuRw%4Ymq-t8IbbtRJ}bGR zVCc|7IISuORziY4uE{J|7`d=CXFP==Xi;uYKa&PAZL^C&!uuMHjLpWOT?op=fA||Wv zA;@?|zGN#%iJYw`K65OfUu4*d#+rKyns*9!{DJ6nuNsKg&E7@8$5D;BL^cOWj^O}v zEn2bv+W=btWo?&zAYo@19#}bcQf0a4rxuCzP$s%NarE7^AXydCA1+;-L6F9^7_)*^#}aBkf=q)N>BG}5N9=9IdXKfj;H-% z@@?7`4Hflg3DSbT81V)D@x$`ghLHm@r8p*=1LMBG+qqxwF^-ETiqkPTe_2QM*>@bO{_Z z)@?#Az9Hn9+x=nhLwtjfXO5DAMF#uCG9aUtiy@JgW^0A`*?UK5FU3r9b80|WP8!Emj>;mRXwK?gh2`Cf^y6hKm>(B`UOQ~ z*v-e0&@alsn9{HhyC0)i)NtAvx2zE>Ke=_v>_}b|Lf$d}IT~E%v=u|rc5!rG&MxtN zt+d2eliE@{4UFtpNDzqgM=b2T%pdK44GS#DDiV<>OIqPWuc$97!FQS9BQo_1q*c8q z0hYUuZMm(OIXT+au5EyDxrHGLuOxB|re6vv`aBZ!YlefaEh6d~2m0r)e<#oM``mYCXd!SOcchK9T7kBB$s(xr_nruhvg~facTNz4!oA|{% z-pstjVqQT&qhcP*4NL53k>*%(B>c#$`WS5KvQLf`z0)=x&#Oe@ilG|&Z!ACpr&-r2 z(ck=|!`PLQu7ML5ArFie?Gn>g#-0&PilKX;r&|^KF4n5!t{X8r7rV~IuFLJ)xVPoT zdHBF)P!w263Vf7K64A=Hk^UinKn{zA75UFlg^gjcxFR$v--iLCg&A29=l?-ovMB$R zrWaA|7Eq3h8jwd*T$KIWW9BmTmpu`vX3h=tctD%nUN0D3u2&x8l`wzVXoN4Rd?~vS zbCmUvOIp2In9w8TE|K>ZkFek%@Zk20R(J<4@5JSu_VQ{KjIIEH&CMEr6qCYC@i?$F zc4A{)UL80#x{_#gSGf4pp_cJRu(R|d<544fy?2uaJVOAgzIih!hR_BwqJn4DCqzkp znrBbuWc~zqVWGc8Z}vMk|HkCa-=a5vtKMunH~-q?&EKjwKcF`Uotxh~dGiB$^S9~E zVdv&wpS=0o^yY8Zo1@Nu&A&2v^SA5G-=R0hotr;8dGmMZ&F|EklZiebrMgnzEO%v% z{sd)HsBO5%OUn$!^|&Io*fm4Qf$i9XEcaM27TWyA5UY%BFmx8mi~C=3rGk^$wMC!) z?lCQ{Fdij@sY&_ALG!4b9FQm<4UpTAF>YUh3h{8STYkE?rTp}NjNa)344vhtAr-Lv zG>lgYp(yX%F5r)ML?uNvpm>VZ}x$($IE6?-vnV4Cn*nWd1e##oe$r`dXBP$|H@a;Ou2tf zCMkaztR~bybU|5Y>)ziqqaMJg`Xt+50*&j%dJ2R}7e6`93|{_+nl)+i7=}?M_^han9+h=Hz?xs<}&i)m*3DIkr1-X-1Dq zEX&>F8RPkV#Vq2|P=@~x_XMKWvRFKp<~>{*UWB}%OVh*ec4@-uXZb`r+0gfV2A0Xh zHS{DK;>C7-;Z!zTpa)+`hEt5Y=I1!kp?l;Ph1o}X zvHeKke&+$EliL2>w4405oO09c#lM~YNT82A*nI?ly$JPU`w`#$&eL4CZ+mY??Owc< zn>*_E;;qvkvAuYkeS{b~{p!m^7}RU+Cqig~GYwBXs^KdW*BIX?i}D~C+0T=aJ=kGn zBkZnD{ws^B`FPo0_axs*49;_FZv#HN7gPl9MsPGvw@91qM46YBvxZr@D?1z z!Kfc>SlKCoQ1pCo>MLBy^S+jGKSRNi(0B8qx69)>vHKpm zi%QRFOi`7HRz~uH)-`TL0bv?uw8?sEf-O@sb5T>%-!e6*Kvhpo9}ZqlO<<=c(5a#4 zSEnYkQ?m_tbviXcYibtNO@sQEMW2&@R0jF(l1EJdQ}(cSji}GPm*0hgm=x@aT@TUz zJFA*_BLC(}Ky$)jDbmi9uPn+StTU*0#3CnBb`8|!o3Wb95H-W|o9KhKPw-P-?;a=b za9znE!{&S&Lj$a?;q6VU$#p##A{~)6p5bF_QImFL@xk`l# ze8qpZ%Q)rc94vdWdiQ3aK#h5ojuejRF~&+G0^k>(GA)e=VXxGDw-W?{4nO(BMtHf@ zkO6YnsK8*2jm-Z5c6CAli8x-GY7fJMQO--AU=chSn+Pc~q5i~BEhV${VJ(hBD}yE0 zz-hBx-_5SH?%;OcjyzXU;}xy7jG8l{naSkld&&Vi^A1xCV2fUo4`$=Y|EdQK z%k{3>b6F^$+T46Xf#iAHF8R2;I&ie~i=`u{4tsx!ns5GL@4w))IP87K{{1I-^m%z; zKkV7sL%<~5hj!)>ojt&R5w<30({_>hcQ0#|vrSfT&~(hf8mqL?DD7AGnCtyegNZdw z7IBSgnI7t99oQ#^`UHGp(iNE>d|%{uSe}I5b{B>hbG;N6BQ)gayNL#rYlN6DH<4(! zky&g5gPx~`+z+Oi75aM`n?NZ4z$Va#sa@>?ejxvN#*&B}Z77p}VNFIs;PxJ@5!MdC z1h@pbRtDjm5v;|bJ{$5m)s&UfAvX-a`1r+CA7?#aL&Kk60c^c6I7kmUDP$iIuJT2KOj)uH1+COl?9k0?kp%SIC9~R5c{h^}tYR7U zX!liUJ%}m*arN)t0Veu{X)8pTV+uQLc(d|S1Y;f%LESs{MkpPY^QP4gZ3fl%YzD>b z%0cre+I;7KTX6YND+Z$u4z49#yysDFv+<^8UswLggn(7g3CpYbkY z)DLz?`S$y$Tc2l?x<^TT511*#e8A{12au|T-ut5-{*&md*UG*~#*g(Q{IMv6^CR~K zA_0GY8lfR_-ahMV%g=Nt@Y~s|XE=eyKouz5)TT?T4-klP7Bpyuv7QoUZ;}!%A-0H6 z6dFr}LnXrDxrlIB6QNe?s(E0G2yr~L$MDqJwABzgd#XFuf6uW#FtMIm%bdqX+2OU{M*Cm3H4VWSiwExe_2F>rXBda!3Twzz6 zmGdrf>v-Lj^SUdiDtvd4wEA&Zcy@Z}H|LSOAIwU=?jPrmMRr?oLm(IOJ7qS!6(G-6 z-^+<1jG#3qA?l*9#VB=O-7Zp{zjbFVDkbM`Km9wllPPWF{)!p^w@<)|BRVEzk^ZV-M`W@3xbA;xCYMz>+dQv#iI6(y-*SDm1$(0f`FGwL z4WLOnVAJUa!i#zF`JtS*ciP^5iEVH1w!OXE_LmHr_q_Jxi)s7(_T+_5+Y6W2_CmMq zg>KvPownyMvF-V8+w*NA+R?&)k24)1-s`;c#pF1XqW@y&O_zx4+=g`?_#KpIw7s*_ z_RdReduO-pom&9SA4dky4F1i3fH660k-_Bo8uyEMc*NUjB+v|XDzzKoOn4$dfR2~_ zmMGdA!C7HP(biPW)m9vt=i2xYI?fb-8eFDN*tNJu^UI`**LP*DXE&iMzI3S-g6karj(_*S+(#HGD=}#LS-GE z0sLzbSxp)Xm)$!c_>v8l_JIbhFc53ZqSo}oTSZhhE*EjFWIEKI@l8X;GB~8aG5c9j zAJ&NK@PeW4&Ih{ChWYV-Y>mv6sh)uGU_iUYXs7gX0}$!+{UfyL9mnnRFI998_CEFI{5$KoUN&K|G z3~r@#58p;O=88+-g}62$!)zAES4!Ye-2==kqm#40P-@@L_wWw{FnY{n^Kybdcqv~z z^6X34Fq0)QLL`{)XMd0s;QD4PY^;=Z8i zim40>O*OyU8(d#Z6-?e>?{J+lRk-C2drRFLQ?byvaiz31b8=00E$}a8nNJp`{*n9n zhMV1==8+x+pD@?x*m+vUaT3=t1i2?>Jymo=r z)N?>VYbcY5-zm-G40+ zP_l=AD*q%(cm+1`5O;={`Z7iWQM@}?;zM*oXvHAuOl52gH;0MP?UZPRWo*+F@3de% z{KmbHOtA0_GE#iq`kcu=UIiqUqJL7pa*hzvjX6S28>_JaQBdYQA2(z0*aH@giL%xR zJ^L%`cggeubrE!x9Jk0&LiMj7)JxmK>3cqZFv(;^5g^kT3!=(ov4EJw^7R3~`s5eB zFFjRVe!3#K;?i8tBl^ESx2sfiyV87xf(hkTG+HWx+Z2!)6+onakDSHgS{NKHQHq#} zDpH&^z}3t}vcJ(m7h{Nc$Z(Ahgr>k z>k%UGRsJ!C0}^kMN%CtRHt5nBp~>`2wYmA%$*I%${-$d43xOP6)zX_zpXOe@&`lx` zc}v=`eET|nt2RIOv%ioW^j@c(v6VV*C{u;qjIdn9j7FAS0>O;EL+M3t={iII=JVbh1NQa&%OR`0&50%*EvEjvVze;KL+H&6sz83-^^ zYrHu5?31%=GjXBGNXT%+ln<4EooTPraWx?BRqG{yS;#B~v9?tON5N~%=~lBiGlF)r zrZxYnHbp~~B5<(eKNx8V5P9Hfza$!qvB1h^pTAoD#q)q^TSY$#i&jT!3>CIPXd_p^ zhfvc?O!kAR-``Ns;M)~m7YZ$69PnfYnXk2mXO#qA4x`;N5krWI|E|%;Bf5ASO701a-w+yVoeD7UOn?cws%uGSQ+&ht%CIL z6(}f-N@0D~+lLHQX>OPEtN$j*=*cNLW^a>q0r|;@{snyaFNa0o6F>hipYW>B|Kbqk z?&ITSyaIkyJ@e1y1uN*eIvHe5QiKE`mqu&)rnb;aIwJ1MKt`Z{1rhc57C9sPexJ3@I$Us`^F0pAZvB44tT;gEM5+kauyTp_Tg4Pnd3*9AV z)wZC!#737GZFZM9=q_>4TH?Sh@!;G`jKt8Wv&7j70SdUpnJzKl3h?~`OB}c*4yG@0 z&@6G#U1D25B6UfB?}?Un;P`IWjCW|m%;P9h=u;vb6|s8q6QVee`MF_B9oUdN++(9j zw75i|d1gvaM(GLcCsiCRq{3x3ULpJ0%gpRXg41jN$uikR^j!eWJ$j(3Uwq0B~ZFqzVR5 zRQvPWG#)`lCvVOeX&dhI6#-U7sMkSf2(`xYdkDt7*L#@*1QWqu{?{kkmS`Hl1Mp{J z!i@NaxOs(tLRk=uEC>26F5ao-NfjRLm2xcw$|HXAUUiXkbl7_hl{P`SvOvf}%dW>&bTmnk3|xgXVyIyYZx!Tn%A(%lN~16c;^;nE*k$iB3XR9~74K z=>4A&fj-4w1KEEdX{1bJr=@b;{tcu7R+Jb+=fzcjd!gWk;TZHEB8=$kK;Q?>>rjDW zx3_kk_geiX(%cFCCKBFp8OMz$@kf507OU9prPq0f^qc7D`?(O6Ii?_!VVPQa@dh<` z+1tGOEo=2#iux@}`Yi{jjC)0@5OlB8k4;-^<@I1LP)GQ2r+%E7LJYkYF$g!q4M$uT z{YsdBc@<6Efw=DL{WV*iR!NP=9)M@^ha!1wEWVVU1RAUpXDWPwbGkV?{ps0@LR)GmZ(tEW8>KPx-zHm@odU>!^d zj6%9D3CV|Q&!V6SaTW^?5zJ(@h{jOaA`%aBW4EUXvzKcrU=d;7qI*x9T34V~T1 zZ|LkAk)-hJHT;HO_wpNl-GieGO)#*oQd{<|iavNkK?Zj*$PvB6losoroq39VGMQMN z{Se*q%DkxxPH9jGpNR@hM7HuCu|;JH#}AiF#q1+z*NeMGi@cN7>eD8yn1QglG&Y)l zLpADc#el~3p$3>hRUq{6jE1HMw(3ugh!rsS*^0)>M3Fo~{I;ab=ZB(YH`y~cX*XYw z^N!~~2mks^`yS(|5P&Dp?~0|f>xb^LGO-^YHvP;ATYoZEv~=*RWk4;VIYftqXqt`shON}uULGjj8B&H#Uf(tn;t-`T>{sc z6D2n*=IpPSY+zxGw2T!fe%-Up7V~4M%L}cB2>3q?q!UYbjTXqV7uWy4FgW%Vk!PXU zcGtT1)y)MF4uuRB?k=}KB%NBA>{P#)KY1~o5)pGAk&xT9XhN|duV>@u=%Af{?kBv{ z5c(I3C6G^qIC9K$8QDm`$Qp72ONXyl&an%o6M_x@6F49u7&B$|%9%&X1ufrV9Hq;C zSzqF#Wm=t;)n7QfzW*)=4@Xxl^{4C?msKRg6pSEkF@m&a1gT{Nx3WDJpzuP6>iK$b z@%k~W=9$yDV4sccvnOzhGFWVX_7;lKT=bcTM+=Ho$vzX}cSAc{+*NLCbyT;hcJ+ch ziygd(+hRw<9saOXY-{m{5yL2P?n%deYIxZ>il?M)=S+Gr<=TcUnGG&c+VIJgbyk(V z@AY1O#1>wa3uo6i3)@e2ZVycv%j=sgpa3=BuZrUuR=J6b`0w$RM=}O~EU;Z6$;G=w zIhUE;RxI2j#9u6OlRP}yiCxQMXNXO1@DY~H1mRPph^5g?v4G43q+|;ZU%IQ@@fvOt z?#%7jQQICW^T{36o7hHZs>n~4Gj1PkYc|j}Z7UxOp(8C}+m?OA+;(}Hyc!#tsZ2YH zop%-6zq+{q9wE2b{_MDaP=64R-|9~+?-v4f-P&>2XoogA(`m}~$3ddW_+?9%3$Nxe zy;yAjD&|LYUzJiC*vGAH;h(=+WXm7;Lg2!A{kgtp4|qqFmLiw*5b}uBoygO&X=atT z%Z6FR0v8LfUMUw|;|?%6gzdBW+yMQpepp{bus6JjH4-Qe+`;;PYt?sNRV4Y*<6^3|#3wv02xHY8=nMHL0}L}An#QuGhH(w(Ix?Eo`d*_9hwcyos42%^j1z)G)%!@55J0sy2FDi5D2MQohGb>}j1{&2#s06BlRMBX3 zMMPgYu;z`|iXzJDcuBQif#$zE_LB{3Vjs~oxt~Giw50QY?*k?55D<9o)Dl_#n@XhK zWw3nH-=nqnRF!o*iz?uL^5XsKJ;5lBQXKLvrVg*vzqziMhg6cdl7BU~} zbejWo-d~!3ef|tA$LJCo>lTLwe4{G}!+b2i6VvWrYI1LzMxQYYuO)+kCfwoo@5p<_F~K zpnBG0q3`M=zl=&g{{V*gYV)0c{INh8olh5l`tC(F&k&rEzl>h|r~AjB)+s<+r?9D7puv!+(`A*u-X9fcfNOjS*1#rS1r`si$t#Crj=5i*UI0FrU3f; z{IuFDI$`Q6$awiHt)q?spaafKsF-iDH40H93f9{vd{pFnJPu^8&vLdO-7?#o zcD4=6p!}Gxwdx+k>C3r9#XwY9c78Cq>4$x-aJT8($ZtlQ$qzqDE5%c@%!!lX*=mG; z_apc34|k2L&;M5s0(<~pElSy;?j%$>dGtqoEx-c5`Vag1`JnxLm;HRee%^0CH({-o zq5rtP2w(B2IV)3vDt_`2954Nq>Nh_;e+T|Et{(Vx?+pkMk-Z{kK=sJ?m^-S!{;6;K zpf?uMcmu+#@-tQb&*Y~Ef;Z@QT>S2T4gRsYnT~Pg-AaTX{MS!B$ZvOk*E_54FVmVf z|2NQP`Y4JIZn}RqvNA!JZAX91*Oc`i@k!mu`sT;pFN(qDK{`tiA!{@=ol0Q$6>O??74KsJh_|IN&gEKxcUO_sI}md4~u>?|!g>B4zlBqyWp98t}F<$sBt^C)-DH($ce`B7i1ehOt9rEJ|f_xmjK<#vwN zRb&lysCMpgZIs%cR})hH>?|Y+U;9e&zoM|Ge!V+Wp`?{igG` zfX$BpRa#vAQ@RhI_5SI}GJ5wb|Iw?y>ZK2U*WbH9A5e|?jk2;c$5)s%{SFX2{HmsD z;rq|m0wq4oTJ_FD_6QX;_A73X=?7xG+wl1m*mZ|-B!00HAoRqJ16w%k=iUyA?ZlEF%7KYf0!c|rP zZ;0c1Wi$)mg_6a8byL|)DP??EuBpJn_Agon{~93v1|ogY1FVmaqG;(c&1MCVvNWI| z{K%ymjI}l|mVc(m)QNzQ*y@Q{qA2{5C%kEeWnj%oRByqOq^P+iy(+0)Ck!AT^OG(| z?1+>3wO9L$~Q~PvR>} zo5>$fP(mS^>=VY``#!mWHf;Rycyq(!=A31D%0_shr=j67+N90`ra#^K^)dL8zQ zNdQW^GmuPw)uOXYZ1j8(Yy%hT`TZ)B?YTzg`27j5l-Yk^%GBZIJ6zj~jC3RkO`R-fSv z_6fOB<8uQ9T$0OV-!|vsarcY#w99M7JL>`B+j_lwy?j{z>WX>J)d3lvu@RL+n>vy40z`dO?6KWfd^&<+Yhd; zT-J$j(w9J|l#_(y*7fFw~?T4Nvlr1w;~8*a^jd z6jw&fXUd7Vj};;6VaO7wOu@cC2D$F_W`?m_3x+WJ2w}FhLYoL?`LVM>hN%l(&RX=$ z;whyqQ%_waY!PmXzqhKA4Q6v z@@)TjgR%5-B!7^6fU9bYbGOK_>57})sPc7ME=YzntyA?P{l95E6M9MFC7Gs?ydQ6k zNlVy?YuJH!RNu9uUP+~~e0{0oUZ>slUy39hDHm9>%)sUo*oSh~e9r&Iw@q7r4yRhw z$7=o+*kx8+5JRAn4zFflLs0Xjpv#vi?jZccF(mD?rd8l4FyiwwBuxWQh7^GO&6b`9 z$|xw^P;X>NeS{iCT)n7{y&nuc7w<3B#T$o1Zl2I>5UY24@KBOt9XMiNd7~W;HRHfh zpYNzI|FHo1l-dEy3aUuouGFc2Y}~Q`98T9gT3!8RE>i<}C?fRrY-qZTDDyQwgXO;W z=*PZ{r-93D>b9XFXs4=R%;>alD4 zUX_9Rz|drz3;F@Pwg8@g=XyveIv->|cZI*Qp)S-t$RDVB<8odOp!u6u4r&%1KuNuP zo#D_tonl)$eN}-qf9U)4G%wTYCuXaUdHEmku36ZEhH6tfUNV4gbMx$I!2$^(O1fN7 z#I|9vfDAGC*#|8bl7|!VDO0jsPy&m-a=rKYT9EZ=Q>_Bur+J=#!+6dw2B?3PXpFK~ zeeNSrokYZ{b{sSVmfpSl6o0wzcib<&{l!+-9WhsF6(A`{EE#P>QPA;d35jZB76V*B zwa_BX-)>O~)=C777{nlpVvfmMgUF3Qjp~y^Vu%?3EVTEqipM39)4*B0{Mu!aF?P_) zR?bj@iN>Q9`3S~;qg4e*oKtMRof?rc(4yE(Qkyxpf~v=eBFl@JecpAWgp?#aV3*4Q zPAb{{=9nvYpUQpywIwBonfk&3(b0jRmuj9VZb3$f?eh}hchFZyDJiQRmW#zaO0A|v zU&&<#csGFQijmzJBl$1Al?4bt=@B1uA-{@14lx6;5OXVkH@zMu%bBEjwbgd7-FA;{_q6R^ zv8sjcQncNFvu$@8-L8#ZC0Z|N>8jCoZFGCP(e2u(PHs-_ zUaKQXyCVrZk{~@DkzpAjJ@HqM^1qj7_T`9yRZweCnEkfbJ7^6;cNV$6?aPXJ@TdB1 zdHZd7{Wexv>S5Rkuxb&W{$;j|Y!X-=EX2LnJ5grDwJ9&h7B3hma0Pz&5x*?*?=f8E z0vl0(am7@KME%L)iv07ivUlbrtEnLAtWMVMX2x!2+RaQ?Cxc}Q30_n7f^GDppj$ap z&fBQ&g$#5%&_>brK->PPQdqyZT(rFEfNTQva~^nnXY*?hY5^-@7MiQq@Pz80j)mu5 z?>7KFi(0H!JJ~Ro#S1Z)dTr)(Z5DNHrVP4&p{~w)pM$zu>%E?l%1Ks9b^jM+qcV(K zcxVZ5bGZ`P$BUfEuPYqm9b=s?gbD^X^1+^B`F0;d^tv1jHC8#gr%l-DP7!3?bAw4* zizl1#yaTCh2ue?@grz!11Dzwgc#Af`_n6zai5neL=P_TGopi4sK+re@k>ZANwQ;L| zT1=%AUrvkV8Ue$RsugQAWmdybS`+N7oHsN&&(i$bzfFI85?>i6H|xx=vp9d$=sZi) zYagap-tc&H!-Ubfe~ASu&Ij`dv&>E)@>UlYn$_Rn|*Dw-)^&if4(;7&vj<)#5q{ZOPjrOvin-dpkve)ldXk} zoosr;5sRaq6r{~2+YR|zko9kT0EagBxrZT0*-gCx|3=d60MP6NUqISpevxb;?~pv5 zeG^nJ()I&i&?6&f8D;YIPAQ2EWU)AnC^ z_3W2P>qJQ0iICzz=rY)?oN_w~1hm;BW%I>yMlquay8S%G`OYZ3T2zZ9?dbcgGI3EIU1CSq->2f( zg{Z_k2bG-f4VsUyE9p(667L*TGObZN6-p(ZQc2x*n@YSEm3UjJ#Ggtf-WC=DzLjO~ zN&O+6Tx-I@sjLrGLy8OERkmYoXJ2#nf}{E^2aKzhY^YO`m{$&K>@Ev`hp#4y1sZ3p z;%5U1_NWvLjFB>cjRD_bzvOZMPM`HaTN4@RM82KrKCRUW+7lUYA_H9=h9;yM9E0TS zxBFXG$2NKeHSy@YZR+B%&4E^ULDM~L`U=hAIil7-8E%!_qQFzqk{cY({|Iq$YCtr$ zqAA>7k?7sjv0-kAwD3lM#9(ck%B_h#sH1ajIir!=%*O-np~z4hl%4}o!b{rD`wSDP z{4?WyJ}RuhzQ|J4hAXeY;i%+IQ7h6ViJYiqYkZW1PkJH`3yY|J@uTpkUrSh>GcXbt!3s=&+w`yux!;1R`we;fh?8&j zTWD*~_JtF`!z5JvZNSYk*Z5aEK&MDeGmNRgQ+vH3O2Dbb*#xTYV{ z_39@yFI{cUB`lHEfiXcRAxJG1iN(GMtXp%Rzeenc;M7rnoxl)rBx;5Pk19^NG+Ql) zZ9{hP@69XBjf+|Bn=7%;&#UN7)y5ku|5Oo=N3ol<)W))?hy~vo+r{hm0NV4U&25LA zqS3otomH?)%Uz^5Lr8!$;YHLQBCV~B)NHv(7d*EPd;)~c5F*7R%wJmN2Cl<`GCe>b zT%^Fe{(ujE=TxF$4Po~G_JfVWroA{D;wd%u15=8t;FehLNZlO>guoqU@{TMrfE=FjPL@53^(IUR7T^JGAw&-i_j*es=KtJ@|J+dyZ)FY8eUK|A4M9Rj(!?2r+ayP@0F*8N3!Ayz`kf;6WMlETkyD$AN~>shWc5Z) z>y4c1MxHWS4D%=64kO3pKvjK+SyRc5ija;`F~=SRHr^P)QaYJ|wj1ay2HKrKUmfVH z1AS*u{ScW)Am8*&j56G#F^5Z#Lo~incG)U_X7T`vPv!q;WDDHS*u&G(4`^Zrv?Ih& zrl6R4Ep1}XD)UZj5`lK#3HR%RM6xdhjr1*z^hqQADKr8H^hue$FoLT9pFg^2Q-ZRq1&rGd$B38*+d8~jumV>PLT-V)WIRt}z^(G}5~O_gs+S@! zw5O<|{Ou4`*J2F36~68%A1S&^V}va~<=5Q}h;0h?tr=PDt9G=9WXmjn`7$y#Z`52$ z+sa9{k>PuYUk_CeY?@Q2F&P#OP`!_Tg|+kw6Z`}s_Q@%Y7BjHC(oVtn! zs}+MOx=Nz@gi(FsyL`>7({f4(F3$kRE?wV;-mud3(7p^Zx}x!-@`59L=RYPw#rkc;>4U9nj3Lq2I7P?D&j;>q;u>I z3KQ(^mN~li1bRb2X7hJuJJ8wwb&vGZOn1qUiQ+n)isFt#znzd~v>fdP{_gnk^3OILaC2o3u*PUubB`#2c z32;*5Wv@_Q2b)y!qIndCi3il70cRTmGU&?gbi~(=6!2-ZI^wrG;;Wo&LtV5ZzUp{B zd>jauEw;?0Z5g)u_GXyYvaXJ=WAm+V1C6kLUcX}#Wd?>d=k^tt+@E$g8|p(6C6p%OGSwE+&Ssmp z5WB0Th>;d}w;0V6z;d|9Lh|KV{ zHhtsu_|F}ds_q&?AI8krUj3qdK%m^;pnFL8j&r3A=kje0=`Pnw!L?>JKJQ`=iP?+e zT(gs$EA4Qu0UTs$v8_2PdegSY2RtgT7q>rB-EuwMav$*8r$ueRndCdVk!F>Yd2kl9 zh_d>Ilj2*UA(mEUA(yIT|EEv+F2bfsXj1p`hXUpWF|~nn;8m!YlkQL z%4qX1QD3(gOEewH7e@?0nq9NAc66m7jaj7%C_vk4KWd)=hqurHB{ynWL)A=`lO#bsiZ40V91o_Vx(V%Jg zZ??fu-*UMyq8#BxYIx|^hKGJ*c&JCbaIp0@cK}`PM(m7?Q=YU&Mq8|?bq07-&VU7+ z0h#0f^A|oe=Ixt~&8ez2EDVRcevH&uE_(8J)SVuq|f* zf?pVG`1E0a9sQ1&=21_LqrP=Y*cjKAQzDc#R=_%L`^m=I!o8=f@Lj-sPg;xZwO3)f zO5?Xx8ljaPCr4Jo7?gyj@EX57eC59S~1!IY$4mKeOlR&V&zZPP_9t z^2Yases6<0&Y_J*9F(yFF#m*){5bi;L`B2^2s!D0-tHemIyOrM9vhlv_|eAJZ@gHo zjukP=%SKV;~3ycFf_1~GnoFdW ztr4E<0UC%^;*YwTf(i}SM`_`{a5Pk;wxxrAh5hQ6V}N<*=@(m^Fd_rhR5FT{5vJL* zJ_}PhyE-$qd|~vcb)v>QkY*}d!DSLrB4;=cEUbqQ$9Jq(MiP7al)r0^QJP@_bhnaR;%U_G6Ba^r;n zqZ08xJPPD^S!ab}mUg!TE&Ccjg|vEqt48(9KDplCt_kkYh2;;E{c}H{cxDKORAu z7mYoj{G(9-_OX*Cv%j_arE3jmdEoi5xYCK;y{ZlI!y~RfAFjiHucFM);-K?pxyT6ekVz0dx(@;cW298e%x16Jd@w%+ z1XX00SDTx8&4feCga>5t^!x%;l*qbnS#XHw9(< z{O=zDv?@Z2!#c!J(>v7q8xzY+AHjTAXPH7p?WppzdweLvUYjD;CuUd+3&XetJ1Qc zA5mjMyX9)_Fv9>@qQF#~hUypZHCmIYsV+p(z;28(uHLeF*LcQ%7?E{RXIve?zCEI? zBh>jwY=#{)v}WMX{?z9T@WG@#1ADMo=NvPt4%lHQ=N)!(&S9tRVJAodal=k@*uAraeN2JjLrkg+5@P~fAG6F08jJT5HSAr@o|f8#28md)C_YN37%vcH(K zc$FeE!#+50F2NZ{n<>M1*eD zWRcc!=xGy&f8N&~^$Cb89~u4i>O$#PxhqM0ha6+-T1~sIRW=oGaVEs{GN3-m##o0n zVDcQh7;Eo70F%eCw&bNe73%KA>|U(hi`9}BYwT&PaW%2C@;2kPEx*@eAqwxjEvv02 z)?mzd{k@xjmeUNO$eN!pN-xs$bRd24t(nxmEz-B`f7eW$`ejl3Wj5MSv&kZz-bkl6 zs`jg6sC95tWkIIA@x36du?k>Yi_aCRirGh1iUqO@$dkP$SheU4Yu5=6-PU7go0<|zxE{6PsBHqc(KrjE?h&K@Tq7-T@fZTyoA!#o zglZ7Ce^znYD|8i&B{((z8yoPfZ3olZX54es+8XEUeyrV(^c5Do;je1iy8{(LZ`bTF z`)nQe>>!P}g2tIsO>G@Dnth|@RADJ$>&|e>of@Yb)?TmZTtpE~5=AS1S(guM%XNmP zN|+#-j%$~7>8(l|pJ#dAikKKqq1JJnI)}A~e>OhYj(oPkuW$9;96G~vd-_2rz}2wP zuMtquo7oA@IXi(R-^i}N4#n2XW^Gol<`r_tAaW{DLJo9a=qS8~SJV;kkp?gZorsn9 zdo}~b3L~M7l+D30YX9i8l`mQW`nDCG46&r{hWjgmRLflSG ze{APOC71TB^jfph><_Q@@q3Mrzn+y?XC>M?D|QQ-7WH^aJu@~`^D3wdMOvG$({r1z zZNoEK7G4KZFYcBX{3h46#XY9I!P)D(3;LTb^nqco{*eyTx6NPQ@dli~^{zMIdg~0B zQD;Cp-5HQhaR#JKlHQj7yvIeyp07g_e-j#Nhu&j-rCIi`0zccBs37Z=M(at_YLfs5 zK$L$u{HjF;lrqT1ASaA)H?P76d?;UymHAm~4ahfvk4U6Ee_NQC zmOr)e6`8FOoR)(s99v&}ZHMpWhwR>i(-02MjdA`Nqgxp15!hC0ZZG>*APF~$eyu4Z z{1{yt=vH;X&WtX!L%?oXq|O0|<&=;)4kfZkj2H9r=3*3=X=AR}GBwcY}>bag+ zN&Zg!$1=dEx?GEY3mcCWi_tN_f2d)Ab)ZA2feuCk9efRRQ1@cgaPiiYMs-QkxEGra z812BvpeM*GThfi{b0nH_7AJZZ2YMEVZBb&{;ND8F-33NhHy&!^i4Bp_#_b_BeR#eO z&#w!dU+in1+Q0ACGIbfA=bdwg6>5 z7SjvkO3-^&k%M~uQftEyHO}0ozdebstjX#*HI6(`vv@tKanuoc!{f~j6Ir}1?AB4# zR^y`SYMkk2@tSrPuQNQ#sMYf81Gp;xzX;ZUgGDzaFwp^2tEbw&A5>Nyl2i2P-_qC# zMm&82!uAA&mplPFqFtzwe{jFciZm!5OrW8?-m1+EahSUcCW2*PxBO>^UPz{ia8BR+dX21XpS_%_Z=t1$=Ps=mEc@OHEKPR01we$*7 z5&}B5{`|ZA`5FA2)vdt=7_hB?r80Tvr+Md7ypto|?4Pn}f0V^Yp+%eLm)hw>F0&Oz z+`qcV$VP|1GCei)tM7h``x9p1>Zjgfs$YH!F37~MP}{9O!za=sT7*3mlJjw(BkwK* zP#3FPvWHK}(}^0^SrzN^j3<-XW6fas)%wQ#>O=N>U?+q;n2kU-sR|h*7Vv6KwS*>! z31jMlqkf3-XPF%>IyP4wrHd*!<8PtfX*8CMTJvJ9NoLZM zqzK;DlVm!cB!y+8grx8O5AyDxzL%sDB8BF)6(R}%KnF)M-)CCyYut8Q{8y&^)~^3* z)S7|>e#+kD6ttX`A#4%#6ePezXxx=a%U!7njo!pSe}W>tNyZ`z)A5)VC|kkZicRX? zTX4aaS#0IgZ!!7LguG`Ipvnc43MOt{CGGwZZ_R2Vqqk*ZMAkoMY&TmpMz4!{IE0{$ z<`Go0>L@WA)kjF!k#Lgb>Z9_#SM5g)c61PLmfwm~D;YA8^i6;A7Q@6^L`%2Cj~sM5z5D#_$nA!~ZqAvAK%_{n zMYQyG#>xoS7*^>x|D+ksp`{@vJw??BGUm}0>RGiMcFyLC6?3-^5sf?tW?L3yfAYf+ z*H2c@dUq5vZzzL@Map7;T_@q?srUpaLu!r3>o=oRLak@uVtW-srveueagST zZWlpheA8qOVtH;b^ z-&U-SWlvlCL1-y4aA$2v({RWxy&Tkxn3S5Xfyt@vUj~FUWCbiv-6VJ_ez9s#<9jy=0(KCDj zisO=TAy~AGU9&nDgA}Dx*9sB1nZXnT>oimasWU%5Zaz?kZhAO|5a}VKg(60!f8g#)%&H87%9|GG zCByGov4Y=M6#Fj|wlBxgs8{5pMWS+++Ywl7;qn(*yDP%MakGZM?5w`!9-te+o}F5o zI`y;^Wj+u%kTxYg(sqfD)G2DImiVyuHsw81r>Uh{-lG#_@Wqt%2s>pxly~7M)e z^bmXuqPiKCU@Y#2f1RGb6(qtDld6|Q%yX&wku~EnuGYr(4y5C;kjY@LmzRUX-Vfjp zB=4x|vj3p@Y~}4+p&O_-bZ#Du&Vfe+o#BHmnK#u(ua>aGpdc z`l~@QkoWdtl6>uw?W3Iy!@{}MW^sx~`+dTl?}MslWePgJWN5if6G8#-W+W+L>yPRo zDPyR@(=vcU_o?(j&rG5v3S|eBU#%#_^f1;K!6W#2Gi-k60KGllUfk8`iFa{xoVq#I zex+ObRrL1xfBE(PwbS>Axr9ApF0@Dd>`PMmMuy9P?fWxxnTE|j6S5kht1ZH4sGdel zqOKtz8yTCfNBqVfc|B_8gu8=x1^1q4e||z>GfHo3xK2=byNxX5qrQI4 zuL~ac)fToSYvSXYH!29oLCYI&EVND`E!eU!LW4|ZXNLQLsp6Wq;ToGnD!l?cu_|^Ir(FvVWv=!+S#Dh{%K*@f5HoKB%x`vB%WBq*5#q7q?i;=KIH2| zZ81LvcfJDB246j2rVJ3#S4YR0iX*K=$F-uyn5Z@dE0VQZiRxFUc*wrG{gAH@wO=iV zV^NImlR21iQNcx0raG&$Hew(7Ad61CEte=kLP;y`EefRD6pO{ut@dI$!sXFd4jFQn zev}cWP2oe+cPg zS-It`9PCRps42G|EdWAyueVo&a%b1ftxEj8#;n>SK%-iQfbt_Pv5sGL&t`bgUx(;) z*gML6xxpB=4tzre`9&O~2x*Z6a6gT&!S&uTID@bEZ^XrGcu{75MlTNd2H|z=k$;NS zax%@CK`Bsba3Y^wQx2fM3A427f7`04Z-@ySI0X&|=;{cWe5Bkpq<5@Rk4xng3*NW((a=%=1_xExC$~tdffl4ZE>Fu%>t5cLZwJ0ETS|QHY)Q&%+QN4S;kt=V2 zk;yK@9+S3Lst|Is$N@>9Z9Mmqwqa-#`sDM+)hMwNF~xX4(m8TOVq-8QBjbvV%z}MwZujRV^X6xA=!RG zPTZdgc`6!BgE4Re9Ma7o&!qs_%+!&ysld$4xw=sh+IBC3^WfeJ)%j$A*(kBG^IMS1yI;$b?IWHXZEt32-3abX z7V3mG_YAooq%g(~Z&Y_w8z=9-?eQkioUaBr|yEYW2d!M9Da*_$10AQmg$r}EhwcBqw=w^ zW_^yG7|4^<_ZQ{2?F{Mu$za6Vh_>WM&mL^%G^=x3fPGE3h$ zXSQubf33R4bc4^RFw;jax~ro`h%S0n)#XFwbAV(!W&4>kw7{a($_m8^*FzrzFn41Q zKGAVRe)x<^c(EpkCKd&Su&Opq)TOejh&iLBvy`$tn~q$+o09X4=4+N@1ic3Fpa%vR z@}%{ZP&BXHrVCM?jj$?F#nASnD-2SUV-%v)f0;2{`Do&xOUJzVM(yNf*xXHs?Ib z9GI;evWVQk4kq=fC_EYkBxbSETVLXg^BP`0QaXRLGvqfHJPoDSxbf8J=NUT4Xf# zuC(YO47FF?a7r_TROHFad87glZTjy#(|;8TLN01L?@*yNgncWr#(W1^gBf>~9CK$- zHMGi)uN2wokuvaJb=P=CPM_u!_KU1x&StFHxTUCxTZ-CoORaphe>!d{ zYR4_L^3`125;5eb2QOVrwBz}Lm-i z;EuPJ%SE4u?CJ?uj_-(OBO(z@iz1^Xe@jbnoaF8&gE%)z?fs~m zLUVPhFQ79BW#Yg{hq_w{A^*NgKbO8{h3*@Y z3!|J1v%c|_^&2dAG{x#yGE{EoS6bvzISKCLwDcy&;eQn^55y|r43Y5#N2~%CpVl~O z#9VmOCZqdU5uJ8#oH}Eo@@i zY(8cyrcLuPLl@L$^D$dNZJLi6oFgCeV$8r337G9aQ3j~`p(l`$uvR6MA^&7iDy|t;tKRlI-6cns_5 z6%YBWcH-AO89e^5sWfs-f8GC=0qk+BnGWPw~%N(){|y z&+@`;Lw@6ppfVX{{k{xZo~`(rSBWCgAR$QRW>0A}W56dom_uXLe-um@UGtYwsCq=s z15qW()>9Q>Qiw1<>yP7r0u})cq#=U~(X~fD?H5sgd_*TMCJM$-)M-6HKoZ4_UzL|% zJ!YZ#{Pzu_2mR~)YvfaF%4+h;E@=M{R|$|@dBb6Fzq7OzIf65l3hsDgO zBVT%Q$`j+AcM{*9;OKC`Sh{anmd?m%(lfFaf1R8H(%D_2Xbry>9)qFp))Jw6 zp<-d#Or0qEe{|^2BAR!<2J_-5H^kz%1#Ap=%I(^NRaHhnXIeFu2}Qbkw*Cr8CT!17YhVdU4P6KwuOhNoU?RAYi%uV=W^UZ%oq;0nmGh8g~VBC9%bce=D2M8dZ0bolKS}&YGe9LTJo}59V1o z#5J4_)~4tJG?|#FaEW^$^PUEYMex;OVkV-L7$U&D&VcNMA#z|;Kb1Ce-O)`aX(wWg@ zijHLVMPySbK5a{-iiB!+dD)-)3R$J2f2y8@$;#Djf2D{!+H0YBTFwcGE$bRmbkJL{ z8*~!nw_Rf<(J&L_l?Ai@irLI22=f6(44+od2g%XYIM0L$^Nv~jr!cx(!E>0-7oI7@ zG4N=RcL=a7`F0FtPBi{Kw9Kfn^!P0S7#ou~C@ zC#C;q+tPpNr2pTmrT=HoCH;pFf0w;l`tMJZ{!>W*Y0*>>-5^vwEiu*nOwD- zwf;RD@j!wZmxsctwzqKD0}OulwDBqMH%JhHhUu}+xT%2!yt)p9H>HFG^TGpLXM9>~ zSJ@-`D%Gc_wl-N2&ew`?f3BQ+(`Kk`e$=CF$J9Lx+iiBM%qdhrs0AA8raxLE_1DSU zUMG25YhM!q$+WP6h=648+!!;4t5Z%P`31OGHh=O!}e7~>N0G93d6QHb{V#B8TMM6 zU)vOD*&M8>=0T(?>Tf;*uRQw~K9=NS?tZ4M1YcjT+QsCH{O`ir6IQPsmj*dNv4+ti zQ$Qmp49zt_vyUGtgX;NjI92i$K{d|?;D_Do`2Y@7tohC2e>CzVQs&CfH(B#G=!6ja z#C$6?`nW>%Dx}-#utr8f81h#RgBr1t))733_$3=mjX%criXfwFz_qfvO^g58(rc>ZFG&n6U-fV&*%?J(|*vOR!f&| z{_+yWdQBA&PU&+h0vN;mGb(BCLTLbmJN%jPgAMn5ou%gnLUW37QVuLD-~d@L(@!@3J7t|S-^kV z%Ok}ZeHbv++B450@=$i`L3WEZSx#Yv0JAK^fI7trjr6>r(F`ZDpB zZP!Mye~UYS%^GjnRzF}P4sY35yk&n9Z`obQ@;ghq*Db^>89ONxML(5rs%!?Z8Cuv%cy6+4w5DP{1nx^uw%(?jUtVP{bwJhg^#%S zES6mOwarY9({IAQqG>UFS+MkP{!Xx@e=tfkN?1G9?qKOUHQT&Pv$)aj8}n-^%JbpY zh}S*nvNACU(YP+iw=~zYZT*s0w{_ZPh0`kZm%xdy_l726pvLM9^%j(;IzvzVa zfR;i8_$;#069WP~a7w@{e1)t0idYG)pH~f)BE5sI94x9|28TVQTWDjl!1z-mf0N|W zzNWaTGGeW6YP7nkscY97t#fL$&Z*G?r$*HzQ+=MU65}eI8e3bnCj5VI)FKAXPAD^x zkIrhopl9nnpsI90{BhI{*8p|MJyD%+)>Iouj@7GhHWebe#~OZ(6a1ig71;AJYT^HI zInxRQC-}<=6{JK^r~=t7$OJUje_W~NpX!%B_TO9OfCD${!9< z5UBL^2)WbN{9&Ps>f8Jp6b~Xqy-EEGV&Z)p<>l-z8Y>Q>7Smds1Rq^uSgflUkvslA z!2AXluE|9@iX?qV!^W;w$PszRH-%P|g#Qp7+Xb0t>nz`CQLk9cOCBcff02fg0=*^A zU*bSIP;-HuG<=#-XliqgW+qj*ATiKi$n_QtN# z5?iHZ&{kR$#-6I@{S5^5{W#fv#cSM1F2YAKN4#1x{=CJSQNv@{1QdnsfTGYD9>XS} zC~OB5h0gF8UH}N`Vt}5`e-}$+%@TSl3f0s>On2(}Xe&#H`tu&4d_!FZXIBWsPz5kW zT1k?<+o<8fLrk;*Jo&Y>M4+OR{BhuzCYm0^>2i<(+Kk~Lh=mC3YN!qg-4ZJPd!R*` zF#8%#O|w#HZ(W06#0@PsI-_@xSu+QnieCK{tpM;g|%09jP4&#@!TE}4Cv~S5 z8V{Su?b6VpJ2hU#R|s~eafQ{8wn8x5+@|4jfPfhL%8sQ%?4bOcsY_R4_*{$^Td zMkD{da#p>)+c0gj2*wo&B0}4C>bAAT1lK8-7MB%6?H{BZ27qsFRL@hU0@BDD>MTOm zDK7`0$Q7>q4of`4K|f3PEJ^}hJ=!khwNtvhT}A(4u~UKcf7cjQI?#o#t6?cd2F%RG z06AycKVO4@Ge&j}99&R6W*zYk9dUvY?@-6~4maAQ?bz;)R%>Eut4KH%wjb721Z|4h zPW-h~Gv3^}i*%gga(QHDxl$#^$_3`H*wS~z@VG*r5dqu+)Hnc-Vuks^K<=n$&Yf3b z#$%!Dd3iwof3q~szr_q8++sdm81Ah6y9lqpD`&i*66Z?QKX&@mXuFWbuJLFG;!jsc zOEv=&51=0PJoI^F$pEQR=4wUZ$L!Q@V>kg~P-bK@mPE&3IuD^mB2i9cC0vz}Wf|vk zQ-FR39`MCG${1Y*$KXw?$jxeQ8e~O({gB8>tdOQse^F1xB!{W5GEz@vq@LD-@2RNN z(-QSPCn6!*_rRD%rmNrlq`%MeuJ;be_YZy2C+O2bP4Bx7AqSdyu#uB=YsZxMc0p8B*nPF+;~Ks@!VuOJZN{Rqp`e zc9Q?2e-RM+2k6O*I};^=PY28=Uo8gg2dd|3KinjE#jNz@74R$N{|Ke-XDP(}k6oAl z2doIkpCgGx`;coNa_vK|eaN*Bx%MH~KIGbm-1Pxhbo_bsfqMLT^&9p0a~*%)8UKq; z2{WVwH~yp^e?tkFgS`ZsmYK*&5F`mI3)|Zuf1xYYH;iYDkFa!|sTXmz4)UpHrjpi7 zB|1|{XQmiNsPB&T-Lbwq)_2GH?pWU)>$_upckJFB%hwB0O5COt(YS?DV)d6;CI?qX zisRxLLOP~Q|03Q5+#~SYX;ONh+F{Hzw{FL4?Qlxp^JZM1_qv^D$LO$kEqgC!%ODQa ze-rqca#4W*7V)k{m1H%`LndLhw$9_61UFOA3*|m?6bzhMYf-D%vCKo}@)mHW*(5eS zmSPp-iPh1!5`15JK?%N32|m6}e|r*NSze{@BzRUmQ3<|J2|m7sZkxW7;CaJ@1Ru8~ z__Qs-r_&|)xGTZO-Oz!7Vj`%it%O5if2leA=H#H319dh6Ru?R3^TiUgZ0r{6uYb@Z zBAxmny!Ay)C^5QT$WHrZ@0?rhJulhqdDn5L{fd6QLB9T`eto5U{jh$$Nw?ou+U+MF z=CJ46NHy&qb+lCblPYvO0ZIT50L@$x8IpV-rYB`RcjS_ZY=iXj{0Uz~QP2G^e}B}+ z6lNr_S)zi2UvxGl( zjmzy2wRRvO*dbUf6bZoJF~-IZe@HI(0e*x~fE)OSka+&1J^}}_BkE`J&bg_la-(KH zI)=0`!H_a7l9NG!y6-KU{wbEpf5~sQ2A;c02E#5Pvu|GU47}<+f9ed|n6xXlgX>D(Y~af2wU-tLnvu2lbg zJQD_*#ASxQs7!haq@8?=YLlgUwrgGU?L`b~NL8(jvE5SetHoj`ZdjGSE<5aD2j%Od ztP3-|W;P8b4B0-^4{hzxe*tV&0f{EGsh501W%9=j2{&WBNy_2dC}*g;#i=71vM}rN z1S#phx`swsz9X&fLbaI;<~oaFkijgM+L()ChGp1?SWDF+=hcS$&Rfl1)v%xQPL?}% zd8!{SwNgL5(N(Hn?TEtOAV`8z_8sbgXQwt)MWcnHkWRo~Vnz!*W~+@i z7PG27j&k)0?82I$e`7XVI49@=1Q7))sTD)w{^fwF%ucz1Ris&W?;&l0d3?^ z&84yj*>7P|w?yPdp*w916ye^yY^jJ{`MO!BFNk`O&_+4`As7OI@9ckgR1!VXN1hZxr#xcSE7Du#mZ z0O0R&(o(ZBv$`_B=vCj*mjQ3L@mDkTU}su`wM&D+V$2I1^ZGAtZf-vM{l1MBV^Z`i zMj=WR*y*fg+(J8);WUFx7Re(-0*m} zYCzuN+p}%HJv*Im=iN-Vyergk+?XOe^t;9d(~oAWH;k+Q?o*)E8C3gLGf#*$L#UZ; zr908r3XkvAfq2uW+0j(*V0#B#%N;P(qJc}+79~RV==71(taK^7Z6}0uP}6Y@KidVC zr5j*Rf8povHZCxi0UeawuL7$lZUd`Wy%B+nt9614x#mt`V3u)>=B)*3)#5nKF_RSh z50*BCQsBpH_2Y!lpokZ*7wX#!uhI~=A^*G>GI)Q-KL6{5`B2{7A#3nA0JzGp_rE?< zRa&EaUV4P6V}7wS{~X5o(#%zJ1kXXz`XOm~f1|ic=BEy%6dr$-E%pLlzF6h?kAs`a z-*TVqL1-LR$lRBDnTEPdFbwN5RpDqJCilHvmP?u`Bp2;TQ1K902$rgE1 z=Q4rw@~%iY|9r)~b8g-tI_5TSUOg$B&=3iFQC=CVps#?TjB?S2&tNM48*(0OFa=2f`r8ul{ zA%_tcvR940d(kF@cSt}Yu)<0#b2%90e*xhLJSIiulq?mJWY+oNVWGwuOfY&5Q#c|G z(L=PIDQuWbK(Q!-?_STt?N|bt%wijD?_{yS9s#fbkyb|Ah;NveIq*B=bywS$*&O?; zVNV93HBDSSrHQNYdA040g2-GgGcsBQDPFZZD9Xd@n@{)_oDdki3o2aTvUl$Zf1TM8 z1KpliW$FJmA9GvT6GfQw>L@y69nF{GP<)?mmFTiq1%fbam;jGIKx8#LC1 z+D$REZi)rCDTeX^H$_f2#ZGG=DYvPcVjGMG+qil}?U38~dXm`?JzBsEy>b!zV*xmb zqn&V5EI7mcV%tsOI)#rR-4xr@f1x8Yu~XJ&$PC7uv1o2GyHn)#YHa{ zDZe8kWXcj5LwXk(fAjWRks_DZ6=u)>)~NH=K;K$0q+z2|U>7p+Oziu9D5?fD zrde)cQP!Xm*~owBc)Gzwuz-eV1q$oBLS`66lcM^L!3g_XW#nRV!?km@;^0OiRnYwsJ@CXh~+rPX0`K8)>BY|nm9Ldo2h8IL@<+mKDwTJn-}AAMp0bck%QcDK8>`$Ag}Z@p4^*_C=^ zH*Z**e8ZX!ey#n6wTs-`n!hqTRaKNO6jusqQBSO(Dxy*~w#Lvwn2ZyGye@Ek(b*9U0YCpn6QwTE~ zFwyXQ0}7ser5v_;lz)ILs|b_{+uvoE=9n&x@Gz?wPa7uU9g1Dj(OM&BL2=>XwN|hn zXU8=-YiiBmV68cb61ht*qQ4W$u;p3r^SEEV^D(Vj^3PTBf1f+)UI7Kl)3#x!z}q+< zBF;PQB$JWlf3<2dUtA-q$s4j_o=WgMtOHIOM<>eyvwsEfzV`VCY|WUW&?9pgbQmMp z+|boq%5A+R&-mS*t+<}85yqJr**Uwof^m0EDJxq|DGXf}rbxJnyWn}FP0CIZ_}QV7fb44f9={+R@9!NGX@^yqn1iuBd6N( z2^xeUs>l|r)NdffYOe0rRI60ouQ}~kr2YDhIt;jNp0hPs7)`N+8ZEkJu)q;{QFJ2w zd-IB3vWB^(DTcW@bl4i^w6uoYmQOLvNyko(;auV%mx_b(0&Aa}GGZ)NvD6~)^Nn~( zM?9w^fBto^ZH53rmh%Ls+{R>pxoP|9V_tCu++FA0PkI;)>6}393%6Bq#X%BuT^ly3 zAyZ*4lf5PI9Y<+Xnrv_-%8kKEwr@Smfd08Tz z%@x903F|@a6a+Lyb(w=g;ZyK|dQi+;>Y4*;{DkVVtg6d0RhMm4U6!2cvRze|?ND8| zE5F*Ns!I;CZd8}$g5Y^`kd&6C|Jz1O5KWey>N3|>T|o17->AB5*Zxtn%f7e;6Demr ze|i~+_u7dAU|9)vwRl-^O>u=B)s|qF+XTDZCD<#JV6RbveVG#Ms*{ynx#9Mc1ry_j zuH5hy!jIAG%Z`@U3O&4}Rd0UStq;9Y*PF)~SPr$`@UT-KdZn&6KP+BS*PCCV3G5}d z-uz1Ol8JirLtfdV6TXsBgQ%2JSDYzPe|<31Hu&3pnXr|MJTO-}6ZLj2%nUcww3c5X zeZA)VN=v;Eac3b`wEan?#h<3MC7bS}g3y3HQ1vV(Bk zl7|nu&+_`{#R3jT+p$(%gYC9r1sr+1GUw^y$45Px&HU2XW!{-on+k0)f-iHyf3C_o z@uynJu8_%{txIUGjQ$S0Q4GhUFRKnPW^h|zA!&x#!zao)OhF+H+X^o^F8_#M4)gCZ zoU0-5J7pBxWn-#YK?Ymo`RD!7cF`b(zi5Aie2m9`SA}OahCD9o3U@I?`O7D{n|z!6@KE7f7q+2xK?`o zr$#$A*Y4O{hji7!H&i`;D2=O!@4Ss}or!eGcb%fuW1ou*U!qkYBYEpth`^_C)i z;nsa^{c>&nLr!FA8r?Rj2yW9xx3wGHR#hofE7Ah;&9xH{ST`q0aLweOV zR9qGI2~BUf<*X#JjE0#L9|}1tpt%qC`35qr^lAu>u@fI@QB==-#2ahs{|W;RsACqx zJ)Ym*r(4Wc#T>UOPWX|iXc|kOqu`l(MGW_3TPvMCw^q7Mman6ge>zFUE!MeY6@Qwn z!crB*6-OJPU7=j@7d4Q;e-XF#dQu`7QhVhh zoh@qE$edw=z9w9#e^3`mW|m8N<%H}KHiNpdHK?#XD2qFyg9?i)nQ+t|RCu02g&5RY zvDOSKq&eosqMT$mwl9mt<(;i|zP{|#6>1#6?ozNR^a-rQRl6S5$LSIYU7PtHr`P6pupL9f8(x=H$UsaO~S-{4-}!Rm5ZqweDPA&s>O-=IfN}2`*?K+N-6E~ zvdz%%Zz$Yq?;KfIxmG9Eta28Ux5rBbob0GDnozW>jL)Ee>dh-favFs`H18{@i(-bh zC?=^Vc3N}@En2a%BTXbS#LWx{aAT(F(M(D6Eg-f`f1+WtsRGtoJ=$13I)omrmA5lt z9nhmwhXi54LQ#PbV6e=8gC1@4^;#|zJyO8KlJR31h;5WYkItMP9kumn*C~7$>d}4e zpMwtxZq&?z0VOX$-XmN){}uztgdVBvh~~Ur>k`sYZxvBxEW{A9BBrtP&o`;@k@K(e z+vF;we-`k7PzJU{7ok^^?AsGR1qD3iDdH}mY87eMD+&3Of15#(&QMEuYH&RoAf*2W zGbD(rg(nLJ`V>0ArA!l*4Qs4ktNKHvM%2ibw?X)?>URAmv^TWipS-? zp@v+C8qezhuc}|uQs^$OH*5v)4mm8=p2Im;f7k%t7`~@9m?!##9wk&E(9OPP6gjvg zQztIYRI^ycLn~Uu5aF^iq!|`IiBPWYY72|{w>Xl#9!YLT5;Y@9IFiHx2BL?EJVBLm ztU_x%4&w1k)$6F$>!=B!j?raOTEeh)BpzA_LJh-@7-$h`KtY5QN1vl&jnqhA9BKG_ ze^gj-MDRqS`C5oho)Dgvkt2YXrrd|l44;M@LfL5(#l+RORpWvtS_hTZ3ad#}o16EC z8aN-w+~0Uo;ZhM{9vqS}`Y`;*MIUuaW7z{6B%`R>pf?`*%`qIB|6-Z&TLUl+L}14V z(-N-y*M_h$nhl${8laIwA&4CcLCR?We*{5~fZVAbF+D9I2#GvCX5$ZJ-bX;{>oE-g zJ&K4Nj@`^Ub)JklTYt*q`ftdp-UEP46twclK+~oyU8vjM2}X2n5V13+N5dkG_a8xu zDRS!x6PszwQD(8m{ZbnWxrZv3J~M@e`3vKmycJmNViB%UyZ2opSAFO%rbg_xFwq75#!e; z$3y=3tWVf7A(KR=m+(AA4=`d$kzVh|NNADSma)ov!GGjkCxES9SX5?~aY+>E0A!a` zOJmmgy=x5Gu`%mDP?>zz?ut2aNxs&2#TfR`~!dkeek48=zq{rn+sTCTUv%79XfE3^CS3#EjjwXzr^3Z;WP;5 z90W?!VJY&%YqbdG4WmVJlb*w#UnW@~u#~&zP`SN2J1*yFKrt4iU_o(-dBYwH(6^`X zM;0=i`8GZjcFY$q7I_ z0XG2ErRptU`dO`p1$+eL6MwYGUdhL2ECu+z()(L{-HVQDh|4v5MB(=L+fYM<{(@v~ zg@)k(soI3Z=y=aEAz>;^yjNIhgK}xS*4I$iJ2f0QrHv0x0_LOHuIB_YK-cp+|EARB zJKz~$OQk4mhjLj9nwV#u1QvvB*0TDdN2hvEdm$&oDDBK#tTV?DiGQ>;b8&m-V!l4s znTrc%*TybHq6Puv%Di^^$}AO&#awNsn7%NMAH~X#=5&1)b$ymBt87}{R#q5Hr%hdR^!n?j_xhj=cCMJes9w)^dTpudAYVXVstdp9A<){d{^Q1YX3_Xt z{_#}V@Al&rMdtcpE`O~bnfBuq>M5->K!*G;CGJ$HidagGm6U^1Keng-jIy5@M2F+# zALz+H(35}AocsfK@(=9EKftfe$v@!9uSH<$lYgclfapxo$H_lKJ3@2v4{-APa*@O? zzv1McaVJ0A7d-i6d-C^f**;gc!#0L$2zv6za`MO26zY?IhJOH2V*snAnpVqV4|WIj zRjb8%iHt-zzUp_qV=DIB^~vk?f#JyIK?SuJ z=u|~IRkhSaz<(`Yr6ymbrWuu**ihi4CLdDMjAH6GQd3Y%O|f>-_Acj!kL!&VUmTB$ z8<}Y^ZU2Hg<}UJB(k88SFt=Lf9V4HH>4bxB8K#38=emLETtA z@Pz;lP7kAVi&+BC1D+Tc2`Sy`aYbPw8k6B8)ZPsq4pO?50Sg8J&WCTsvvP|QQ!u!B z_*Uv<&-34#xqH>SLJ`bWIz0cA5ua43$mULe%ALmfdLXrlXvF3sEdo8HuSYg`{)?O$ zp6IHx?|%VIR8g90^LhUm5xoATd|9!vMK{3wsN!t~8821;;55-Tfk@YgwQXsz7U>e6 z_=mItO-&J|B}POok}z$OFeC}1Bw@5tsj*@N!c3vT$`Fofzfb7)r1%wWebq<7NB}}` z)iRiTW%B2YZrW+@)O~B9KjGCeU#%R)DEn#}>3{5C`?mL@$Y*kq150#Z@1=>uibyw3 zpRhmDiU-Mg+nwmV&YR*f7-`|4dj;j=X>U0wuShTLC241d4sKxqw&g2;=Wt0a>%nJm zf}rIqT<;H!XnZ&^eFPsxZhzDgAkX)rxHC`v)*^!uXD8_sArH*J1G9z)vSsCg8G$f6 zJbw@+!R;0{ZVQ`w3+ug!+rp;$)U$Rs{%85JqVA3xM3aD(jp(`Fi@r0tS&&E5uQ+kK zQ_sIo&86&9TUYKxWyZQ*ht9D#XJL!IsMU%(TXMF&TGJ@uEeNBzw4LZ0wemjrjMj6j zeB#bm8!{KNS}4!F^@She7QLjoa(nYbO@BD?v_{y+qaQvm||yMqRyQ6>v@UV z-Hg~xHD7B<^nsQ{hhuA2P1|;d{E=7vG0_00ZA3f^Bi*I2lBBZ_8Tu^~rMS2rBPRRx zA!^(qI=Qd$C z>wK!sEvRj7!4#XD>7Zs4p7!knzrSGtyU`a}SYz?<_gE7*03rJU0bV>UWf|y}NGx84 zXU%Ey2=28`RK_p)7B`B;Ml_r+=|<5egh_2IiD7M{Y#-TC9eoi^iM~iWrDr~1i+gm_ z9JMGsGCOSXJ%As<^E2>kbtG*C`+tVrZiaQRF9J!*P=kEJ&TbFuVBfe%>tJ8hxQmHh zwMv_AIuY!vSN2$RR2J}I8ke7cv%+Q#T!=+hcc~s$#>O*1M&~~l^7arl+EI~{>5g2& z0D3h%!&(AEU0?Yj(JP&u9KtGq<3|A!v*4N5fKk=AM*|n_&voV8C4)|$s()R^>Vr_k zaXt+gk;xvVT0y&B;y{=9d$fFXTrY9ZUSeAYNw;L6TQX3qaj^b9#JAvRNsN&#)CgrV z!1!5*1TG7LUBni0SfN@S=y2Qy9gZE?MQlNb6{DvC9gZE?MQlNb%{f4aF9xJ2=z?8L zU=Vjb2e6T7)JzN=`138#L4ROjA?o=;1YHW6v{65npu;*)EpUNqK^>?TIOkL=P%YI! zwNL}qfOS;sSs6lJhyXn;ZN6m97bKvS~sItsD%lU3FIDr zn=SN|X6BW;@~cKYrI}uvW_lepUtPey9_M~FuN9h!3~u?_YI{@E8Glu*66q^{Px4!3 zgCBt&CM+0k*$R8+p?Z1%gWM&mDp$;7wb?0BK^;dhKVfdi*o%Ks0TLH z(kZK2_cj%-nSYFM8_-?8BXr`el0bI_3>@Az>Oyvwe_4Y`?xNXUN3gYs5*~WJgE&~IF0}W z2tmvoj?qo^y{Nq~o!@`;- zwCPvR|9{2v&);>b-V3QF8-)4SXx$0Sk-1K~~zb1X{4_>9b>&ZKxv~+--I>a${!vth1jss79#Wru zt-4gRVQtl*sYD;RO7y0wL~mRrdZSet-JJgjjZ;B&Jxo(| z1+r&Dpi2&v75@ke#`uN8HlyP5k7Gtqp?_>J(85|c0fVLh*|`f@d36CY&lMn>Udt-e zsu6fUD<##fFP4OLd@){8nq!)9yIA_|=KQJ6L36g{w|r~2qouhifu#kAxH6a0p5JQE z@3x16XTedH)wC6}aFh{c)vK-{9#ks(>)uadu!XS9>U?KIvEg`5F8zOn+a_ z{`-J}`mtw(;cr4G{+UnW?@fO!0*>5BzI?nX7n0x$LwO-iR{OrN^}cZ8eW88d z8EO7E@wz+fw>{^z-j-=Z)?)sDEEjxBew0PNxv7fN3blooSFGZ`Ob+>yUd>S3c|WKfiHZuxXU%f#lys zw-Oj9i_0tH4C>Bm*=}Vlp)KZ>zD!yuuX?4&f1dmDudn!M<|%I)NTH(>Y$ z`u;iZ=!(_z5^Lyr$|$o9kyQ%I4Y;hZ8-Fywo_yL=S5%Y*3wROM%yYtI=TcTzL@}Bj zqe1n#kNBdgg;{mq@5mQfiGRCK$+ie)L~D*L2yU<1e9B|FLO1CoAxj}(Cq1IZQq8`a z^zDc_Xc2QTLCk?A=2yvt|H1G2sFdZ1`6&`JUandsZocLec%-u64h6_WX?IvdG}P|c zn`A=fhn{7nOYBUGz^HZL<_9fYE_3JcF>zicE~5fB7aXZJSui~W@qgr;Wq^k!)i?b% z#&F}wd=2GyM?HJ!+9q$SQ;q1{tlshotQH`uQU1@Bf{Ar(;VBY6`9x4@W!DIq=4M5o z_c0}oD}P~;%c&%g%-8M7Xk4LYuIq zIoqYu_2<=d{Je^vZLM~GWBqo1%i%xC^*buK6C~W_(1h(A8W?;~y0OWj8NgINu!%m@ zijwNN-xqR_V}Ccw=%F3te;#szM%)AHr1>3&14Y;xYD8OgHm8BBedjC+N%aH2r>vB2 zmpur&j3KOo7>zE&n%lR!--^<&e)L%~LP!X}@2Y<4S;!5LAy`15`s3fLg#*8OLT@%! zJgMHRe+TaG59;5c`}<@1cjW&5l>QyNzu~u(eUn)6q<^wP;6rNSZ}yU&wTxM>%ik_% zF!sqY&SV@UXbH`tq(E@L(a#6uv--QN{l>pH@%P^oSq0#<;X(7Dg48}}Xe{9Ym@vq> zu99p&_oF^6oA_ZoBC_)j7*(hjORugCX!jS&s*OAcgFuUco~F9TP$GNeP1|GB2h8@h z1rLLUihs0bepr~z&00C+VROXE(CVi#N*<_o7Au59sMQ#kEKe;?ovv~UJt0YHiKH|@ zNlN~`+WA|PWg@K2A}wU7*(@G3LHcO98Pm9y*$|Ge>xx&pO z->tmg1pg0Sq}I66o12$2!YTerE%1sed79(2hsI2Gj~t(*hcu&}mcW{txZ!FsZqdjR z=6_O<#Uu>VYYzR_38(nQ-^KCvj5m2qWlkoix~U+6gGTgUyHwHtvv|!Pe_Yn;xklA^ z4yuL)X3eR>Ro7FwlQ{~lf;ND32Ukzd%AHwBzfp+EO>tD&V~nM+W$f>;qGbR9ga$*H zb&jd>J7~0B%g^xut7dZ%t3ApD_(neD%zqYqNDIX(MIm5=lC*rRj?3)?L0<-*>{1n< zQXsHFppoMXG$pg58xdlmMA7f5hA}-+^KSa*jHZ7QVrGUlJMF!L(Hx;3-5KVcKM&N} zwqjStj$cIzdhW^AOQ*jQ{VWyYPF=<4dT}`UVp=37W=U5Kla;YPV2*R@^WJ!Lg@4Zb zO7%kkHh=n4{%EP%AhwGq$HYw6q88ZX{;;&3)?v%bTDqcnL$#QvW2Q+K7AB^Td0*Dr zB}^%{bzfDvWy%>Pk${d?Tg_cDEn;%eF-?@hWApq666zJ^dcUZke<*^L?8C*P&${HD zMC1X>L1TfSs4k131xy;hMysSRHh+S+bVPrrsz2ybM6Xp8Q`&+Q9X7-tTH-fDiUhr_ zyG$wZ1X(V2CqSLDF=i6Kjaqas~Z1ib=L^_J%FNu+hGMK zEu*xX%p;D9+3Ixf!)S!XXW!l73Bv7YH33;p!Sex$`7O6^qt>U)CDUe$No87DWe zIo-39XbGZpRe$j*zkk*JY0m~)l6T9qUiH20H&1z%HMO@sdTf|v^~7_?I@T$dVwpSP zUsqM;)QVP;nsSq}QJNBDPHv}{)mEIaC&E{7OZU}{6YDVr`;n)|tWe)T5ywR4-UVBa zGEI%7vWN~y)22zW?|)#j>G9Ax8MkS8NrTDO z2PRuk#3#pEFRSM|!xTx++PZ{?^(nt$&xT5{2=|`{PzMHeQ6thYpV>Wehw zuDB;3z>|N&Cm-lM2}fkx3l>cAg4G_iz!Ei{d-TSJv=;Uo)Jx{`uMg7*=Cf=zYHCJwA!grGw@P5dMGtPcV=@K^LkS%?#YlAG0@q1fTgq^R#{FDLnK? zT;`|n(7>(#WA=teal>D;)koQCpw-uDv+Edaus1ELX(76mo_9v$8$5FsAcM4Rw#tPe zc)B^K^y2!)x{%hjA^={w4(gh{_igJNZ+|VWT>tV{19NyCg!JY3_xQ>qazk+M+k|EA z4i4RSU2rJVyB_b_sm-sb^#Zht{jiMvoOjYn6wvq1!b&@qxL*c8PB>FG~=^=$^1o69Yl;=um0m-sDDerw}#KKOo|9%*9I_Qm<)`{mNv-0RZd)k_QUF5 zu%>vDDGr+45m)~W+mbOQpAcQ;!=4Sz;|;>-qUz7#ZV%iIAA+t;95(*>v|8x6=Y@%l zLPk8pppIXE!~SaU>t~u@1OEC!`)hz-|7-JW$Y0-Ue`Rp{@9VF^-@##EE`P!;PfBO8 zcOu;KtVa7&!{V>Mq6ZDBtolO)#%K_dX}#Q_YX&cOzXq*g8FbBHSngNt+HcukL;U)= z=2z|2d+e_fe*I+gYs_EYFMT$MHo~uef?s_*EIY|gfCy|xQ~R2M?JyD{mQi4PssbA| zv60aMkmGUymz^%d>-}6^7k|47*sOQaxvc&XL|6HzaYI;_EUdoi&q!I;$rfrA>6Eci z`1ue2!eVy$b?6{{92%sTeK7H7HWaif+tt*tS29-kCgKE&M$a^w)COI7)sH@h5-fSm zb>$ZAF3xoIt25>@RG77z&P9~QU}HOySV!VFBe7vAo`oW>Hk`B6{(p}FaK*q0Vv!AY zj9~K8;78#C)*ZysDJ3xqqv`<^UiEz6HyU0dH(-fAizO5JMQh$8OfAY(U9YY`>g4e2 z8DE2uu#_cLot_O-fpHxJC8~ChAm=*NJ|V!09C;R2)Q|NHk63x2u}=55Oo@H7XNz=gWZ>_M>3NVQS`&$O(`2fuDzij4RC( zBFA#MTF%lIJ$x# z3bUe{^5^AyCX^mF(X%}63|%RRWc$!_c31lpne4u;RI%p&G`&oLohp<6M+0E>u7N8YEgRxrS~nvB5Rc)Tbv7 zV}P_G+CB4$?=~{kudC_iZ9D{06Co%3wTQ zh%l4-N!O+0Ks>e0*cRfU%>uPeM3q+qwgg1716bYe(tjUo(nkAM^>5j*L+SV)>G;OY zLYE(ha$u_e0?oH_vi$nS&+@`;vh6-=Z-hvZH?Pa^ zJ}Bd}C}i65=o!LMCBM zkbkNE{BwX{qD+;_QQ+zq^)nS&H8n?0)D9E0wn#l{k-D6z%qx|PTS=XeI=u-}?@b|fdt;Z>d(%ig z(r`HCbPUtMR5?y3qQq|FT?bNYlX*lkSHx~=h$ISOfK2!dEf4HLIM!FavL4>=(8qj zKSEnQ44#mpZbNE#kR7~Ad=^0+ak%|>T6(4s>z|LCWoe)9GW)Cp{Yv_O>J^0<@zQ$G@S;P%RHgN z!n-GcqAmvfr2Wz6s-qV#wHMwm2l;KP8b67zd_HxV>M5Rm!q|J?CpX+e<5lW1)p^6? zrp?4;3YtuHubrvxP0v(Mx__zZtv`9%Q6m?9f%*jh2=K>@DhS`W=FdXuf6jNQhzcFg zG-A8u2G$Hu%)#8IA>DS^JE6gzDdUYr#*wSHE8YZa+#^m|b`B2X0kM=TbGwUt&K0Af zZ;ghn2So#R4+1u|GB*pE_L0u6WK!RUmsV#_F_cdl_y$--16IN7#R8* zM96@z4=e{=CE_~(~~#%pH7yDHN_u5@4JU^M#qv#^e#=`CZHmwfngh9d9vddebx`*O9b z2Q8DkyZ5)7dZ&$DgqX z+FLs?#D9<7-u`a)?hkhE{@wa++uu)|ukBCNcV~L{Gu^vC(7F4W`tE_={mJg#@9o_E z$@=c0-ubqz4?q|<8C(qV*=X&?=cklj?2VL0REk9;L za;RN5VyJ!8UPZ>Nh4c-3)%~AG`G6;!o43b+dVj4}L$1O*AH|(Nz&q*hwH8%Re|-?Y z{t|zE(6!^`>&kOm)vIvYybA8iqJO5GJ*A$PVwMMGUk}Pa4oWzAn&FP z>BHV4`eofMo%1Ykd{?VF_|*~uPyBK92kaF>KK{W-@kKz=`9CH~Qiz}<`S}+<;~_#x z6@P{Me1$yP#GpRQ$B}#dRnV?P%)GNg0*f|_EaBMB;DMF_}H#VV8!RI$of#VT>o;6v4+hFV6EI0EoD!&$3EOBBZqm1Cp28Z@FPvQYvy zn@_C2Re-|R{!ajYyP(+}6o^B3Xu`Z~d^s4WOD|%L{4V0`?ILJEk-J(9CWL?Ob zm>N8+=v(J3IJXsjt1dO_B(NNLB7f4W;Z$B!yihiT9bhX~-iiO%)f-kn=(`H5oV#H? zcf;=7c@Q*ykdZxsR#**eg;j7h*0L8_@jHAau2&Lf(DFTGf&@q*$kcnyeK%u+&PnAN zgR+>Bbxa#z$O5c4Nnq2b5w{oC{?f^~z4^9_-ReIHVT4rwk;zD_?<6jSYkwWcIG@^Uphwe4+Ifm6-B?3@0m`mk``#E zdI*4Oo>qYYP079?4I@a%=-$F@-#+!W_7OQyb13uQiC^Y{ZoQgrJ&}Du{L&|-Td$^D zuc6zzOpaPVD_;RN`wFo632Vb`zqSnb`L~xzWn5%e4%=8@Db%oToPQ0)DXpdw00ZZ0 zo8#nIJ7dTqYcrBL%U@cD{JdW#<2L>ENqnW+8#${H@u$>k6wzwr-NLNj$XShe!-Uny zYgvubw$&(|ZZ-0{RwJ)%H6rWxY_IoaI-vA_<^drSBCM?#u9BW%*0kl@&A`I$z`|x= z;cd*WZ4E5!4lGo}*nif*!Yu;}FVVgib_W)=2S(t#t2OpEY%#4V6b+#o{P1s{4^Cb0 z-<~nU`2<8lABMp9_BDX*#&J`!F6=^*^&MX#3qPV*qoLNjp}SivP7_ZkmUFTlog8U& za<7IE>NyCZ=>f_aDjqT>1c&t^Y^KUczwyI9>xfXGSNu$^4}a()gElk^f%TOhWhk`p zb2+KsPR3tXNo3MrqzTuNCR|6Fa2;vFbyO{lTR-Pb!NQ;92^hIbiBYRkA_GlWDKSxR zj8;la5WZ2v)b+0S3))^}#LoU6;z&`vTUTq>6*bH#>U2!*>G{0|)-A;4QA}H3digaB z)o`V;2%Qj~DSt%ac=K4@Ks|MJ*m$wX`nMV^Q0e3C8a9Z$4h@C3aFa*ubvw(xBRydw z#3t4HWVzMB{H*rwF}(&w{>%YX_k&!YR71%1iK6iFw>>hC!C`rVMgA1#%mc*r``law z%BPH@O7h|wIh4bTZE_;{SPSNWyFMg4)3RQUnT2g;7Js@uA2!S^Y%{aa?fLKm%q(c{ z`QXx-S%Wkh+A1(EH1vE!3oc=3!G(rqzC=S)G?%91roASn>9|41O}pc!yC#M(aP5wp zEo)*fkq?`0$4$HAi6T4t*{=>wTnAhQbwGe7ZGac8rxQNwwB@r7ozFUPKI?Q^cn0e; z^@{L|34hUG8)3_L9l9`$@I?#Lz>O|ULsn)4E+yk_Ik16Mg))V}+x0wKT{<##GDspr zEPCr3cip@0eHFyv_3&-$X_2h3tPPXAMgHcDYQ~SyNpzd4XHViQtn=&l_^%qeYBxe0 z(Jl0b24CiXuX!zVC&85Sf09An)jCLuysBkanSWJEF+rADSO~kSn7}m%mCxt}+^}&g z@~4|~(zwd1MW8%1vN36aijGi1P|0Dp2quyBy=%SdR8DGi`opE}hZaP*?1o;}*xs z8mj!ZN2my=4l~sAENH~@pe>%ah8eo^EPrT==dEFeTh6l=Q#@B$r|Gz#zm)7wd+s+q z2Pj`mIMjSW)fi%F#!i5RgehE;)uFLXv*Q_4cg`_?k#%9ewl(;rMm@QWYS zxIzT23sL_%BzZZee5FdLX-|LDC!U@LA4Ui(*IWvswbe?bR$S-De*IXJ$8J0+n$J@# zRt|7Onw$ew2Lk?lkn#C);k)scmmDc^3$C1jtwEifvz&p} z-?$V1v1JJ3DkY?udqG^6A%Bdglpzc|r6ei6g2;>LOvz#&@A6M`wPI`Qb4k>Dy`K8! zWeU@s-YPjV2(TtsnZ-mDbwg`<^ZEDquChLk*XueSbs-QPmX>DzUAXg zG=1j?qKKH;U^+O0G`9*tLxZhII)fHA%K(vY>IfQKB$`g7VFk>Qv>KfPL0Jl(ok!Vdf&xkzU43dqHjHr40D@i$PTf?!n#0I z2t#(LT0bM+b7ABi7HW@%KFk3+DJf zlWT4z+M{`;e%zoR2Ne2oe7M2w&U@R-BYkEC14B>OustmG6PLzb?uq`T24mIO9g_EOK zb7lPfN+3rXV*K%2W~1$FE?a9nTL+TDftBcJdevt>arY^Xx*nP9N5ql!H7VVmGqMUg zxJ-d~b#V0oIe$60Xv^TDdT>k$wS()o23MeP&jSz2pP1F-^=SQiw94OgwDF5I+V}#a z_1tK6sPW`b<1Ist>!I>IIPXx;Gf=BxE8H7O7^sIX1-5xBk}x@EBq0w|PYe74Z1IZ= zA5=%PD#)t{eZAe)3M+(0L)09Toq8AG$GmEFY|X%X_@_0~#A?cQkFr?M|yl9x1Hid>fllU*8Wmj>umt4qUnmxkRg^|eb`r%Qt=U1ABg zUS+0qD1ZLj?T}V&sc38$o?e(eILlA6lr+K~9z*8j($Q&E1i#O>Sk10J;X|yhbKZ1fNYDX3E?wH0O!{jUs*>$&Wgt}e_%zdIvLzrcI-|ei_L9WnI;;% zM=q>lkqhb$IbH;H$3r#IE+U3QqrpRsf8Ib==6_@~ct|?Z2Z_39Zl+BxC}NAh;O+}s z(cqzt2Deu=8r&LUwNeGaC@_^j7Z47EJ@PAaTyyJ)D#UUsKNmQsA#ORYI21J!gJmzF zsz8C30My4U`a%d*%1TV+I9pUGnjh`+wmzk=q6Ac^Oz%KTN18o?7rU)yMOPtNI0tv#Z5@mA4Tfr-1`;~)t{zT#Hv>K z_4HY_f_M%~s#XM6tw`mxK+y{km7H1;J0#ac)rtgaMbc6$qz~OW>$m2tPqiZM;1FG4 z-ZZi#rnSadOiBZY0bfD5J*}KJ5H|B$q0L>V+5NQQK2rmgpR%p)tElY-iW)Bvt$+Jb z+Y1zRy+AbdM{O@qw8g5~vILL(w#m$&ZZeA|3PE<)Q?tjAO0#Y441l!*kAOXj)N{wr!?9I2koF`91JAdvu zkNz8Ut=z-Q#~njbG!ew!&NX`QK}9)7;)r8lk_& z)6`mHiN!Q!L`_ph)U?Zp8b>asDI;pyWkii57juC!qG6j{!WU9TG}W0k)_;F=s4g)a zD7nV?LtQb%vburWMlrx)ZX(;HW_~2Rv7O(eA&eHe0unTJa=GC#|D^QmaY`~?^%%%! zzYy`S{FF#4h`T*L3e;v|G&SkC*5rXbB~-iw9F6e%kOLUNl&di%R%41@DPyZ5r<&c& zbdlH6pO3Mv$_K#a^#jozMt{wQpJYFB#_)=?Y-&9^Zt2mn)1xO%VbG%ysvV!#7G@E$ zbQ}4qN7ofTKjFZd4ca#K-Zh=Q>l63fwr#p*Fk&3)-t~3w`Zh?io{NC;p`P=mdVry` zj9z{6r)Bv0@#>!=98O&xA)F@c`3i@ZW@86|m zAqQ9|p$JU55~kJ7T%KDKd8M1z#$5$X+?CzBt+=b88+T>5ZY%C8*uv?9OXTzudo^ft z`o@4u=s&YH77F?ypOziR{m)53G^BbRviu?6;+bMgqO2uLOs4r;eYMLY z6E@OJ*hn*Bqb3tJa+$D^&4i@^p~-}ere?xon>@>W(x<2q{F~JD6c<5sf>w!A7wMqL z3M9(3F67{#kFoaE(j8;Pu1__h*TwYqTRDvoJtBk*VK#qTwtqu}qGl9xF=zd)xsLv1 ztgnigig|q8RTgo@VwUa@DQV=@!2(-+a7ct}4xqO0jb*}v`Vazei1$eTPi%SeI=-Wr z@Oc+4pSS0H-d8xEchU8E4_tf)!129@%R%k;9!~Rn&%p0JQw;7dhLe78w&AsW-=6b* zdoP;r+r@V%ihq(tcPrWsa8;4C0)@s+@I&jEcv{EAOBtH|)p|PTp9@qj(FyrPrwym#+U* zht?Xce@UY?7aHxCD&Q#`QTVmhU7roqpIDqM!(CpD-uZCoMKOwl7S|krs!*zo zfIf{B;@pv8Vm7MJ{j@rOk+r9B*VWtJtqIgaf0=H8g<(?tt9Kh@j)gdL7FEb6D&4yc zt1XKPozT`e#Xq7fqm4d+I>x0saY7fuiBeUeMWa&zv97^o94sdtkG2d~=4Rl3@+b}8 zh82g36@T!1zVB;-uBm>@J4$c-N4%pey2`f9QCR)h#&{<5J3kms`=StCBL z$)K6~EEO+*0vIMlF{K0+ggMAY)$a<)PHXe5B4&xV5_cOm)RStA4>d1yFOj?Z{zo z0ctU-GbOM)=1+$zU&0RaG%Fdw3+`3F_HLsvYJW947;RsH`wJ1Im6!cK25BPN5FV)P<|-_zz6T ziGLa68Ez82GnYF*jXQJPX__BA`QfdX%S>H8Xd7weH@W#;{wIS8`(`s`~pF{$e7jrKnO z{<Rng;2V@a=*YOukdZ~Wwz2GK4He3BCFaHByLo<1Acv|jk1qxL^z2(kW(TqJ9 z7Fdw{|6JD4cE5s{Y;ImDeVJXEL53A51{&rS2Y&TLr#&Qw>x-Z8_~sC^8Di9-PPgAo zw_i_pNU%sd-M*V{f9rIInC?)g+kbDS+qcsbPMz@U{ry~1ms~0=m2M=3jc8IyOQzk+ zkJ4I1N*h7cz-iPfsGfb$H-Q>@^vDHpvh#nftCcAsY5E!|m@E^JBy1>>w zjkJ$C7k% z>RuNR|58{(8DAHq7M{K|1gR|I+T*@-z&z-`+Nvnvk%5+&^IQbZh#7z(0YV=xgL@t# zQW8xkyGk;mAirkhX>`k)s()y^vP{RX$`I{zcow}|4y%XrYZTofVWyMS zT_d)1-fL#%7YHX&Y!O1*=wNSG+0M z387Xu%}h&ySpFEHVg+%@nefY?awTe{Mh7rDqOSL8|8X4I%Y#y@AyJ^7&rek+BZ+As5rGIaTHx!NTD)6ZcVH8^P z5-H4DkiKa6gH*Vzuz_Nv=V1iljl70N&Gro}_t3r$7^mg2by~6U?Y~aFKPvBeE@nL~ z|1K8+^!a59u(3uyd;@*!!~KUQG_Idl7K4w`i8* zs3zXrUoI?sHGe^E%saQjVJRxM?G@=YWL9{GC~f6?@QyL}j?BL!(|1Jbpcui_I&;t{ zPLEZb$6cK&=A43d2-`A}vF%nf4iD?r0Px4MlILs*Lj5+rC5ZA40@ND#AS4)ogXGBs z8EIgZn?Nve`isWI^DdaGQ-$vvkOz&A(@3Hwl|(F5w|}4B@qINiO}d1ZvRsKc*}SE0#Fm5Vm5G8UN+v3= zHMCPc{{anM?HbzV8``$lHx#S$M#w99g8VVzp&VFUlf>}KP-s@X$`+`Z?G5g{$K z;RWMc2Bd{+8tC&1P>%+LSlrIyJL9~0P1WKn<$v=&H24bF-fg})z*)E*<$H| zskt|Mn-Ol9Cp{jG$PJO6;rB*QCa$5s4{s+Ta);jbJnMCduS~mmDw9kk9L`KLZ!y14 zc7H-Mk8jXY+45Z&7j}JP@vcwZrYCn&SGT+jB&JD&Lva33j|ZHE*)Q)FuG?q0B$Lh! z^z4o7p4eV3!#K>JZzS)qb>3lXyaR04Z^hlCFe8d;l6S6WYfY?1t-(q8Jo-j5JX>dY z)-${agl4J%A^=`Mp}(qPzZ)g&j@upDhaBd!>ZyO*?2naj5q&0@e)*^2PK^+e)dqPq z>}^wPz{t!vbVpYkVw7BpNAwsFDRJzNZVZy%j%pAHDgEdh$?9#L)mx4L`&qeSd-;LH zqygBSvkhy(4nukqRGNAuG%a_4h8pWPT~LD=Dj1oQ^t4Q@GD5RY0l>g>;0oTW`-y;U zaz1|{v1fpMr-UtR3bCq1sn_^@Re+;yzE*QVa6n05(Ha`!fa(O zWD;eLh%O%W5FQW_WuV7*(qym16PACk#1qzuhwW;0vk<4QZdktg z5LY*>uWnd9i9>LcTF`z!(%8)034O})CxM!9iP=;%dJdpu(q68nz!=aXv78*e8#K_@ zzw$r-`@vU=6zgB>@_yH;P@5wynqCMw=CV(RuzHnR!-Bxq`r=tt2PWZxLrq)oji7(e zH}L(=a^dUY9ITyp?gJggI7)})8JtV8FW=0>n{r)G!|6U{Mxy|=qwKsU?CXB$oPMw+W4bt{E-{KtAVjs5saq0bo8@k6ycg=rc-)X zlS&wtUAaz+1_TT~XI)SV*mvcDR-|LlXim&0g{s=h@MNwR`YFO@Q;R!A_~u9%%-=ZtA*?5KG{E+pf$B$i~?z6ef;3k#XgyblB1>#CplU zEco+z*|XMH_nhwyTO0U|tN~JJLSspD%4oC9S=(x6Jt~i(?W3A1VH@SUb)Gbhxf17p z=ixzdzH2IxUTv;l3>f3HF=&61G6*d&hx$|FIKJ(6jYr!UTwSQ6U)SjKj^#1q=LI?G z$dvzJ=1^xZ;6YK2zZSTrQ6`4xZ2X3f!thuRL=dv~*(a>#24jErEeFdf#e~#u z+#utR%hlHpXe1wf-=IcP&8-?8Lvp-n%;j2qV;^{R?!!w`5wDn<5 z`eD|TyZ$iqo@4AA5o&)RW0i3=E8=x%81|;=nv=+MxU|bGx2PMZeHd82VsT@wsXuI;!p)grQ^|J%K?33tJCAZx)e z%iP+7d2mrEV#rTl9q_*=z8%nr(WCIIE%^WD(<0>Jxto82;Ctop15*h7P0<0?B$WS> z@4ys(I1fMg;g{%H2a{?^2d|EyJoeQoDc`JsQxXQTo#VwKDLU(k))Awreye!RTrfZsH7)u!qqF}?C&k7386+m=nfF#D)+ zk;)3MgcB~(us~Umam+6U`cqv|*S-_Dk!9;zEp^5+VJaI`c&7~Fg}1ZTO9o15ynP<0 zzZ=?S<+K`FAE<#j^1d~|EBRO&P>3z3k$Hd|oj8AT$kP#vP$T%BLU@$j7mL^a#Ct@!PT>y7 zlk5**{tv5=U&aCY`d9!A&#fYVBLq37xG&dVRoGp$)!4nljFDBd&uJ%3X#+3^E`$)V zsHlG@$HI-2j#vp3^Nk5;a61O%)NVq?X{y(tdzt}}zNA)Y_`H~f38QU}f5sqQ=S0UN zvfpS^gsYtsT|IJ|?sU-TVI~G>Fp?!Oh(}d#Z-nxlGO?4&_b1(c$SQ44cYpR5rm(}K zK{)uI37xM!aI#>9C62=r36MB7BRw_ynjU{o%@b&P(X)JHM)e~zsvnur=^vSK?Z~v- z9i%)XF{y&v$`4@E4>oL~j;>6T7A+iIDbm}CRfv88+d9YI=zAEQOpciQCxtkiw?vec z+e?%dfUl&XTmrLRCUp7IAml66#Efn!7$iz4tjLv%gSv$cb9;}gK(rXy=We4qH#2{H zi9;3qRG?+&TGBXZG|GqaH2a6BfE9|#l{{#h!u_)^MH~%0-FYNKJ%Hbm?P@pW<2Vdx z1dU|p;bvZtdlX6-njn3)iIYV-8YCHbC=tzSh}AQJ?l2uK8c^Em7#NMZ($+X_3=EfA zdZu5nsqjeyQTA1HMqb2F{7@tEMXY}c6s>?Cxqgi6hvr|w6{$`T%szGV<+Bb>C6Z&M ztOE~pWAhZ;z86 z*$K^j49W$YZ4fH93@C6xIIuu4vTe3Q%Q#CEd5aLzU4pKwJub%;gk)#7;E59eN=H8r z;q%Rk8w}M1nG8efw38nW*`7*Y3WTS{8v=J8Ftaq)L%$q5FZtTg!M;=wnU9elGkcsE~79egr4cps@-9t%`#aC!84rdDyt?J`M`Z!eUr z$HI?=X2>0|4y`gmZmd(Jnu-r2%niZ`QNj`zVB(?T6;uK_hnkv$ozZ{Pv`Slk{kTY$ z@-(urAlB^T9}z=>?5kX*Nhf*uEH+9ZL%=Ys3l|Z-MZ|g3`7AUH0!Ij(xS@06H;blI z!PRM8gnP^BS83jdbl^2^nHl8lM43oCMPbtmLHun|gVCY}!@(wXoM0*8E|C!}B8U_f z19!p%HjS|D@$D>1=45}JIAxXw<Cl@yWsoVoVl^|=G@3ZpP+9o{F&(; zra=C!pUI5T8v4XGp7AJ`hy`?2Lgm|RM+s=0AxXK)`*79%8HJWq&+Aucp)q*ag6t7f z&<7Z4W;hbFnAk!+x4T-a>!dCSZJVrnOBq;;Ra=@aWK6Y0!>WH5gdX0aV7c2U^x`DW z^VKh*I%2jsAYJWb>c;9og;zr*&vB-!+ii<74Zce6fR{#_vB13f&mW+J{a6Ar^(D3y|QW1byG$odFM5NHz3BPgq&@l?XaV7jlD*VRT^W|cS^(Rvrf=|9$d(hWS z-3l@j@s4a2^n%}RK~g15;kzcfojjxO9);_ME-}NqQ7V52#mrEQOggt`G^Aj6HQX>e zL8GV)-|3YH=qU-|DF|zxg0K>ULyEyAQP44jCuJHJ6h-9~IsrqX{}UTVzF4)qX5G;| z)l*SUY|;t}XdMr<=2+UxThO_UW~rxI{OP#<%&!3@dVEc!9{`1yN!7UZ*3s+(Ohc7N zQL+z?Q3QW3t)4j^+`{HpUmgUCR@KD3$`92q4~Y=&8pokmHIBo{-7a^@3-U%!c`PYm z6l38_9+J7L4Fj*L4Wl71%il1Qzp?5~qjpQxk;Xtr8ugCoC>!j9A0!ggQB1RmSG2MJ zxyD69{g-eGj*236VIIO^)yl)YK%;6hETT^#uKIt-=3*GJ8WEbv7)~A_ttTZkQzB0% zdkNQd2V{Raw0BJuP5IjEu0pb0uiMc?W5Qar@}~SuYzTBA$}ZGwe@*3ay@C@uat>m- zWdkr?@@Ow=YhABkR(qk#1D<{qxsozOX!)W+b=(GgC5Y|z0>WJw7--vnUGWEsC&e!c@CM5ZTQlWXf=Ei#=57flwZn$-{|_XFd9 zSZM^G!_tp00O+LrYhbyQLH7IHr_;6a?%NnnH|!#4hPBHgg2>KECJ@*Kp0PjydzzIj z@a>h5g;)k*C#t=#^Zd*4L^f2e=&A_RLpL@$HmVz*-mt7>skd6T+qv)aT> zZerj#j^KSG%e{{$R{wpGe_zypUjv@J5gcyy78Kd}pjJrHTuVG+bdSg{QB$$zKJoakvpGW!4Xda=Z#=uh}TZCo5?J)n^K_Ayh7xcP%9E( zKd!~MZEC+5jA)tzZxR05+#YEW%K%fxGXs8F(AFR0mEI)s6-pPdo6-Fw@30k=P+Uh|7lmEA4 zbOyzhGpKqnuO5_>NcaSkuOjFi5n*9*(i|s&zhXOM(t*4I8?*FyT+{FgW*e%jkmLTE znu0<)CA+RMmT6^JDVqFxWj>OTYGLGoXHhKRkHSJ{Q_gk`{Zlt4r51)CQ*M8F(m46d zfda@0kzHIcJ=iLNBu=)oP972Yj3GFL2=~uSh132##fhy()+qg4({`#PMq*&057W$B z|3W}~iNK|s?9_7iUyceD(qZ%r%JseMjWDV*Ci;%0*aRU|v!eXFL;h zhs%VuJ6ekEJ}mz?a!)aGH?e;%gmXNUvVeG^j)7a5K6YzAl-sz&v6)L(UBd41>XM## z3BURi54pUFB11HKxxwL%`p(xwGIe-uN4q2VF3g_ZR%-T$cEAI2`0wp$r1B5|j`JZo zk%p9-LWYbWv`0(*%0WX&J%H9lN4pt0OAEC_WR%$f2+&YJ5ZsL7HzR)sIB2GV4DCfO z_Abp*fQbkdXwfmi;6eI}R8Z6Kk-=HObUlNa*vZ_lm4_a3=%Ea~T_1XTnW2aEp@*k1 z^mc#fetcSgJ0F5--dWtY&NruHi2JEq?S@V>gL-JtYBf~1T4`w=YWM4zB8St5TMwWw zM-NPecVK8p?@%W|1b=@)OCurWuf4!AIyyL*wDz!SEdDPbkkqr}8mDQ0YYdL0Q6EXu zTm3&gVuw`|c2VopbxFvrD*UDlXCr5t%9ahbu~o2*T^ekYG1vxSQ!d!X4wzN#X$IS@ zl;NqtHr~9E`Rq4XdsIVuO?=oI(QYa=6nzB%J+ZJC0s5zo}8R(5rzgo zQ-^MjF4?v!esF1sLigteQ_-O^l_w&D%`w~;f%bDOpr&c0%pq&y8-#SEpHSNGvL?qE zBJ>gZ!mvV(W^I6Dc(5V0^e`^c;Mo!UD7Pg0fo@>S#kZ;X(Z zPOw&sO?b@Bre=TiS*TMXcrAdIf}Jj(Anaju!>E;lX&5d-4eV>~Wz27hM5pN52|ekW zdo?6TZp;8d3)rB&475`L?~Wd?hSyH?M952db5GPSY>!E#B89Ks#ppi1YaA8B6lXGf zJjCI;feU6ya`ZqYZcY`gtmYW{TQ3Fqg~!q|^&jzUZWVtt$Otlo(t`uF%b@kQSH z6V|Lhtt!nDRu~20ve2wiRTNf7`9|vx(0A1U>8(FuW&NqY5)gj0{tUcUq>BzK+^fas z!Z1g{HNFzA!Yx|RD)RWKp~GJFhMyrd{AhP}sDnPwvzIWfMGZey|47X{3pKo8D^UtI zeJPj~&y0VQf zDCF7(3V;!F#1u4w@-KrCO=WS3G?&3OiGEamMB{QG%7cp?iG?jm!~MXw2Y+i(;G69S zzJ&}nM{HX8)c_|icE3Hn$@j^oaXq(JWh?Wm}tN+7?B#mA!`&J_ycl>g;}<2PtPs1~asH%B}8% zKdN?uaS>lK?#RLN2Frxq4Jc)%u9OXi-E9;W>LN~kn4gR76Apn_jQiK_XKNK2?|-cxhfeO^&I6VQb`|A-;Q8 zA-|k^9nE#{l&BJ3C&1impRyeqG@EKkm<_4VAhPM9j`|d~^?by9R5UfiZpZ~Hwl{21usJhO0%$zTT`6)y|Rwx7u zQy&a6G2x*Y+e<^hhN87Y^%~9JdY*b8bDa%MY(+rlBSd?rb9|HHSxihaEzC#;C}hE78f?BIb9%gbSzi+w10+=;b|mqX-W#wYy-v2(_uD+roPG&ruQ z@rH;Q&xaT;PMeITfGXa6lW%!mPow>RLnp%n<~^?fq#k33nb_ZtEC0a92jj}S@j$jh z2;1}~>R`Uu(avH~064i`KLFhL2{C^z0KCZna26K;*HM=pU8vcggsz*BJqsh$Xd|)8e7^`3iKt0?wC4-*IZ6jgd5K zyb=s@|5Ao|X|UO^vPm5uo5p{(-Q2?j*Z3Icf0}95Wv6UGT$`K7e%ku&vRpRCK)icU zk9Qx;#^3^O)=VT9^ydS$?)&(nK&^NnB}XSKWn~MxRNvOJohs-l^?@74)dwaLIIsG?w%_QGN`ma|Rs)-cn4Yd7{q3S%eb1nEdJNErW!Zm!i#RSYk@}kM z3NrYxp`}4YiidrLt2S{=fr2q~EkhGWXIcky^T^Ef8)l~8cwlDFfnt;qrx}7w+s@hF ztDaKa3_}>o(T7l(uCsT(c9)Qwic)J4tqff;MnW^6f3-IL7PVoY5ij~AVM#9`{H z-fPRpxeExB=C>q)X@;)z@qW53qrq)?54PpYJ@(25EN9zAto5okbc3p;r%~zE4Yyf0 zK%T!wgC<0Yb$)-GwhNfBOcQSGP~l?(Gc1mZ|{YR%O|e}sPqb3U+vz=1yIOk{o3sJ4$y zIVIpIm*sY1N+G4>qePF#f}oi_XUM5h3A&>H50yqSE7Ln z?V@?HxmZZ+FNkU1EdNsY;>Gf>9?5t1ToTIq3B@F`z4B9^&}1bzy{)z$U8AMWUBo$! z5ohCp>UVz)VA>d5s-fX@{yEgtu!^i>o#14Lp7=NF$4wpQ61ox7>G^oz`FP;?IG3i+ z#{tE`RAU%bN7FL63;#1p2OW&Ps%VDN+f*C#b}U; zQC^G*-up#Um-KyusF+pW%Z@yT27xKyfVRJ=LH26cqGF5`Cuq5GP0Nidp)FP|cgTao z#nh*3PJivkaj385myD`j!_Cn0KSLCe`^R^vQ_d*jKe~7XUHo~D`3T1h!3T`^xRGa<0+P)4hm1`WuU7IMw;B`sR}G|5xL8lLH>@2Cb1Ac}!Or^^i*Xu~K_ z@n$#Z``n-x`h#BJplQioOpmu!K86ZhB$pT0<3Iv*X%vnS&3``)7aaJKeseR?N=eeQI8lC6NjX)=PsEmk& zsMDO=*=nYdc{hYZl2d>rPEFy|ygfhJISDLr=4wSye~>f0ZLe&z257D8h6a;bExmtY zX=X*&X)?l%I8RBX%1}|I_}N!fW3S4@PEn=K%fxcW9?=GaX2&$i>c9SWQ2yy}1DH`G zmP49(VL{rf8TcPT&oLmOB82LuKWjY{-=hxgMoxCwpVHU7#rG<=w5*f+zNacHZj1MqitQ8_1tEUCtal`)MuGwoU^NB zmz(sDj0xv8!_%rJ?lTPopJ^B%)6fD~*hv#3sam=n;Ib1JWZycZd-=<(b)bLt6b=ZT zujhCr2Ba*?5x`buv|J2>uOpv{#E*552)DxYPmo1b(ZlkI<5%^{=uQAP1?735>YzN_ zL_#2CkE{&R*Ba}@HRH<=OqO)EAfDd0evUcjvLK&*5udz{4XpRKVS{)Cj|d)CPx~b|BjQ5O?I_U zh2@P36~a28K^5E|^j!H1rXYWXT}w}tT#Imfyo$N68fJZhG+TNaxnp!KDqE+Zkaq70-q5i0*ml@S$UPP{1FulgvpM}tq^cdcy z7MXG9fmCak+?)NSWd-rj`xn-o9HFHMB4Ic&UnDFhWlK@|3gF%bE>?dahblPDu#aE> zcD9Zvoc@BJBLp#@7%1eKYA6UN%6^=SxG8%_d>ScRn&XxJC+mN>a#;us>#Y^f9I9K_L&1z z`351jG}H8#Qbp&ZBhfp8G$k=~5hiVy9cdZgKG36j<%YQ4qxiHdH>lNf{h5Bjrov-> z4{oJr@kJsLD5ig=(zaFFwo2PpY1=AoTcvF$Tt`dO5u?-Gdn;v0dYNKluvN_>TwvtV ze=?BemHT!V&KA80I9tK~odLx54ImEuzGeWig9Z=>eqS?ytPFmCDusJi3XKX;tgh=8oH|zk;FX1~3Ti~00C?G?-L=Xjf-`?LI8i*hu7LGjwLZiicI*`T za4Mv|Vs(KM;9ac$t@%Mdu~~@f8eh_b!HJ5_>+C2iEygKuvSk-Tu`H&Qtk>&DQzhmN z+6&qfm#60NG^jZ|88x4o!WC}A<|F<~`l(QPwJ-2>n@cWbnz+ZH2pP&z#61_d$jV#) zfxfca^4NdXtg^(KOMM=6biG#Uy3JL_(?K=~(n;_^*1~ZJHn-@vX<|q60EYEJ6XhWK zYso_fZ;|iOpa5-~qSj6}I%%IU&Lu$OW2B)hqOvLjb$B;Vn1L!BX0Qs!k_s{P0u5%c zK!dZy)(SMNY>7RUy}Huz>PF~FEe_Y+TGx&LW-~uY(YCWUp1pT#1hx3YLi*3aYpv7s)fLrgZm%1`Y)bQ6g28 z)GlFBNAOTn?P@SXG&TlF2>>VH)xnL@AV_~U()rVVRoRddLc5pS?EtI`2Ler437{Wn zVqBofG!cCC<;*e!ZHN5`lhEN{F~USk;YNxPX&gpmsxxy+z?P|&Tvl9!$d%*j$26U0 zfP;@3P&|J^+{Q9NvlHnK=wXEYgoBHK2W>g9JUXie`{D<=V|dp@5o|S?7G)Fdr6+$n zSsC@VnpNqq#MV}LLRzm&nB~r*xd(lGk$u2uGG=pT{($~nH0Ni`fxLMT0JpN(Q{hgm z8Eo81-aL@oo4H$Q-l7d|&x>99`Zl0k$a_m9Jems69&SsvkjEDW(aeAS<)8ZGkH7y5 zzxL9X3_K=!zAV{{ykOu-t>+e?1cZOAjH#{6V&pl87%du}~}rCS1|i zWq2jk)imX8z4D3U;k5)N4)^^Tq*~$gkZ{Igh5aX*on}GoVjm8(U^@s_RlUc<78!Wch`G+!lf#3z{0O=ZNr& zwt{v$pYwW_#W2b&Xr;7Ug06qFuTl)lelFHjNgm#xG9kb1%LjBuL$#9J;?M9%PP&2I;n{X^rrb$zoOBI4XUK9ywTKFQ&zNK3|n* zH%GqdJad&#ve7oruF-te0l7hKosTIB^ad@tdU?@8;u$)5cP+yzmDdpgSm}(PA>w^xuuF(hWvPKB@QV~zj-I$&Q&P)8 z5tG6W%RT-70!!I1aR&2>fnh0Pw-jT#gzPn8^n)ETPybu}BDkQDCDx@Wv}=Dxn&2I{ z=p%^WMO3Q+V^x2L0i-~zAOS_Ayl25^iBcAR!AqK|4>Xjj8iV^4gvH2itjX}v12c^S z@`AMg0!G*oP#@^`5#(P6xVC2k*A`DF%L5a?xZ3lqv!T_cxm_n`%*zy|1j&y8EC6&w zThLun&dEqrrs5mzxiB5wx+JUD?mRZ z#n)TNHPnCPay`_bJ)j8b0uDQWllz^&ZYb~){(^jAR53MWu4S7R79#z3=Y$hiDPn{^ zo8w&r5RBe}ujPnb)U)it&ls2Qq9JTJaI#;B;XPIqw8&XLa32xQoXU8KnUSt!BKz$t zAwd;Jt1oMn;{d{usVMWY)zjODds49!Ds4HAVj=3qWH5Xe>|~6R9%Qx-|?E z|Mke3=`IXz$|G3|0#8AeJ%!jScNXo@5X9Y_TUotQV>PwX0?QvT2;!s-_7Gsd8=J7N zgCx{JlIqSxu|K8Fn6R3AlzFW0F{Xnr3s3cBn&}grJl3a23^$PnWRVhA)22VdXi|US zJbP9D8>msTT>rw_t$a7WE^3=@b_P4;Y!0apL3VP>!VblQn+(QI?OsDpONT%Zo%|8S zCl%eLnSSAHJEkK2Qy!6=^`+)*4WN2lgC3(kPk>77KrjNuWd8%>M7cw)9i65o?Omji zlP~Z{u9)6U-nXBendpCFjVI7+7kO8?p|sd=3~*Xc`*4|C;@T~1)AEq* zY7jJT-B4uuj_Mi9XIf71a?LWNQ~JEYJEfP5-D2#Pkm7@*X8~e2FqO&(NL5gFW`b z@Rc*&8(koXzjfQ*GN19~51m|QG*tcDWqQ7D=J2%y$C1x%+`jT<29b;V%6s4P)&DPa zFznajpKIKWJ8@$%gs;2g)*==DlJt!N!V`YbL7d}=Uaz$U=8AYrQ0f-keR4}H!yGZJ zJ;hm=m9ri~^q6Qkv4dp4TK#{T+X_qROd2KY+6j*pwk$xa}&CdX5upJNetS z#j8(&+vr2^K_r6>2g-|L@7=POoRP!+W{Owy<+tv#W=L^vfC@$ zcXr3hKRsWenic)M;(~d&tKtNOC4fAgT}_}QHXZ1I*1u7H;DY!l>A*ME>E)^8yin#kdByM_d0jq!a3(*nXlE13X&O?)S(Y2ma2 zzV9Ip8}kB~#DxV>%UDsZsi+DIISSf^`PeMb`4mN?iBsbQz{#iN(yc)yBg_PZE^{WC<~WUsz{~wMO}8k1>dl{fd+^V&&rj(Y+c99^CAej~@CP3rj{w zwEiBT@nLtOl#_oE#HI&sMKl{=#_C_xX>kb|y}T+EY@L2{t1iuL*x-=UgIn~QNcem7 zn@IgTWyoGm53oy9$mzkf-VjU$OXPIxC`aXVe_K$!WwLrpUcF^pzsV~y{U)zy_9X_W zS+}VGbv0wldF2&#Y(MXOtew!&k`sEk5j5pLU`T6Ya@T)+ZYSX0<+G;#>`?95wW({| zZ)n^Uuk-@kP8D&Ue&~*^Keb%b)w>(ZG;163U)V@pd+zg&wjF%Y9l0HB=LBQ$w)4%*tiB1`CGYXcRIb`YP!+n%k6Xm!=jy)@3Q6N>s?)? zbYSH|N;H21je9(QmL){Wp~g9isI`nFH#8v0(UPt%UGBA6hMs#!ksteSp*r&Zf_3Ek zM?>~}ik1M13Cb7nc-Ox}8Vh+bRoD0UAQnC&8K?;56_)n$AzMkE<0PjavPHJo==lI^ zMn#}MTDfh}wuCiH=VhCSc573G?F~Txw4KgQkePp_8V)V;cdAJsG=Dr0v2KEMH#sA{ z)_8o(sFC+JxO%VGx7~^`E#^&bLJ^G%LwX76PZYAsoaPu*f`uT6X-zRgf)R5JNvuenMdO?n)T+fq@bCWSo}?_-D0&Yz{x#yL0j)#cPjU0dhY|~RBj&An;$%-n^7W_)e*z;6+MPN zJwm|&`I|=H3CBG{Y9Y1)+=%fnJ6#2FVxUD@t$k3B4ESga_*5RtP?omel_B3ip3UN9zY>y)xP-+KwrY+uO_ISIr^$cz-tw zD@iKuOH#hDHnqwzr&R(D7D5zi)kF-PAc-M#ya(wa1GJBm_2u#*IQQh~($zv}?=Qbw zgxOIofEA+V@hUXl$}`s8Mvm~pv49wijeG>va_Q0@?G^1DiR+r<@``Ktts%lv;yQns zo7o8n3*q(wSfl^`Kf^&-qp%Na6qBh!bZHULpA(Y$65vSb%^NJqk#}|xDtMly0aSo$ zKzMAp*n*HKx?0V#nf~&KY-pB*q&V3C8ylfd?nwgm(;a|6f0&USx0lbm9kOOQ zv}=O07#WFTUvH1x7JPyGCc5nVV>y2)Vi&cZyV6Ya-3SmC;7-+F42DkTl^ct6TQ(Im!>&czdeAo31d7% zO!(AhcnL%;nxzvPc8nko`g%WQpv?^Shir4XeiM1;YW*fM&~E)Ea?wrtO=N$iTfKu| zL>DrwT2;i46m0;e^2mD;~Aj`UNW1X`UNyiMT_l0P6is3`xKT+{M)IH4b;=p73W%0X*>%bubel(>MTCo4g!G#o z)a|VZVD(Y-$KX6HO@bowgbS~oC>ok)0qb#mEwq+v_Z5k|oDE)XxyxgNm*WXUzvSU{ zh@P7$g~v~b#35JXKBIqvRg=D97dZ-}}h08qDSm~ie9*U}m{3FRSj~Faq07PZ5BVn3yKE-lGMw)9$bT^HL z8K6#7Edhl`15!Swl1bGiWfY~f8buq@Sy*H7AQJ>t^xsL1hdh5q!&`blm<|_FV(1$2 zl!zb-Cx);%$q;|-QzM~bD|+-UHTGwa9;uhd*jXexVTATqU&(2Mx=jbGeA8k-~V+j(~47RwB?h6nhZ)4_HOD&n2c6bgBf$97D=eiEHmR( z6$F=H|2@2@RgIL4olXg{@h6{)S{+ni5{f?6Nsod9JECos5Kyu8c?~~i#Idk-+h^-% zFoOwf-8#1JVthSYXK!O!ZzZ@{*H`eqWKea}S>pQmcrt(W)N3%9Pi$YZ7%I?leQ#HF za2;3EPcI#g{Z-4)Tu$Ayk`AZ^oocgNMgQHOn0OH0Mby;L&j)=?em)MFe(p_nqI8c_ zIL((&_ux?*ahqZ;*Osh&+bx@O*jKTOA7E6G1HS3U^-%cMEWR;DYJ%f2HYh6Fvz>gXOs>gU7pT9p7kV;DuHFC6iPpl$jpQ#sFANKnLZMv1$a zqW+Ct4GaMG0@D%!qN>q!q}w}t!;y&20oSInCCJpuI0>(w9C0wVeack3GaF8=$i~I1Mj5Q%qE)y8dta&a!vfrEEguVNZX&QTpK_C*Da~;J*CK*L2S#K>cy| z9cl7Mg$|AmT5O)=&ma={#yV!@7rqwae|oAEl-B?HYdDlX&5Jv|k~Xjz9+jpat#5{9 ztw^V`X-;BAVuWmYt=;lxwcc}A_doWRa;eXHALmDG;Bb#{pM#~QQWnzJW&6JGgmm0zQKZ+ zL1R1nNoC_J=m^hLPhl34lizLm=x1EJShq+)AOO;e+STPz$N91sE5@#@Q!5W97;;;F z^gOLSY86)SfnP?pQF(t}{uV(6!MW!NLxg{g!epT3&xBJ+9b4&e3~8N6f7O*aKkOks zX3SK0n|v%7#u7p6*u%l2x}*I47?Sw6mG_^gnAl~T;V|WwKI5XjW&UFa>TEADd!#4B z)&^SS{w!6Ww*+U4{Mpx1g+3XuyJgcQ&j21npjVsWyflJ2a2jnux?arRYOO zbH-McKDwUBjOTW&fA~?O_OE6vCe9f2Hwo4mTC@lO4rX!*oQu@=wG9Tp~T zA9up2Z({)$?{IBARd1uqdU~3B2oMxIW8G-%z-Wr-s19ZEU_uV1HWD`i1X+K`3~*FI zpV&E?ZI0mTR1RX@*@3@?gQ1$T!eI8e!8|rF7+`MzB9Sw)4*Wc0`8G}6&{7I&F2!Q1 z++MoWALfN)-Bj5w*aQh;)DJ%KI~v&rIn=Nj>T4+>Ga5@npRYhi*qlZdZ*dgUlL^ z{ziYZx0FevJeq9w2AQ;VOxnVWjsx+}-d1DM7Mjnp!oevCu3`Pqc6DNhGRH`yj( zAgg7jn}927YEl5J^bW}p+Qg*B$+rf-$zx52$oU_Ck14N#I8s=8gYvU-Tbh5pNGRH9#11+e>ENWp zL-5oNX@^-LSw;n83<9WG&#NIL_v87<{9Jcfp;d-Z>1YIQlT~>W#_N9kB0XgZ#-#2{ zs5dAOljNQ9IkWPSaC9i)Rz6oFDRl<2^4JJxxjCoN;Aq4aql1?d7^;$dv~1j2irzGI zdp_DLN9OXZe*u5Ku>JcAz8MZwnVM$W?^e-ZX+U&F_`-IW2+ONxCz#C8Qa0O=mF6s6 zfn+6=eOI_3UME1VL81$iVDK9Qr&`0IMXUh_b_JHPgS!!W)PhfCm1dG)xB9OB`kc{0%!>4@jq-;$7tz%({!l;rVu;xn4NcX+0#`p3C@zX0Tm7xq?h}TP z=G{PTwnjSo|9%Do4uy8Zywyc!UisypvE3&A#Ws~6puUWEJJQk*bVtes#ZE(k!190n z=}-JJf$o2Y%Qu=ix#dd-<&NJzPac2tJvL=xXJVbg!`W4gxPDjjHsOF#7*kD+SPWJk z0s!%(8UZO;;yN!y;IPWVdCTG*m1pzr=rY2d*M$^QfZ5B)f)aZP{xGudn{f zMygrbTK6LK&SUqpx;#@b`mB8G&sxIzYR6MJL3tDQc7Y?V81glx4)*-FyQ^;pdWDuA zBCPqDF-zHeSOE@)c-*FH*GulC+rcCo7?L_t^lGdn?mle{Z~%aixdNJLhXUF z2WWpyPy5E~mP44_5^Svev3b}{oyR@gHeh{DUG#Fl0Tf2SlC z<>+kbBtk#M6e60-HoU`OnKvoaMgLWcqM$>I%dy+#58xQDlf8-q^c)-HnM-Fhf@|zVo*ma9883zvF&VXm?0f#LPI*nTu4Wk z#e>oE8l-G=dyvua{*QyPef)_V>D7(#u+rnuXO2?=9_Xr7P#oP85ZL00!N& zWIUoipw_2|qe5tM=yX@9T+zirw7-|PfF#}GS&|n!lpt0QJjXM1l{~PTuRVWDZWzJ$ zIVcV67w(n=4S@34vBlYCuuBG$Vif1Im#gGTG0IMLxMeA{@@sy!7N`t0OHIZ`>0^{H z5WaoBcJvbCQAg$4SpbKxU%LTI;qL5?ay*z>cb{AVn7qtr3zIyYk0Lmw<(`#avpnrj z21vFGdF<@#<(zK7BZ^)$7WIE(bhekuoSnT>TI}Sjb{3<=_B~r2;ODzGvkPSvQklNh zGC?xQBX<&^GfnH0*2q`!)X2|*Jh>Y8t=7eG50#x8I74}nvw>*&d0$_qAHwPKhj2D{2xkL{t&l;gme-u- z@xG?tlyvnRXef&>;iUEFtnu#HkjF%$c1$>rf*ursKWQOxv9LwTLrk=`JRhg^1VQTd z&QgTZRoX0s@ZZ^qEHqU)-E$a?*dz==u>g z#yDH~SxVa}U|ofd)}X9kAcPP5F2wS~776T#I^G!EClJ0KKY#oY7N}$2O_e=r4iXG zBUO8Tg4=;c`j$#CkXo)`PHZcmD6O!bG9vY4A2rK}v!;JU@Jp*6M06r?RwXfRG}n6Q ztdV))Fs?+p*o44t7WORF?n|%7)tZTU3x5i3I(ZZ>U42`EmonxeyK_r$Gru+E+jsEW zxO}@walk`O0EIw$zYrO&Cy4mm5r&dzw)V8}6wMfc{C#;XRRsLp)KW#5&)Ck>9+3{2 zDuRSlB!BVmb@&^94yvBN>Mm%W$Z)UA4Af!G6G=4z!?-*Veq){pzcEh)8Q1uOc_O^b zJQ03dE>C1IpWELSRBxHA-jY{u8P{*j6Y;NTD%|>Q`mtd2^OeY!N9IMOc@g~BzifQT z5|RZqEh5=-2F|5(PV@9QXYgD)XAu9O`HeMA9U58mb z)eO&c*+9W%lO;|ND7Z1$xb$(e?Bk+=!U`ZeFKN_zzff;VYa4#BeD}AFiL-P;= ztOGY25nUms)z&c_U5rLtd*HREHfJA_IV zh_{Ysi*SM=M-gGy!U+_u14bFx4^qy+1)BMgV&noJFPXqjoJc=#mez8~_ZCCzJ%Fta z?-hkDf9m&s;hrCzW%$P%{?GrqXI{S^{`tp0$K-~8q4MV*qrY#BOwO9}PoBah)`T2# zNAytn!2R?V43+=;-Hbw5gY$XFY0w*kmlFcMY-)TA6Osdml(#nZs}pJ^`9Py%w74}K z5PtSuQB2M`D_&|DogCS{8X6DtqpPdr@n19I*YHUyTRXAR2Fjela)Mep&*@~g!8+qYG|YhXBo{lFNDMU(-$QTS^IeBBKPD1}1MVoHgB zJ*C8TO7Rfz4p%tV$yHS0xQ{9vUq@lEhAJEnq6){?GIX|vDjYAF-1sypB_5pI_@tDw zXfU=u7~3C=qm~q+?3Ew7b!TC@J$CxX;!8+=H8W!sC36Xjm>fsd*5>4&!iv8gg*AFlM(l05f zwj&zbCmLHP8tdoT_KC*UiN^YQwkIK)Q#rg=BAR6nuSJ6i>w^jVgK@mFHkfd5FpgK& z2D37+Je64Im3U=8&ihI0Lj(KB?v24xjg3CGd*eC~f%WDl|Tuml8U zTps-$RPKBb#iBKHv6X(p)PRVA#YR;0w%a^N-S0WZi>Qr|MR!=@=fW`WMhfcB(pdIj z?m{=B@>6SHWP|&tg1}s$f6vT+zy5V1%mZ0W#M>8F`k{J@4I(`kodvE|81d5;hE-mw zjlFIrc!>+PVN~q@HN>aYd~wcOZhFpPu4P=y@OGl97m>dp`m1@(Ys%xn50yv$Fkl1# z`6vr5Ge&{ADg`q}dFYfsehy2+8V3qhn*HSyXVKhyY*foUx^m16aAApmW`L1dR`asE zJ0ZdOV>TjF&2I1>!^&MqOT!`(skS`!$F5Ua>0l&f4BL@E;#CHJrhj0xke3ezc00i; z_HDn$^`n2<)L_)Q=28{77GhslE5S9dC6q%~5gkQ~Km_X)kqbEwTY?OJYF3GnKStSK z2AJWGs=78H`#y#@kNG!$XYS1&rl4G-HTBkH*H-bW?*Md~uX4;1J1786pyGfea{Q}8 zA`6a2;?wz4G>+3uv|lYi8T>%4_Qd#@ra~aB55tMyM;;h!dWEO|4t)UV)0U z@+GaVELgsewa*9o;jS~Y_$!8xnTSW?1of{paV69j0q+S*xobjyDornVrb&nn6rcQNok(W{gu8<$5qoR+#aJ~yew=#^cf0^d%cK%|Xlzd=)wFad+Z3tpo$~Jx9)w7TvOVW` zPZ^a>y{ojdg_+1cjlJH&|6~`3Wg9=U%yJp-FH)jKV2m4s8=c`#j-Wiwv_SfQ!Q}0a6xrQH=b>KS&a)c}qzK)@ z`;1)ZeI@$#pcl#j+$s{c5mdgBB-P*a)-P#$v z^%Z*St+iW+{jI};x8AC^-d4MH#NUdcRyW=T?twmU?|9q;SISO9sPl*y5XZC*!i0l+ zd4-~iU~i0Tg-=xfWL;WQPP#JmySkPDwvfSp9A#*zbk)o)gUu`~(@v=EI7kfZm9g7o zL6dBQw_hXI?0xV0d)YpP}PNL$pNS=#cP#zOyx|cc}bp+v~nSKA)1$7s?Y~MfjF{K4E&@ zO*!XiJtU(p3d|jDFk0wB`TB6u>u!+G2O7QZX8C+jK40YO2W(FJF>f}lH<@2E zKV}Y@1v7u}?gRhoM}Opp?|kil{@xG1@&|t4U%uk|zwdi*`=0Oqu3NwJ8}|Ajbz=py*rgdhamWJ%E?Y>=4bCM$6j?5IMoI+ zTeJPkdN)dZ)NZx>k;nz}J>Cwq`_3TEuVhmQJ(+IR?6W5Ex8S;702ktnnMl+jY8WGYC>&0RedO1mN!(CfGX zmZ(?CcZ=P8dk+p(lf5%mXEb=)*^1~NA?EsQ)R*Fzq!E$cQn!(n3vxh?Mc|n(F<*2P zisUMy;@h;A5mfr6ccC+X)qNPyCB||T4V6VcwMDfJl$F1Ct1t;vmA{kAs_Db$sgBk_ z^EW{sMjF(4!i|0kccYlRPsDBTDb@8vylkL+`ke|zqhtS&VMFrm03?65wHay;GK)<4 z9yGWKI%64k&lg$s(-xr!8)4Oup|#)UEk3vC{Beb~ST{31epuaqp;&T+S2s7?NEW*N zi>LXRi~*?N^5ny+NYtOB8Dz=R);(>@rk=mGMjmpF6fv7AQYCvmuBwKtHWa#sn#_LZ zA|yOvk}7yTEr|7hj^-V(gqVtvomazp0o5jPRifiORf=xq=gGMF(>LU` z&7qUj>3gOi5=|Kf^s6RasZg7muI8_v?&!%KyE?Cu8-H8V)3|7%E?Vps%`CTQ744Mw zj$!#xB8s=W{gCMvKpx#WTTr(`QRXl!wt?`{x%? zkaeUO+WA3J>&uDb~nCXH-T$#XO0u3bpeL-{7inSi|v()Rlov16G3n&q*tJL_Mw{l02%>TID} z`6=vAZ8D&L@}%W>M76@)w%@CB^$K0Mh~@RPMco*y<}{P8-Nnv9Vf0ANP`MTE%L-1s zpTQ$S4?pMz(Db`@VEL~gvkowSUgkn;bX{yVk9i z=7#Buw!3_N%~Q#)#~fJqN`A{BoGbJgFOTcx3}qaDQ1FP>T;E6C>v1tCI1?0R*&rzK%PfEMs3Xp4vrrb>|mo$IbLk2bu{0MXiIyKWR{Q6ma}22Ss_; z1(l)c2>JBbtPb-xX^a5dj7k4rr?`PHID|@`OJ>f*Oh}9WY2n9{6 zE-8{-tS0?FC$ZI9+iI=ta%&y=wT4@#TI+~w{obds*7hW8{c~=uEti99?Vhpay%8Xi z$W#v-qS>;N5(cV~>O(NSh@L)#IHw44P7%&U7w0ro#X0rGOU8PxFP{v$=eJ*1$b6SjW;@UL3x>YTPc`cD^`!u{itCl#EqvqX=MF*Q|ze`I2W1czVoqWXW1LI{* zJQJ;IpMv0E9oslp@JYmYm$|I_)t&SGW6)RRGUkZ=5M86R%O>>_f_5ho5B6;_NBJVA+VPMi?ZK2ESoq4RPXg5_HNNFC;D$o>pf6mgpZ z(el_9Rr}l?#%~YsKes*F5He)R-eYQOMqv$`r0q6|295B~Uaf1~Bq0etblo7dmmYO} z5*l8Cgb<@xBca5R(0TqbC84B$A|YO60Ut*~$+JsB6C|ODZzu^Ro`e!5p*!jn^i;46 z1;u>|8a^=vC7ib<6qGm$N(LxM<5O!ClqdxaFHb?0Sd!E!Xm~LNC4&@{cnWe|s|hEu z>qfQ6$Z2XYw~Iw1OfH4qkz124~iwtEI%>mr&* zIff*!q$9o9t8aw~cbBj_XWqz&k4HM-pRTT7?GNiuk%efV>ZsI3Si-d3ekWP1w^<#!j_CPGt;-B%{+>*oN83ylF&#^Cv&=UAV74d zDN_r{r*$hL?P%pY=82VmW?)1{|oZzyYs1+bxd34aC&C`=8oF2 z`QJQ$oG}M(?nrN@^63Nc;!e#hR5!esP0CXZ`RHGMecQkDr6+jjOps6Ajn^j2zjj78 z^xe{|{3>7Cp*Cl92(^}`7WCag?d@`rO*hb2G>snM$*IBHrmNe3v%;>?lD}*3 zW%uW2Fp?WlWmM+oAT;)=J)HI3)*iQmkJ}S}KW_2(mG;02gqL5DUwH&Xb7g+T&%v=Of4>(Kbw${~ z+(4?Hcc-*3)yT4M=cO4Cz3U0$?A?Z^NSV!cr&2}ZY6{a^-`_2&A6LVawx+c$*+*4d z!?m`ov^9N#6|-)|KA09)e7LA+=S#SJJ&gc&kgb{!38^c=B03_LRp1trwTP9w{BEL44oK% zb}H0r|Cp*!=nnEy+{Nw$^?V9~!zWRp7-YG!3S~9ofhyD(Rj9FLRj9D8LNOq+uR?`S zM}-Pig&OuM)Uc{hM+UU;Bg<*w6RJbmYIZ}_p|rSw*P%u@apmuSC7gpI<)SuUEWiYt!7BZKHp>HyK#F>h$hj3_82=9&bs##gU0dC|p|63X zG4-++3Gg)xGGxrT@$d(PDvEA6QPh`fq7j%5#8f(H*vcc?h`n{~dcPQJe8 zjg2a+k9W^%3Fp12=^f}<7Ej1f-^QV?A1Id8K8(pAbf|L1n!}hsZPy=~wI4WtZ-<@7 zy8ghA8_-YvJW!pdI?P2D(jufGQ8m_*9_lh^U*-(!GG}%9`_iuQuW0rKm$)x|RIiAu zSHyi$WO=bRT=WWO5f7=Jhqw32Pi`%Lf2)eR8)heZ-zJj8)Qo*GXFfau$NKTQJm;*j zOOEol>MW{jM;3d2*#pWQLOQg6+>@zvu}xLL4rl@W@!7i6KQM(T@8b;rLRqglN_+BR z(bLkHOeQ^GOnyt{OOS(Vu{WWJwbP_a8IJ3I++P_ju&OKLdLEy!=kZ|AOY@pX*w;kK zYmwpmt$o9{?e}$1a(zo*a(%N|;=tn0ju$yHuTWc^iW(hn>DJBGd6RK}9z`#Kg^MMy zaCr$VJh24E8K0SdJtV9*snbrwE8wJLpoB&*l*!!wBJ_aN;hpT22)T3McCc`SGUbF^Lo?%v6bJr$KT^gYVk{4 z+cJcKw!hau#}3|S+J^>z-s2YUb%uw*;_KTx_nP(_bfRw4-;{^T8L?d&u0_NYgVc3z zpStdGTU&wtmNZo)8-q|CV#pF@@Iadx8NDh#Pj0atXYQmeZhbd_N}XhHqoql%OcHHS zgpcfVVOq30hx+oHiVY*UYp0w?+o~E2xUvq?QF4jdLbO%%Lf#dB@gqJ15Wwh63JkZRdK0x>chlA*?qry+t%HMk6@1?cv;L zp<7inHU=a3LwC9xCUZl_|Sv!a=H_;EYH{TeRDoFg-Wr!_0uVp~D|J)A-n}*G>7lg~qiV z1WU`!d*mBj0TH$08`SiOA2vZ6ckS%Mh22Hki79`DkE$Gh7C!7gkGRhV-KWTJT&57K z60;c?GpxZkKy*(GD9NjUp0Q?#(i{Gl=y_lJ?ONldRStnL}t zNLnA;#^9$LE+#>KeYgQV!o5Dbp1dgG4o4nDH*Viqaf&+!yvZ8H!Bi@yyfJ!Ve>whI zkzT(-_$HitLHP-0TDc=9QWcU4i!(*#2b>M+s#|z}K!)Y#kXfc4Wj!cAsETUH$bMB+ zYas*%mH)U~5EtF|V7ha@A5D<<`3;f_HU@7u-3b?<)Hx_ix#I5K0Hms zk}QG2^e2EW$1k?_%kfZu3iYS3{?qY9e~a|DXyCWw$IsVaWBs+^ex06a$~PH@da00w zwNAQtIoBEE{^M$$aeGoW&~c8uS$o1YQ%wwi{YNr;hy}+sXcwZI?B7?mdpO(V7jMEy z$a>_r-2F7o6b73QGlFgxF-HmiX`tXjotO3O4x=-d<@V@-?qxjIfQ=;z@f*qPGQP6z zn@Ze^^oIfO6zv;)A@Lj`EDk@?y< zLUQ8r$}kyU7X~xWNr_SWbPBU_!gg7*J~>*uD_r*Na^E$*v@l1D%MTP&`DF)+=>g+G z5gvVMWj%oHVCo@t7)|Fxo9!JpcXkQ&Pd!v5*GDz0Lv=Ut1)Al?Ik)FWaj3}5zTWhY zYzzK|IRl1xei>J6G{5XhW~d!rP^p)HhrOIuj4Fb;r92*7r|K=CmetIDyt*hq&%w!t zugRUrRm5#pSNHPl1BNxJdK%58iF>GTi?lGAEG(OQ%Q7v>j$6{?RIN$9LYylFiKYNm zGWj`H- zq$8-FlVFfz*P(%XRsPux_$%o9Xbc~a5%d5rSWMiczT>gO|(C9}T#3g=zn!@qw(?g>-+2 z*(6-qW5JwDp!^L)P;1;az21u!kIH*dFjtP&M-7tn zs!r2Lp2LX$9nlCkx26=@}YyZA7*nThw&kpYqLrh?@btNvp&oX14RM zm=FkJa`{iM?1qm0gc?Xsp`sjR#glR%bH^puHF>oR7-c}bUX2C&O~b!`e$$Ao;?3A? z=X^+%XwV&3edHV>rz2Qe5i}S?i|a*OHx7SxwzPKDLBLe7LZjNn&^UOrLHO)&j_jmi zcG7F$X`T+6T%?sYcz`hJbv>pz0qY?Q)Py#ssR~iox=>vblp=$v(uokTdy&IbSMpn| zD#KWT0qX_L@t2A;ywLD}A^i&tWC!3?$OGNvD~HjhFhVPyXmOh~Kbu^ytyObq`EN4? zUY&1p6$tL;M^oz^O4X88@%%n$Cap~W^#`ke6^r+3nG*u$3l>cxrM`5T6#P&&Z9wvf2$Ea8o_sf+qdC#kn_3LVlf@&wL z1Ig23mT-%|KgJrpTisocz+`mSY2|b*?yCI1C}wEqhh5O)U1g)&;x4D9a(m}T2qJ?- zz#lC7?QI6q9o(Pxy0*gD@c7t3d(aOPqLSY6)joG-V?dl{SVlAltBhtlKU~7c zh_^#Li+4;go9jmho0MHCuNwl?FcshYK1BRGTBSF-E)BuFr|d#G`z)<%Mi@oW>ih_I z5QRDJ$K9iUM10X^nXjuaf(rIMuanoL1B7Qi;YBXuc@SJEs)GwfeQ=@ZI)ygtg9}B2 z;6l;0M0Ku#3q?x^uU>XAt}keO+GPi|K*$LR&pO9IpYU{?j_?u?UQ#2xGgqw86W(G# z0CjF}@4S}&?7PxsEw8q--x(#f5DNKOI%(IVXRUvKq6{UfFN$=W>)JjML(w#EI4osd zBdlxmjb$jp0B9l7|We=L>Ut8JR_H%1Zk`y$7^FmGi zxsV0A^rNXCfhKnzZfJZ*O9P42`9VIm@X5fxp|bts^BxB`P?eeicywP@)h@Wx3}+>z zjSVP&8P~#y{|R!HNL?MxBE=BW0qR@IRUGxDOQuFR7a>Q_bD=UFD7gM`rOhO6d+DG7trSQ7_@ClSU_pqFdX=K(sW5L6a0_NFlUVP zgAMKtpN(rOm!0lx`S;z8fpjq+cU&f2>uoM{%30?o*GEd%0^D-$nqKIs?>ui@BJb9; zG3S|A*Lcux=KT$3=&GaqFr2!7Mjz`EH^sP|><2l})VlIlxIsGHm%|zxgLgJm5M$F$ z9EXchBTFHKIgpN}W-qWQ5iKuQMC}*K8oxmO9AC7+zhi(!=)$WA-5t9Ke}z)*mB03P zfAY6Kayv|k8v}AV_4lcV8capn`hvZK#lH+>($_+|Ny)`hWs9hPNYqs@QI+e2 zhk286&iB(P9~8sndO(-$w%e2mwJZ6s`?8~>VN<=TH>_ux`YM`84{cUJVC006s{G)I zToN#jCt@Pn{Mhfq;qpYRkTyaiG@}o}(h4ZH5nY6-r=wsP%M=7 zLx%ugEOKQ0L*%|kXY3n)X2uT48H#YJAtGXvFAurH^n?cOshNAs%URd8ZpEI;hhAvj zV{bue&mo@3KbW#XkhHt^N$YdLQNGct!e%L%9{+v(Euc z*($|F-xgQ6Z(qfVG@PGOT`xS&tt*j1{dZa@&$%-#)82U=<6+A6KEAnK1v2NBg{o>n z#CR0kj zkG4HPXioAu?NgB+8B((v92C=1}a2|*mFpKN)Gj(x_mh6(HdFfFCi*7 zBb!;yC`AqK2-4^!W?X@x$5}?1z9yEbRY`!5o{GW}Ay`@t`VB_l5n>#djVk$rGkK6Q6K zeKYI4L&)cUT>+8IP5G#QFJlmR$7@-qu}+U}g?okb9X-ZBua*1d8`)}FUw2d8_(fj0 zuETG<5hS10-zubqmx_V|_K(PAd^EK@LFBQ0DcayJ6NZ^Oy$V;{a zO-~RW0q!waf&TI;1Tw-3RK5Yc{Enq&YG<7W$k<1J3_@Spx3759u>cs!2q3}l+m(qk zka#bgDkvLOhI1~Yun#q#+eJ|GXd$RQQ8TYA(06Yc;-}*}@mQh=`5X0n;a@WRMP!ZX z$zc7-Yuss|^JE#nnwcI9YE4UZTr(i8Jp36|R3`2ESEDch7BMXCz;)SjX?c*LP7wk1V*$~vc$2i~ zn)a>c5!>Yfq!3^7xEk)_S>{#c?Q2UU0h=2pwpXF9p9J#teeV?g;p4Fjbv+i>LtT%> z2z7mxvZVI*&cCqRya}|WH9vv#^@w3X#mX{&s)c1h6JH_W^z~>4M!~F;y&*!CPPZ~U zv3_GJNPw8uxd===N15#!{o^)WQ&v1Q*$whV&#g(eC0`!kyB;*x(jtDd-e9tuP_WGr zfeTYU85vv}taCoame5cSH6A}NGSni!dAsrswACd(d?Mfdh&L5%3}TORmz7pyDby1I1mW3>kFP2pzlyg`h$QLX$SI<0acIt)RWnhgv|=zNE9yrYcV(_Ru6Wi-{8 z2ho7=@i>wIR0oAM8|CRkuez!y>z703CU)YgV;v5a{RzwHh7uNxcn9|$`sD0?J?K$1 z*dwb=5Xrra&=+CyLwG1v+Qz?+ne5>h(x-!O4_V_2E90UyE?4n-#F_E=J`8>Y{kMqZ zLe~a{tb4Y-C0Nyt(`Ta9*nBNa)7U~wPg zi&%tEZbbl=qBt@%v!O{MsmDow%(OVVyP^Q9Py9!Mx#IxNgb!3Oort5akTpFJ4$f1D z-03irDpBkQD2nw!sPmdx${_bUra*WKCGFS&U1^*17iEve1?phlF8`U^odr|V0qD*v zO?nh6$_Y|=m`=7BM$Ltw+q|*aKG5LPeF#YFAE`il@not9at4n)*g)QYef0p}!4vWa zd^nDKoj*3~+2TA5$!l5~XOW>FE9Y}?bS?E-RYPm3qq5~3mGo}Xmeg`7yw;`gV!Po0 z5Yc!bfJaR>Z4YnUQU>tuM6-M!aG!5Z279xdMa<`FRF*Ili&f(odUYt#UfqXJ_UBT& zkhr|$7K#N2feOgus_|BT3Grj})1tLvkxjK#H%+$srpXqVd8=-kYz>+wTi3E`dCfH0 zayk<{YBhzVb(#uEYfvF+)fE!s<7fi?`e;MpEamIN4F$85uSXh0v&7d28vqlO1$rP! zK`72NXq^72fCGJ#*cfR%I#HdcW{XX-AXPhm?ij^ZESKGLl%!8zLWnA{x`pSFC@pNCsbkPb2n z`pKw$#ZU^GsCjgMj#|^G`X$u47DcrtgHf$1qgqqv8V&ol1V#%QTLo0bY+X9GuE$c# zqYkiV@G@du88`=rM(6tx>gwWLU8WSv5;|joT}%wNA_jGY)QG{77>wf9`ehvY%sk%yy*!ihX?Eqd<;E%9{T>g}(!LwFeW%>k zwf!t&&03*<+SXC2CgVoc<0e@QDRa8mOjfhAmqNUa68F9Su0 zOkHT-hV;6J$ayLx!N?!dmnuAxZRb<+`xp3oz-D=WVO#swrNHV-(X277e!y`Vr5eET zDK2cLW=2E}D}FxZqNwN4YLhBxsY0l|^;7|Bzth7u*YRn;GxdN8TJgX^={rLvh|W2H z$JG2ViIl6^&aE2nZhY01Pt)P@Ac}X_LShmGZDw<7K?Y+)eWT{9G!sXSv1U6?0o1DR zsfq`G=>4L7RL%i<7bR~4d0^6KD^!*U)Z1@PcU1Bee1B`lBzIjX zPsE*DQ{Sa-mLsO= zgepYhRmkReqtn&AUpUF`r2yoT?QGWtldxj z{(W+t&fA0V0@Epf)RI<@a%?f=Z=F&a2q=Tcy#9f~>mShT_~lV;;Zch7u~wsh!q=22 zNL$Ugd`q#;?K0~rMtvJwy1l&AhmrnS4R0&H7h`rJw+wUq#~B56@DFO?D+NSHpsLd0$%VwbvIEkr^Z zXmcfGsOk)3Ld{x6qprnV49ix3}tL;3&N)d`aj^tRboZN6L-;D+a*4(%?H@fD3CigBix8_)J zRfD+P9!iH+LkC$T0!ZYH@@vblGmL$$t4iARAha(}^;>n}WrMPxA}p&$mN~sD!;G#~ z6-}q2q{<~5Un7%*XR$i!B`~#wN(dStj?G83VVhD|*xvaLhB&`8b<&tlY_m{SvpsTL zuO?km<xBl?z)V<8Xlin*JZ9mt$SXmMHPr+ zvVX?pFKnZ9B?Hnei*fj0>imLsNmfecP7yhhUY^$UfNJBIXJgBJ*R#51zVl>T=H=hi zEpyA_E%Q=`+%~Xg!|Eecbq*EL)%-8w>ws?yLI(;yPtmQ#GC#qG$V21G?bDxLY=lh*Ot!`i|7wlH^A$P-X z;)f?mm%sjdTc^TD-SvlSX0xM-ry{CkWq2puqK{-3YqB?uq7PPY)`C@#noYI=7w~NP zsjulSnzZW+*xSl~CwW1G@#VWCo1px{*FyXczh%0|%Drg7dcAb%zY+b4kesKIsuVV4VgTd+rLk%1?Y_a(I=dLSrj5)NjV<=FJX;Aescep zOy;S0OS2!3z5Nx2{HWI*fop5K*5Dph3m~jNkj}0ra~{!XCpwRER^7g4qMv-3Xgp8V z-N|5c0mK$;%BmN(>V;)53Q^`9Io}s6IWNR+;Q#FttoIxDvhQj;`~)_;?c{@Flpq^< z`+tC+^Sk(eIAF_+OT#;eG&~A939SZ+8iGSjCba$07MVMp{OlM_{=+0~uh+*`Ssd2X z^6^Si{|!@w!%fu6mj4WMlH7io~nQ*P2 zkhEIVo$!B6xU|}+>m3`p&PC|LG2e{n97PPU+dNGd#6Y~WNR;joSm?~TM6A3an(w>B zLzg{J#@I7=>?P>Qz*d@_$ip6M4I73p%Jg@vo4sRxz`y$+FyLbtaBkgpb1x>eCC!?H zZ?-Cb6!hP0mwB^wZ{E>gczyGu{>@MD&5!C-o7%p=wxhDNO49P}7@f=_;gp|Iwuo4@ z@^SYaJf+6VeCUxfOt3$&OEbtTJ;x)jG>%uYd?1tN>t2N#H&d^|8A9F|I2Mj2sddcn z%*9~o8y-Yx{D$n^Mq`Q}NZi~!peGZqkcPK^yW3J4M-Z5)&mT>SP>a^eAHSJ+KrfMS z7=I?4@xzHCMsLVo>zX{8z=UQM7t>>J$K)#UiLfAH3Xm3GmJbupR?BqWt@X~d^kBpa z)}hZkzS+0zyd^igvV&{eH!q1h5b=bWfthf=*Be-VZr0e3v4Z;k_zsQVh-e+8-qwD9 z#(~Q4fxybqk5g`QcH2Fs17*Fm+h*8uynNU)D$W$`Wy6+-HEel=u*|ZZ+T9o$x{p?t z)9d76%QW&;KE11}q$v~&wQvu`Ui--L8w^W4&;T>tCOGjaw9`=(_HyICjf{_<@1<(`)0!k8)-#y5PU#%E~cMfO(0$iIYPS2z2A%C_pl z%v>~L=8K58vkw{H)(_3W=!?ki^Qd-ZJpz05-?JpcU)7T#jaN{hNBR3aja#VV8T#*| z2FL&3Bx+GZOCFmlAoF3I{-3x~R4pfY9g#7W|K&<}yG0V%=|X?A4;yl6#H;+GamtzN zz`GlojaE91OJ?jT^mTwXQ!a{EhZWT7aMgFa*DMMT%CsDH~aLYVy zfdadSBzEJegWRxPk5Ruky04#t-_G6~%R;>bQuT{0!!Fu4ECU~5sPWBzMlP{sGW+Qm z_c1HlAWOtLt2*rlwb1XlkE!91DXkjnwjn=Sc3qq^>WmScdVI-1Z%TdI3@zwjt<0bg zF}taQxzezBU%}IO)(cuqt2a>Vp^DmX&{a9MobGoZQ=@Y|U;E-dtUtH1FTYw%V6zH* zUo_6s9%(0Zxe2aMeh=k;$%JB7JgXzt(dLniw(HB7w^gQaF@;4${}8kii%o&DhhqddC{s>+laRNf zZE*Un*m)M5S=4>M9vr@I*=iW!NryqG4mr1;`6}kX)|Eb{-uz*i5JCLeHWd_B{uTvn zmO@EfH>O18-94-?qxvgj3bG>daCRb(yzQprwpE||xLhJ+*3lBYlbQA8-?pDo5V2H& z%P5GDQP63Bh*o_AHdaHnI~>KhKFKiG{@)KUZd?-!YogVeA z2;bW64_tD5$L!mM>V#D3Qxz~`2jfpC*t%5pap$prqS95rS*~oDRqu|RYXdiDAdSiP zZb;Qjv6L7IvY@yvl%wWJwv*Qg+1?KygN%Wpx_ze#ogB;yvB3OC6E3&hok(B6$?~56 zEW7*3(49z6g!L2Yi4ch|H>CY^c>v~nV0V$>t=0~(4xT=Q^%*aWp$(9m#xOsUE3kM# zh~fc%xlw?6GXPNUOkHfBw9x`GeT&HSriM)arO+eOf6@2)sexWU#a{1GSjrkGy^8(X zH~*%k(DZv8sC=BN>m`pDA=8@*ncfT_)4Rvm;?n%#J$(%N8)(>fw$32?*M<1am*33 zCyQjDRzaT-5=RI(xD`!2Ata|o2njpBbWv~U6T*;T zuGJbMOf*?}lj^oSWFQ^;4c4wUBwRhj{IFY%^|>PkQp0+6jgPxUKlyuHi4M^Dy>AkJ z_GwS?j}1`#W2E@&P78;&%6z$IIi@0881%sEF*QvT5{E{;~;h}9Rx|S(=YecD;%P+$6`Skl@_!XiOV6efcLrzkPOGKDnRZ|Yj|_| zRH;oMVv>PeZT`uG0*96D3qWdrxSQ+}(aCwP5*2~rIWy^G@<|NE*@84kE4Vp!8d9CzX zx2>Tg1JxLoui23F=qN|5rpug(Jtm5NpVZ*QO~o+e$S@!7<kmk+#b66J<3ETYJ%#Hj5Py1bLk#qe%o znKM~0JldV6lM@+wGRlyJv)@p#S|xA|5I?$E267onLFSj;JW))sl%;%TJG7bsNQ&Y? zv{%-}Oh8_{Ui%|&6;6SF9#35l?aJcgp_}mQQSedNY?2$0xMPdzi!*3erCDXFr0~5+SKRQova3Hku0skf2u`PV~DuP zQ3v_dZ_Xv-)n#fJo5{Vmnui;V>8L@7#^wEHPX1-=AN*fX)UqFoyDbf)S|=*uHRMdQ zCt$C96WbqUNh5QD`=FLi_w#T2L*<8yLNc`L4g<%t+Sk1WpJEg%N%vrF((;=^ytoUKdpM=?k!2 z6S7=j(G${Zzif{u`9!&Gul%#Vm%UMl1fE#eN`Aq>>nDV5$;r6Ae+1Zn(0!gTm*?fu z=GGfJ8d$^zML(R#pI3e|5RSW1TJAo-A5z0kZJe~X%0A7&<66S6W-{_AgQ`r*iK9Nl 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 z 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

  • pL_caZkqZa|)ay)OC3|5hZN)Dl#G%_Ko0bJbxI4 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

    mZ06U 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 diff --git a/index.html b/index.html index a6672e4..569529a 100644 --- a/index.html +++ b/index.html @@ -57,4 +57,4 @@ stroke-dasharray: 100px 402px; stroke-dashoffset: -502px; } - }

    LOADING
    \ No newline at end of file + }
    LOADING
    \ No newline at end of file diff --git a/js/_worker.8030f477.worker.js b/js/_worker.8030f477.worker.js deleted file mode 100644 index 0b9d6ab..0000000 --- a/js/_worker.8030f477.worker.js +++ /dev/null @@ -1,19 +0,0 @@ -(function(t){var e={};function r(i){if(e[i])return e[i].exports;var n=e[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(i,n,function(e){return t[e]}.bind(null,n));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s="5268")})({0:function(t,e){},"00dc":function(t,e,r){(function(t){var i=r("58a2"),n=r("c24d"),o=r("561d");function a(e){var r=new t(n[e].prime,"hex"),i=new t(n[e].gen,"hex");return new o(r,i)}var s={binary:!0,hex:!0,base64:!0};function u(e,r,n,a){return t.isBuffer(r)||void 0===s[r]?u(e,"binary",r,n):(r=r||"binary",a=a||"binary",n=n||new t([2]),t.isBuffer(n)||(n=new t(n,a)),"number"===typeof e?new o(i(e,n),n,!0):(t.isBuffer(e)||(e=new t(e,r)),new o(e,n,!0)))}e.DiffieHellmanGroup=e.createDiffieHellmanGroup=e.getDiffieHellman=a,e.createDiffieHellman=e.DiffieHellman=u}).call(this,r("b639").Buffer)},"00ee":function(t,e,r){var i=r("b622"),n=i("toStringTag"),o={};o[n]="z",t.exports="[object z]"===String(o)},"0106":function(t,e,r){(function(t){(function(t,e){"use strict";function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var a;"object"===typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{a=r(14).Buffer}catch(k){}function s(t,e,r){for(var i=0,n=Math.min(t.length,r),o=e;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],k=8191&A,x=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,q=P>>>13,D=0|s[0],U=8191&D,F=D>>>13,z=0|s[1],K=8191&z,H=z>>>13,W=0|s[2],Z=8191&W,Y=W>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,H)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,H)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,H)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,H)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,H)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,H)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,H)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,H)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,U),n=Math.imul(k,F),n=n+Math.imul(x,U)|0,o=Math.imul(x,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,H)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,H)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(k,K)|0,n=n+Math.imul(k,H)|0,n=n+Math.imul(x,K)|0,o=o+Math.imul(x,H)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,H)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,H)|0,i=i+Math.imul(k,Z)|0,n=n+Math.imul(k,Y)|0,n=n+Math.imul(x,Z)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,H)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,H)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(k,G)|0,n=n+Math.imul(k,X)|0,n=n+Math.imul(x,G)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(q,U)|0,o=Math.imul(q,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,H)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,H)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(k,Q)|0,n=n+Math.imul(k,tt)|0,n=n+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,H),n=n+Math.imul(q,K)|0,o=Math.imul(q,H),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(k,rt)|0,n=n+Math.imul(k,it)|0,n=n+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(q,Z)|0,o=Math.imul(q,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(k,ot)|0,n=n+Math.imul(k,at)|0,n=n+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(q,G)|0,o=Math.imul(q,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(k,ut)|0,n=n+Math.imul(k,ht)|0,n=n+Math.imul(x,ut)|0,o=o+Math.imul(x,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(q,Q)|0,o=Math.imul(q,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(k,lt)|0,n=n+Math.imul(k,ct)|0,n=n+Math.imul(x,lt)|0,o=o+Math.imul(x,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(q,rt)|0,o=Math.imul(q,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(k,pt)|0,n=n+Math.imul(k,mt)|0,n=n+Math.imul(x,pt)|0,o=o+Math.imul(x,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(q,ot)|0,o=Math.imul(q,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(q,ut)|0,o=Math.imul(q,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(q,lt)|0,o=Math.imul(q,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(q,pt)|0,o=Math.imul(q,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=kt,u[11]=xt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},"0145":function(t,e){e.encrypt=function(t,e){return t._cipher.encryptBlock(e)},e.decrypt=function(t,e){return t._cipher.decryptBlock(e)}},"0184":function(t,e,r){"use strict";var i=r("da3e");function n(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}t.exports=n,n.prototype._init=function(){},n.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},n.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),i=0;i0;i--)e+=this._buffer(t,e),r+=this._flushBuffer(n,r);return e+=this._buffer(t,e),n},n.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},n.prototype._pad=function(t,e){if(0===e)return!1;while(e */ -var i=r("b639"),n=i.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(o(i,e),e.Buffer=a),a.prototype=Object.create(n.prototype),o(n,a),a.from=function(t,e,r){if("number"===typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},a.alloc=function(t,e,r){if("number"!==typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"===typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},a.allocUnsafe=function(t){if("number"!==typeof t)throw new TypeError("Argument must be a number");return n(t)},a.allocUnsafeSlow=function(t){if("number"!==typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},"06cf":function(t,e,r){var i=r("83ab"),n=r("d1e7"),o=r("5c6c"),a=r("fc6a"),s=r("c04e"),u=r("5135"),h=r("0cfb"),f=Object.getOwnPropertyDescriptor;e.f=i?f:function(t,e){if(t=a(t),e=s(e,!0),h)try{return f(t,e)}catch(r){}if(u(t,e))return o(!n.f.call(t,e),t[e])}},"0706":function(module,exports){var indexOf=function(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0;r>>27}function f(t){return t<<30|t>>>2}function l(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}i(u,n),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e=this._w,r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,u=0;u<16;++u)e[u]=t.readInt32BE(4*u);for(;u<80;++u)e[u]=e[u-3]^e[u-8]^e[u-14]^e[u-16];for(var c=0;c<80;++c){var d=~~(c/20),p=h(r)+l(d,i,n,o)+s+e[c]+a[d]|0;s=o,o=n,n=f(i),i=r,r=p}this._a=r+this._a|0,this._b=i+this._b|0,this._c=n+this._c|0,this._d=o+this._d|0,this._e=s+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},"0960":function(t,e,r){t.exports=r("b19a")},"09dc":function(t,e,r){"use strict";t.exports=f;var i=r("9d8a").codes,n=i.ERR_METHOD_NOT_IMPLEMENTED,o=i.ERR_MULTIPLE_CALLBACK,a=i.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=i.ERR_TRANSFORM_WITH_LENGTH_0,u=r("e666");function h(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(null===i)return this.emit("error",new o);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length=e.length){o++;break}var a=e.slice(2,n-1);if(("0002"!==i.toString("hex")&&!r||"0001"!==i.toString("hex")&&r)&&o++,a.length<8&&o++,o)throw new Error("decryption error");return e.slice(n)}function d(t,e){t=f.from(t),e=f.from(e);var r=0,i=t.length;t.length!==e.length&&(r++,i=Math.min(t.length,e.length));var n=-1;while(++nd||new a(e).cmp(u.modulus)>=0)throw new Error("decryption error");o=r?h(new a(e),u):s(e,u);var p=f.alloc(d-o.length);if(o=f.concat([p,o],d),4===n)return l(u,o);if(1===n)return c(u,o,r);if(3===n)return o;throw new Error("unknown padding")}},1:function(t,e){},10:function(t,e){},11:function(t,e){},"116d":function(t,e,r){t.exports=r("b4e8")},"11dc":function(t,e,r){"use strict";(function(e,i){var n=65536,o=4294967295;function a(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}var s=r("8707").Buffer,u=e.crypto||e.msCrypto;function h(t,e){if(t>o)throw new RangeError("requested too many random bytes");var r=s.allocUnsafe(t);if(t>0)if(t>n)for(var a=0;a2?arguments[2]:void 0,l=a((void 0===f?s:n(f,s))-h,s-u),c=1;h0)h in r?r[u]=r[h]:delete r[u],u+=c,h+=c;return r}},"14c3":function(t,e,r){var i=r("c6b6"),n=r("9263");t.exports=function(t,e){var r=t.exec;if("function"===typeof r){var o=r.call(t,e);if("object"!==typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==i(t))throw TypeError("RegExp#exec called on incompatible receiver");return n.call(t,e)}},1545:function(t,e,r){"use strict";e.utils=r("5ee7"),e.Cipher=r("0184"),e.DES=r("4e2b"),e.CBC=r("0da4"),e.EDE=r("1fec")},"159b":function(t,e,r){var i=r("da84"),n=r("fdbc"),o=r("17c2"),a=r("9112");for(var s in n){var u=i[s],h=u&&u.prototype;if(h&&h.forEach!==o)try{a(h,"forEach",o)}catch(f){h.forEach=o}}},"170b":function(t,e,r){"use strict";var i=r("ebb5"),n=r("50c4"),o=r("23cb"),a=r("4840"),s=i.aTypedArray,u=i.exportTypedArrayMethod;u("subarray",(function(t,e){var r=s(this),i=r.length,u=o(t,i);return new(a(r,r.constructor))(r.buffer,r.byteOffset+u*r.BYTES_PER_ELEMENT,n((void 0===e?i:o(e,i))-u))}))},"17c2":function(t,e,r){"use strict";var i=r("b727").forEach,n=r("a640"),o=r("ae40"),a=n("forEach"),s=o("forEach");t.exports=a&&s?[].forEach:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}},"182d":function(t,e,r){var i=r("f8cd");t.exports=function(t,e){var r=i(t);if(r%e)throw RangeError("Wrong offset");return r}},"19aa":function(t,e){t.exports=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t}},"19ea":function(t,e,r){"use strict";(function(e,i){function n(t){var e=this;this.next=null,this.entry=null,this.finish=function(){H(e,t)}}var o;t.exports=R,R.WritableState=x;var a={deprecate:r("b7d1")},s=r("5bbb"),u=r("b639").Buffer,h=e.Uint8Array||function(){};function f(t){return u.from(t)}function l(t){return u.isBuffer(t)||t instanceof h}var c,d=r("493f"),p=r("b9b5"),m=p.getHighWaterMark,b=r("9d8a").codes,v=b.ERR_INVALID_ARG_TYPE,g=b.ERR_METHOD_NOT_IMPLEMENTED,y=b.ERR_MULTIPLE_CALLBACK,w=b.ERR_STREAM_CANNOT_PIPE,M=b.ERR_STREAM_DESTROYED,_=b.ERR_STREAM_NULL_VALUES,S=b.ERR_STREAM_WRITE_AFTER_END,E=b.ERR_UNKNOWN_ENCODING,A=d.errorOrDestroy;function k(){}function x(t,e,i){o=o||r("e666"),t=t||{},"boolean"!==typeof i&&(i=e instanceof o),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=m(this,t,"writableHighWaterMark",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===t.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){B(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function R(t){o=o||r("e666");var e=this instanceof o;if(!e&&!c.call(R,this))return new R(t);this._writableState=new x(t,this,e),this.writable=!0,t&&("function"===typeof t.write&&(this._write=t.write),"function"===typeof t.writev&&(this._writev=t.writev),"function"===typeof t.destroy&&(this._destroy=t.destroy),"function"===typeof t.final&&(this._final=t.final)),s.call(this)}function $(t,e){var r=new S;A(t,r),i.nextTick(e,r)}function T(t,e,r,n){var o;return null===r?o=new _:"string"===typeof r||e.objectMode||(o=new v("chunk",["string","Buffer"],r)),!o||(A(t,o),i.nextTick(n,o),!1)}function I(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!==typeof e||(e=u.from(e,r)),e}function O(t,e,r,i,n,o){if(!r){var a=I(e,i,n);i!==a&&(r=!0,n="buffer",i=a)}var s=e.objectMode?1:i.length;e.length+=s;var u=e.length-1))throw new E(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(R.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(R.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),R.prototype._write=function(t,e,r){r(new g("_write()"))},R.prototype._writev=null,R.prototype.end=function(t,e,r){var i=this._writableState;return"function"===typeof t?(r=t,t=null,e=null):"function"===typeof e&&(r=e,e=null),null!==t&&void 0!==t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||K(this,i,r),this},Object.defineProperty(R.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(R.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),R.prototype.destroy=d.destroy,R.prototype._undestroy=d.undestroy,R.prototype._destroy=function(t,e){e(t)}}).call(this,r("c8ba"),r("4362"))},"1a2a":function(t,e,r){"use strict";var i=r("3fb5"),n=r("d424"),o=r("6430"),a=r("8707").Buffer,s=r("5a76"),u=r("b5ca"),h=r("69f2"),f=a.alloc(128);function l(t,e){o.call(this,"digest"),"string"===typeof e&&(e=a.from(e));var r="sha512"===t||"sha384"===t?128:64;if(this._alg=t,this._key=e,e.length>r){var i="rmd160"===t?new u:h(t);e=i.update(e).digest()}else e.length=51||!i((function(){var e=[],r=e.constructor={};return r[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},"1e3c":function(t,e,r){var i=r("6430"),n=r("1545"),o=r("3fb5"),a=r("8707").Buffer,s={"des-ede3-cbc":n.CBC.instantiate(n.EDE),"des-ede3":n.EDE,"des-ede-cbc":n.CBC.instantiate(n.EDE),"des-ede":n.EDE,"des-cbc":n.CBC.instantiate(n.DES),"des-ecb":n.DES};function u(t){i.call(this);var e,r=t.mode.toLowerCase(),n=s[r];e=t.decrypt?"decrypt":"encrypt";var o=t.key;a.isBuffer(o)||(o=a.from(o)),"des-ede"!==r&&"des-ede-cbc"!==r||(o=a.concat([o,o.slice(0,8)]));var u=t.iv;a.isBuffer(u)||(u=a.from(u)),this._des=n.create({key:o,iv:u,type:e})}s.des=s["des-cbc"],s.des3=s["des-ede3-cbc"],t.exports=u,o(u,i),u.prototype._update=function(t){return a.from(this._des.update(t))},u.prototype._final=function(){return a.from(this._des.final())}},"1fb5":function(t,e,r){"use strict";e.byteLength=f,e.toByteArray=c,e.fromByteArray=m;for(var i=[],n=[],o="undefined"!==typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");-1===r&&(r=e);var i=r===e?0:4-r%4;return[r,i]}function f(t){var e=h(t),r=e[0],i=e[1];return 3*(r+i)/4-i}function l(t,e,r){return 3*(e+r)/4-r}function c(t){var e,r,i=h(t),a=i[0],s=i[1],u=new o(l(t,a,s)),f=0,c=s>0?a-4:a;for(r=0;r>16&255,u[f++]=e>>8&255,u[f++]=255&e;return 2===s&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[f++]=255&e),1===s&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[f++]=e>>8&255,u[f++]=255&e),u}function d(t){return i[t>>18&63]+i[t>>12&63]+i[t>>6&63]+i[63&t]}function p(t,e,r){for(var i,n=[],o=e;ou?u:s+a));return 1===n?(e=t[r-1],o.push(i[e>>2]+i[e<<4&63]+"==")):2===n&&(e=(t[r-2]<<8)+t[r-1],o.push(i[e>>10]+i[e>>4&63]+i[e<<2&63]+"=")),o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},"1fec":function(t,e,r){"use strict";var i=r("da3e"),n=r("3fb5"),o=r("0184"),a=r("4e2b");function s(t,e){i.equal(e.length,24,"Invalid key length");var r=e.slice(0,8),n=e.slice(8,16),o=e.slice(16,24);this.ciphers="encrypt"===t?[a.create({type:"encrypt",key:r}),a.create({type:"decrypt",key:n}),a.create({type:"encrypt",key:o})]:[a.create({type:"decrypt",key:o}),a.create({type:"encrypt",key:n}),a.create({type:"decrypt",key:r})]}function u(t){o.call(this,t);var e=new s(this.type,this.options.key);this._edeState=e}n(u,o),t.exports=u,u.create=function(t){return new u(t)},u.prototype._update=function(t,e,r,i){var n=this._edeState;n.ciphers[0]._update(t,e,r,i),n.ciphers[1]._update(r,i,r,i),n.ciphers[2]._update(r,i,r,i)},u.prototype._pad=a.prototype._pad,u.prototype._unpad=a.prototype._unpad},2:function(t,e){},"206d":function(t,e,r){(function(e,i){var n,o=r("8707").Buffer,a=r("7d2a"),s=r("9f9d"),u=r("e07b"),h=r("8be6"),f=e.crypto&&e.crypto.subtle,l={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},c=[];function d(t){if(e.process&&!e.process.browser)return Promise.resolve(!1);if(!f||!f.importKey||!f.deriveBits)return Promise.resolve(!1);if(void 0!==c[t])return c[t];n=n||o.alloc(8);var r=p(n,n,10,128,t).then((function(){return!0})).catch((function(){return!1}));return c[t]=r,r}function p(t,e,r,i,n){return f.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then((function(t){return f.deriveBits({name:"PBKDF2",salt:e,iterations:r,hash:{name:n}},t,i<<3)})).then((function(t){return o.from(t)}))}function m(t,e){t.then((function(t){i.nextTick((function(){e(null,t)}))}),(function(t){i.nextTick((function(){e(t)}))}))}t.exports=function(t,r,n,o,f,c){"function"===typeof f&&(c=f,f=void 0),f=f||"sha1";var b=l[f.toLowerCase()];if(!b||"function"!==typeof e.Promise)return i.nextTick((function(){var e;try{e=u(t,r,n,o,f)}catch(i){return c(i)}c(null,e)}));if(a(n,o),t=h(t,s,"Password"),r=h(r,s,"Salt"),"function"!==typeof c)throw new Error("No callback provided to pbkdf2");m(d(b).then((function(e){return e?p(t,r,n,o,b):u(t,r,n,o,f)})),c)}}).call(this,r("c8ba"),r("4362"))},"20f6":function(t,e,r){var i=e;i.der=r("cfbd"),i.pem=r("8df7")},2137:function(t,e,r){"use strict";var i=r("c3c0"),n=r("da3e");function o(t,e,r){if(!(this instanceof o))return new o(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(i.toArray(e,r))}t.exports=o,o.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),n(t.length<=this.blockSize);for(var e=t.length;e0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";var e=this.head,r=""+e.data;while(e=e.next)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return f.alloc(0);var e=f.allocUnsafe(t>>>0),r=this.head,i=0;while(r)p(r.data,e,i),i+=r.data.length,r=r.next;return e}},{key:"consume",value:function(t,e){var r;return tn.length?n.length:t;if(o===n.length?i+=n:i+=n.slice(0,t),t-=o,0===t){o===n.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=n.slice(o));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(t){var e=f.allocUnsafe(t),r=this.head,i=1;r.data.copy(e),t-=r.data.length;while(r=r.next){var n=r.data,o=t>n.length?n.length:t;if(n.copy(e,e.length-t,0,o),t-=o,0===t){o===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(o));break}++i}return this.length-=i,e}},{key:d,value:function(t,e){return c(this,n({},e,{depth:0,customInspect:!1}))}}]),t}()},"23cb":function(t,e,r){var i=r("a691"),n=Math.max,o=Math.min;t.exports=function(t,e){var r=i(t);return r<0?n(r+e,0):o(r,e)}},"23e7":function(t,e,r){var i=r("da84"),n=r("06cf").f,o=r("9112"),a=r("6eeb"),s=r("ce4e"),u=r("e893"),h=r("94ca");t.exports=function(t,e){var r,f,l,c,d,p,m=t.target,b=t.global,v=t.stat;if(f=b?i:v?i[m]||s(m,{}):(i[m]||{}).prototype,f)for(l in e){if(d=e[l],t.noTargetGet?(p=n(f,l),c=p&&p.value):c=f[l],r=h(b?l:m+(v?".":"#")+l,t.forced),!r&&void 0!==c){if(typeof d===typeof c)continue;u(d,c)}(t.sham||c&&c.sham)&&o(d,"sham",!0),a(f,l,d,t)}}},"241c":function(t,e,r){var i=r("ca84"),n=r("7839"),o=n.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,o)}},"25a1":function(t,e,r){"use strict";var i=r("ebb5"),n=r("d58f").right,o=i.aTypedArray,a=i.exportTypedArrayMethod;a("reduceRight",(function(t){return n(o(this),t,arguments.length,arguments.length>1?arguments[1]:void 0)}))},2626:function(t,e,r){"use strict";var i=r("d066"),n=r("9bf2"),o=r("b622"),a=r("83ab"),s=o("species");t.exports=function(t){var e=i(t),r=n.f;a&&e&&!e[s]&&r(e,s,{configurable:!0,get:function(){return this}})}},"27bf":function(t,e,r){"use strict";t.exports=a;var i=r("b19a"),n=Object.create(r("3a7c"));function o(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(!i)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=e&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.lengtho)f[o]=r[o++];return f}),f)},"2aee":function(t,e,r){var i=r("4111"),n=r("d70e"),o=r("4dd0"),a=r("fda6"),s=r("a099"),u=r("8707").Buffer;function h(t){var e;"object"!==typeof t||u.isBuffer(t)||(e=t.passphrase,t=t.key),"string"===typeof t&&(t=u.from(t));var r,n,a=o(t,e),s=a.tag,h=a.data;switch(s){case"CERTIFICATE":n=i.certificate.decode(h,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(n||(n=i.PublicKey.decode(h,"der")),r=n.algorithm.algorithm.join("."),r){case"1.2.840.113549.1.1.1":return i.RSAPublicKey.decode(n.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return n.subjectPrivateKey=n.subjectPublicKey,{type:"ec",data:n};case"1.2.840.10040.4.1":return n.algorithm.params.pub_key=i.DSAparam.decode(n.subjectPublicKey.data,"der"),{type:"dsa",data:n.algorithm.params};default:throw new Error("unknown key id "+r)}throw new Error("unknown key type "+s);case"ENCRYPTED PRIVATE KEY":h=i.EncryptedPrivateKey.decode(h,"der"),h=f(h,e);case"PRIVATE KEY":switch(n=i.PrivateKey.decode(h,"der"),r=n.algorithm.algorithm.join("."),r){case"1.2.840.113549.1.1.1":return i.RSAPrivateKey.decode(n.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:n.algorithm.curve,privateKey:i.ECPrivateKey.decode(n.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return n.algorithm.params.priv_key=i.DSAparam.decode(n.subjectPrivateKey,"der"),{type:"dsa",params:n.algorithm.params};default:throw new Error("unknown key id "+r)}throw new Error("unknown key type "+s);case"RSA PUBLIC KEY":return i.RSAPublicKey.decode(h,"der");case"RSA PRIVATE KEY":return i.RSAPrivateKey.decode(h,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:i.DSAPrivateKey.decode(h,"der")};case"EC PRIVATE KEY":return h=i.ECPrivateKey.decode(h,"der"),{curve:h.parameters.value,privateKey:h.privateKey};default:throw new Error("unknown key type "+s)}}function f(t,e){var r=t.algorithm.decrypt.kde.kdeparams.salt,i=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),o=n[t.algorithm.decrypt.cipher.algo.join(".")],h=t.algorithm.decrypt.cipher.iv,f=t.subjectPrivateKey,l=parseInt(o.split("-")[1],10)/8,c=s.pbkdf2Sync(e,r,i,l,"sha1"),d=a.createDecipheriv(o,c,h),p=[];return p.push(d.update(f)),p.push(d.final()),u.concat(p)}t.exports=h,h.signature=i.signature},"2c63":function(t,e,r){t.exports=r("dc14")},"2d00":function(t,e,r){var i,n,o=r("da84"),a=r("342f"),s=o.process,u=s&&s.versions,h=u&&u.v8;h?(i=h.split("."),n=i[0]+i[1]):a&&(i=a.match(/Edge\/(\d+)/),(!i||i[1]>=74)&&(i=a.match(/Chrome\/(\d+)/),i&&(n=i[1]))),t.exports=n&&+n},3:function(t,e){},3280:function(t,e,r){"use strict";var i=r("ebb5"),n=r("e58c"),o=i.aTypedArray,a=i.exportTypedArrayMethod;a("lastIndexOf",(function(t){return n.apply(o(this),arguments)}))},3300:function(t,e,r){"use strict";var i=r("f3a3"),n=r("80af"),o=r("3fb5"),a=r("ea53"),s=i.assert;function u(t){a.call(this,"short",t),this.a=new n(t.a,16).toRed(this.red),this.b=new n(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function h(t,e,r,i){a.BasePoint.call(this,t,"affine"),null===e&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new n(e,16),this.y=new n(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function f(t,e,r,i){a.BasePoint.call(this,t,"jacobian"),null===e&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new n(0)):(this.x=new n(e,16),this.y=new n(r,16),this.z=new n(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(u,a),t.exports=u,u.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r,i;if(t.beta)e=new n(t.beta,16).toRed(this.red);else{var o=this._getEndoRoots(this.p);e=o[0].cmp(o[1])<0?o[0]:o[1],e=e.toRed(this.red)}if(t.lambda)r=new n(t.lambda,16);else{var a=this._getEndoRoots(this.n);0===this.g.mul(a[0]).x.cmp(this.g.x.redMul(e))?r=a[0]:(r=a[1],s(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return i=t.basis?t.basis.map((function(t){return{a:new n(t.a,16),b:new n(t.b,16)}})):this._getEndoBasis(r),{beta:e,lambda:r,basis:i}}},u.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:n.mont(t),r=new n(2).toRed(e).redInvm(),i=r.redNeg(),o=new n(3).toRed(e).redNeg().redSqrt().redMul(r),a=i.redAdd(o).fromRed(),s=i.redSub(o).fromRed();return[a,s]},u.prototype._getEndoBasis=function(t){var e,r,i,o,a,s,u,h,f,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),c=t,d=this.n.clone(),p=new n(1),m=new n(0),b=new n(0),v=new n(1),g=0;while(0!==c.cmpn(0)){var y=d.div(c);h=d.sub(y.mul(c)),f=b.sub(y.mul(p));var w=v.sub(y.mul(m));if(!i&&h.cmp(l)<0)e=u.neg(),r=p,i=h.neg(),o=f;else if(i&&2===++g)break;u=h,d=c,c=h,b=p,p=f,v=m,m=w}a=h.neg(),s=f;var M=i.sqr().add(o.sqr()),_=a.sqr().add(s.sqr());return _.cmp(M)>=0&&(a=e,s=r),i.negative&&(i=i.neg(),o=o.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:i,b:o},{a:a,b:s}]},u.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],i=e[1],n=i.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),a=n.mul(r.a),s=o.mul(i.a),u=n.mul(r.b),h=o.mul(i.b),f=t.sub(a).sub(s),l=u.add(h).neg();return{k1:f,k2:l}},u.prototype.pointFromX=function(t,e){t=new n(t,16),t.red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=i.fromRed().isOdd();return(e&&!o||!e&&o)&&(i=i.redNeg()),this.point(t,i)},u.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,i=this.a.redMul(e),n=e.redSqr().redMul(e).redIAdd(i).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},u.prototype._endoWnafMulAdd=function(t,e,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,o=0;o":""},h.prototype.isInfinity=function(){return this.inf},h.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),i=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},h.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),i=t.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(i),o=n.redSqr().redISub(this.x.redAdd(this.x)),a=n.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},h.prototype.getX=function(){return this.x.fromRed()},h.prototype.getY=function(){return this.y.fromRed()},h.prototype.mul=function(t){return t=new n(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},h.prototype.mulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},h.prototype.jmulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},h.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},h.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,i=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return e},h.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var t=this.curve.jpoint(this.x,this.y,this.curve.one);return t},o(f,a.BasePoint),u.prototype.jpoint=function(t,e,r){return new f(this,t,e,r)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),i=this.y.redMul(e).redMul(t);return this.curve.point(r,i)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(e),n=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),a=t.y.redMul(r.redMul(this.z)),s=i.redSub(n),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h=s.redSqr(),f=h.redMul(s),l=i.redMul(h),c=u.redSqr().redIAdd(f).redISub(l).redISub(l),d=u.redMul(l.redISub(c)).redISub(o.redMul(f)),p=this.z.redMul(t.z).redMul(s);return this.curve.jpoint(c,d,p)},f.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,i=t.x.redMul(e),n=this.y,o=t.y.redMul(e).redMul(this.z),a=r.redSub(i),s=n.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),h=u.redMul(a),f=r.redMul(u),l=s.redSqr().redIAdd(h).redISub(f).redISub(f),c=s.redMul(f.redISub(l)).redISub(n.redMul(h)),d=this.z.redMul(a);return this.curve.jpoint(l,c,d)},f.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var e=this,r=0;r=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},3337:function(t,e,r){"use strict";var i=e;i.version=r("2801").version,i.utils=r("f3a3"),i.rand=r("fdac"),i.curve=r("4136"),i.curves=r("0cbb"),i.ec=r("b9a8"),i.eddsa=r("945d")},"334a":function(t,e,r){e=t.exports=r("4250"),e.Stream=e,e.Readable=e,e.Writable=r("19ea"),e.Duplex=r("e666"),e.Transform=r("09dc"),e.PassThrough=r("0ae3"),e.finished=r("ee93"),e.pipeline=r("fbd5")},"342f":function(t,e,r){var i=r("d066");t.exports=i("navigator","userAgent")||""},"343e":function(t,e,r){var i=e;i.der=r("3768"),i.pem=r("85b3")},"34d5":function(t,e,r){e=t.exports=r("cf35"),e.Stream=e,e.Readable=e,e.Writable=r("49ce"),e.Duplex=r("5e7d"),e.Transform=r("f1c8"),e.PassThrough=r("9d28"),e.finished=r("42a7"),e.pipeline=r("ac4f")},3505:function(t,e,r){var i=r("8707").Buffer,n=r("8c8a");function o(t,e,r){var o=e.length,a=n(e,t._cache);return t._cache=t._cache.slice(o),t._prev=i.concat([t._prev,r?e:a]),a}e.encrypt=function(t,e,r){var n,a=i.allocUnsafe(0);while(e.length){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=i.allocUnsafe(0)),!(t._cache.length<=e.length)){a=i.concat([a,o(t,e,r)]);break}n=t._cache.length,a=i.concat([a,o(t,e.slice(0,n),r)]),e=e.slice(n)}return a}},"35a1":function(t,e,r){var i=r("f5df"),n=r("3f8c"),o=r("b622"),a=o("iterator");t.exports=function(t){if(void 0!=t)return t[a]||t["@@iterator"]||n[i(t)]}},3768:function(t,e,r){var i=r("3fb5"),n=r("b639").Buffer,o=r("7f7a"),a=o.base,s=o.constants.der;function u(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new h,this.tree._init(t.body)}function h(t){a.Node.call(this,"der",t)}function f(t){return t<10?"0"+t:t}function l(t,e,r,i){var n;if("seqof"===t?t="seq":"setof"===t&&(t="set"),s.tagByName.hasOwnProperty(t))n=s.tagByName[t];else{if("number"!==typeof t||(0|t)!==t)return i.error("Unknown tag: "+t);n=t}return n>=31?i.error("Multi-octet tag encoding unsupported"):(e||(n|=32),n|=s.tagClassByName[r||"universal"]<<6,n)}t.exports=u,u.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},i(h,a.Node),h.prototype._encodeComposite=function(t,e,r,i){var o=l(t,e,r,this.reporter);if(i.length<128){var a=new n(2);return a[0]=o,a[1]=i.length,this._createEncoderBuffer([a,i])}for(var s=1,u=i.length;u>=256;u>>=8)s++;a=new n(2+s);a[0]=o,a[1]=128|s;u=1+s;for(var h=i.length;h>0;u--,h>>=8)a[u]=255&h;return this._createEncoderBuffer([a,i])},h.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){for(var r=new n(2*t.length),i=0;i=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}var o=0;for(i=0;i=128;a>>=7)o++}var s=new n(o),u=s.length-1;for(i=t.length-1;i>=0;i--){a=t[i];s[u--]=127&a;while((a>>=7)>0)s[u--]=128|127&a}return this._createEncoderBuffer(s)},h.prototype._encodeTime=function(t,e){var r,i=new Date(t);return"gentime"===e?r=[f(i.getFullYear()),f(i.getUTCMonth()+1),f(i.getUTCDate()),f(i.getUTCHours()),f(i.getUTCMinutes()),f(i.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[f(i.getFullYear()%100),f(i.getUTCMonth()+1),f(i.getUTCDate()),f(i.getUTCHours()),f(i.getUTCMinutes()),f(i.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},h.prototype._encodeNull=function(){return this._createEncoderBuffer("")},h.prototype._encodeInt=function(t,e){if("string"===typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!==typeof t&&!n.isBuffer(t)){var r=t.toArray();!t.sign&&128&r[0]&&r.unshift(0),t=new n(r)}if(n.isBuffer(t)){var i=t.length;0===t.length&&i++;var o=new n(i);return t.copy(o),0===t.length&&(o[0]=0),this._createEncoderBuffer(o)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);i=1;for(var a=t;a>=256;a>>=8)i++;for(o=new Array(i),a=o.length-1;a>=0;a--)o[a]=255&t,t>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new n(o))},h.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},h.prototype._use=function(t,e){return"function"===typeof t&&(t=t(e)),t._getEncoder("der").tree},h.prototype._skipDefault=function(t,e,r){var i,n=this._baseState;if(null===n["default"])return!1;var o=t.join();if(void 0===n.defaultBuffer&&(n.defaultBuffer=this._encodeValue(n["default"],e,r).join()),o.length!==n.defaultBuffer.length)return!1;for(i=0;i=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],k=8191&A,x=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,q=P>>>13,D=0|s[0],U=8191&D,F=D>>>13,z=0|s[1],K=8191&z,H=z>>>13,W=0|s[2],Z=8191&W,Y=W>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,H)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,H)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,H)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,H)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,H)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,H)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,H)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,H)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,U),n=Math.imul(k,F),n=n+Math.imul(x,U)|0,o=Math.imul(x,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,H)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,H)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(k,K)|0,n=n+Math.imul(k,H)|0,n=n+Math.imul(x,K)|0,o=o+Math.imul(x,H)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,H)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,H)|0,i=i+Math.imul(k,Z)|0,n=n+Math.imul(k,Y)|0,n=n+Math.imul(x,Z)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,H)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,H)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(k,G)|0,n=n+Math.imul(k,X)|0,n=n+Math.imul(x,G)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(q,U)|0,o=Math.imul(q,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,H)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,H)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(k,Q)|0,n=n+Math.imul(k,tt)|0,n=n+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,H),n=n+Math.imul(q,K)|0,o=Math.imul(q,H),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(k,rt)|0,n=n+Math.imul(k,it)|0,n=n+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(q,Z)|0,o=Math.imul(q,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(k,ot)|0,n=n+Math.imul(k,at)|0,n=n+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(q,G)|0,o=Math.imul(q,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(k,ut)|0,n=n+Math.imul(k,ht)|0,n=n+Math.imul(x,ut)|0,o=o+Math.imul(x,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(q,Q)|0,o=Math.imul(q,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(k,lt)|0,n=n+Math.imul(k,ct)|0,n=n+Math.imul(x,lt)|0,o=o+Math.imul(x,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(q,rt)|0,o=Math.imul(q,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(k,pt)|0,n=n+Math.imul(k,mt)|0,n=n+Math.imul(x,pt)|0,o=o+Math.imul(x,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(q,ot)|0,o=Math.imul(q,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(q,ut)|0,o=Math.imul(q,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(q,lt)|0,o=Math.imul(q,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(q,pt)|0,o=Math.imul(q,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=kt,u[11]=xt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},"37e8":function(t,e,r){var i=r("83ab"),n=r("9bf2"),o=r("825a"),a=r("df75");t.exports=i?Object.defineProperties:function(t,e){o(t);var r,i=a(e),s=i.length,u=0;while(s>u)n.f(t,r=i[u++],e[r]);return t}},"380f":function(t,e,r){"use strict";var i=r("f3a3"),n=i.assert,o=i.parseBytes,a=i.cachedProperty;function s(t,e){this.eddsa=t,this._secret=o(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=o(e.pub)}s.fromPublic=function(t,e){return e instanceof s?e:new s(t,{pub:e})},s.fromSecret=function(t,e){return e instanceof s?e:new s(t,{secret:e})},s.prototype.secret=function(){return this._secret},a(s,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),a(s,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),a(s,"privBytes",(function(){var t=this.eddsa,e=this.hash(),r=t.encodingLength-1,i=e.slice(0,t.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i})),a(s,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),a(s,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),a(s,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),s.prototype.sign=function(t){return n(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},s.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},s.prototype.getSecret=function(t){return n(this._secret,"KeyPair is public only"),i.encode(this.secret(),t)},s.prototype.getPublic=function(t){return i.encode(this.pubBytes(),t)},t.exports=s},"399f":function(t,e,r){(function(t){(function(t,e){"use strict";function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var a;"object"===typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{a=r(11).Buffer}catch($){}function s(t,e,r){for(var n=0,o=Math.min(t.length,r),a=0,s=e;s=49&&h<=54?h-49+10:h>=17&&h<=22?h-17+10:h,n|=u,a|=u}return i(!(240&a),"Invalid character in "+t),n}function u(t,e,r,n){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u=49?h-49+10:h>=17?h-17+10:h,i(h>=0&&a"}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this._strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this._strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this._strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!==typeof Symbol&&"function"===typeof Symbol.for?o.prototype[Symbol.for("nodejs.util.inspect.custom")]=f:o.prototype.inspect=f;var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?l[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var h=c[t],f=d[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modrn(f).toString(t);p=p.idivn(f),r=p.isZero()?m+r:l[h-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16,2)},a&&(o.prototype.toBuffer=function(t,e){return this.toArrayLike(a,t,e)}),o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};var p=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)};function m(t){for(var e=new Array(t.bitLength()),r=0;r>>n&1}return e}function b(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r._strip()}o.prototype.toArrayLike=function(t,e,r){this._strip();var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0");var a=p(t,o),s="le"===e?"LE":"BE";return this["_toArrayLike"+s](a,n),a},o.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,o=0;n>8&255),r>16&255),6===o?(r>24&255),i=0,o=0):(i=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),i=0,o=0):(i=a>>>24,o+=2)}if(r>=0){t[r--]=i;while(r>=0)t[r--]=0}},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],k=8191&A,x=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,q=P>>>13,D=0|s[0],U=8191&D,F=D>>>13,z=0|s[1],K=8191&z,H=z>>>13,W=0|s[2],Z=8191&W,Y=W>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,H)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,H)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,H)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,H)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,H)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,H)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,H)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,H)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,U),n=Math.imul(k,F),n=n+Math.imul(x,U)|0,o=Math.imul(x,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,H)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,H)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(k,K)|0,n=n+Math.imul(k,H)|0,n=n+Math.imul(x,K)|0,o=o+Math.imul(x,H)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,H)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,H)|0,i=i+Math.imul(k,Z)|0,n=n+Math.imul(k,Y)|0,n=n+Math.imul(x,Z)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,H)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,H)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(k,G)|0,n=n+Math.imul(k,X)|0,n=n+Math.imul(x,G)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(q,U)|0,o=Math.imul(q,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,H)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,H)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(k,Q)|0,n=n+Math.imul(k,tt)|0,n=n+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,H),n=n+Math.imul(q,K)|0,o=Math.imul(q,H),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(k,rt)|0,n=n+Math.imul(k,it)|0,n=n+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(q,Z)|0,o=Math.imul(q,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(k,ot)|0,n=n+Math.imul(k,at)|0,n=n+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(q,G)|0,o=Math.imul(q,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(k,ut)|0,n=n+Math.imul(k,ht)|0,n=n+Math.imul(x,ut)|0,o=o+Math.imul(x,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(q,Q)|0,o=Math.imul(q,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(k,lt)|0,n=n+Math.imul(k,ct)|0,n=n+Math.imul(x,lt)|0,o=o+Math.imul(x,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(q,rt)|0,o=Math.imul(q,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(k,pt)|0,n=n+Math.imul(k,mt)|0,n=n+Math.imul(x,pt)|0,o=o+Math.imul(x,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(q,ot)|0,o=Math.imul(q,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(q,ut)|0,o=Math.imul(q,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(q,lt)|0,o=Math.imul(q,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(q,pt)|0,o=Math.imul(q,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=kt,u[11]=xt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r._strip()}function y(t,e,r){return g(t,e,r)}function w(t,e){this.x=t,this.y=e}Math.imul||(v=b),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?v(this,t,e):i<63?b(this,t,e):i<1024?g(this,t,e):y(this,t,e),r},w.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},w.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[n]=67108863&a}return 0!==r&&(this.words[n]=r,this.length++),e?this.ineg():this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=m(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this._strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modrn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modrn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%t;return e?-n:n},o.prototype.modn=function(t){return this.modrn(t)},o.prototype.idivn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var M={k256:null,p224:null,p192:null,p25519:null};function _(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function S(){_.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function E(){_.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){_.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function k(){_.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function R(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}_.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},_.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},_.prototype.split=function(t,e){t.iushrn(this.n,0,e)},_.prototype.imulK=function(t){return t.imul(this.k)},n(S,_),S.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},S.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(M[t])return M[t];var e;if("k256"===t)e=new S;else if("p224"===t)e=new E;else if("p192"===t)e=new A;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new k}return M[t]=e,e},x.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},x.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new R(t)},n(R,x),R.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},R.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},R.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},R.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},R.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},"39a9":function(t,e,r){ -/*! safe-buffer. MIT License. Feross Aboukhadijeh */ -var i=r("b639"),n=i.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(o(i,e),e.Buffer=a),a.prototype=Object.create(n.prototype),o(n,a),a.from=function(t,e,r){if("number"===typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},a.alloc=function(t,e,r){if("number"!==typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"===typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},a.allocUnsafe=function(t){if("number"!==typeof t)throw new TypeError("Argument must be a number");return n(t)},a.allocUnsafeSlow=function(t){if("number"!==typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},"39f5":function(t,e,r){var i=r("8707").Buffer;function n(t){i.isBuffer(t)||(t=i.from(t));for(var e=t.length/4|0,r=new Array(e),n=0;n>>24]^f[p>>>16&255]^l[m>>>8&255]^c[255&b]^e[v++],a=h[p>>>24]^f[m>>>16&255]^l[b>>>8&255]^c[255&d]^e[v++],s=h[m>>>24]^f[b>>>16&255]^l[d>>>8&255]^c[255&p]^e[v++],u=h[b>>>24]^f[d>>>16&255]^l[p>>>8&255]^c[255&m]^e[v++],d=o,p=a,m=s,b=u;return o=(i[d>>>24]<<24|i[p>>>16&255]<<16|i[m>>>8&255]<<8|i[255&b])^e[v++],a=(i[p>>>24]<<24|i[m>>>16&255]<<16|i[b>>>8&255]<<8|i[255&d])^e[v++],s=(i[m>>>24]<<24|i[b>>>16&255]<<16|i[d>>>8&255]<<8|i[255&p])^e[v++],u=(i[b>>>24]<<24|i[d>>>16&255]<<16|i[p>>>8&255]<<8|i[255&m])^e[v++],o>>>=0,a>>>=0,s>>>=0,u>>>=0,[o,a,s,u]}var s=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],i=[],n=[[],[],[],[]],o=[[],[],[],[]],a=0,s=0,u=0;u<256;++u){var h=s^s<<1^s<<2^s<<3^s<<4;h=h>>>8^255&h^99,r[a]=h,i[h]=a;var f=t[a],l=t[f],c=t[l],d=257*t[h]^16843008*h;n[0][a]=d<<24|d>>>8,n[1][a]=d<<16|d>>>16,n[2][a]=d<<8|d>>>24,n[3][a]=d,d=16843009*c^65537*l^257*f^16843008*a,o[0][h]=d<<24|d>>>8,o[1][h]=d<<16|d>>>16,o[2][h]=d<<8|d>>>24,o[3][h]=d,0===a?a=s=1:(a=f^t[t[t[c^f]]],s^=t[t[s]])}return{SBOX:r,INV_SBOX:i,SUB_MIX:n,INV_SUB_MIX:o}}();function h(t){this._key=n(t),this._reset()}h.blockSize=16,h.keySize=32,h.prototype.blockSize=h.blockSize,h.prototype.keySize=h.keySize,h.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,i=4*(r+1),n=[],o=0;o>>24,a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a],a^=s[o/e|0]<<24):e>6&&o%e===4&&(a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a]),n[o]=n[o-e]^a}for(var h=[],f=0;f>>24]]^u.INV_SUB_MIX[1][u.SBOX[c>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[c>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&c]]}this._nRounds=r,this._keySchedule=n,this._invKeySchedule=h},h.prototype.encryptBlockRaw=function(t){return t=n(t),a(t,this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},h.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=i.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},h.prototype.decryptBlock=function(t){t=n(t);var e=t[1];t[1]=t[3],t[3]=e;var r=a(t,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),o=i.allocUnsafe(16);return o.writeUInt32BE(r[0],0),o.writeUInt32BE(r[3],4),o.writeUInt32BE(r[2],8),o.writeUInt32BE(r[1],12),o},h.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},t.exports.AES=h},"3a7b":function(t,e,r){"use strict";var i=r("ebb5"),n=r("b727").findIndex,o=i.aTypedArray,a=i.exportTypedArrayMethod;a("findIndex",(function(t){return n(o(this),t,arguments.length>1?arguments[1]:void 0)}))},"3a7c":function(t,e,r){(function(t){function r(t){return Array.isArray?Array.isArray(t):"[object Array]"===b(t)}function i(t){return"boolean"===typeof t}function n(t){return null===t}function o(t){return null==t}function a(t){return"number"===typeof t}function s(t){return"string"===typeof t}function u(t){return"symbol"===typeof t}function h(t){return void 0===t}function f(t){return"[object RegExp]"===b(t)}function l(t){return"object"===typeof t&&null!==t}function c(t){return"[object Date]"===b(t)}function d(t){return"[object Error]"===b(t)||t instanceof Error}function p(t){return"function"===typeof t}function m(t){return null===t||"boolean"===typeof t||"number"===typeof t||"string"===typeof t||"symbol"===typeof t||"undefined"===typeof t}function b(t){return Object.prototype.toString.call(t)}e.isArray=r,e.isBoolean=i,e.isNull=n,e.isNullOrUndefined=o,e.isNumber=a,e.isString=s,e.isSymbol=u,e.isUndefined=h,e.isRegExp=f,e.isObject=l,e.isDate=c,e.isError=d,e.isFunction=p,e.isPrimitive=m,e.isBuffer=t.isBuffer}).call(this,r("b639").Buffer)},"3bbe":function(t,e,r){var i=r("861d");t.exports=function(t){if(!i(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3c5d":function(t,e,r){"use strict";var i=r("ebb5"),n=r("50c4"),o=r("182d"),a=r("7b0b"),s=r("d039"),u=i.aTypedArray,h=i.exportTypedArrayMethod,f=s((function(){new Int8Array(1).set({})}));h("set",(function(t){u(this);var e=o(arguments.length>1?arguments[1]:void 0,1),r=this.length,i=a(t),s=n(i.length),h=0;if(s+e>r)throw RangeError("Wrong length");while(h=r.length?{value:void 0,done:!0}:(t=i(r,n),e.index+=t.length,{value:t,done:!1})}))},"3daf":function(t,e,r){"use strict";var i=r("f3a3"),n=r("80af"),o=r("3fb5"),a=r("ea53"),s=i.assert;function u(t){this.twisted=1!==(0|t.a),this.mOneA=this.twisted&&-1===(0|t.a),this.extended=this.mOneA,a.call(this,"edwards",t),this.a=new n(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new n(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new n(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),s(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1===(0|t.c)}function h(t,e,r,i,o){a.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new n(e,16),this.y=new n(r,16),this.z=i?new n(i,16):this.curve.one,this.t=o&&new n(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(u,a),t.exports=u,u.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},u.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},u.prototype.jpoint=function(t,e,r,i){return this.point(t,e,r,i)},u.prototype.pointFromX=function(t,e){t=new n(t,16),t.red||(t=t.toRed(this.red));var r=t.redSqr(),i=this.c2.redSub(this.a.redMul(r)),o=this.one.redSub(this.c2.redMul(this.d).redMul(r)),a=i.redMul(o.redInvm()),s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");var u=s.fromRed().isOdd();return(e&&!u||!e&&u)&&(s=s.redNeg()),this.point(t,s)},u.prototype.pointFromY=function(t,e){t=new n(t,16),t.red||(t=t.toRed(this.red));var r=t.redSqr(),i=r.redSub(this.c2),o=r.redMul(this.d).redMul(this.c2).redSub(this.a),a=i.redMul(o.redInvm());if(0===a.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==e&&(s=s.redNeg()),this.point(s,t)},u.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),i=e.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===i.cmp(n)},o(h,a.BasePoint),u.prototype.pointFromJSON=function(t){return h.fromJSON(this,t)},u.prototype.point=function(t,e,r,i){return new h(this,t,e,r,i)},h.fromJSON=function(t,e){return new h(t,e[0],e[1],e[2])},h.prototype.inspect=function(){return this.isInfinity()?"":""},h.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},h.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(t),n=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=i.redAdd(e),a=o.redSub(r),s=i.redSub(e),u=n.redMul(a),h=o.redMul(s),f=n.redMul(s),l=a.redMul(o);return this.curve.point(u,h,l,f)},h.prototype._projDbl=function(){var t,e,r,i=this.x.redAdd(this.y).redSqr(),n=this.x.redSqr(),o=this.y.redSqr();if(this.curve.twisted){var a=this.curve._mulA(n),s=a.redAdd(o);if(this.zOne)t=i.redSub(n).redSub(o).redMul(s.redSub(this.curve.two)),e=s.redMul(a.redSub(o)),r=s.redSqr().redSub(s).redSub(s);else{var u=this.z.redSqr(),h=s.redSub(u).redISub(u);t=i.redSub(n).redISub(o).redMul(h),e=s.redMul(a.redSub(o)),r=s.redMul(h)}}else{a=n.redAdd(o),u=this.curve._mulC(this.z).redSqr(),h=a.redSub(u).redSub(u);t=this.curve._mulC(i.redISub(a)).redMul(h),e=this.curve._mulC(a).redMul(n.redISub(o)),r=a.redMul(h)}return this.curve.point(t,e,r)},h.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},h.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),i=this.t.redMul(this.curve.dd).redMul(t.t),n=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),a=n.redSub(i),s=n.redAdd(i),u=r.redAdd(e),h=o.redMul(a),f=s.redMul(u),l=o.redMul(u),c=a.redMul(s);return this.curve.point(h,f,c,l)},h.prototype._projAdd=function(t){var e,r,i=this.z.redMul(t.z),n=i.redSqr(),o=this.x.redMul(t.x),a=this.y.redMul(t.y),s=this.curve.d.redMul(o).redMul(a),u=n.redSub(s),h=n.redAdd(s),f=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(a),l=i.redMul(u).redMul(f);return this.curve.twisted?(e=i.redMul(h).redMul(a.redSub(this.curve._mulA(o))),r=u.redMul(h)):(e=i.redMul(h).redMul(a.redSub(o)),r=this.curve._mulC(u).redMul(h)),this.curve.point(l,e,r)},h.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},h.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},h.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},h.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},h.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},h.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},h.prototype.getX=function(){return this.normalize(),this.x.fromRed()},h.prototype.getY=function(){return this.normalize(),this.y.fromRed()},h.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},h.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(i),0===this.x.cmp(e))return!0}},h.prototype.toP=h.prototype.normalize,h.prototype.mixedAdd=h.prototype.add},"3e8f":function(t,e){},"3f62":function(t,e,r){var i=r("8707").Buffer,n=i.alloc(16,0);function o(t){return[t.readUInt32BE(0),t.readUInt32BE(4),t.readUInt32BE(8),t.readUInt32BE(12)]}function a(t){var e=i.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function s(t){this.h=t,this.state=i.alloc(16,0),this.cache=i.allocUnsafe(0)}s.prototype.ghash=function(t){var e=-1;while(++e0;t--)i[t]=i[t]>>>1|(1&i[t-1])<<31;i[0]=i[0]>>>1,r&&(i[0]=i[0]^225<<24)}this.state=a(n)},s.prototype.update=function(t){var e;this.cache=i.concat([this.cache,t]);while(this.cache.length>=16)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},s.prototype.final=function(t,e){return this.cache.length&&this.ghash(i.concat([this.cache,n],16)),this.ghash(a([0,t,0,e])),this.state},t.exports=s},"3f8c":function(t,e){t.exports={}},"3fb5":function(t,e){"function"===typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},"3fcc":function(t,e,r){"use strict";var i=r("ebb5"),n=r("b727").map,o=r("4840"),a=i.aTypedArray,s=i.aTypedArrayConstructor,u=i.exportTypedArrayMethod;u("map",(function(t){return n(a(this),t,arguments.length>1?arguments[1]:void 0,(function(t,e){return new(s(o(t,t.constructor)))(e)}))}))},4:function(t,e){},"409b":function(t,e){t.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},4111:function(t,e,r){"use strict";var i=r("7f7a");e.certificate=r("56b5");var n=i.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));e.RSAPrivateKey=n;var o=i.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));e.RSAPublicKey=o;var a=i.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())}));e.PublicKey=a;var s=i.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),u=i.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(s),this.key("subjectPrivateKey").octstr())}));e.PrivateKey=u;var h=i.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));e.EncryptedPrivateKey=h;var f=i.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));e.DSAPrivateKey=f,e.DSAparam=i.define("DSAparam",(function(){this.int()}));var l=i.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(c),this.key("publicKey").optional().explicit(1).bitstr())}));e.ECPrivateKey=l;var c=i.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));e.signature=i.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},4136:function(t,e,r){"use strict";var i=e;i.base=r("ea53"),i.short=r("3300"),i.mont=r("676f"),i.edwards=r("3daf")},4186:function(t,e,r){"use strict";(function(e){var i;function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r("ee93"),a=Symbol("lastResolve"),s=Symbol("lastReject"),u=Symbol("error"),h=Symbol("ended"),f=Symbol("lastPromise"),l=Symbol("handlePromise"),c=Symbol("stream");function d(t,e){return{value:t,done:e}}function p(t){var e=t[a];if(null!==e){var r=t[c].read();null!==r&&(t[f]=null,t[a]=null,t[s]=null,e(d(r,!1)))}}function m(t){e.nextTick(p,t)}function b(t,e){return function(r,i){t.then((function(){e[h]?r(d(void 0,!0)):e[l](r,i)}),i)}}var v=Object.getPrototypeOf((function(){})),g=Object.setPrototypeOf((i={get stream(){return this[c]},next:function(){var t=this,r=this[u];if(null!==r)return Promise.reject(r);if(this[h])return Promise.resolve(d(void 0,!0));if(this[c].destroyed)return new Promise((function(r,i){e.nextTick((function(){t[u]?i(t[u]):r(d(void 0,!0))}))}));var i,n=this[f];if(n)i=new Promise(b(n,this));else{var o=this[c].read();if(null!==o)return Promise.resolve(d(o,!1));i=new Promise(this[l])}return this[f]=i,i}},n(i,Symbol.asyncIterator,(function(){return this})),n(i,"return",(function(){var t=this;return new Promise((function(e,r){t[c].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),i),v),y=function(t){var e,r=Object.create(g,(e={},n(e,c,{value:t,writable:!0}),n(e,a,{value:null,writable:!0}),n(e,s,{value:null,writable:!0}),n(e,u,{value:null,writable:!0}),n(e,h,{value:t._readableState.endEmitted,writable:!0}),n(e,l,{value:function(t,e){var i=r[c].read();i?(r[f]=null,r[a]=null,r[s]=null,t(d(i,!1))):(r[a]=t,r[s]=e)},writable:!0}),e));return r[f]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[s];return null!==e&&(r[f]=null,r[a]=null,r[s]=null,e(t)),void(r[u]=t)}var i=r[a];null!==i&&(r[f]=null,r[a]=null,r[s]=null,i(d(void 0,!0))),r[h]=!0})),t.on("readable",m.bind(null,r)),r};t.exports=y}).call(this,r("4362"))},"41df":function(t,e,r){var i=e;i.Reporter=r("d1c8").Reporter,i.DecoderBuffer=r("6283").DecoderBuffer,i.EncoderBuffer=r("6283").EncoderBuffer,i.Node=r("8360")},4228:function(t,e,r){var i=r("82f0"),n=r("8707").Buffer,o=r("bac2"),a=r("09f5"),s=r("6430"),u=r("39f5"),h=r("ae84"),f=r("3fb5");function l(t,e,r){s.call(this),this._cache=new c,this._last=void 0,this._cipher=new u.AES(e),this._prev=n.from(r),this._mode=t,this._autopadding=!0}function c(){this.cache=n.allocUnsafe(0)}function d(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");var r=-1;while(++r16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},c.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=m,e.createDecipheriv=p},4250:function(t,e,r){"use strict";(function(e,i){var n;t.exports=$,$.ReadableState=R;r("faa1").EventEmitter;var o=function(t,e){return t.listeners(e).length},a=r("5bbb"),s=r("b639").Buffer,u=e.Uint8Array||function(){};function h(t){return s.from(t)}function f(t){return s.isBuffer(t)||t instanceof u}var l,c=r(0);l=c&&c.debuglog?c.debuglog("stream"):function(){};var d,p,m,b=r("96a5"),v=r("493f"),g=r("b9b5"),y=g.getHighWaterMark,w=r("9d8a").codes,M=w.ERR_INVALID_ARG_TYPE,_=w.ERR_STREAM_PUSH_AFTER_EOF,S=w.ERR_METHOD_NOT_IMPLEMENTED,E=w.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r("3fb5")($,a);var A=v.errorOrDestroy,k=["error","close","destroy","pause","resume"];function x(t,e,r){if("function"===typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}function R(t,e,i){n=n||r("e666"),t=t||{},"boolean"!==typeof i&&(i=e instanceof n),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=y(this,t,"readableHighWaterMark",i),this.buffer=new b,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(d||(d=r("7d72").StringDecoder),this.decoder=new d(t.encoding),this.encoding=t.encoding)}function $(t){if(n=n||r("e666"),!(this instanceof $))return new $(t);var e=this instanceof n;this._readableState=new R(t,this,e),this.readable=!0,t&&("function"===typeof t.read&&(this._read=t.read),"function"===typeof t.destroy&&(this._destroy=t.destroy)),a.call(this)}function T(t,e,r,i,n){l("readableAddChunk",e);var o,a=t._readableState;if(null===e)a.reading=!1,B(t,a);else if(n||(o=O(a,e)),o)A(t,o);else if(a.objectMode||e&&e.length>0)if("string"===typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=h(e)),i)a.endEmitted?A(t,new E):I(t,a,e,!0);else if(a.ended)A(t,new _);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?I(t,a,e,!1):q(t,a)):I(t,a,e,!1)}else i||(a.reading=!1,q(t,a));return!a.ended&&(a.length=C?t=C:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function N(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=L(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function B(t,e){if(l("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?P(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,j(t)))}}function P(t){var e=t._readableState;l("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(l("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(j,t))}function j(t){var e=t._readableState;l("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,W(t)}function q(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(D,t,e))}function D(t,e){while(!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function z(t){l("readable nexttick read 0"),t.read(0)}function K(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(H,t,e))}function H(t,e){l("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),W(t),e.flowing&&!e.reading&&t.read(0)}function W(t){var e=t._readableState;l("flow",e.flowing);while(e.flowing&&null!==t.read());}function Z(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function Y(t){var e=t._readableState;l("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(V,e,t))}function V(t,e){if(l("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function G(t,e){for(var r=0,i=t.length;r=e.highWaterMark:e.length>0)||e.ended))return l("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?Y(this):P(this),null;if(t=N(t,e),0===t&&e.ended)return 0===e.length&&Y(this),null;var i,n=e.needReadable;return l("need readable",n),(0===e.length||e.length-t0?Z(t,e):null,null===i?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Y(this)),null!==i&&this.emit("data",i),i},$.prototype._read=function(t){A(this,new S("_read()"))},$.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t);break}n.pipesCount+=1,l("pipe count=%d opts=%j",n.pipesCount,e);var a=(!e||!1!==e.end)&&t!==i.stdout&&t!==i.stderr,s=a?h:g;function u(t,e){l("onunpipe"),t===r&&e&&!1===e.hasUnpiped&&(e.hasUnpiped=!0,d())}function h(){l("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",u);var f=U(r);t.on("drain",f);var c=!1;function d(){l("cleanup"),t.removeListener("close",b),t.removeListener("finish",v),t.removeListener("drain",f),t.removeListener("error",m),t.removeListener("unpipe",u),r.removeListener("end",h),r.removeListener("end",g),r.removeListener("data",p),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||f()}function p(e){l("ondata");var i=t.write(e);l("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==G(n.pipes,t))&&!c&&(l("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function m(e){l("onerror",e),g(),t.removeListener("error",m),0===o(t,"error")&&A(t,e)}function b(){t.removeListener("finish",v),g()}function v(){l("onfinish"),t.removeListener("close",b),g()}function g(){l("unpipe"),r.unpipe(t)}return r.on("data",p),x(t,"error",m),t.once("close",b),t.once("finish",v),t.emit("pipe",r),n.flowing||(l("pipe resume"),r.resume()),t},$.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,l("on readable",n.length,n.reading),n.length?P(this):n.reading||i.nextTick(z,this))),r},$.prototype.addListener=$.prototype.on,$.prototype.removeListener=function(t,e){var r=a.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(F,this),r},$.prototype.removeAllListeners=function(t){var e=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(F,this),e},$.prototype.resume=function(){var t=this._readableState;return t.flowing||(l("resume"),t.flowing=!t.readableListening,K(this,t)),t.paused=!1,this},$.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},$.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;for(var n in t.on("end",(function(){if(l("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(n){if(l("wrapped data"),r.decoder&&(n=r.decoder.write(n)),(!r.objectMode||null!==n&&void 0!==n)&&(r.objectMode||n&&n.length)){var o=e.push(n);o||(i=!0,t.pause())}})),t)void 0===this[n]&&"function"===typeof t[n]&&(this[n]=function(e){return function(){return t[e].apply(t,arguments)}}(n));for(var o=0;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],k=8191&A,x=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,q=P>>>13,D=0|s[0],U=8191&D,F=D>>>13,z=0|s[1],K=8191&z,H=z>>>13,W=0|s[2],Z=8191&W,Y=W>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,H)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,H)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,H)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,H)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,H)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,H)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,H)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,H)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,U),n=Math.imul(k,F),n=n+Math.imul(x,U)|0,o=Math.imul(x,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,H)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,H)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(k,K)|0,n=n+Math.imul(k,H)|0,n=n+Math.imul(x,K)|0,o=o+Math.imul(x,H)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,H)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,H)|0,i=i+Math.imul(k,Z)|0,n=n+Math.imul(k,Y)|0,n=n+Math.imul(x,Z)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,H)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,H)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(k,G)|0,n=n+Math.imul(k,X)|0,n=n+Math.imul(x,G)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(q,U)|0,o=Math.imul(q,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,H)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,H)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(k,Q)|0,n=n+Math.imul(k,tt)|0,n=n+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,H),n=n+Math.imul(q,K)|0,o=Math.imul(q,H),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(k,rt)|0,n=n+Math.imul(k,it)|0,n=n+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(q,Z)|0,o=Math.imul(q,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(k,ot)|0,n=n+Math.imul(k,at)|0,n=n+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(q,G)|0,o=Math.imul(q,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(k,ut)|0,n=n+Math.imul(k,ht)|0,n=n+Math.imul(x,ut)|0,o=o+Math.imul(x,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(q,Q)|0,o=Math.imul(q,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(k,lt)|0,n=n+Math.imul(k,ct)|0,n=n+Math.imul(x,lt)|0,o=o+Math.imul(x,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(q,rt)|0,o=Math.imul(q,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(k,pt)|0,n=n+Math.imul(k,mt)|0,n=n+Math.imul(x,pt)|0,o=o+Math.imul(x,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(q,ot)|0,o=Math.imul(q,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(q,ut)|0,o=Math.imul(q,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(q,lt)|0,o=Math.imul(q,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(q,pt)|0,o=Math.imul(q,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=kt,u[11]=xt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},4930:function(t,e,r){var i=r("d039");t.exports=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())}))},"493f":function(t,e,r){"use strict";(function(e){function r(t,r){var o=this,s=this._readableState&&this._readableState.destroyed,u=this._writableState&&this._writableState.destroyed;return s||u?(r?r(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,e.nextTick(a,this,t)):e.nextTick(a,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!r&&t?o._writableState?o._writableState.errorEmitted?e.nextTick(n,o):(o._writableState.errorEmitted=!0,e.nextTick(i,o,t)):e.nextTick(i,o,t):r?(e.nextTick(n,o),r(t)):e.nextTick(n,o)})),this)}function i(t,e){a(t,e),n(t)}function n(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function o(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function a(t,e){t.emit("error",e)}function s(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}t.exports={destroy:r,undestroy:o,errorOrDestroy:s}}).call(this,r("4362"))},"49ce":function(t,e,r){"use strict";(function(e,i){function n(t){var e=this;this.next=null,this.entry=null,this.finish=function(){H(e,t)}}var o;t.exports=R,R.WritableState=x;var a={deprecate:r("b7d1")},s=r("f12a"),u=r("b639").Buffer,h=e.Uint8Array||function(){};function f(t){return u.from(t)}function l(t){return u.isBuffer(t)||t instanceof h}var c,d=r("9019"),p=r("05f0"),m=p.getHighWaterMark,b=r("d113").codes,v=b.ERR_INVALID_ARG_TYPE,g=b.ERR_METHOD_NOT_IMPLEMENTED,y=b.ERR_MULTIPLE_CALLBACK,w=b.ERR_STREAM_CANNOT_PIPE,M=b.ERR_STREAM_DESTROYED,_=b.ERR_STREAM_NULL_VALUES,S=b.ERR_STREAM_WRITE_AFTER_END,E=b.ERR_UNKNOWN_ENCODING,A=d.errorOrDestroy;function k(){}function x(t,e,i){o=o||r("5e7d"),t=t||{},"boolean"!==typeof i&&(i=e instanceof o),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=m(this,t,"writableHighWaterMark",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===t.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){B(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function R(t){o=o||r("5e7d");var e=this instanceof o;if(!e&&!c.call(R,this))return new R(t);this._writableState=new x(t,this,e),this.writable=!0,t&&("function"===typeof t.write&&(this._write=t.write),"function"===typeof t.writev&&(this._writev=t.writev),"function"===typeof t.destroy&&(this._destroy=t.destroy),"function"===typeof t.final&&(this._final=t.final)),s.call(this)}function $(t,e){var r=new S;A(t,r),i.nextTick(e,r)}function T(t,e,r,n){var o;return null===r?o=new _:"string"===typeof r||e.objectMode||(o=new v("chunk",["string","Buffer"],r)),!o||(A(t,o),i.nextTick(n,o),!1)}function I(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!==typeof e||(e=u.from(e,r)),e}function O(t,e,r,i,n,o){if(!r){var a=I(e,i,n);i!==a&&(r=!0,n="buffer",i=a)}var s=e.objectMode?1:i.length;e.length+=s;var u=e.length-1))throw new E(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(R.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(R.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),R.prototype._write=function(t,e,r){r(new g("_write()"))},R.prototype._writev=null,R.prototype.end=function(t,e,r){var i=this._writableState;return"function"===typeof t?(r=t,t=null,e=null):"function"===typeof e&&(r=e,e=null),null!==t&&void 0!==t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||K(this,i,r),this},Object.defineProperty(R.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(R.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),R.prototype.destroy=d.destroy,R.prototype._undestroy=d.undestroy,R.prototype._destroy=function(t,e){e(t)}}).call(this,r("c8ba"),r("4362"))},"4d64":function(t,e,r){var i=r("fc6a"),n=r("50c4"),o=r("23cb"),a=function(t){return function(e,r,a){var s,u=i(e),h=n(u.length),f=o(a,h);if(t&&r!=r){while(h>f)if(s=u[f++],s!=s)return!0}else for(;h>f;f++)if((t||f in u)&&u[f]===r)return t||f||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},"4dd0":function(t,e,r){var i=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m,n=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m,a=r("ae84"),s=r("fda6"),u=r("8707").Buffer;t.exports=function(t,e){var r,h=t.toString(),f=h.match(i);if(f){var l="aes"+f[1],c=u.from(f[2],"hex"),d=u.from(f[3].replace(/[\r\n]/g,""),"base64"),p=a(e,c.slice(0,8),parseInt(f[1],10)).key,m=[],b=s.createDecipheriv(l,p,c);m.push(b.update(d)),m.push(b.final()),r=u.concat(m)}else{var v=h.match(o);r=new u(v[2].replace(/[\r\n]/g,""),"base64")}var g=h.match(n)[1];return{tag:g,data:r}}},"4df4":function(t,e,r){"use strict";var i=r("0366"),n=r("7b0b"),o=r("9bdd"),a=r("e95a"),s=r("50c4"),u=r("8418"),h=r("35a1");t.exports=function(t){var e,r,f,l,c,d,p=n(t),m="function"==typeof this?this:Array,b=arguments.length,v=b>1?arguments[1]:void 0,g=void 0!==v,y=h(p),w=0;if(g&&(v=i(v,b>2?arguments[2]:void 0,2)),void 0==y||m==Array&&a(y))for(e=s(p.length),r=new m(e);e>w;w++)d=g?v(p[w],w):p[w],u(r,w,d);else for(l=y.call(p),c=l.next,r=new m;!(f=c.call(l)).done;w++)d=g?o(l,v,[f.value,w],!0):f.value,u(r,w,d);return r.length=w,r}},"4e2b":function(t,e,r){"use strict";var i=r("da3e"),n=r("3fb5"),o=r("5ee7"),a=r("0184");function s(){this.tmp=new Array(2),this.keys=null}function u(t){a.call(this,t);var e=new s;this._desState=e,this.deriveKeys(e,t.key)}n(u,a),t.exports=u,u.create=function(t){return new u(t)};var h=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];u.prototype.deriveKeys=function(t,e){t.keys=new Array(32),i.equal(e.length,this.blockSize,"Invalid key length");var r=o.readUInt32BE(e,0),n=o.readUInt32BE(e,4);o.pc1(r,n,t.tmp,0),r=t.tmp[0],n=t.tmp[1];for(var a=0;a>>1];r=o.r28shl(r,s),n=o.r28shl(n,s),o.pc2(r,n,t.keys,a)}},u.prototype._update=function(t,e,r,i){var n=this._desState,a=o.readUInt32BE(t,e),s=o.readUInt32BE(t,e+4);o.ip(a,s,n.tmp,0),a=n.tmp[0],s=n.tmp[1],"encrypt"===this.type?this._encrypt(n,a,s,n.tmp,0):this._decrypt(n,a,s,n.tmp,0),a=n.tmp[0],s=n.tmp[1],o.writeUInt32BE(r,a,i),o.writeUInt32BE(r,s,i+4)},u.prototype._pad=function(t,e){for(var r=t.length-e,i=e;i>>0,a=d}o.rip(s,a,i,n)},u.prototype._decrypt=function(t,e,r,i,n){for(var a=r,s=e,u=t.keys.length-2;u>=0;u-=2){var h=t.keys[u],f=t.keys[u+1];o.expand(a,t.tmp,0),h^=t.tmp[0],f^=t.tmp[1];var l=o.substitute(h,f),c=o.permute(l),d=a;a=(s^c)>>>0,s=d}o.rip(a,s,i,n)}},"4fd1":function(t,e,r){var i=r("3fb5"),n=r("b672"),o=r("8707").Buffer,a=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function u(){this.init(),this._w=s,n.call(this,128,112)}function h(t,e,r){return r^t&(e^r)}function f(t,e,r){return t&e|r&(t|e)}function l(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function c(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function d(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function m(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function b(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function v(t,e){return t>>>0>>0?1:0}i(u,n),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(t){for(var e=this._w,r=0|this._ah,i=0|this._bh,n=0|this._ch,o=0|this._dh,s=0|this._eh,u=0|this._fh,g=0|this._gh,y=0|this._hh,w=0|this._al,M=0|this._bl,_=0|this._cl,S=0|this._dl,E=0|this._el,A=0|this._fl,k=0|this._gl,x=0|this._hl,R=0;R<32;R+=2)e[R]=t.readInt32BE(4*R),e[R+1]=t.readInt32BE(4*R+4);for(;R<160;R+=2){var $=e[R-30],T=e[R-30+1],I=d($,T),O=p(T,$);$=e[R-4],T=e[R-4+1];var C=m($,T),L=b(T,$),N=e[R-14],B=e[R-14+1],P=e[R-32],j=e[R-32+1],q=O+B|0,D=I+N+v(q,O)|0;q=q+L|0,D=D+C+v(q,L)|0,q=q+j|0,D=D+P+v(q,j)|0,e[R]=D,e[R+1]=q}for(var U=0;U<160;U+=2){D=e[U],q=e[U+1];var F=f(r,i,n),z=f(w,M,_),K=l(r,w),H=l(w,r),W=c(s,E),Z=c(E,s),Y=a[U],V=a[U+1],G=h(s,u,g),X=h(E,A,k),J=x+Z|0,Q=y+W+v(J,x)|0;J=J+X|0,Q=Q+G+v(J,X)|0,J=J+V|0,Q=Q+Y+v(J,V)|0,J=J+q|0,Q=Q+D+v(J,q)|0;var tt=H+z|0,et=K+F+v(tt,H)|0;y=g,x=k,g=u,k=A,u=s,A=E,E=S+J|0,s=o+Q+v(E,S)|0,o=n,S=_,n=i,_=M,i=r,M=w,w=J+tt|0,r=Q+et+v(w,J)|0}this._al=this._al+w|0,this._bl=this._bl+M|0,this._cl=this._cl+_|0,this._dl=this._dl+S|0,this._el=this._el+E|0,this._fl=this._fl+A|0,this._gl=this._gl+k|0,this._hl=this._hl+x|0,this._ah=this._ah+r+v(this._al,w)|0,this._bh=this._bh+i+v(this._bl,M)|0,this._ch=this._ch+n+v(this._cl,_)|0,this._dh=this._dh+o+v(this._dl,S)|0,this._eh=this._eh+s+v(this._el,E)|0,this._fh=this._fh+u+v(this._fl,A)|0,this._gh=this._gh+g+v(this._gl,k)|0,this._hh=this._hh+y+v(this._hl,x)|0},u.prototype._hash=function(){var t=o.allocUnsafe(64);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=u},5:function(t,e){},"50c4":function(t,e,r){var i=r("a691"),n=Math.min;t.exports=function(t){return t>0?n(i(t),9007199254740991):0}},5135:function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},5165:function(t,e,r){(function(t){var i=r("8c8a");function n(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}e.encrypt=function(e,r){while(e._cache.length>s%8,t._prev=o(t._prev,r?n:a);return h}function o(t,e){var r=t.length,n=-1,o=i.allocUnsafe(t.length);t=i.concat([t,i.from([e])]);while(++n>7;return o}e.encrypt=function(t,e,r){var o=e.length,a=i.allocUnsafe(o),s=-1;while(++st.length)&&(e=t.length);for(var r=0,i=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,o=t},f:function(){try{s||null==r["return"]||r["return"]()}finally{if(u)throw o}}}}function u(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function h(t,e){for(var r=0;r5&&void 0!==arguments[5]?arguments[5]:1500;null===this.db&&this.createDb(),this.db.exec(b.getCreateStatement(t,e,r));var a=b.generateChunks(r,o),u=Math.ceil(r.length/o),h=0,f=b.getInsertStmt(t,e),l=this.db.prepare(f);n({progress:0,id:i});var c,d=s(a);try{for(d.s();!(c=d.n()).done;){var p=c.value;this.db.exec("BEGIN");var m,v=s(p);try{for(v.s();!(m=v.n()).done;){var g=m.value;l.run(g)}}catch(y){v.e(y)}finally{v.f()}this.db.exec("COMMIT"),h++,n({progress:h/u*100,id:i})}}catch(y){d.e(y)}finally{d.f()}return{finish:!0}}},{key:"export",value:function(){return this.db.export()}},{key:"close",value:function(){return this.db&&this.db.close(),{finished:!0}}}],[{key:"build",value:function(){return g.then((function(){return new t}))}}]),t}();const w=y.build();function M(t){const e=this;switch(e&&e.action){case"open":return t.open(e.buffer);case"reopen":return t.open(t.export());case"exec":return t.exec(e.sql,e.params);case"import":return t.import(e.tabName,e.columns,e.values,e.progressCounterId,postMessage);case"export":return t.export();case"close":return t.close();default:throw new Error("Invalid action : "+(e&&e.action))}}function _(t){return{error:t.message}}n()(t=>w.then(M.bind(t)).catch(_))},5291:function(t,e,r){var i=r("0106"),n=r("8707").Buffer;function o(t,e){return n.from(t.toRed(i.mont(e.modulus)).redPow(new i(e.publicExponent)).fromRed().toArray())}t.exports=o},5319:function(t,e,r){"use strict";var i=r("d784"),n=r("825a"),o=r("7b0b"),a=r("50c4"),s=r("a691"),u=r("1d80"),h=r("8aa5"),f=r("14c3"),l=Math.max,c=Math.min,d=Math.floor,p=/\$([$&'`]|\d\d?|<[^>]*>)/g,m=/\$([$&'`]|\d\d?)/g,b=function(t){return void 0===t?t:String(t)};i("replace",2,(function(t,e,r,i){var v=i.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,g=i.REPLACE_KEEPS_$0,y=v?"$":"$0";return[function(r,i){var n=u(this),o=void 0==r?void 0:r[t];return void 0!==o?o.call(r,n,i):e.call(String(n),r,i)},function(t,i){if(!v&&g||"string"===typeof i&&-1===i.indexOf(y)){var o=r(e,t,this,i);if(o.done)return o.value}var u=n(t),d=String(this),p="function"===typeof i;p||(i=String(i));var m=u.global;if(m){var M=u.unicode;u.lastIndex=0}var _=[];while(1){var S=f(u,d);if(null===S)break;if(_.push(S),!m)break;var E=String(S[0]);""===E&&(u.lastIndex=h(d,a(u.lastIndex),M))}for(var A="",k=0,x=0;x<_.length;x++){S=_[x];for(var R=String(S[0]),$=l(c(s(S.index),d.length),0),T=[],I=1;I=k&&(A+=d.slice(k,$)+L,k=$+R.length)}return A+d.slice(k)}];function w(t,r,i,n,a,s){var u=i+t.length,h=n.length,f=m;return void 0!==a&&(a=o(a),f=p),e.call(s,f,(function(e,o){var s;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,i);case"'":return r.slice(u);case"<":s=a[o.slice(1,-1)];break;default:var f=+o;if(0===f)return e;if(f>h){var l=d(f/10);return 0===l?e:l<=h?void 0===n[l-1]?o.charAt(1):n[l-1]+o.charAt(1):e}s=n[f-1]}return void 0===s?"":s}))}}))},"561d":function(t,e,r){(function(e){var i=r("48e6"),n=r("7a10"),o=new n,a=new i(24),s=new i(11),u=new i(10),h=new i(3),f=new i(7),l=r("58a2"),c=r("11dc");function d(t,r){return r=r||"utf8",e.isBuffer(t)||(t=new e(t,r)),this._pub=new i(t),this}function p(t,r){return r=r||"utf8",e.isBuffer(t)||(t=new e(t,r)),this._priv=new i(t),this}t.exports=v;var m={};function b(t,e){var r=e.toString("hex"),i=[r,t.toString(16)].join("_");if(i in m)return m[i];var n,c=0;if(t.isEven()||!l.simpleSieve||!l.fermatTest(t)||!o.test(t))return c+=1,c+="02"===r||"05"===r?8:4,m[i]=c,c;switch(o.test(t.shrn(1))||(c+=2),r){case"02":t.mod(a).cmp(s)&&(c+=8);break;case"05":n=t.mod(u),n.cmp(h)&&n.cmp(f)&&(c+=8);break;default:c+=4}return m[i]=c,c}function v(t,e,r){this.setGenerator(e),this.__prime=new i(t),this._prime=i.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=d,this.setPrivateKey=p):this._primeCode=8}function g(t,r){var i=new e(t.toArray());return r?i.toString(r):i}Object.defineProperty(v.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!==typeof this._primeCode&&(this._primeCode=b(this.__prime,this.__gen)),this._primeCode}}),v.prototype.generateKeys=function(){return this._priv||(this._priv=new i(c(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},v.prototype.computeSecret=function(t){t=new i(t),t=t.toRed(this._prime);var r=t.redPow(this._priv).fromRed(),n=new e(r.toArray()),o=this.getPrime();if(n.lengtht)r.ishrn(1);if(r.isEven()&&r.iadd(u),r.testn(1)||r.iadd(h),e.cmp(h)){if(!e.cmp(f))while(r.mod(l).cmp(c))r.iadd(p)}else while(r.mod(o).cmp(d))r.iadd(p);if(a=r.shrn(1),v(a)&&v(r)&&g(a)&&g(r)&&s.test(a)&&s.test(r))return r}}},5919:function(t,e,r){"use strict";e.sha1=r("13e2"),e.sha224=r("07f2"),e.sha256=r("6eed"),e.sha384=r("8b95"),e.sha512=r("b525")},"5a76":function(t,e,r){var i=r("f576");t.exports=function(t){return(new i).update(t).digest()}},"5bbb":function(t,e,r){t.exports=r("faa1").EventEmitter},"5c6c":function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"5cc6":function(t,e,r){var i=r("74e8");i("Uint8",(function(t){return function(e,r,i){return t(this,e,r,i)}}))},"5e1a":function(t,e,r){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var n=r("8707").Buffer,o=r(3);function a(t,e,r){t.copy(e,r)}t.exports=function(){function t(){i(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";var e=this.head,r=""+e.data;while(e=e.next)r+=t+e.data;return r},t.prototype.concat=function(t){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;var e=n.allocUnsafe(t>>>0),r=this.head,i=0;while(r)a(r.data,e,i),i+=r.data.length,r=r.next;return e},t}(),o&&o.inspect&&o.inspect.custom&&(t.exports.prototype[o.inspect.custom]=function(){var t=o.inspect({length:this.length});return this.constructor.name+" "+t})},"5e7d":function(t,e,r){"use strict";(function(e){var i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=h;var n=r("cf35"),o=r("49ce");r("3fb5")(h,n);for(var a=i(o.prototype),s=0;s>>0},e.writeUInt32BE=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},e.ip=function(t,e,r,i){for(var n=0,o=0,a=6;a>=0;a-=2){for(var s=0;s<=24;s+=8)n<<=1,n|=e>>>s+a&1;for(s=0;s<=24;s+=8)n<<=1,n|=t>>>s+a&1}for(a=6;a>=0;a-=2){for(s=1;s<=25;s+=8)o<<=1,o|=e>>>s+a&1;for(s=1;s<=25;s+=8)o<<=1,o|=t>>>s+a&1}r[i+0]=n>>>0,r[i+1]=o>>>0},e.rip=function(t,e,r,i){for(var n=0,o=0,a=0;a<4;a++)for(var s=24;s>=0;s-=8)n<<=1,n|=e>>>s+a&1,n<<=1,n|=t>>>s+a&1;for(a=4;a<8;a++)for(s=24;s>=0;s-=8)o<<=1,o|=e>>>s+a&1,o<<=1,o|=t>>>s+a&1;r[i+0]=n>>>0,r[i+1]=o>>>0},e.pc1=function(t,e,r,i){for(var n=0,o=0,a=7;a>=5;a--){for(var s=0;s<=24;s+=8)n<<=1,n|=e>>s+a&1;for(s=0;s<=24;s+=8)n<<=1,n|=t>>s+a&1}for(s=0;s<=24;s+=8)n<<=1,n|=e>>s+a&1;for(a=1;a<=3;a++){for(s=0;s<=24;s+=8)o<<=1,o|=e>>s+a&1;for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1}for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1;r[i+0]=n>>>0,r[i+1]=o>>>0},e.r28shl=function(t,e){return t<>>28-e};var i=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,r,n){for(var o=0,a=0,s=i.length>>>1,u=0;u>>i[u]&1;for(u=s;u>>i[u]&1;r[n+0]=o>>>0,r[n+1]=a>>>0},e.expand=function(t,e,r){var i=0,n=0;i=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)i<<=6,i|=t>>>o&63;for(o=11;o>=3;o-=4)n|=t>>>o&63,n<<=6;n|=(31&t)<<1|t>>>31,e[r+0]=i>>>0,e[r+1]=n>>>0};var n=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var r=0,i=0;i<4;i++){var o=t>>>18-6*i&63,a=n[64*i+o];r<<=4,r|=a}for(i=0;i<4;i++){o=e>>>18-6*i&63,a=n[256+64*i+o];r<<=4,r|=a}return r>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,r=0;r>>o[r]&1;return e>>>0},e.padSplit=function(t,e,r){var i=t.toString(2);while(i.length>8&255]},j=function(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]},q=function(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]},D=function(t){return L(t,23,4)},U=function(t){return L(t,52,8)},F=function(t,e){v(t[A],e,{get:function(){return M(this)[e]}})},z=function(t,e,r,i){var n=c(r),o=M(t);if(n+e>o.byteLength)throw C(x);var a=M(o.buffer).bytes,s=n+o.byteOffset,u=a.slice(s,s+e);return i?u:u.reverse()},K=function(t,e,r,i,n,o){var a=c(r),s=M(t);if(a+e>s.byteLength)throw C(x);for(var u=M(s.buffer).bytes,h=a+s.byteOffset,f=i(+n),l=0;lY;)(H=Z[Y++])in $||a($,H,R[H]);W.constructor=$}m&&p(I)!==O&&m(I,O);var V=new T(new $(2)),G=I.setInt8;V.setInt8(0,2147483648),V.setInt8(1,2147483649),!V.getInt8(0)&&V.getInt8(1)||s(I,{setInt8:function(t,e){G.call(this,t,e<<24>>24)},setUint8:function(t,e){G.call(this,t,e<<24>>24)}},{unsafe:!0})}else $=function(t){h(this,$,S);var e=c(t);_(this,{bytes:g.call(new Array(e),0),byteLength:e}),n||(this.byteLength=e)},T=function(t,e,r){h(this,T,E),h(t,$,E);var i=M(t).byteLength,o=f(e);if(o<0||o>i)throw C("Wrong offset");if(r=void 0===r?i-o:l(r),o+r>i)throw C(k);_(this,{buffer:t,byteLength:r,byteOffset:o}),n||(this.buffer=t,this.byteLength=r,this.byteOffset=o)},n&&(F($,"byteLength"),F(T,"buffer"),F(T,"byteLength"),F(T,"byteOffset")),s(T[A],{getInt8:function(t){return z(this,1,t)[0]<<24>>24},getUint8:function(t){return z(this,1,t)[0]},getInt16:function(t){var e=z(this,2,t,arguments.length>1?arguments[1]:void 0);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=z(this,2,t,arguments.length>1?arguments[1]:void 0);return e[1]<<8|e[0]},getInt32:function(t){return q(z(this,4,t,arguments.length>1?arguments[1]:void 0))},getUint32:function(t){return q(z(this,4,t,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(t){return N(z(this,4,t,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(t){return N(z(this,8,t,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(t,e){K(this,1,t,B,e)},setUint8:function(t,e){K(this,1,t,B,e)},setInt16:function(t,e){K(this,2,t,P,e,arguments.length>2?arguments[2]:void 0)},setUint16:function(t,e){K(this,2,t,P,e,arguments.length>2?arguments[2]:void 0)},setInt32:function(t,e){K(this,4,t,j,e,arguments.length>2?arguments[2]:void 0)},setUint32:function(t,e){K(this,4,t,j,e,arguments.length>2?arguments[2]:void 0)},setFloat32:function(t,e){K(this,4,t,D,e,arguments.length>2?arguments[2]:void 0)},setFloat64:function(t,e){K(this,8,t,U,e,arguments.length>2?arguments[2]:void 0)}});y($,S),y(T,E),t.exports={ArrayBuffer:$,DataView:T}},6283:function(t,e,r){var i=r("3fb5"),n=r("41df").Reporter,o=r("b639").Buffer;function a(t,e){n.call(this,e),o.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function s(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return t instanceof s||(t=new s(t,e)),this.length+=t.length,t}),this);else if("number"===typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"===typeof t)this.value=t,this.length=o.byteLength(t);else{if(!o.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}i(a,n),e.DecoderBuffer=a,a.prototype.save=function(){return{offset:this.offset,reporter:n.prototype.save.call(this)}},a.prototype.restore=function(t){var e=new a(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,n.prototype.restore.call(this,t.reporter),e},a.prototype.isEmpty=function(){return this.offset===this.length},a.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},a.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");var r=new a(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},a.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},e.EncoderBuffer=s,s.prototype.join=function(t,e){return t||(t=new o(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"===typeof this.value?t[e]=this.value:"string"===typeof this.value?t.write(this.value,e):o.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}},62831:function(t,e,r){var i; -/*! - * sqlite-parser - v1.0.1 - * @copyright 2015-2017 Code School (http://codeschool.com) - * @author Nick Wronski - */ -(function(e){t.exports=e()})((function(){return function t(e,r,n){function o(s,u){if(!r[s]){if(!e[s]){var h="function"==typeof i&&i;if(!u&&h)return i(s,!0);if(a)return a(s,!0);var f=new Error("Cannot find module '"+s+"'");throw f.code="MODULE_NOT_FOUND",f}var l=r[s]={exports:{}};e[s][0].call(l.exports,(function(t){var r=e[s][1][t];return o(r||t)}),l,l.exports,t,e,r,n)}return r[s].exports}for(var a="function"==typeof i&&i,s=0;s0},function(t,e){return{args:Object.assign(e,t)}},function(t){return{filter:D(t)}},E("Error Message"),function(t){return t},E("Statement"),function(t,e){return Object.assign(e,t)},E("QUERY PLAN"),function(t,e){return{explain:O(t)}},E("QUERY PLAN Keyword"),function(t,e){return N([t,e])},E("END Transaction Statement"),function(t,e){return{type:"statement",variant:"transaction",action:"commit"}},E("BEGIN Transaction Statement"),function(t,e,r,i){return Object.assign({type:"statement",variant:"transaction",action:"begin"},e,i)},function(t){return t},function(t){return{defer:D(t)}},E("ROLLBACK Statement"),function(t,e){return Object.assign({type:"statement",variant:"transaction",action:"rollback"},e)},E("TO Clause"),function(t){return{savepoint:t}},function(t){return D(t)},E("SAVEPOINT Statement"),function(t,e){return{type:"statement",variant:t,target:e}},E("RELEASE Statement"),function(t,e,r){return{type:"statement",variant:D(t),target:r}},E("ALTER TABLE Statement"),function(t,e,r){return Object.assign({type:"statement",variant:D(t),target:e},r)},E("ALTER TABLE Keyword"),function(t,e){return N([t,e])},E("RENAME TO Keyword"),function(t,e){return{action:D(t),name:e}},E("ADD COLUMN Keyword"),function(t,e){return{action:D(t),definition:e}},function(t,e){return Object.assign(e,t)},E("WITH Clause"),function(t,e,r){var i={variant:O(e)?"recursive":"common"};return U(r)&&(r=r.map((function(t){return Object.assign(t,i)}))),{with:r}},function(t,e){return B([t,e])},E("Common Table Expression"),function(t,e){return Object.assign({type:"expression",format:"table",variant:"common",target:t},e)},function(t){return{expression:t}},function(t,e){return Object.assign(e,t)},E("ATTACH Statement"),function(t,e,r,i){return{type:"statement",variant:D(t),target:i,attach:r}},E("DETACH Statement"),function(t,e,r){return{type:"statement",variant:D(t),target:r}},E("VACUUM Statement"),function(t,e){return Object.assign({type:"statement",variant:"vacuum"},e)},function(t){return{target:t}},E("ANALYZE Statement"),function(t,e){return Object.assign({type:"statement",variant:D(t)},e)},function(t){return{target:t["name"]}},E("REINDEX Statement"),function(t){return{target:t["name"]}},E("PRAGMA Statement"),function(t,e,r){return{type:"statement",variant:D(t),target:e,args:{type:"expression",variant:"list",expression:r}}},function(t){return t},function(t){return/^(yes|no|on|off|false|true|0|1)$/i.test(t)},function(t){return{type:"literal",variant:"boolean",normalized:/^(yes|on|true|1)$/i.test(t)?"1":"0",value:t}},function(t){return D(t)},function(t){return{type:"identifier",variant:"name",name:t}},E("SELECT Statement"),function(t,e,r){return Object.assign(t,e,r)},E("ORDER BY Clause"),function(t){return{order:t["result"]}},E("LIMIT Clause"),function(t,e,r){return{limit:Object.assign({type:"expression",variant:"limit",start:e},r)}},E("OFFSET Clause"),function(t,e){return{offset:e}},function(t,e){return U(e)?{type:"statement",variant:"compound",statement:t,compound:e}:t},E("Union Operation"),function(t,e){return{type:"compound",variant:t,statement:e}},function(t,e,r,i){return Object.assign({type:"statement",variant:"select"},t,e,r,i)},E("SELECT Results Clause"),function(t,e){return Object.assign({result:e},t)},E("SELECT Results Modifier"),function(t){return{distinct:!0}},function(t){return{}},E("FROM Clause"),function(t,e){return{from:e}},E("WHERE Clause"),function(t,e){return{where:I(e)}},E("GROUP BY Clause"),function(t,e,r){return Object.assign({group:e},r)},E("HAVING Clause"),function(t,e){return{having:e}},function(t,e){return{type:"identifier",variant:"star",name:L([t,e])}},function(t,e){return L([t,e])},function(t,e){return Object.assign(t,e)},function(t,e){return U(e)?{type:"map",variant:"join",source:t,map:e}:t},function(t,e){return Object.assign(t,e)},E("CROSS JOIN Operation"),function(t){return{type:"join",variant:"cross join",source:t}},E("JOIN Operation"),function(t,e){return{type:"join",variant:D(t),source:e}},function(t,e,r){return Object.assign({type:"function",variant:"table",name:t,args:e},r)},E("Qualified Table"),function(t,e){return Object.assign(t,e)},E("Qualified Table Identifier"),function(t,e){return Object.assign(t,e)},E("Qualfied Table Index"),function(t,e){return{index:e}},function(t,e){return{index:N([t,e])}},E("SELECT Source"),function(t,e){return Object.assign(t,e)},E("Subquery"),function(t,e){return Object.assign(t,e)},E("Alias"),function(t,e){return{alias:e}},E("JOIN Operator"),function(t,e,r){return N([t,e,r])},function(t,e){return N([t,e])},function(t){return D(t)},E("JOIN Constraint"),function(t){return{constraint:Object.assign({type:"constraint",variant:"join"},t)}},E("Join ON Clause"),function(t,e){return{format:D(t),on:e}},E("Join USING Clause"),function(t,e){return{format:D(t),using:e}},E("VALUES Clause"),function(t,e){return{type:"statement",variant:"select",result:e}},function(t,e){return{result:B([t,e])}},function(t){return t},E("Ordering Expression"),function(t,e){return O(e)?Object.assign({type:"expression",variant:"order",expression:t},e):t},E("Star"),E("Fallback Type"),E("INSERT Statement"),function(t,e){return Object.assign({type:"statement",variant:"insert"},t,e)},E("INSERT Keyword"),function(t,e){return Object.assign({action:D(t)},e)},E("REPLACE Keyword"),function(t){return{action:D(t)}},E("INSERT OR Modifier"),function(t,e){return{or:D(e)}},function(t,e){return Object.assign({into:t},e)},E("INTO Clause"),function(t,e){return e},E("INTO Keyword"),function(t){return{result:t}},E("Column List"),function(t,e){return{columns:B([t,e])}},function(t){return t},E("Column Name"),function(t){return{type:"identifier",variant:"column",name:t}},function(t,e){return e},E("VALUES Keyword"),function(t,e){return B([t,e])},E("Wrapped Expression List"),function(t){return t},E("DEFAULT VALUES Clause"),function(t,e){return{type:"values",variant:"default"}},E("Compound Operator"),E("UNION Operator"),function(t,e){return N([t,e])},function(t){return t},E("UPDATE Statement"),function(t,e,r,i,n,o,a){return Object.assign({type:"statement",variant:t,into:r},e,i,n,o,a)},E("UPDATE Keyword"),E("UPDATE OR Modifier"),function(t){return{or:D(t)}},E("SET Clause"),function(t){return{set:t}},E("Column Assignment"),function(t,e){return{type:"assignment",target:t,value:e}},E("DELETE Statement"),function(t,e,r,i,n){return Object.assign({type:"statement",variant:t,from:e},r,i,n)},E("DELETE Keyword"),E("CREATE Statement"),E("CREATE TABLE Statement"),function(t,e,r,i){return Object.assign({type:"statement",name:r},t,i,e)},function(t,e,r){return Object.assign({variant:t,format:D(r)},e)},function(t){return{temporary:O(t)}},E("IF NOT EXISTS Modifier"),function(t,e,r){return{condition:I({type:"condition",variant:D(t),condition:{type:"expression",variant:D(r),operator:N([e,r])}})}},E("Table Definition"),function(t,e,r){return Object.assign({definition:B([t,e])},r)},function(t,e){return{optimization:[{type:"optimization",value:N([t,e])}]}},function(t){return t},E("Column Definition"),function(t,e,r){return Object.assign({type:"definition",variant:"column",name:t,definition:O(r)?r:[]},e)},E("Column Datatype"),function(t){return{datatype:t}},E("Column Constraint"),function(t,e,r){return Object.assign(e,t)},function(t){return t[t.length-1]},E("CONSTRAINT Name"),function(t){return{name:t}},E("FOREIGN KEY Column Constraint"),function(t){return Object.assign({variant:"foreign key"},t)},E("PRIMARY KEY Column Constraint"),function(t,e,r,i){return Object.assign(t,r,e,i)},E("PRIMARY KEY Keyword"),function(t,e){return{type:"constraint",variant:N([t,e])}},E("AUTOINCREMENT Keyword"),function(t){return{autoIncrement:!0}},function(t,e){return Object.assign({type:"constraint",variant:t},e)},E("UNIQUE Column Constraint"),E("NULL Column Constraint"),function(t,e){return N([t,e])},E("CHECK Column Constraint"),E("DEFAULT Column Constraint"),function(t,e){return{type:"constraint",variant:D(t),value:e}},E("COLLATE Column Constraint"),function(t){return{type:"constraint",variant:"collate",collate:t}},E("Table Constraint"),function(t,e,r){return Object.assign({type:"definition",variant:"constraint"},e,t)},E("CHECK Table Constraint"),function(t){return{definition:I(t)}},E("PRIMARY KEY Table Constraint"),function(t,e,r){return{definition:I(Object.assign(t,r,e[1])),columns:e[0]}},function(t){return{type:"constraint",variant:D(t)}},function(t,e){return N([t,e])},E("UNIQUE Keyword"),function(t){return D(t)},function(t,e){return[t].concat(e)},function(t){return t.map((function(t){var e=i(t,1),r=e[0];return r}))},function(t){var e=t.find((function(t){var e=i(t,2),r=(e[0],e[1]);return O(r)}));return[t.map((function(t){var e=i(t,2),r=e[0];e[1];return r})),e?e[1]:null]},E("Indexed Column"),function(t,e,r){var i=t;return O(e)&&(i=Object.assign({type:"expression",variant:"order",expression:t},e)),[i,r]},E("Collation"),function(t){return{collate:I(t)}},E("Column Direction"),function(t){return{direction:D(t)}},function(t,e){return{conflict:D(e)}},E("ON CONFLICT Keyword"),function(t,e){return N([t,e])},function(t,e){return{type:"constraint",variant:D(t),expression:e}},E("FOREIGN KEY Table Constraint"),function(t,e,r){return Object.assign({definition:I(Object.assign(t,r))},e)},E("FOREIGN KEY Keyword"),function(t,e){return{type:"constraint",variant:N([t,e])}},function(t,e,r){return Object.assign({type:"constraint"},t,e,r)},E("REFERENCES Clause"),function(t,e){return{references:e}},function(t,e){return{action:B([t,e])}},E("FOREIGN KEY Action Clause"),function(t,e,r){return{type:"action",variant:D(t),action:D(r)}},E("FOREIGN KEY Action"),function(t,e){return N([t,e])},function(t){return D(t)},function(t,e){return N([t,e])},function(t,e){return{type:"action",variant:D(t),action:e}},E("DEFERRABLE Clause"),function(t,e,r){return{defer:N([t,e,r])}},function(t,e){return N([t,e])},function(t){return{definition:I(t)}},E("CREATE INDEX Statement"),function(t,e,r,i,n){return Object.assign({type:"statement",target:r,on:i},t,e,n)},function(t,e,r){return Object.assign({variant:D(t),format:D(r)},e)},function(t){return{unique:!0}},E("ON Clause"),function(t,e,r){return{type:"identifier",variant:"expression",format:"table",name:e["name"],columns:r}},E("CREATE TRIGGER Statement"),function(t,e,r,i,n,o,a,s){return Object.assign({type:"statement",target:r,on:n,event:i,by:O(o)?o:"row",action:I(s)},t,e,a)},function(t,e,r){return Object.assign({variant:D(t),format:D(r)},e)},E("Conditional Clause"),function(t,e){return Object.assign({type:"event"},t,e)},function(t){return{occurs:D(t)}},function(t,e){return N([t,e])},E("Conditional Action"),function(t){return{event:D(t)}},function(t,e){return{event:D(t),of:e}},function(t,e){return e},"statement",w("STATEMENT",!0),function(t,e,r){return D(r)},function(t,e){return{when:e}},E("Actions Clause"),function(t,e,r){return e},function(t){return t},E("CREATE VIEW Statement"),function(t,e,r,i){return Object.assign({type:"statement",target:r,result:i},t,e)},function(t,e){return Object.assign({type:"identifier",variant:"expression",format:"view",name:t["name"],columns:[]},e)},function(t,e,r){return Object.assign({variant:D(t),format:D(r)},e)},E("CREATE VIRTUAL TABLE Statement"),function(t,e,r,i){return Object.assign({type:"statement",target:r,result:i},t,e)},function(t,e,r){return{variant:D(t),format:D(e)}},function(t,e){return Object.assign({type:"module",variant:"virtual",name:t},e)},E("Module Arguments"),function(t){return{args:{type:"expression",variant:"list",expression:O(t)?t:[]}}},function(t,e){return B([t,e]).filter((function(t){return O(t)}))},function(t){return t},E("DROP Statement"),function(t,e){return Object.assign({type:"statement",target:Object.assign(e,{variant:t["format"]})},t)},E("DROP Keyword"),function(t,e,r){return Object.assign({variant:D(t),format:e,condition:[]},r)},E("DROP Type"),E("IF EXISTS Keyword"),function(t,e){return{condition:[{type:"condition",variant:D(t),condition:{type:"expression",variant:D(e),operator:D(e)}}]}},E("Or"),E("Add"),E("Subtract"),E("Multiply"),E("Divide"),E("Modulo"),E("Shift Left"),E("Shift Right"),E("Logical AND"),E("Logical OR"),E("Less Than"),E("Greater Than"),E("Less Than Or Equal"),E("Greater Than Or Equal"),E("Equal"),E("Not Equal"),E("IS"),function(t,e){return N([t,e])},E("Identifier"),E("Database Identifier"),function(t){return{type:"identifier",variant:"database",name:t}},E("Function Identifier"),function(t,e){return{type:"identifier",variant:"function",name:L([t,e])}},E("Table Identifier"),function(t,e){return{type:"identifier",variant:"table",name:L([t,e])}},function(t,e){return L([t,e])},E("Column Identifier"),function(t,e){return{type:"identifier",variant:"column",name:L([t,e])}},function(){return""},function(t,e){return L([t,e])},E("Collation Identifier"),function(t){return{type:"identifier",variant:"collation",name:t}},E("Savepoint Identifier"),function(t){return{type:"identifier",variant:"savepoint",name:t}},E("Index Identifier"),function(t,e){return{type:"identifier",variant:"index",name:L([t,e])}},E("Trigger Identifier"),function(t,e){return{type:"identifier",variant:"trigger",name:L([t,e])}},E("View Identifier"),function(t,e){return{type:"identifier",variant:"view",name:L([t,e])}},E("Pragma Identifier"),function(t,e){return{type:"identifier",variant:"pragma",name:L([t,e])}},E("CTE Identifier"),function(t){return t},function(t,e){return Object.assign({type:"identifier",variant:"expression",format:"table",name:t["name"],columns:[]},e)},E("Table Constraint Identifier"),function(t){return{type:"identifier",variant:"constraint",format:"table",name:t}},E("Column Constraint Identifier"),function(t){return{type:"identifier",variant:"constraint",format:"column",name:t}},E("Datatype Name"),function(t){return[t,"text"]},function(t){return[t,"real"]},function(t){return[t,"numeric"]},function(t){return[t,"integer"]},function(t){return[t,"none"]},E("TEXT Datatype Name"),"n",w("N",!0),"var",w("VAR",!0),"char",w("CHAR",!0),"tiny",w("TINY",!0),"medium",w("MEDIUM",!0),"long",w("LONG",!0),"text",w("TEXT",!0),"clob",w("CLOB",!0),E("REAL Datatype Name"),"float",w("FLOAT",!0),"real",w("REAL",!0),E("DOUBLE Datatype Name"),"double",w("DOUBLE",!0),"precision",w("PRECISION",!0),function(t,e){return L([t,e])},E("NUMERIC Datatype Name"),"numeric",w("NUMERIC",!0),"decimal",w("DECIMAL",!0),"boolean",w("BOOLEAN",!0),"date",w("DATE",!0),"time",w("TIME",!0),"stamp",w("STAMP",!0),"string",w("STRING",!0),E("INTEGER Datatype Name"),"int",w("INT",!0),"2",w("2",!1),"4",w("4",!1),"8",w("8",!1),"eger",w("EGER",!0),"big",w("BIG",!0),"small",w("SMALL",!0),"floating",w("FLOATING",!0),"point",w("POINT",!0),function(t,e){return L([t,e])},E("BLOB Datatype Name"),"blob",w("BLOB",!0),/^[a-z0-9$_]/i,M([["a","z"],["0","9"],"$","_"],!1,!0),"\\u",w("\\u",!1),/^[a-f0-9]/i,M([["a","f"],["0","9"]],!1,!0),function(t,e){return L([t,e]).toLowerCase()},function(t){return D(t)},_(),function(t){return q(t)},/^[ \t]/,M([" ","\t"],!1,!1),'"',w('"',!1),'""',w('""',!1),/^[^"]/,M(['"'],!0,!1),function(t){return P(t,'"')},"'",w("'",!1),function(t){return P(t,"'")},"`",w("`",!1),"``",w("``",!1),/^[^`]/,M(["`"],!0,!1),function(t){return P(t,"`")},E("Open Bracket"),"[",w("[",!1),E("Close Bracket"),"]",w("]",!1),E("Open Parenthesis"),"(",w("(",!1),E("Close Parenthesis"),")",w(")",!1),E("Comma"),",",w(",",!1),E("Period"),".",w(".",!1),E("Asterisk"),"*",w("*",!1),E("Question Mark"),"?",w("?",!1),E("Single Quote"),E("Double Quote"),E("Backtick"),E("Tilde"),"~",w("~",!1),E("Plus"),"+",w("+",!1),E("Minus"),"-",w("-",!1),"=",w("=",!1),E("Ampersand"),"&",w("&",!1),E("Pipe"),"|",w("|",!1),"%",w("%",!1),"<",w("<",!1),">",w(">",!1),E("Exclamation"),"!",w("!",!1),E("Semicolon"),";",w(";",!1),E("Colon"),E("Forward Slash"),"/",w("/",!1),E("Backslash"),"\\",w("\\",!1),"abort",w("ABORT",!0),"action",w("ACTION",!0),"add",w("ADD",!0),"after",w("AFTER",!0),"all",w("ALL",!0),"alter",w("ALTER",!0),"analyze",w("ANALYZE",!0),"and",w("AND",!0),"as",w("AS",!0),"asc",w("ASC",!0),"attach",w("ATTACH",!0),"autoincrement",w("AUTOINCREMENT",!0),"before",w("BEFORE",!0),"begin",w("BEGIN",!0),"between",w("BETWEEN",!0),"by",w("BY",!0),"cascade",w("CASCADE",!0),"case",w("CASE",!0),"cast",w("CAST",!0),"check",w("CHECK",!0),"collate",w("COLLATE",!0),"column",w("COLUMN",!0),"commit",w("COMMIT",!0),"conflict",w("CONFLICT",!0),"constraint",w("CONSTRAINT",!0),"create",w("CREATE",!0),"cross",w("CROSS",!0),"current_date",w("CURRENT_DATE",!0),"current_time",w("CURRENT_TIME",!0),"current_timestamp",w("CURRENT_TIMESTAMP",!0),"database",w("DATABASE",!0),"default",w("DEFAULT",!0),"deferrable",w("DEFERRABLE",!0),"deferred",w("DEFERRED",!0),"delete",w("DELETE",!0),"desc",w("DESC",!0),"detach",w("DETACH",!0),"distinct",w("DISTINCT",!0),"drop",w("DROP",!0),"each",w("EACH",!0),"else",w("ELSE",!0),"end",w("END",!0),"escape",w("ESCAPE",!0),"except",w("EXCEPT",!0),"exclusive",w("EXCLUSIVE",!0),"exists",w("EXISTS",!0),"explain",w("EXPLAIN",!0),"fail",w("FAIL",!0),"for",w("FOR",!0),"foreign",w("FOREIGN",!0),"from",w("FROM",!0),"full",w("FULL",!0),"glob",w("GLOB",!0),"group",w("GROUP",!0),"having",w("HAVING",!0),"if",w("IF",!0),"ignore",w("IGNORE",!0),"immediate",w("IMMEDIATE",!0),"in",w("IN",!0),"index",w("INDEX",!0),"indexed",w("INDEXED",!0),"initially",w("INITIALLY",!0),"inner",w("INNER",!0),"insert",w("INSERT",!0),"instead",w("INSTEAD",!0),"intersect",w("INTERSECT",!0),"into",w("INTO",!0),"is",w("IS",!0),"isnull",w("ISNULL",!0),"join",w("JOIN",!0),"key",w("KEY",!0),"left",w("LEFT",!0),"like",w("LIKE",!0),"limit",w("LIMIT",!0),"match",w("MATCH",!0),"natural",w("NATURAL",!0),"no",w("NO",!0),"not",w("NOT",!0),"notnull",w("NOTNULL",!0),"of",w("OF",!0),"offset",w("OFFSET",!0),"on",w("ON",!0),"or",w("OR",!0),"order",w("ORDER",!0),"outer",w("OUTER",!0),"plan",w("PLAN",!0),"pragma",w("PRAGMA",!0),"primary",w("PRIMARY",!0),"query",w("QUERY",!0),"raise",w("RAISE",!0),"recursive",w("RECURSIVE",!0),"references",w("REFERENCES",!0),"regexp",w("REGEXP",!0),"reindex",w("REINDEX",!0),"release",w("RELEASE",!0),"rename",w("RENAME",!0),"replace",w("REPLACE",!0),"restrict",w("RESTRICT",!0),"right",w("RIGHT",!0),"rollback",w("ROLLBACK",!0),"row",w("ROW",!0),"rowid",w("ROWID",!0),"savepoint",w("SAVEPOINT",!0),"select",w("SELECT",!0),"set",w("SET",!0),"table",w("TABLE",!0),"temp",w("TEMP",!0),"temporary",w("TEMPORARY",!0),"then",w("THEN",!0),"to",w("TO",!0),"transaction",w("TRANSACTION",!0),"trigger",w("TRIGGER",!0),"union",w("UNION",!0),"unique",w("UNIQUE",!0),"update",w("UPDATE",!0),"using",w("USING",!0),"vacuum",w("VACUUM",!0),"values",w("VALUES",!0),"view",w("VIEW",!0),"virtual",w("VIRTUAL",!0),"when",w("WHEN",!0),"where",w("WHERE",!0),"with",w("WITH",!0),"without",w("WITHOUT",!0),function(t){return D(t)},function(){return null},E("Line Comment"),"--",w("--",!1),/^[\n\v\f\r]/,M(["\n","\v","\f","\r"],!1,!1),E("Block Comment"),"/*",w("/*",!1),"*/",w("*/",!1),/^[\n\v\f\r\t ]/,M(["\n","\v","\f","\r","\t"," "],!1,!1),E("Whitespace"),"__TODO__",w("__TODO__",!1)],f=[$("%;ȿ/H#;#/?$;\".\" &\"/1$;#/($8$: $!!)($'#(#'#(\"'#&'#"),$("%;ȿ/C#;#/:$;x/1$;#/($8$: $!!)($'#(#'#(\"'#&'#"),$("%;x/B#;ȿ/9$$;%0#*;%&/)$8#:!#\"\" )(#'#(\"'#&'#"),$("$;Ƴ0#*;Ƴ&"),$("$;Ƴ/�#*;Ƴ&&&#"),$("%;$/:#;x/1$;ȿ/($8#:\"#!!)(#'#(\"'#&'#"),$('<%;\'.# &;(/@#;ȿ/7$;*." &"/)$8#:$#"" )(#\'#("\'#&\'#=." 7#'),$("%;Ƌ/' 8!:%!! )"),$('<%;ƕ/9#$;)0#*;)&/)$8":\'""! )("\'#&\'#=." 7&'),$('%4(""5!7)/1#;Ɨ/($8":*"! )("\'#&\'#'),$("<%;Ơ/R#;5/I$;ȿ/@$;+.\" &\"/2$;ơ/)$8%:,%\"#!)(%'#($'#(#'#(\"'#&'#=.\" 7+"),$("%;Ƣ/C#;ȿ/:$;5/1$;ȿ/($8$:-$!!)($'#(#'#(\"'#&'#"),$(";5.; &;6.5 &;2./ &;-.) &;..# &;/"),$('<%;Ȇ/1#;ȿ/($8":/"!!)("\'#&\'#=." 7.'),$('<%;ǒ.) &;ǔ.# &;Ǔ/1#;ȿ/($8":1"!!)("\'#&\'#=." 70'),$('<%;4." &"/2#;0/)$8":3""! )("\'#&\'#=." 72'),$("<%;Ʀ/A#$;10#*;1&/1$;Ʀ/($8#:5#!!)(#'#(\"'#&'#=.\" 74"),$('26""6677.) &48""5!79'),$('<%4;""5!7!! )"),$('<%;ƪ.# &;ƫ/\' 8!:"!! )=." 7?'),$('%;4." &"/2#;6/)$8":@""! )("\'#&\'#'),$(";<.# &;7"),$('%;8/7#;;." &"/)$8":A""! )("\'#&\'#'),$('<;9.# &;:=." 7B'),$('%$;>/�#*;>&&&#/7#;:." &"/)$8":C""! )("\'#&\'#'),$('%;ƣ/9#$;>0#*;>&/)$8":D""! )("\'#&\'#'),$('<%3F""5!7G/T#4H""5!7I." &"/@$$;>/�#*;>&&&#/*$8#:J##"! )(#\'#("\'#&\'#=." 7E'),$('<%3L""5"7M/?#$;=/�#*;=&&&#/)$8":N""! )("\'#&\'#=." 7K'),$('4O""5!7P'),$('4Q""5!7R'),$("<%;@.) &;B.# &;C/' 8!:T!! )=.\" 7S"),$('<%;ƥ/@#;A." &"/2$;ȿ/)$8#:V#""!)(#\'#("\'#&\'#=." 7U'),$('%4W""5!7X/9#$;>0#*;>&/)$8":Y""! )("\'#&\'#'),$('<%4[""5!7\\/H#$;Ɠ/�#*;Ɠ&&&#/2$;ȿ/)$8#:]#""!)(#\'#("\'#&\'#=." 7Z'),$('<%2_""6_7`/o#$;Ɠ.) &2a""6a7b/2#0/*;Ɠ.) &2a""6a7b&&&#/A$;ȿ/8$;D." &"/*$8$:c$##" )($\'#(#\'#("\'#&\'#=." 7^'),$('%;ƛ/1#;ȿ/($8":d"!!)("\'#&\'#'),$('<%;F." &"/;#;ȿ/2$;”/)$8#:f#"" )(#\'#("\'#&\'#=." 7e'),$('<%;k." &"/;#;Ǥ/2$;ȿ/)$8#:h#""!)(#\'#("\'#&\'#=." 7g'),$("<%;ȑ/_#;ȿ/V$;Ơ/M$;ȿ/D$;H/;$;ȿ/2$;ơ/)$8':j'\"&\")(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7i"),$("<%;I.# &;J/' 8!:l!! )=.\" 7k"),$("<%;ǯ/' 8!:n!! )=.\" 7m"),$("%;ț.) &;Ʒ.# &;Ǧ/M#;ȿ/D$;Ƣ/;$;ȿ/2$;w/)$8%:o%\"$ )(%'#($'#(#'#(\"'#&'#"),$(";?./ &;t.) &;,.# &;Ž"),$("%;Ơ/L#;ȿ/C$;p/:$;ȿ/1$;ơ/($8%:p%!\")(%'#($'#(#'#(\"'#&'#"),$(";L.; &;E.5 &;_./ &;a.) &;G.# &;K"),$("%;M/;#;ȿ/2$;Q/)$8#:q#\"\" )(#'#(\"'#&'#.# &;M"),$("%;P/A#;ȿ/8$;N.# &;p/)$8#:r#\"\" )(#'#(\"'#&'#.# &;N"),$(";Ʃ.U &;ƫ.O &;ƪ.I &%%;k/8#%<;Ǥ=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),$("<%;ĭ/' 8!:t!! )=.\" 7s"),$("%;O/ƒ#$%;ȿ/>#;Ŧ/5$;ȿ/,$;O/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;Ŧ/5$;ȿ/,$;O/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$("%;R/ƒ#$%;ȿ/>#;T/5$;ȿ/,$;R/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;T/5$;ȿ/,$;R/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$(";ũ.) &;Ū.# &;ū"),$("%;S/ƒ#$%;ȿ/>#;V/5$;ȿ/,$;S/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;V/5$;ȿ/,$;S/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$(";ŧ.# &;Ũ"),$("%;U/ƒ#$%;ȿ/>#;X/5$;ȿ/,$;U/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;X/5$;ȿ/,$;U/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$(";Ŭ.U &;ŭ.O &;Ů.I &%%;ů/8#%<;ů=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),$("%;W/ƒ#$%;ȿ/>#;Z/5$;ȿ/,$;W/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;Z/5$;ȿ/,$;W/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$(";Ų.{ &;ų.u &%%;Ű/8#%<;X=.##&&!&'#/#$+\")(\"'#&'#/\"!&,).I &%%;ű/8#%<;X=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),$('%;Y/9#$;\\0#*;\\&/)$8":u""! )("\'#&\'#'),$("%;ȿ/1#;]/($8\":v\"! )(\"'#&'#.H &%;ȿ/>#;^/5$;ȿ/,$;Y/#$+$)($'#(#'#(\"'#&'#"),$('%3w""5$7x/?#;ȿ/6$3y""5$7z/\'$8#:{# )(#\'#("\'#&\'#.? &%;ǻ/& 8!:|! ).. &%;ȅ/& 8!:{! )'),$(";ŷ./ &;ŵ.) &;Ŷ.# &;Ŵ"),$("<%;lj/i#;ȿ/`$;Ơ/W$;p/N$;ȿ/E$;`/<$;ȿ/3$;ơ/*$8(:~(#'$\")(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7}"),$("<%;ƿ/:#;ȿ/1$;&/($8#:€#! )(#'#(\"'#&'#=.\" 7"),$("<%;Lj/“#;ȿ/Š$;b.\" &\"/|$;ȿ/s$$;c/�#*;c&&&#/]$;ȿ/T$;d.\" &\"/F$;ȿ/=$;Ǡ/4$;ȿ/+$8*:‚*$)'%#)(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7"),$("%%<;Ȱ=.##&&!&'#/1#;p/($8\":ƒ\"! )(\"'#&'#"),$("<%;Ȱ/i#;ȿ/`$;p/W$;ȿ/N$;Ȥ/E$;ȿ/<$;p/3$;ȿ/*$8(:…(#'%!)(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7„"),$("<%;ǟ/D#;ȿ/;$;p/2$;ȿ/)$8$:‡$\"#!)($'#(#'#(\"'#&'#=.\" 7†"),$("%;[/;#;ȿ/2$;f/)$8#:ˆ#\"\" )(#'#(\"'#&'#.# &;["),$(";l.) &;i.# &;g"),$('<%;k." &"/o#;ǿ./ &;ǫ.) &;Ȕ.# &;ȁ/T$;ȿ/K$;p/B$;ȿ/9$;h." &"/+$8&:Š&$%$" )(&\'#(%\'#($\'#(#\'#("\'#&\'#=." 7‰'),$("<%;ǡ/D#;ȿ/;$;p/2$;ȿ/)$8$:Œ$\"#!)($'#(#'#(\"'#&'#=.\" 7‹"),$('<%;k." &"/E#;Dž/<$;ȿ/3$;j/*$8$:Ž$##" )($\'#(#\'#("\'#&\'#=." 7'),$("%;e/W#%;ȿ/>#;ƾ/5$;ȿ/,$;e/#$+$)($'#(#'#(\"'#&'#/)$8\":\"\"! )(\"'#&'#"),$('%;Ȅ/1#;ȿ/($8":"!!)("\'#&\'#'),$('<%;k." &"/E#;DZ/<$;ȿ/3$;m/*$8$:’$##" )($\'#(#\'#("\'#&\'#=." 7‘'),$(";n.# &;Ż"),$("%;Ơ/I#;•.# &;q/:$;ȿ/1$;ơ/($8$:“$!\")($'#(#'#(\"'#&'#"),$("%;e/ƒ#$%;ȿ/>#;ƾ/5$;ȿ/,$;e/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;ƾ/5$;ȿ/,$;e/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$("%;o/ƒ#$%;ȿ/>#;Ȋ/5$;ȿ/,$;o/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;Ȋ/5$;ȿ/,$;o/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$('<%;r." &"/1#;ȿ/($8":•"!!)("\'#&\'#=." 7”'),$("%;p/B#;ȿ/9$$;s0#*;s&/)$8#:–#\"\" )(#'#(\"'#&'#"),$("%;Ƣ/:#;p/1$;ȿ/($8#:“#!!)(#'#(\"'#&'#"),$("<%;ź/[#;ȿ/R$;Ơ/I$;u.\" &\"/;$;ȿ/2$;ơ/)$8&:˜&\"%\")(&'#(%'#($'#(#'#(\"'#&'#=.\" 7—"),$('<%;Û/\' 8!:š!! ).V &%;v." &"/G#;q/>$9:› "! -""&!&#/)$8#:œ#""!)(#\'#("\'#&\'#=." 7™'),$('%;ǜ.# &;ƻ/1#;ȿ/($8":"!!)("\'#&\'#'),$("<%;//' 8!:Ÿ!! )=.\" 7ž"),$('<%;y." &"/;#;{/2$;ȿ/)$8#:¡#""!)(#\'#("\'#&\'#=." 7 '),$('<%;ǥ/@#;ȿ/7$;z." &"/)$8#:£#"" )(#\'#("\'#&\'#=." 7¢'),$("<%;Ȑ/D#;ȿ/;$;ȍ/2$;ȿ/)$8$:¥$\"#!)($'#(#'#(\"'#&'#=.\" 7¤"),$(";Œ.S &;û.M &;Ţ.G &;}.A &;|.; &;†.5 &;€./ &;„.) &;….# &;–"),$('<%;Ǎ.# &;Ǡ/@#;ȿ/7$;~." &"/)$8#:§#"" )(#\'#("\'#&\'#=." 7¦'),$('<%;DŽ/^#;ȿ/U$;." &"/G$;~." &"/9$;‚." &"/+$8%:©%$$"! )(%\'#($\'#(#\'#("\'#&\'#=." 7¨'),$('%;Ȧ/1#;ȿ/($8":ª"!!)("\'#&\'#'),$('%;ǘ.) &;ǰ.# &;ǣ/1#;ȿ/($8":«"!!)("\'#&\'#'),$('<%;ț/N#;ȿ/E$;~." &"/7$;." &"/)$8$:­$"# )($\'#(#\'#("\'#&\'#=." 7¬'),$('<%%;ȥ/,#;ȿ/#$+")("\'#&\'#." &"/?#;ƒ." &"/1$;‚/($8#:p#! )(#\'#("\'#&\'#=." 7®'),$('%;Ƃ/1#;ȿ/($8":¯"!!)("\'#&\'#'),$('%;Ȟ/1#;ȿ/($8":°"!!)("\'#&\'#'),$('<%;ƒ/2#;‚/)$8":²""! )("\'#&\'#=." 7±'),$("<%;Ȗ/J#;ȿ/A$;ƒ.\" &\"/3$;‚/*$8$:´$##! )($'#(#'#(\"'#&'#=.\" 7³"),$("<%;‡/N#;Ż/E$;ȿ/<$;ˆ/3$;ȿ/*$8%:¶%#$#!)(%'#($'#(#'#(\"'#&'#=.\" 7µ"),$("<%;Ƽ/D#;ȿ/;$;ȡ/2$;ȿ/)$8$:¸$\"#!)($'#(#'#(\"'#&'#=.\" 7·"),$(";‰.# &;Š"),$("<%;ȗ/M#;ȿ/D$;ȥ/;$;ȿ/2$;Ż/)$8%:º%\"$ )(%'#($'#(#'#(\"'#&'#=.\" 7¹"),$('<%;ƹ/I#;ȿ/@$;‹." &"/2$;Č/)$8$:¼$"# )($\'#(#\'#("\'#&\'#=." 7»'),$('%;nj/1#;ȿ/($8":°"!!)("\'#&\'#'),$('%;/2#;§/)$8":½""! )("\'#&\'#'),$('<%;Ž." &"/1#;ȿ/($8":*"!!)("\'#&\'#=." 7¾'),$("%;Ȳ/J#;ȿ/A$;.\" &\"/3$;/*$8$:¿$##! )($'#(#'#(\"'#&'#"),$('%;Ȓ/1#;ȿ/($8":°"!!)("\'#&\'#'),$("%;’/B#;ȿ/9$$;‘0#*;‘&/)$8#:À#\"\" )(#'#(\"'#&'#"),$("%;Ƣ/:#;’/1$;ȿ/($8#:“#!!)(#'#(\"'#&'#"),$('<%;Ƈ/2#;“/)$8":Â""! )("\'#&\'#=." 7Á'),$("%;ƿ/:#;ȿ/1$;”/($8#:Ã#! )(#'#(\"'#&'#"),$("%;Ơ/C#;•/:$;ȿ/1$;ơ/($8$: $!\")($'#(#'#(\"'#&'#"),$('%;/2#;¨/)$8":Ä""! )("\'#&\'#'),$(";—.; &;™.5 &;š./ &;œ.) &;ž.# &; "),$("<%;ǁ/‹#;ȿ/‚$%;Ǖ/,#;ȿ/#$+\")(\"'#&'#.\" &\"/a$;p/X$;ȿ/O$;ƿ/F$;ȿ/=$;˜/4$;ȿ/+$8):Æ)$(&%!)()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Å"),$(";Ź.) &;-.# &;?"),$("<%;Ǜ/f#;ȿ/]$%;Ǖ/,#;ȿ/#$+\")(\"'#&'#.\" &\"/<$;˜/3$;ȿ/*$8%:È%#$\"!)(%'#($'#(#'#(\"'#&'#=.\" 7Ç"),$('<%;Ȭ/@#;ȿ/7$;›." &"/)$8#:Ê#"" )(#\'#("\'#&\'#=." 7É'),$('%;Ź/1#;ȿ/($8":Ë"!!)("\'#&\'#'),$('<%;ƽ/@#;ȿ/7$;." &"/)$8#:Í#"" )(#\'#("\'#&\'#=." 7Ì'),$('%;Ż.) &;ƃ.# &;Ź/1#;ȿ/($8":Î"!!)("\'#&\'#'),$('<%;ȕ/I#;ȿ/@$;Ÿ." &"/2$;ȿ/)$8$:Í$"#!)($\'#(#\'#("\'#&\'#=." 7Ï'),$('%;Ż.) &;ƃ.# &;Ɓ/1#;ȿ/($8":Ð"!!)("\'#&\'#'),$("<%;Ȏ/S#;ȿ/J$;Ɔ/A$;ȿ/8$;¡.\" &\"/*$8%:Ò%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ñ"),$("%;Ơ/C#;¢/:$;ȿ/1$;ơ/($8$:Ó$!\")($'#(#'#(\"'#&'#.D &%;Ƭ/:#;¢/1$;ȿ/($8#:Ó#!!)(#'#(\"'#&'#"),$(";¤.) &;£.# &;¦"),$(";5.) &;/.# &;3"),$('%;¥/<#9:Ô ! -""&!&#/($8":Õ"!!)("\'#&\'#'),$("%$;Ɠ/�#*;Ɠ&&&#/' 8!:Ö!! )"),$("%;¥/' 8!:×!! )"),$(";¨./ &;Ý.) &;ò.# &;ù"),$('<%;®/X#;ȿ/O$;©." &"/A$;ȿ/8$;ª." &"/*$8%:Ù%#$" )(%\'#($\'#(#\'#("\'#&\'#=." 7Ø'),$("<%;ȋ/L#;ȿ/C$;dž/:$;ȿ/1$;Ø/($8%:Û%! )(%'#($'#(#'#(\"'#&'#=.\" 7Ú"),$("<%;Ȁ/S#;ȿ/J$;p/A$;ȿ/8$;«.\" &\"/*$8%:Ý%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ü"),$('<%;¬/2#;p/)$8":ß""! )("\'#&\'#=." 7Þ'),$(";­.# &;Ƣ"),$('%;Ȉ/1#;ȿ/($8":°"!!)("\'#&\'#'),$("%;°/B#;ȿ/9$$;¯0#*;¯&/)$8#:à#\"\" )(#'#(\"'#&'#"),$("<%;ï/D#;ȿ/;$;°/2$;ȿ/)$8$:â$\"#!)($'#(#'#(\"'#&'#=.\" 7á"),$(";±.# &;×"),$('%;²/U#;¸." &"/G$;¹." &"/9$;º." &"/+$8$:ã$$#"! )($\'#(#\'#("\'#&\'#'),$('<%;ȟ/R#;ȿ/I$;³." &"/;$;ȿ/2$;¶/)$8%:å%"" )(%\'#($\'#(#\'#("\'#&\'#=." 7ä'),$('<;´.# &;µ=." 7æ'),$('%;ǜ/1#;ȿ/($8":ç"!!)("\'#&\'#'),$('%;ƻ/1#;ȿ/($8":è"!!)("\'#&\'#'),$("%;¼/B#;ȿ/9$$;·0#*;·&/)$8#:À#\"\" )(#'#(\"'#&'#"),$("%;Ƣ/:#;¼/1$;ȿ/($8#:-#!!)(#'#(\"'#&'#"),$("<%;ǩ/D#;ȿ/;$;À/2$;ȿ/)$8$:ê$\"#!)($'#(#'#(\"'#&'#=.\" 7é"),$("<%;ȱ/D#;ȿ/;$;p/2$;ȿ/)$8$:ì$\"#!)($'#(#'#(\"'#&'#=.\" 7ë"),$("<%;Ǭ/e#;ȿ/\\$;dž/S$;ȿ/J$;q/A$;ȿ/8$;».\" &\"/*$8':î'#&\" )(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7í"),$("<%;ǭ/D#;ȿ/;$;p/2$;ȿ/)$8$:ð$\"#!)($'#(#'#(\"'#&'#=.\" 7ï"),$(";½.# &;¿"),$('%;¾." &"/2#;Û/)$8":ñ""! )("\'#&\'#'),$('%;ƕ/2#;ƣ/)$8":ò""! )("\'#&\'#'),$('%;p/@#;ȿ/7$;Í." &"/)$8#:ó#"" )(#\'#("\'#&\'#'),$("%;Ä/B#;ȿ/9$$;Á0#*;Á&/)$8#:ô#\"\" )(#'#(\"'#&'#"),$('%;Â.# &;Ã/7#;Ô." &"/)$8":õ""! )("\'#&\'#'),$("<%;Ƣ/:#;Ä/1$;ȿ/($8#:÷#!!)(#'#(\"'#&'#=.\" 7ö"),$("<%;Î/D#;ȿ/;$;Ä/2$;ȿ/)$8$:ù$\"#!)($'#(#'#(\"'#&'#=.\" 7ø"),$(";Ë.5 &;?./ &;Å.) &;Æ.# &;Ì"),$("%;ź/S#;ȿ/J$;í/A$;ȿ/8$;Í.\" &\"/*$8%:ú%#$\" )(%'#($'#(#'#(\"'#&'#"),$('<%;Ç/@#;ȿ/7$;È." &"/)$8#:ü#"" )(#\'#("\'#&\'#=." 7û'),$('<%;Ż/@#;ȿ/7$;Í." &"/)$8#:þ#"" )(#\'#("\'#&\'#=." 7ý'),$('<;É.# &;Ê=." 7ÿ'),$("%;dz/V#;ȿ/M$;dž/D$;ȿ/;$;ƃ/2$;ȿ/)$8&:Ā&\"%!)(&'#(%'#($'#(#'#(\"'#&'#"),$("%;k/;#;dz/2$;ȿ/)$8#:ā#\"\"!)(#'#(\"'#&'#"),$("<%;Ơ/R#;À/I$;ȿ/@$;ơ/7$;Í.\" &\"/)$8%:ă%\"# )(%'#($'#(#'#(\"'#&'#=.\" 7Ă"),$('<%;”/7#;Í." &"/)$8":ą""! )("\'#&\'#=." 7Ą'),$('<%%;ƿ/Q#%%<;Ɠ.# &;ȶ=.##&&!&\'#/,#;ȿ/#$+")("\'#&\'#/#$+")("\'#&\'#." &"/;#;ƕ/2$;ȿ/)$8#:ć#""!)(#\'#("\'#&\'#=." 7Ć'),$('<%;Ï." &"/J#;ȿ/A$;Ð." &"/3$;Ǽ/*$8$:ĉ$##! )($\'#(#\'#("\'#&\'#=." 7Ĉ'),$('%;Ȃ/1#;ȿ/($8":"!!)("\'#&\'#'),$(";Ñ.# &;Ó"),$('%;Ǿ.) &;Ț.# &;Ǫ/@#;ȿ/7$;Ò." &"/)$8#:Ċ#"" )(#\'#("\'#&\'#'),$('%;Ȍ/1#;ȿ/($8":ċ"!!)("\'#&\'#'),$('%;ǵ.# &;Ǒ/1#;ȿ/($8":ċ"!!)("\'#&\'#'),$('<%;Õ.# &;Ö/1#;ȿ/($8":č"!!)("\'#&\'#=." 7Č'),$('<%;ȉ/;#;ȿ/2$;p/)$8#:ď#"" )(#\'#("\'#&\'#=." 7Ď'),$('<%;ȫ/;#;ȿ/2$;æ/)$8#:đ#"" )(#\'#("\'#&\'#=." 7Đ'),$('<%;ȭ/;#;ȿ/2$;ë/)$8#:ē#"" )(#\'#("\'#&\'#=." 7Ē'),$("%;Ú/B#;ȿ/9$$;Ù0#*;Ù&/)$8#:Ĕ#\"\" )(#'#(\"'#&'#"),$("%;Ƣ/:#;Ú/1$;ȿ/($8#:ĕ#!!)(#'#(\"'#&'#"),$('<%;p/@#;ȿ/7$;į." &"/)$8#:ė#"" )(#\'#("\'#&\'#=." 7Ė'),$('<;Ƥ=." 7Ę'),$('<;Ș.5 &;ț./ &;Ʒ.) &;Ǧ.# &;ǯ=." 7ę'),$('<%;Þ/;#;ȿ/2$;â/)$8#:ě#"" )(#\'#("\'#&\'#=." 7Ě'),$(";ß.# &;à"),$('<%;Ƕ/@#;ȿ/7$;á." &"/)$8#:ĝ#"" )(#\'#("\'#&\'#=." 7Ĝ'),$('<%;Ș/1#;ȿ/($8":ğ"!!)("\'#&\'#=." 7Ğ'),$('<%;Ȋ/;#;ȿ/2$;Ü/)$8#:ġ#"" )(#\'#("\'#&\'#=." 7Ġ'),$('%;ã/2#;å/)$8":Ģ""! )("\'#&\'#'),$('<%;ä/2#;Ƈ/)$8":Ĥ""! )("\'#&\'#=." 7ģ'),$('<%;ǹ/,#;ȿ/#$+")("\'#&\'#=." 7ĥ'),$('<%;é.) &;•.# &;î/1#;ȿ/($8":Ħ"!!)("\'#&\'#=." 7Ē'),$("<%;Ơ/T#;è/K$;ȿ/B$$;ç0#*;ç&/2$;ơ/)$8%:Ĩ%\"#!)(%'#($'#(#'#(\"'#&'#=.\" 7ħ"),$("%;Ƣ/:#;è/1$;ȿ/($8#:ĩ#!!)(#'#(\"'#&'#"),$("<%;Ÿ/' 8!:ī!! )=.\" 7Ī"),$('<%;ê/2#;ë/)$8":Ĭ""! )("\'#&\'#=." 7Ē'),$('<%;ȭ/1#;ȿ/($8":°"!!)("\'#&\'#=." 7ĭ'),$("%;í/B#;ȿ/9$$;ì0#*;ì&/)$8#:Į#\"\" )(#'#(\"'#&'#"),$("%;Ƣ/:#;í/1$;ȿ/($8#:“#!!)(#'#(\"'#&'#"),$("<%;Ơ/C#;q/:$;ȿ/1$;ơ/($8$:İ$!\")($'#(#'#(\"'#&'#=.\" 7į"),$('<%;ǖ/;#;ȿ/2$;ȭ/)$8#:IJ#"" )(#\'#("\'#&\'#=." 7ı'),$("<%;ð.) &;Ǹ.# &;Ǣ/' 8!:°!! )=.\" 7ij"),$('<%;Ȩ/@#;ȿ/7$;ñ." &"/)$8#:ĵ#"" )(#\'#("\'#&\'#=." 7Ĵ'),$('%;ƻ/1#;ȿ/($8":Ķ"!!)("\'#&\'#'),$("<%;ó/Š#;ô.\" &\"/|$;Æ/s$;ȿ/j$;õ/a$;¹.\" &\"/S$;©.\" &\"/E$;ȿ/<$;ª.\" &\"/.$8):ĸ)'('&$#\" )()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7ķ"),$('<%;Ȫ/1#;ȿ/($8":°"!!)("\'#&\'#=." 7Ĺ'),$("<%;Ȋ/C#;ȿ/:$;Ü/1$;ȿ/($8$:Ļ$!!)($'#(#'#(\"'#&'#=.\" 7ĺ"),$("<%;Ƞ/C#;ȿ/:$;ö/1$;ȿ/($8$:Ľ$!!)($'#(#'#(\"'#&'#=.\" 7ļ"),$('%;ø/9#$;÷0#*;÷&/)$8":Į""! )("\'#&\'#'),$("%;ȿ/:#;Ƣ/1$;ø/($8#:ĩ#! )(#'#(\"'#&'#"),$("<%;Ž/M#;ȿ/D$;Ƭ/;$;p/2$;ȿ/)$8%:Ŀ%\"$!)(%'#($'#(#'#(\"'#&'#=.\" 7ľ"),$('<%;ú/h#;Æ/_$;ȿ/V$;¹." &"/H$;©." &"/:$;ª." &"/,$8&:Ł&%%$"! )(&\'#(%\'#($\'#(#\'#("\'#&\'#=." 7ŀ'),$("<%;Ǚ/C#;ȿ/:$;ǩ/1$;ȿ/($8$:°$!#)($'#(#'#(\"'#&'#=.\" 7ł"),$('<;ý.5 &;þ./ &;ÿ.) &;Ā.# &;ā=." 7Ń'),$('%;ǐ/1#;ȿ/($8":°"!!)("\'#&\'#'),$("%%<%;ü/>#;Dz./ &;ȧ.) &;Ȯ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ă/($8\":ĩ\"! )(\"'#&'#"),$("%%<%;ü/>#;ȡ./ &;ȧ.) &;Ȯ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ń/($8\":ĩ\"! )(\"'#&'#"),$("%%<%;ü/>#;ȡ./ &;Dz.) &;Ȯ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ň/($8\":ĩ\"! )(\"'#&'#"),$("%%<%;ü/>#;ȡ./ &;Dz.) &;ȧ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ŗ/($8\":ĩ\"! )(\"'#&'#"),$("%%<%;ü/>#;ȡ./ &;Dz.) &;ȧ.# &;Ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ś/($8\":ĩ\"! )(\"'#&'#"),$("<%;ă/T#;ą.\" &\"/F$;Ż/=$;ȿ/4$;Ć/+$8%:Ņ%$$#\" )(%'#($'#(#'#(\"'#&'#=.\" 7ń"),$("%;ü/J#;Ą.\" &\"/<$;ȡ/3$;ȿ/*$8$:ņ$##\"!)($'#(#'#(\"'#&'#"),$('%;ȣ.# &;Ȣ/1#;ȿ/($8":Ň"!!)("\'#&\'#'),$("<%;Ǯ/N#;ȿ/E$;k/<$;Ǥ/3$;ȿ/*$8%:ʼn%#$\"!)(%'#($'#(#'#(\"'#&'#=.\" 7ň"),$(";ć.# &;ł"),$("<%;Ơ/Z#;ĉ/Q$$;ċ0#*;ċ&/A$;ơ/8$;Ĉ.\" &\"/*$8%:ŋ%##\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ŋ"),$("%;ȳ/D#;ȿ/;$;ȝ/2$;ȿ/)$8$:Ō$\"#!)($'#(#'#(\"'#&'#"),$("%;Č/B#;ȿ/9$$;Ċ0#*;Ċ&/)$8#:Į#\"\" )(#'#(\"'#&'#"),$("%;Ƣ/:#;Č/1$;ȿ/($8#:ª#!!)(#'#(\"'#&'#"),$('%;Ƣ." &"/1#;Ġ/($8":ō"! )("\'#&\'#'),$('<%;č/O#;ȿ/F$;Ď." &"/8$;ď." &"/*$8$:ŏ$##! )($\'#(#\'#("\'#&\'#=." 7Ŏ'),$("%;ƕ/=#%<;ȿ=/##&'!&&#/($8\":p\"!!)(\"'#&'#.\\ &%%<;Ď.) &;đ.# &;Ġ=.##&&!&'#/:#;ȿ/1$;Ƙ/($8#:p#! )(#'#(\"'#&'#"),$('<%;&/1#;ȿ/($8":ő"!!)("\'#&\'#=." 7Ő'),$("%;đ/B#$;Đ0#*;Đ&/2$;ȿ/)$8#:Į#\"\"!)(#'#(\"'#&'#"),$('%;ȿ/1#;đ/($8":ĩ"! )("\'#&\'#'),$('<%;Ē." &"/A#;Ĕ/8$;Ē." &"/*$8#:œ##"! )(#\'#("\'#&\'#=." 7Œ'),$("%$;ē/�#*;ē&&&#/' 8!:Ŕ!! )"),$("<%;Ǐ/C#;ȿ/:$;ƕ/1$;ȿ/($8$:Ŗ$!!)($'#(#'#(\"'#&'#=.\" 7ŕ"),$(";Ė.; &;ę.5 &;Ĝ./ &;ĝ.) &;ğ.# &;ĕ"),$("<%;ĵ/' 8!:Ř!! )=.\" 7ŗ"),$('<%;ė/U#;į." &"/G$;İ." &"/9$;Ę." &"/+$8$:Ś$$#"! )($\'#(#\'#("\'#&\'#=." 7ř'),$("<%;ȏ.# &;Ȏ/D#;ȿ/;$;ǽ/2$;ȿ/)$8$:Ŝ$\"#!)($'#(#'#(\"'#&'#=.\" 7ś"),$('<%;ǂ/1#;ȿ/($8":Ş"!!)("\'#&\'#=." 7ŝ'),$('%;Ě/@#;İ." &"/2$;ȿ/)$8#:ş#""!)(#\'#("\'#&\'#'),$('<%;ě.# &;ȩ/1#;ȿ/($8":ċ"!!)("\'#&\'#=." 7Š'),$('<%;k." &"/2#;Ȇ/)$8":Ţ""! )("\'#&\'#=." 7š'),$('<;IJ=." 7ţ'),$("<%;ǖ/D#;ȿ/;$;Ğ/2$;ȿ/)$8$:ť$\"#!)($'#(#'#(\"'#&'#=.\" 7Ť"),$(";L./ &;5.) &;,.# &;3"),$("<%;ĭ/' 8!:ŧ!! )=.\" 7Ŧ"),$('<%;Ē." &"/J#;ġ/A$;ȿ/8$;Ē." &"/*$8$:ũ$##" )($\'#(#\'#("\'#&\'#=." 7Ũ'),$(";ij.) &;ģ.# &;Ģ"),$("<%;IJ/' 8!:ū!! )=.\" 7Ū"),$("<%;Ĥ/J#;ȿ/A$;ĩ/8$;İ.\" &\"/*$8$:ŭ$##! )($'#(#'#(\"'#&'#=.\" 7Ŭ"),$('%;ĥ.# &;Ħ/1#;ȿ/($8":Ů"!!)("\'#&\'#'),$('<%;ȏ/;#;ȿ/2$;ǽ/)$8#:ů#"" )(#\'#("\'#&\'#=." 7ś'),$("<%;ȩ/' 8!:ű!! )=.\" 7Ű"),$("%;Ơ/T#;ī/K$;ȿ/B$$;Ī0#*;Ī&/2$;ơ/)$8%:Ų%\"#!)(%'#($'#(#'#(\"'#&'#"),$("%;ħ/' 8!:ų!! )"),$("%;ħ/' 8!:Ŵ!! )"),$("%;Ƣ/:#;ī/1$;ȿ/($8#:ĩ#!!)(#'#(\"'#&'#"),$('<%;Ĭ/O#;ȿ/F$;į." &"/8$;Ę." &"/*$8$:Ŷ$##! )($\'#(#\'#("\'#&\'#=." 7ŵ'),$("%;è/\\#%<%;ȿ/8#;Ƴ.) &;ơ.# &;į/#$+\")(\"'#&'#=/##&'!&&#/($8\":p\"!!)(\"'#&'#.# &;p"),$("<%$;Į/�#*;Į&&&#/' 8!:Ÿ!! )=.\" 7ŷ"),$("%;Nj/C#;ȿ/:$;Ɓ/1$;ȿ/($8$:p$!!)($'#(#'#(\"'#&'#"),$('<%;ǀ.# &;ǚ/1#;ȿ/($8":ź"!!)("\'#&\'#=." 7Ź'),$("%;ı/;#;Ü/2$;ȿ/)$8#:Ż#\"\"!)(#'#(\"'#&'#"),$("<%;ȉ/D#;ȿ/;$;ǎ/2$;ȿ/)$8$:Ž$\"#!)($'#(#'#(\"'#&'#=.\" 7ż"),$("%;NJ/;#;ȿ/2$;L/)$8#:ž#\"\" )(#'#(\"'#&'#"),$("<%;Ĵ/E#;æ/<$;ĵ/3$;ȿ/*$8$:ƀ$##\"!)($'#(#'#(\"'#&'#=.\" 7ſ"),$("<%;Ǩ/D#;ȿ/;$;ǽ/2$;ȿ/)$8$:Ƃ$\"#!)($'#(#'#(\"'#&'#=.\" 7Ɓ"),$('%;Ķ/F#;ķ." &"/8$;ŀ." &"/*$8#:ƃ##"! )(#\'#("\'#&\'#'),$("<%;ȓ/D#;ȿ/;$;Ƈ/2$;ȿ/)$8$:ƅ$\"#!)($'#(#'#(\"'#&'#=.\" 7Ƅ"),$("%;Ĺ/B#;ȿ/9$$;ĸ0#*;ĸ&/)$8#:Ɔ#\"\" )(#'#(\"'#&'#"),$('%;Ĺ/1#;ȿ/($8":Ķ"!!)("\'#&\'#'),$('<;ĺ.# &;Ŀ=." 7Ƈ'),$("%;ȉ/T#;ȿ/K$;Ǚ.# &;Ȫ/<$;ȿ/3$;Ļ/*$8%:ƈ%#$\" )(%'#($'#(#'#(\"'#&'#"),$('<;ļ.) &;Ľ.# &;ľ=." 7Ɖ'),$("%;Ƞ/J#;ȿ/A$;Ȇ.# &;ǖ/2$;ȿ/)$8$:Ɗ$\"#!)($'#(#'#(\"'#&'#"),$('%;LJ.# &;ș/1#;ȿ/($8":Ƌ"!!)("\'#&\'#'),$("%;ȃ/D#;ȿ/;$;Ƹ/2$;ȿ/)$8$:ƌ$\"#!)($'#(#'#(\"'#&'#"),$("%;ȁ/D#;ȿ/;$;ƕ/2$;ȿ/)$8$:ƍ$\"#!)($'#(#'#(\"'#&'#"),$('<%;k." &"/J#;Ǘ/A$;ȿ/8$;Ł." &"/*$8$:Ə$##" )($\'#(#\'#("\'#&\'#=." 7Ǝ'),$("%;Ǵ/J#;ȿ/A$;ǘ.# &;ǰ/2$;ȿ/)$8$:Ɛ$\"#!)($'#(#'#(\"'#&'#"),$("%;ř/' 8!:Ƒ!! )"),$("<%;ń/c#;ą.\" &\"/U$;ƃ/L$;ȿ/C$;ņ/:$;¹.\" &\"/,$8&:Ɠ&%%$#! )(&'#(%'#($'#(#'#(\"'#&'#=.\" 7ƒ"),$("%;ü/J#;Ņ.\" &\"/<$;Dz/3$;ȿ/*$8$:Ɣ$##\"!)($'#(#'#(\"'#&'#"),$('%;ȩ/1#;ȿ/($8":ƕ"!!)("\'#&\'#'),$("<%;ȉ/N#;ȿ/E$;Ż/<$;ȿ/3$;Ĩ/*$8%:Ɨ%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ɩ"),$("<%;ň/¦#;ą.\" &\"/˜$;Ƅ.\" &\"/Š$;ȿ/$;ʼn/x$;ȉ/o$;ȿ/f$;Ż/]$;ȿ/T$;ő.\" &\"/F$;Œ.\" &\"/8$;œ//$8,:ƙ,(+*)'$\"! )(,'#(+'#(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ƙ"),$("%;ü/J#;Ą.\" &\"/<$;ȧ/3$;ȿ/*$8$:ƚ$##\"!)($'#(#'#(\"'#&'#"),$('<%;Ŋ." &"/2#;Ō/)$8":Ɯ""! )("\'#&\'#=." 7ƛ'),$('%;ǃ.) &;ƺ.# &;ŋ/1#;ȿ/($8":Ɲ"!!)("\'#&\'#'),$("%;Ƿ/;#;ȿ/2$;ȇ/)$8#:ƞ#\"\" )(#'#(\"'#&'#"),$('<;ō.# &;Ŏ=." 7Ɵ'),$('%;Ǚ.# &;Ƕ/1#;ȿ/($8":Ơ"!!)("\'#&\'#'),$('%;Ȫ/@#;ȿ/7$;ŏ." &"/)$8#:ơ#"" )(#\'#("\'#&\'#'),$("%;ȇ/;#;ȿ/2$;Ő/)$8#:Ƣ#\"\" )(#'#(\"'#&'#"),$("%;è/B#;ȿ/9$$;ç0#*;ç&/)$8#:Į#\"\" )(#'#(\"'#&'#"),$("%;ǧ/c#;ȿ/Z$;Ǟ/Q$;ȿ/H$;Ȝ.) &3ƣ\"\"5)7Ƥ/3$;ȿ/*$8&:ƥ&#%#!)(&'#(%'#($'#(#'#(\"'#&'#"),$("<%;Ȱ/D#;ȿ/;$;p/2$;ȿ/)$8$:Ʀ$\"#!)($'#(#'#(\"'#&'#=.\" 7„"),$("<%;DŽ/W#;ȿ/N$;Ŕ/E$;ȿ/<$;Ǡ/3$;ȿ/*$8&:ƨ&#%#!)(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ƨ"),$("%$;ŕ/�#*;ŕ&&&#/' 8!:Ʃ!! )"),$("%;Œ/:#;ȿ/1$;$/($8#:\"#!\")(#'#(\"'#&'#"),$("<%;Ř/T#;ą.\" &\"/F$;ŗ/=$;ȿ/4$;ř/+$8%:ƫ%$$#\" )(%'#($'#(#'#(\"'#&'#=.\" 7ƪ"),$("%;ƅ/;#;ȿ/2$;æ/)$8#:Ƭ#\"\" )(#'#(\"'#&'#.# &;ƅ"),$("%;ü/J#;Ą.\" &\"/<$;Ȯ/3$;ȿ/*$8$:ƭ$##\"!)($'#(#'#(\"'#&'#"),$("%;ƿ/D#;ȿ/;$;¨/2$;ȿ/)$8$:Ĭ$\"#!)($'#(#'#(\"'#&'#"),$("<%;ś/f#;ą.\" &\"/X$;Ż/O$;ȿ/F$;ȫ/=$;ȿ/4$;Ŝ/+$8':Ư'$&%$ )(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ʈ"),$("%;ü/N#;ȯ/E$;ȿ/<$;ȡ/3$;ȿ/*$8%:ư%#$#!)(%'#($'#(#'#(\"'#&'#"),$('%;Ɨ/@#;ȿ/7$;ŝ." &"/)$8#:Ʊ#"" )(#\'#("\'#&\'#'),$("<%;Ơ/Z#;ȿ/Q$;Ş.\" &\"/C$;ȿ/:$;ơ/1$;ȿ/($8&:Ƴ&!#)(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ʋ"),$('%;Š/9#$;ş0#*;ş&/)$8":ƴ""! )("\'#&\'#'),$("%;ȿ/H#;Ƣ/?$;ȿ/6$;Š.\" &\"/($8$:Ƶ$! )($'#(#'#(\"'#&'#"),$("%%<%;ƕ/;#;ȿ/2$;&.# &;đ/#$+#)(#'#(\"'#&'#=.##&&!&'#/:#;p/1$;ȿ/($8#:İ#!!)(#'#(\"'#&'#.x &%;š/n#%%<;Ɠ=.##&&!&'#/,#;ȿ/#$+\")(\"'#&'#/F$;Ď.\" &\"/8$;ď.\" &\"/*$8$:ŏ$##! )($'#(#'#(\"'#&'#"),$(";ƕ.# &;Ƙ"),$('<%;ţ/;#;Ż/2$;ȿ/)$8#:Ʒ#""!)(#\'#("\'#&\'#=." 7ƶ'),$("<%;ǝ/J#;ȿ/A$;Ť/8$;ť.\" &\"/*$8$:ƹ$##! )($'#(#'#(\"'#&'#=.\" 7Ƹ"),$('<%;ȡ./ &;Dz.) &;ȧ.# &;Ȯ/1#;ȿ/($8":ċ"!!)("\'#&\'#=." 7ƺ'),$("<%;Ǯ/D#;ȿ/;$;Ǥ/2$;ȿ/)$8$:Ƽ$\"#!)($'#(#'#(\"'#&'#=.\" 7ƻ"),$('<%;Ʈ/,#;Ʈ/#$+")("\'#&\'#=." 7ƽ'),$('<;ƪ=." 7ƾ'),$('<;ƫ=." 7ƿ'),$('<;Ƥ=." 7ǀ'),$('<;Ƶ=." 7ǁ'),$('<;Ư=." 7ǂ'),$('<%;ư/,#;ư/#$+")("\'#&\'#=." 7ǃ'),$('<%;Ʊ/,#;Ʊ/#$+")("\'#&\'#=." 7DŽ'),$('<;ƭ=." 7Dž'),$('<;Ʈ=." 7dž'),$('<;ư=." 7LJ'),$('<;Ʊ=." 7Lj'),$('<%;ư/,#;Ƭ/#$+")("\'#&\'#=." 7lj'),$('<%;Ʊ/,#;Ƭ/#$+")("\'#&\'#=." 7NJ'),$('<%;Ƭ/1#;Ƭ." &"/#$+")("\'#&\'#=." 7Nj'),$('<%;Ʋ/,#;Ƭ/#$+")("\'#&\'#=." 7nj'),$('<%;ư/,#;Ʊ/#$+")("\'#&\'#=." 7nj'),$('<%;Ǻ/@#;ȿ/7$;k." &"/)$8#:ǎ#"" )(#\'#("\'#&\'#=." 7Ǎ'),$('<;ƕ.# &;Ƙ=." 7Ǐ'),$("<%;Ÿ/' 8!:Ǒ!! )=.\" 7ǐ"),$('<%;ż." &"/2#;Ÿ/)$8":Ǔ""! )("\'#&\'#=." 7ǒ'),$('<%;ż." &"/2#;Ÿ/)$8":Ǖ""! )("\'#&\'#=." 7ǔ'),$('%;Ÿ/2#;ƣ/)$8":ǖ""! )("\'#&\'#'),$('<%;ſ.) &;ƀ.# &;ž/2#;Ÿ/)$8":ǘ""! )("\'#&\'#=." 7Ǘ'),$("%;ȿ/& 8!:Ǚ! )"),$('%;ż/2#;ƀ/)$8":ǚ""! )("\'#&\'#'),$('%;Ÿ/2#;ƣ/)$8":D""! )("\'#&\'#'),$("<%;Ÿ/' 8!:ǜ!! )=.\" 7Ǜ"),$("<%;Ÿ/' 8!:Ǟ!! )=.\" 7ǝ"),$('<%;ż." &"/2#;Ÿ/)$8":Ǡ""! )("\'#&\'#=." 7ǟ'),$('<%;ż." &"/2#;Ÿ/)$8":Ǣ""! )("\'#&\'#=." 7ǡ'),$('<%;ż." &"/2#;Ÿ/)$8":Ǥ""! )("\'#&\'#=." 7ǣ'),$('<%;ż." &"/2#;Ÿ/)$8":Ǧ""! )("\'#&\'#=." 7ǥ'),$('<%;ƈ.# &;Ż/1#;ȿ/($8":Ǩ"!!)("\'#&\'#=." 7ǧ'),$("%;Ż/;#;ȿ/2$;æ/)$8#:ǩ#\"\" )(#'#(\"'#&'#"),$("<%;Ÿ/' 8!:ǫ!! )=.\" 7Ǫ"),$("<%;Ÿ/' 8!:ǭ!! )=.\" 7Ǭ"),$('<%;ƌ/=#%<;Ɠ=.##&&!&\'#/($8":ǯ"!!)("\'#&\'#.Å &%;ƍ/=#%<;Ɠ=.##&&!&\'#/($8":ǰ"!!)("\'#&\'#.› &%;Ə/=#%<;Ɠ=.##&&!&\'#/($8":DZ"!!)("\'#&\'#.q &%;Ɛ/=#%<;Ɠ=.##&&!&\'#/($8":Dz"!!)("\'#&\'#.G &%;ƒ/=#%<;Ɠ=.##&&!&\'#/($8":dz"!!)("\'#&\'#=." 7Ǯ'),$('<%%3ǵ""5!7Ƕ." &"/F#3Ƿ""5#7Ǹ." &"/2$3ǹ""5$7Ǻ/#$+#)(#\'#("\'#&\'#.k &%3ǻ""5$7Ǽ.5 &3ǽ""5&7Ǿ.) &3ǿ""5$7Ȁ." &"/2#3ȁ""5$7Ȃ/#$+")("\'#&\'#.) &3ȃ""5$7Ȅ/\' 8!:ċ!! )=." 7Ǵ'),$('<%;Ǝ.5 &3Ȇ""5%7ȇ.) &3Ȉ""5$7ȉ/\' 8!:ċ!! )=." 7ȅ'),$('<%3ȋ""5&7Ȍ/i#%$4(""5!7)/,#0)*4(""5!7)&&&#/2#3ȍ""5)7Ȏ/#$+")("\'#&\'#." &"/)$8":ȏ""! )("\'#&\'#=." 7Ȋ'),$('<%3ȑ""5\'7Ȓ.• &3ȓ""5\'7Ȕ.‰ &3ȕ""5\'7Ȗ.} &%3ȗ""5$7Ș/7#3ș""5$7Ț." &"/#$+")("\'#&\'#.S &%3ș""5$7Ț/7#3ț""5%7Ȝ." &"/#$+")("\'#&\'#.) &3ȝ""5&7Ȟ/\' 8!:ċ!! )=." 7Ȑ'),$('<%%3Ƞ""5#7ȡ/V#2Ȣ""6Ȣ7ȣ.A &2Ȥ""6Ȥ7ȥ.5 &2Ȧ""6Ȧ7ȧ.) &3Ȩ""5$7ȩ/#$+")("\'#&\'#.q &%3Ȫ""5#7ȫ.A &3ǽ""5&7Ǿ.5 &3Ȭ""5%7ȭ.) &3ǻ""5$7Ǽ." &"/2#3Ƞ""5#7ȡ/#$+")("\'#&\'#.# &;Ƒ/\' 8!:ċ!! )=." 7ȟ'),$('%3Ȯ""5(7ȯ/d#%$4(""5!7)/,#0)*4(""5!7)&&&#/2#3Ȱ""5%7ȱ/#$+")("\'#&\'#/)$8":Ȳ""! )("\'#&\'#'),$('<%3ȴ""5$7ȵ/\' 8!:ċ!! )=." 7ȳ'),$('4ȶ""5!7ȷ'),$('%2ȸ""6ȸ7ȹ/K#$4Ⱥ""5!7Ȼ/,#0)*4Ⱥ""5!7Ȼ&&&#/)$8":ȼ""! )("\'#&\'#'),$(";Ɩ.# &;Ɨ"),$(";ƙ./ &;Ɲ.) &;ƛ.# &;Ɯ"),$("%%<;ȴ.# &;>=.##&&!&'#/J#$;Ɣ.# &;Ɠ/,#0)*;Ɣ.# &;Ɠ&&&#/($8\":Ö\"! )(\"'#&'#"),$("%%<;ȶ.# &;>=.##&&!&'#/J#$;Ɣ.# &;Ɠ/,#0)*;Ɣ.# &;Ɠ&&&#/($8\":Ƚ\"! )(\"'#&'#"),$("%;ƞ/™#;ȿ/$%$%%<;ƚ=.##&&!&'#/1#1\"\"5!7Ⱦ/#$+\")(\"'#&'#0G*%%<;ƚ=.##&&!&'#/1#1\"\"5!7Ⱦ/#$+\")(\"'#&'#&/\"!&,)/1$;ƚ/($8$:ȿ$!!)($'#(#'#(\"'#&'#"),$('%$4ɀ""5!7Ɂ0)*4ɀ""5!7Ɂ&/5#;Ɵ/,$;ȿ/#$+#)(#\'#("\'#&\'#'),$('%2ɂ""6ɂ7Ƀ/k#$2Ʉ""6Ʉ7Ʌ.) &4Ɇ""5!7ɇ05*2Ʉ""6Ʉ7Ʌ.) &4Ɇ""5!7ɇ&/7$2ɂ""6ɂ7Ƀ/($8#:Ɉ#!!)(#\'#("\'#&\'#'),$('%2ɉ""6ɉ7Ɋ/k#$26""6677.) &48""5!7905*26""6677.) &48""5!79&/7$2ɉ""6ɉ7Ɋ/($8#:ɋ#!!)(#\'#("\'#&\'#'),$('%2Ɍ""6Ɍ7ɍ/k#$2Ɏ""6Ɏ7ɏ.) &4ɐ""5!7ɑ05*2Ɏ""6Ɏ7ɏ.) &4ɐ""5!7ɑ&/7$2Ɍ""6Ɍ7ɍ/($8#:ɒ#!!)(#\'#("\'#&\'#'),$('<%2ɔ""6ɔ7ɕ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɓ'),$('<%2ɗ""6ɗ7ɘ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɖ'),$('<%2ɚ""6ɚ7ɛ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ə'),$('<%2ɝ""6ɝ7ɞ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɜ'),$('<%2ɠ""6ɠ7ɡ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɟ'),$('<%2ɣ""6ɣ7ɤ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɢ'),$('<%2ɦ""6ɦ7ɧ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɥ'),$('<%2ɩ""6ɩ7ɪ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɨ'),$('<%2ɉ""6ɉ7Ɋ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɫ'),$('<%2ɂ""6ɂ7Ƀ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɬ'),$('<%2Ɍ""6Ɍ7ɍ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɭ'),$('<%2ɯ""6ɯ7ɰ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɮ'),$('<%2ɲ""6ɲ7ɳ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɱ'),$('<%2ɵ""6ɵ7ɶ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɴ'),$('<%2ɷ""6ɷ7ɸ/1#;ȿ/($8":""!!)("\'#&\'#=." 7Nj'),$('<%2ɺ""6ɺ7ɻ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɹ'),$('<%2ɽ""6ɽ7ɾ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɼ'),$('<%2ɿ""6ɿ7ʀ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ǂ'),$('<%2ʁ""6ʁ7ʂ/1#;ȿ/($8":""!!)("\'#&\'#=." 7LJ'),$('<%2ʃ""6ʃ7ʄ/1#;ȿ/($8":""!!)("\'#&\'#=." 7Lj'),$('<%2ʆ""6ʆ7ʇ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʅ'),$('<%2ʉ""6ʉ7ʊ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʈ'),$('<%2a""6a7b/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʋ'),$('<%2ʍ""6ʍ7ʎ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʌ'),$('<%2ʐ""6ʐ7ʑ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʏ'),$('%3ʒ""5%7ʓ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʔ""5&7ʕ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʖ""5#7ʗ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʘ""5%7ʙ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʚ""5#7ʛ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʜ""5%7ʝ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3ʞ\"\"5'7ʟ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3ʠ""5#7ʡ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʢ""5"7ʣ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʤ""5#7ʥ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʦ""5&7ʧ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʨ""5-7ʩ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʪ""5&7ʫ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʬ""5%7ʭ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3ʮ\"\"5'7ʯ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3ʰ""5"7ʱ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3ʲ\"\"5'7ʳ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3ʴ""5$7ʵ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʶ""5$7ʷ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʸ""5%7ʹ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3ʺ\"\"5'7ʻ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3ʼ""5&7ʽ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʾ""5&7ʿ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˀ""5(7ˁ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˂""5*7˃/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˄""5&7˅/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˆ""5%7ˇ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˈ""5,7ˉ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˊ""5,7ˋ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˌ""517ˍ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˎ""5(7ˏ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3ː\"\"5'7ˑ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3˒""5*7˓/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˔""5(7˕/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˖""5&7˗/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˘""5$7˙/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˚""5&7˛/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˜""5(7˝/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˞""5$7˟/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˠ""5$7ˡ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˢ""5$7ˣ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˤ""5#7˥/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˦""5&7˧/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˨""5&7˩/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˪""5)7˫/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˬ""5&7˭/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3ˮ\"\"5'7˯/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3˰""5$7˱/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˲""5#7˳/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3˴\"\"5'7˵/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3˶""5$7˷/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˸""5$7˹/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˺""5$7˻/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˼""5%7˽/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˾""5&7˿/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̀""5"7́/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̂""5&7̃/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̄""5)7̅/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̆""5"7̇/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̈""5%7̉/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3̊\"\"5'7̋/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3̌""5)7̍/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̎""5%7̏/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̐""5&7̑/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3̒\"\"5'7̓/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3̔""5)7̕/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̖""5$7̗/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̘""5"7̙/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̚""5&7̛/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̜""5$7̝/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̞""5#7̟/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̠""5$7̡/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̢""5$7̣/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̤""5%7̥/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̦""5%7̧/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3̨\"\"5'7̩/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3̪""5"7̫/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̬""5#7̭/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3̮\"\"5'7̯/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3y""5$7z/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̰""5"7̱/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̲""5&7̳/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̴""5"7̵/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̶""5"7̷/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̸""5%7̹/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̺""5%7̻/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̼""5$7̽/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̾""5&7̿/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3̀\"\"5'7́/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3͂""5%7̓/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̈́""5%7ͅ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͆""5)7͇/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͈""5*7͉/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͊""5&7͋/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3͌\"\"5'7͍/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$("%3͎\"\"5'7͏/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3͐""5&7͑/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3͒\"\"5'7͓/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3͔""5(7͕/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͖""5%7͗/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͘""5(7͙/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͚""5#7͛/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͜""5%7͝/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͞""5)7͟/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͠""5&7͡/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͢""5#7ͣ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͤ""5%7ͥ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͦ""5$7ͧ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͨ""5)7ͩ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͪ""5$7ͫ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͬ""5"7ͭ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͮ""5+7ͯ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3Ͱ\"\"5'7ͱ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3Ͳ""5%7ͳ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʹ""5&7͵/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3Ͷ""5&7ͷ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͸""5%7͹/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͺ""5&7ͻ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͼ""5&7ͽ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3;""5$7Ϳ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3΀\"\"5'7΁/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3΂""5$7΃/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3΄""5%7΅/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3Ά""5$7·/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3Έ\"\"5'7Ή/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$("%;ȵ/' 8!:Ί!! )"),$(";Ʒ.˹ &;Ƹ.˳ &;ƹ.˭ &;ƺ.˧ &;ƻ.ˡ &;Ƽ.˛ &;ƽ.˕ &;ƾ.ˏ &;ƿ.ˉ &;ǀ.˃ &;ǁ.ʽ &;ǂ.ʷ &;ǃ.ʱ &;DŽ.ʫ &;Dž.ʥ &;dž.ʟ &;LJ.ʙ &;Lj.ʓ &;lj.ʍ &;NJ.ʇ &;Nj.ʁ &;nj.ɻ &;Ǎ.ɵ &;ǎ.ɯ &;Ǐ.ɩ &;ǐ.ɣ &;Ǒ.ɝ &;ǒ.ɗ &;Ǔ.ɑ &;ǔ.ɋ &;Ǖ.Ʌ &;ǖ.ȿ &;Ǘ.ȹ &;ǘ.ȳ &;Ǚ.ȭ &;ǚ.ȧ &;Ǜ.ȡ &;ǜ.ț &;ǝ.ȕ &;Ǟ.ȏ &;ǟ.ȉ &;Ǡ.ȃ &;ǡ.ǽ &;Ǣ.Ƿ &;ǣ.DZ &;Ǥ.ǫ &;ǥ.ǥ &;Ǧ.ǟ &;ǧ.Ǚ &;Ǩ.Ǔ &;ǩ.Ǎ &;Ǫ.LJ &;ǫ.ǁ &;Ǭ.ƻ &;ǭ.Ƶ &;Ǯ.Ư &;ǯ.Ʃ &;ǰ.ƣ &;DZ.Ɲ &;Dz.Ɨ &;dz.Ƒ &;Ǵ.Ƌ &;ǵ.ƅ &;Ƕ.ſ &;Ƿ.Ź &;Ǹ.ų &;ǹ.ŭ &;Ǻ.ŧ &;ǻ.š &;Ǽ.ś &;ǽ.ŕ &;Ǿ.ŏ &;ǿ.ʼn &;Ȁ.Ń &;ȁ.Ľ &;Ȃ.ķ &;ȃ.ı &;Ȅ.ī &;ȅ.ĥ &;Ȇ.ğ &;ȇ.ę &;Ȉ.ē &;ȉ.č &;Ȋ.ć &;ȋ.ā &;Ȍ.û &;ȍ.õ &;Ȏ.ï &;ȏ.é &;Ȑ.ã &;ȑ.Ý &;Ȓ.× &;ȓ.Ñ &;Ȕ.Ë &;ȕ.Å &;Ȗ.¿ &;ȗ.¹ &;Ș.³ &;ș.­ &;Ț.§ &;ț.¡ &;Ȝ.› &;Ȟ.• &;ȟ. &;Ƞ.‰ &;ȡ.ƒ &;ȣ.} &;Ȥ.w &;ȥ.q &;Ȧ.k &;ȧ.e &;Ȩ._ &;ȩ.Y &;Ȫ.S &;ȫ.M &;Ȭ.G &;ȭ.A &;Ȯ.; &;ȯ.5 &;Ȱ./ &;ȱ.) &;Ȳ.# &;ȳ"),$(";ƹ.ŧ &;ƻ.š &;Ƽ.ś &;ƾ.ŕ &;ƿ.ŏ &;ǂ.ʼn &;Dž.Ń &;Lj.Ľ &;NJ.ķ &;Nj.ı &;Ǎ.ī &;Ǐ.ĥ &;ǐ.ğ &;ǖ.ę &;Ǘ.ē &;Ǚ.č &;ǜ.ć &;ǝ.ā &;ǟ.û &;ǡ.õ &;Ǣ.ï &;Ǥ.é &;Ǩ.ã &;ǩ.Ý &;Ǭ.× &;ǭ.Ñ &;DZ.Ë &;Dz.Å &;Ƕ.¿ &;Ǹ.¹ &;ǹ.³ &;Ǻ.­ &;ǻ.§ &;Ǽ.¡ &;Ȁ.› &;Ȅ.• &;ȅ. &;Ȇ.‰ &;ȉ.ƒ &;Ȋ.} &;ȋ.w &;ȏ.q &;ȓ.k &;ȟ.e &;Ƞ._ &;ȡ.Y &;Ȥ.S &;ȥ.M &;Ȧ.G &;Ȩ.A &;ȩ.; &;Ȫ.5 &;ȫ./ &;ȭ.) &;Ȱ.# &;ȱ"),$(";ȸ.. &%;ȹ/& 8!:΋! )"),$('<%2΍""6΍7Ύ/‡#$%%<4Ώ""5!7ΐ=.##&&!&\'#/1#1""5!7Ⱦ/#$+")("\'#&\'#0M*%%<4Ώ""5!7ΐ=.##&&!&\'#/1#1""5!7Ⱦ/#$+")("\'#&\'#&/#$+")("\'#&\'#=." 7Ό'),$("<%;Ⱥ/5#;Ⱦ/,$;Ȼ/#$+#)(#'#(\"'#&'#=.\" 7Α"),$('2Β""6Β7Γ'),$('2Δ""6Δ7Ε'),$('$%%<;Ȼ.# &;Ⱥ=.##&&!&\'#/1#1""5!7Ⱦ/#$+")("\'#&\'#/P#0M*%%<;Ȼ.# &;Ⱥ=.##&&!&\'#/1#1""5!7Ⱦ/#$+")("\'#&\'#&&&#'),$(";ȼ.# &;ȹ"),$('%;Ƚ/K#$4Ζ""5!7Η.# &;Ƚ0/*4Ζ""5!7Η.# &;Ƚ&/#$+")("\'#&\'#'),$('<%$4Ζ""5!7Η.# &;ȷ0/*4Ζ""5!7Η.# &;ȷ&/\' 8!:-!! )=." 7Θ'),$('2Ι""6Ι7Κ')],l=0,c=[{line:1,column:1}],d=0,p=[],m=0,b={},v=["start","start_streaming","stmt_list","semi_optional","semi_required","stmt_list_tail","type_definition","type_definition_types","datatype_custom","datatype_word_tail","type_definition_args","definition_args_loop","literal_value","literal_null","literal_date","literal_string","literal_string_single","literal_string_schar","literal_blob","literal_text","number_sign","literal_number_signed","literal_number","literal_number_decimal","number_decimal_node","number_decimal_full","number_decimal_fraction","number_decimal_exponent","literal_number_hex","number_hex","number_digit","bind_parameter","bind_parameter_numbered","bind_number_id","bind_parameter_named","bind_parameter_tcl","tcl_suffix","expression_exists","expression_exists_ne","expression_raise","expression_raise_args","raise_args_ignore","raise_args_message","expression_root","expression_wrapped","expression_recur","expression_unary_collate","expression_unary","expression_unary_op","expression_collate","expression_concat","expression_multiply","expression_multiply_op","expression_add","expression_add_op","expression_shift","expression_shift_op","expression_compare","expression_compare_op","expression_equiv","expression_equiv_tails","expression_equiv_null_op","expression_equiv_op","expression_cast","type_alias","expression_case","case_expression","expression_case_when","expression_case_else","expression_postfix","expression_postfix_tail","expression_like","expression_escape","expression_between","expression_between_tail","expression_is_not","expression_in","expression_in_target","expression_list_or_select","expression_and","expression","expression_list","expression_list_loop","expression_list_rest","function_call","function_call_args","args_list_distinct","error_message","stmt","stmt_modifier","modifier_query","stmt_nodes","stmt_commit","stmt_begin","commit_transaction","stmt_begin_modifier","stmt_rollback","rollback_savepoint","savepoint_name","savepoint_alt","stmt_savepoint","stmt_release","stmt_alter","alter_start","alter_action","alter_action_rename","alter_action_add","action_add_modifier","stmt_crud","stmt_core_with","clause_with","clause_with_recursive","clause_with_tables","clause_with_loop","expression_cte","select_alias","select_wrapped","stmt_select_full","stmt_sqlite","stmt_attach","attach_arg","stmt_detach","stmt_vacuum","vacuum_target","stmt_analyze","analyze_arg","stmt_reindex","reindex_arg","stmt_pragma","pragma_expression","pragma_value","pragma_value_literal","pragma_value_bool","pragma_bool_id","pragma_value_name","stmt_crud_types","stmt_select","stmt_core_order","stmt_core_limit","stmt_core_limit_offset","limit_offset_variant","limit_offset_variant_name","select_loop","select_loop_union","select_parts","select_parts_core","select_core_select","select_modifier","select_modifier_distinct","select_modifier_all","select_target","select_target_loop","select_core_from","stmt_core_where","select_core_group","select_core_having","select_node","select_node_star","select_node_star_qualified","select_node_aliased","select_source","source_loop_tail","select_cross_clause","select_join_clause","table_or_sub","table_or_sub_func","table_qualified","table_qualified_id","table_or_sub_index_node","index_node_indexed","index_node_none","table_or_sub_sub","table_or_sub_select","alias","join_operator","join_operator_natural","join_operator_types","operator_types_hand","types_hand_outer","operator_types_misc","join_condition","join_condition_on","join_condition_using","select_parts_values","stmt_core_order_list","stmt_core_order_list_loop","stmt_core_order_list_item","select_star","stmt_fallback_types","stmt_insert","insert_keyword","insert_keyword_ins","insert_keyword_repl","insert_keyword_mod","insert_target","insert_into","insert_into_start","insert_results","loop_columns","loop_column_tail","loop_name","insert_value","insert_value_start","insert_values_list","insert_values_loop","expression_list_wrapped","insert_default","operator_compound","compound_union","compound_union_all","stmt_update","update_start","update_fallback","update_set","update_columns","update_columns_tail","update_column","stmt_delete","delete_start","stmt_create","create_start","create_table_only","create_index_only","create_trigger_only","create_view_only","create_virtual_only","create_table","create_table_start","create_core_tmp","create_core_ine","create_table_source","table_source_def","source_def_rowid","source_def_loop","source_def_tail","source_tbl_loop","source_def_column","source_def_name","column_type","column_constraints","column_constraint_tail","column_constraint","constraint_name","constraint_name_loop","column_constraint_types","column_constraint_foreign","column_constraint_primary","col_primary_start","col_primary_auto","column_constraint_null","constraint_null_types","constraint_null_value","column_constraint_check","column_constraint_default","column_default_values","column_constraint_collate","table_constraint","table_constraint_types","table_constraint_check","table_constraint_primary","primary_start","primary_start_normal","primary_start_unique","primary_columns","primary_columns_index","primary_columns_table","primary_column_tail","primary_column","primary_column_types","column_collate","column_collate_loop","primary_column_dir","primary_conflict","primary_conflict_start","constraint_check","table_constraint_foreign","foreign_start","foreign_clause","foreign_references","foreign_actions","foreign_actions_tail","foreign_action","foreign_action_on","action_on_action","on_action_set","on_action_cascade","on_action_none","foreign_action_match","foreign_deferrable","deferrable_initially","table_source_select","create_index","create_index_start","index_unique","index_on","create_trigger","create_trigger_start","trigger_conditions","trigger_apply_mods","trigger_apply_instead","trigger_do","trigger_do_on","trigger_do_update","do_update_of","do_update_columns","trigger_foreach","trigger_when","trigger_action","action_loop","action_loop_stmt","create_view","id_view_expression","create_view_start","create_as_select","create_virtual","create_virtual_start","virtual_module","virtual_args","virtual_args_loop","virtual_args_tail","virtual_arg_types","virtual_column_name","stmt_drop","drop_start","drop_types","drop_ie","binary_concat","binary_plus","binary_minus","binary_multiply","binary_divide","binary_mod","binary_left","binary_right","binary_and","binary_or","binary_lt","binary_gt","binary_lte","binary_gte","binary_equal","binary_notequal_a","binary_notequal_b","binary_lang_isnt","id_name","id_database","id_function","id_table","id_table_qualified","id_column","column_unqualified","column_qualifiers","id_column_qualified","id_collation","id_savepoint","id_index","id_trigger","id_view","id_pragma","id_cte","id_table_expression","id_constraint_table","id_constraint_column","datatype_types","datatype_text","datatype_real","datatype_real_double","datatype_numeric","datatype_integer","datatype_integer_fp","datatype_none","name_char","unicode_char","name","name_quoted","name_unquoted","name_reserved","name_bracketed","bracket_terminator","name_dblquoted","name_sglquoted","name_backticked","sym_bopen","sym_bclose","sym_popen","sym_pclose","sym_comma","sym_dot","sym_star","sym_quest","sym_sglquote","sym_dblquote","sym_backtick","sym_tilde","sym_plus","sym_minus","sym_equal","sym_amp","sym_pipe","sym_mod","sym_lt","sym_gt","sym_excl","sym_semi","sym_colon","sym_fslash","sym_bslash","ABORT","ACTION","ADD","AFTER","ALL","ALTER","ANALYZE","AND","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FOR","FOREIGN","FROM","FULL","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LEFT","LIKE","LIMIT","MATCH","NATURAL","NO","NOT","NOTNULL","NULL","OF","OFFSET","ON","OR","ORDER","OUTER","PLAN","PRAGMA","PRIMARY","QUERY","RAISE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RIGHT","ROLLBACK","ROW","ROWID","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TO","TRANSACTION","TRIGGER","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WITH","WITHOUT","reserved_words","reserved_word_list","reserved_critical_list","comment","comment_line","comment_block","comment_block_start","comment_block_end","comment_block_body","block_body_nodes","comment_block_feed","o","_TODO_"],g=[null,null,null,null,null,null,"Type Definition",null,"Custom Datatype Name",null,"Type Definition Arguments",null,null,"Null Literal","Date Literal","String Literal","Single-quoted String Literal",null,"Blob Literal",null,"Number Sign",null,null,null,"Decimal Literal",null,null,"Decimal Literal Exponent","Hexidecimal Literal",null,null,"Bind Parameter","Numbered Bind Parameter",null,"Named Bind Parameter","TCL Bind Parameter",null,"EXISTS Expression","EXISTS Keyword","RAISE Expression","RAISE Expression Arguments","IGNORE Keyword",null,null,null,null,null,null,null,"COLLATE Expression",null,null,null,null,null,null,null,null,null,null,null,null,null,"CAST Expression","Type Alias","CASE Expression",null,"WHEN Clause","ELSE Clause",null,null,"Comparison Expression","ESCAPE Expression","BETWEEN Expression",null,null,"IN Expression",null,null,null,null,"Expression List",null,null,"Function Call","Function Call Arguments",null,"Error Message","Statement","QUERY PLAN","QUERY PLAN Keyword",null,"END Transaction Statement","BEGIN Transaction Statement",null,null,"ROLLBACK Statement","TO Clause",null,null,"SAVEPOINT Statement","RELEASE Statement","ALTER TABLE Statement","ALTER TABLE Keyword",null,"RENAME TO Keyword","ADD COLUMN Keyword",null,null,"WITH Clause",null,null,null,null,"Common Table Expression",null,null,null,null,"ATTACH Statement",null,"DETACH Statement","VACUUM Statement",null,"ANALYZE Statement",null,"REINDEX Statement",null,"PRAGMA Statement",null,null,null,null,null,null,null,"SELECT Statement","ORDER BY Clause","LIMIT Clause","OFFSET Clause",null,null,null,"Union Operation",null,null,"SELECT Results Clause","SELECT Results Modifier",null,null,null,null,"FROM Clause","WHERE Clause","GROUP BY Clause","HAVING Clause",null,null,null,null,null,null,"CROSS JOIN Operation","JOIN Operation",null,null,"Qualified Table","Qualified Table Identifier","Qualfied Table Index",null,null,"SELECT Source","Subquery","Alias","JOIN Operator",null,null,null,null,null,"JOIN Constraint","Join ON Clause","Join USING Clause","VALUES Clause",null,null,"Ordering Expression","Star","Fallback Type","INSERT Statement",null,"INSERT Keyword","REPLACE Keyword","INSERT OR Modifier",null,"INTO Clause","INTO Keyword","VALUES Clause","Column List",null,"Column Name","VALUES Clause","VALUES Keyword",null,null,"Wrapped Expression List","DEFAULT VALUES Clause","Compound Operator","UNION Operator",null,"UPDATE Statement","UPDATE Keyword","UPDATE OR Modifier","SET Clause",null,null,"Column Assignment","DELETE Statement","DELETE Keyword","CREATE Statement",null,null,null,null,null,null,"CREATE TABLE Statement",null,null,"IF NOT EXISTS Modifier",null,"Table Definition",null,null,null,null,"Column Definition",null,"Column Datatype",null,null,"Column Constraint",null,"CONSTRAINT Name",null,"FOREIGN KEY Column Constraint","PRIMARY KEY Column Constraint","PRIMARY KEY Keyword","AUTOINCREMENT Keyword",null,"UNIQUE Column Constraint","NULL Column Constraint","CHECK Column Constraint","DEFAULT Column Constraint",null,"COLLATE Column Constraint","Table Constraint",null,"CHECK Table Constraint","PRIMARY KEY Table Constraint",null,"PRIMARY KEY Keyword","UNIQUE Keyword",null,null,null,null,"Indexed Column",null,"Collation",null,"Column Direction",null,"ON CONFLICT Keyword",null,"FOREIGN KEY Table Constraint","FOREIGN KEY Keyword",null,"REFERENCES Clause",null,null,"FOREIGN KEY Action Clause",null,"FOREIGN KEY Action",null,null,null,null,"DEFERRABLE Clause",null,null,"CREATE INDEX Statement",null,null,"ON Clause","CREATE TRIGGER Statement",null,"Conditional Clause",null,null,"Conditional Action",null,null,null,null,null,"WHEN Clause","Actions Clause",null,null,"CREATE VIEW Statement",null,null,null,"CREATE VIRTUAL TABLE Statement",null,null,"Module Arguments",null,null,null,null,"DROP Statement","DROP Keyword","DROP Type","IF EXISTS Keyword","Or","Add","Subtract","Multiply","Divide","Modulo","Shift Left","Shift Right","Logical AND","Logical OR","Less Than","Greater Than","Less Than Or Equal","Greater Than Or Equal","Equal","Not Equal","Not Equal","IS","Identifier","Database Identifier","Function Identifier","Table Identifier",null,"Column Identifier",null,null,null,"Collation Identifier","Savepoint Identifier","Index Identifier","Trigger Identifier","View Identifier","Pragma Identifier","CTE Identifier",null,"Table Constraint Identifier","Column Constraint Identifier","Datatype Name","TEXT Datatype Name","REAL Datatype Name","DOUBLE Datatype Name","NUMERIC Datatype Name","INTEGER Datatype Name",null,"BLOB Datatype Name",null,null,null,null,null,null,null,null,null,null,null,"Open Bracket","Close Bracket","Open Parenthesis","Close Parenthesis","Comma","Period","Asterisk","Question Mark","Single Quote","Double Quote","Backtick","Tilde","Plus","Minus","Equal","Ampersand","Pipe","Modulo","Less Than","Greater Than","Exclamation","Semicolon","Colon","Forward Slash","Backslash",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Line Comment","Block Comment",null,null,null,null,null,"Whitespace",null],y="tracer"in e?e.tracer:new s;if("startRule"in e){if(!(e.startRule in o))throw new Error("Can't start parsing from rule \""+e.startRule+'".');u=o[e.startRule]}function w(t,e){return{type:"literal",text:t,ignoreCase:e}}function M(t,e,r){return{type:"class",parts:t,inverted:e,ignoreCase:r}}function _(){return{type:"any"}}function S(){return{type:"end"}}function E(t){return{type:"other",description:t}}function A(e){var r,i=c[e];if(i)return i;r=e-1;while(!c[r])r--;i=c[r],i={line:i.line,column:i.column};while(rd&&(d=l,p=[]),p.push(t))}function R(t,e,r){return new a(a.buildMessage(t,e),t,e,r)}function $(t){return t.split("").map((function(t){return t.charCodeAt(0)-32}))}function T(e){var r,i=f[e],o=0,a=[],s=i.length,u=[],c=[],d=l;y.trace({type:"rule.enter",rule:v[e],description:g[e],location:k(d,d)});var p=545*l+e,w=b[p];if(w)return l=w.nextPos,w.result!==n?y.trace({type:"rule.match",rule:v[e],description:g[e],result:w.result,location:k(d,l)}):y.trace({type:"rule.fail",rule:v[e],description:g[e],location:k(d,d)}),w.result;while(1){while(ol?(s=o+3+i[o+1],o+=3):(s=o+3+i[o+1]+i[o+2],o+=3+i[o+1]);break;case 18:u.push(s),a.push(o+4+i[o+2]+i[o+3]),t.substr(l,h[i[o+1]].length)===h[i[o+1]]?(s=o+4+i[o+2],o+=4):(s=o+4+i[o+2]+i[o+3],o+=4+i[o+2]);break;case 19:u.push(s),a.push(o+4+i[o+2]+i[o+3]),t.substr(l,h[i[o+1]].length).toLowerCase()===h[i[o+1]]?(s=o+4+i[o+2],o+=4):(s=o+4+i[o+2]+i[o+3],o+=4+i[o+2]);break;case 20:u.push(s),a.push(o+4+i[o+2]+i[o+3]),h[i[o+1]].test(t.charAt(l))?(s=o+4+i[o+2],o+=4):(s=o+4+i[o+2]+i[o+3],o+=4+i[o+2]);break;case 21:c.push(t.substr(l,i[o+1])),l+=i[o+1],o+=2;break;case 22:c.push(h[i[o+1]]),l+=h[i[o+1]].length,o+=2;break;case 23:c.push(n),0===m&&x(h[i[o+1]]),o+=2;break;case 24:c[c.length-1-i[o+1]],o+=2;break;case 25:l,o++;break;case 26:r=i.slice(o+4,o+4+i[o+3]).map((function(t){return c[c.length-1-t]})),c.splice(c.length-i[o+2],i[o+2],h[i[o+1]].apply(null,r)),o+=4+i[o+3];break;case 27:c.push(T(i[o+1])),o+=2;break;case 28:m++,o++;break;case 29:m--,o++;break;default:throw new Error("Invalid opcode: "+i[o]+".")}if(!(u.length>0))break;s=u.pop(),o=a.pop()}return b[p]={nextPos:l,result:c[0]},c[0]!==n?y.trace({type:"rule.match",rule:v[e],description:g[e],result:c[0],location:k(d,l)}):y.trace({type:"rule.fail",rule:v[e],description:g[e],location:k(d,d)}),c[0]}function I(t){return O(t)?Array.isArray(t)?t:[t]:[]}function O(t){return null!=t}function C(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ",r=t.filter((function(t){return O(t)})).reduce((function(t,r){return""+t+j(r)+e}),"");return r.trim()}function L(t){return C(t,"")}function N(t){return C(t).toLowerCase()}function B(t){return t.filter((function(t){return O(t)})).reduce((function(t,e){return t.concat(e)}),[])}function P(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"'",r=new RegExp(e+"{2}","g");return j(t).replace(r,e)}function j(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return I(t).join("")}function q(t){return j(t).trim()}function D(t){return q(t).toLowerCase()}function U(t){return Array.isArray(t)&&t.length>0&&O(t[0])}function F(t,e){return e.reduce((function(t,e){var r=i(e,4),n=(r[0],r[1]),o=(r[2],r[3]);return{type:"expression",format:"binary",variant:"operation",operation:D(n),left:t,right:o}}),t)}if(r=T(u),r!==n&&l===t.length)return r;throw r!==n&&l0){for(e=1,r=1;e=0;r-=1)if(e(t[r]))return r;return-1}function n(t,e){for(var r=t.length,i=0;i1)return!1;if(h){if(/^(stmt)$/i.test(t.rule))return h=!0,!0}else t.indentation>u.indentation?u=t:h=!0;return!0})),i.length&&(r=u.location,a=i.find((function(t){return s.firstNodeRule.test(t.description)&&t.description!==u.description&&t.indentation!==u.indentation})),o=null!=a?this.statementRule.test(u.description)&&this.statementRule.test(a.description)?a.description:u.description+" ("+a.description+")":u.description,e="Syntax error found near "+o,Object.assign(t,{message:e,location:r})),t},t}()},{}]},{},[1])(1)}))},"62c9":function(t,e,r){var i=r("8707").Buffer;function n(t,e,r){var n=t._cipher.encryptBlock(t._prev),o=n[0]^e;return t._prev=i.concat([t._prev.slice(1),i.from([r?e:o])]),o}e.encrypt=function(t,e,r){var o=e.length,a=i.allocUnsafe(o),s=-1;while(++s1?arguments[1]:void 0)}))},6547:function(t,e,r){var i=r("a691"),n=r("1d80"),o=function(t){return function(e,r){var o,a,s=String(n(e)),u=i(r),h=s.length;return u<0||u>=h?t?"":void 0:(o=s.charCodeAt(u),o<55296||o>56319||u+1===h||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536)}};t.exports={codeAt:o(!1),charAt:o(!0)}},"65f0":function(t,e,r){var i=r("861d"),n=r("e8b5"),o=r("b622"),a=o("species");t.exports=function(t,e){var r;return n(t)&&(r=t.constructor,"function"!=typeof r||r!==Array&&!n(r.prototype)?i(r)&&(r=r[a],null===r&&(r=void 0)):r=void 0),new(void 0===r?Array:r)(0===e?0:e)}},"676f":function(t,e,r){"use strict";var i=r("80af"),n=r("3fb5"),o=r("ea53"),a=r("f3a3");function s(t){o.call(this,"mont",t),this.a=new i(t.a,16).toRed(this.red),this.b=new i(t.b,16).toRed(this.red),this.i4=new i(4).toRed(this.red).redInvm(),this.two=new i(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function u(t,e,r){o.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new i(e,16),this.z=new i(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}n(s,o),t.exports=s,s.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),i=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e),n=i.redSqrt();return 0===n.redSqr().cmp(i)},n(u,o.BasePoint),s.prototype.decodePoint=function(t,e){return this.point(a.toArray(t,e),1)},s.prototype.point=function(t,e){return new u(this,t,e)},s.prototype.pointFromJSON=function(t){return u.fromJSON(this,t)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(t,e){return new u(t,e[0],e[1]||t.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var t=this.x.redAdd(this.z),e=t.redSqr(),r=this.x.redSub(this.z),i=r.redSqr(),n=e.redSub(i),o=e.redMul(i),a=n.redMul(i.redAdd(this.curve.a24.redMul(n)));return this.curve.point(o,a)},u.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=t.x.redAdd(t.z),o=t.x.redSub(t.z),a=o.redMul(r),s=n.redMul(i),u=e.z.redMul(a.redAdd(s).redSqr()),h=e.x.redMul(a.redISub(s).redSqr());return this.curve.point(u,h)},u.prototype.mul=function(t){for(var e=t.clone(),r=this,i=this.curve.point(null,null),n=this,o=[];0!==e.cmpn(0);e.iushrn(1))o.push(e.andln(1));for(var a=o.length-1;a>=0;a--)0===o[a]?(r=r.diffAdd(i,n),i=i.dbl()):(i=r.diffAdd(i,n),r=r.dbl());return i},u.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},u.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},"69f2":function(t,e,r){e=t.exports=function(t){t=t.toLowerCase();var r=e[t];if(!r)throw new Error(t+" is not supported (we accept pull requests)");return new r};e.sha=r("087f"),e.sha1=r("7e78"),e.sha224=r("72aa"),e.sha256=r("a255"),e.sha384=r("b837"),e.sha512=r("4fd1")},"69f3":function(t,e,r){var i,n,o,a=r("7f9a"),s=r("da84"),u=r("861d"),h=r("9112"),f=r("5135"),l=r("f772"),c=r("d012"),d=s.WeakMap,p=function(t){return o(t)?n(t):i(t,{})},m=function(t){return function(e){var r;if(!u(e)||(r=n(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}};if(a){var b=new d,v=b.get,g=b.has,y=b.set;i=function(t,e){return y.call(b,t,e),e},n=function(t){return v.call(b,t)||{}},o=function(t){return g.call(b,t)}}else{var w=l("state");c[w]=!0,i=function(t,e){return h(t,w,e),e},n=function(t){return f(t,w)?t[w]:{}},o=function(t){return f(t,w)}}t.exports={set:i,get:n,has:o,enforce:p,getterFor:m}},"6aa2":function(t,e,r){"use strict";var i=r("7d92"),n=r("7658"),o=r("da3e");function a(t){if(!(this instanceof a))return new a(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=n.toArray(t.entropy,t.entropyEnc||"hex"),r=n.toArray(t.nonce,t.nonceEnc||"hex"),i=n.toArray(t.pers,t.persEnc||"hex");o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,i)}t.exports=a,a.prototype._init=function(t,e,r){var i=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},a.prototype.generate=function(t,e,r,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!==typeof e&&(i=r,r=e,e=null),r&&(r=n.toArray(r,i||"hex"),this._update(r));var o=[];while(o.length0&&r.ishrn(i),r}function b(t,e){t=m(t,e),t=t.mod(e);var r=i.from(t.toArray());if(r.lengthr)n[r]=e[r++];return n},W=function(t,e){I(t,e,{get:function(){return $(this)[e]}})},Z=function(t){var e;return t instanceof N||"ArrayBuffer"==(e=v(t))||"SharedArrayBuffer"==e},Y=function(t,e){return F(t)&&"symbol"!=typeof e&&e in t&&String(+e)==String(e)},V=function(t,e){return Y(t,e=m(e,!0))?f(2,t[e]):O(t,e)},G=function(t,e,r){return!(Y(t,e=m(e,!0))&&g(r)&&b(r,"value"))||b(r,"get")||b(r,"set")||r.configurable||b(r,"writable")&&!r.writable||b(r,"enumerable")&&!r.enumerable?I(t,e,r):(t[e]=r.value,t)};o?(P||(k.f=V,A.f=G,W(D,"buffer"),W(D,"byteOffset"),W(D,"byteLength"),W(D,"length")),i({target:"Object",stat:!0,forced:!P},{getOwnPropertyDescriptor:V,defineProperty:G}),t.exports=function(t,e,r){var o=t.match(/\d+$/)[0]/8,s=t+(r?"Clamped":"")+"Array",u="get"+t,f="set"+t,m=n[s],b=m,v=b&&b.prototype,A={},k=function(t,e){var r=$(t);return r.view[u](e*o+r.byteOffset,!0)},x=function(t,e,i){var n=$(t);r&&(i=(i=C(i))<0?0:i>255?255:255&i),n.view[f](e*o+n.byteOffset,i,!0)},O=function(t,e){I(t,e,{get:function(){return k(this,e)},set:function(t){return x(this,e,t)},enumerable:!0})};P?a&&(b=e((function(t,e,r,i){return h(t,b,s),R(function(){return g(e)?Z(e)?void 0!==i?new m(e,p(r,o),i):void 0!==r?new m(e,p(r,o)):new m(e):F(e)?H(b,e):_.call(b,e):new m(d(e))}(),t,b)})),w&&w(b,q),S(M(m),(function(t){t in b||l(b,t,m[t])})),b.prototype=v):(b=e((function(t,e,r,i){h(t,b,s);var n,a,u,f=0,l=0;if(g(e)){if(!Z(e))return F(e)?H(b,e):_.call(b,e);n=e,l=p(r,o);var m=e.byteLength;if(void 0===i){if(m%o)throw L(K);if(a=m-l,a<0)throw L(K)}else if(a=c(i)*o,a+l>m)throw L(K);u=a/o}else u=d(e),a=u*o,n=new N(a);T(t,{buffer:n,byteOffset:l,byteLength:a,length:u,view:new B(n)});while(ff||t<0)throw new TypeError("offset must be a uint32");if(t>u||t>e)throw new RangeError("offset out of range")}function c(t,e,r){if("number"!==typeof t||t!==t)throw new TypeError("size must be a number");if(t>f||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>u)throw new RangeError("buffer too small")}function d(e,r,i,n){if(!s.isBuffer(e)&&!(e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"===typeof r)n=r,r=0,i=e.length;else if("function"===typeof i)n=i,i=e.length-r;else if("function"!==typeof n)throw new TypeError('"cb" argument must be a function');return l(r,e.length),c(i,r,e.length),p(e,r,i,n)}function p(t,e,r,n){if(i.browser){var o=t.buffer,s=new Uint8Array(o,e,r);return h.getRandomValues(s),n?void i.nextTick((function(){n(null,t)})):t}if(!n){var u=a(r);return u.copy(t,e),t}a(r,(function(r,i){if(r)return n(r);i.copy(t,e),n(null,t)}))}function m(e,r,i){if("undefined"===typeof r&&(r=0),!s.isBuffer(e)&&!(e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return l(r,e.length),void 0===i&&(i=e.length-r),c(i,r,e.length),p(e,r,i)}h&&h.getRandomValues||!i.browser?(e.randomFill=d,e.randomFillSync=m):(e.randomFill=n,e.randomFillSync=n)}).call(this,r("c8ba"),r("4362"))},7658:function(t,e,r){"use strict";var i=e;function n(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"!==typeof t){for(var i=0;i>8,a=255&n;o?r.push(o,a):r.push(a)}return r}function o(t){return 1===t.length?"0"+t:t}function a(t){for(var e="",r=0;r>1,b=23===e?n(2,-24)-n(2,-77):0,v=t<0||0===t&&1/t<0?1:0,g=0;for(t=i(t),t!=t||t===r?(f=t!=t?1:0,h=p):(h=o(a(t)/s),t*(l=n(2,-h))<1&&(h--,l*=2),t+=h+m>=1?b/l:b*n(2,1-m),t*l>=2&&(h++,l/=2),h+m>=p?(f=0,h=p):h+m>=1?(f=(t*l-1)*n(2,e),h+=m):(f=t*n(2,m-1)*n(2,e),h=0));e>=8;c[g++]=255&f,f/=256,e-=8);for(h=h<0;c[g++]=255&h,h/=256,d-=8);return c[--g]|=128*v,c},h=function(t,e){var i,o=t.length,a=8*o-e-1,s=(1<>1,h=a-7,f=o-1,l=t[f--],c=127&l;for(l>>=7;h>0;c=256*c+t[f],f--,h-=8);for(i=c&(1<<-h)-1,c>>=-h,h+=e;h>0;i=256*i+t[f],f--,h-=8);if(0===c)c=1-u;else{if(c===s)return i?NaN:l?-r:r;i+=n(2,e),c-=u}return(l?-1:1)*i*n(2,c-e)};t.exports={pack:u,unpack:h}},"780f":function(t,e,r){"use strict";t.exports=o;var i=r("27bf"),n=Object.create(r("3a7c"));function o(t){if(!(this instanceof o))return new o(t);i.call(this,t)}n.inherits=r("3fb5"),n.inherits(o,i),o.prototype._transform=function(t,e,r){r(null,t)}},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7a10":function(t,e,r){var i=r("d0eb"),n=r("fdac");function o(t){this.rand=t||new n.Rand}t.exports=o,o.create=function(t){return new o(t)},o.prototype._randbelow=function(t){var e=t.bitLength(),r=Math.ceil(e/8);do{var n=new i(this.rand.generate(r))}while(n.cmp(t)>=0);return n},o.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},o.prototype.test=function(t,e,r){var n=t.bitLength(),o=i.mont(t),a=new i(1).toRed(o);e||(e=Math.max(1,n/48|0));for(var s=t.subn(1),u=0;!s.testn(u);u++);for(var h=t.shrn(u),f=s.toRed(o),l=!0;e>0;e--){var c=this._randrange(new i(2),s);r&&r(c);var d=c.toRed(o).redPow(h);if(0!==d.cmp(a)&&0!==d.cmp(f)){for(var p=1;p0;e--){var f=this._randrange(new i(2),a),l=t.gcd(f);if(0!==l.cmpn(1))return l;var c=f.toRed(n).redPow(u);if(0!==c.cmp(o)&&0!==c.cmp(h)){for(var d=1;d",c="<",d="prototype",p="script",m=f("IE_PROTO"),b=function(){},v=function(t){return c+p+l+t+c+"/"+p+l},g=function(t){t.write(v("")),t.close();var e=t.parentWindow.Object;return t=null,e},y=function(){var t,e=h("iframe"),r="java"+p+":";return e.style.display="none",u.appendChild(e),e.src=String(r),t=e.contentWindow.document,t.open(),t.write(v("document.F=Object")),t.close(),t.F},w=function(){try{i=document.domain&&new ActiveXObject("htmlfile")}catch(e){}w=i?g(i):y();var t=a.length;while(t--)delete w[d][a[t]];return w()};s[m]=!0,t.exports=Object.create||function(t,e){var r;return null!==t?(b[d]=n(t),r=new b,b[d]=null,r[m]=t):r=w(),void 0===e?r:o(r,e)}},"7d2a":function(t,e){var r=Math.pow(2,30)-1;t.exports=function(t,e){if("number"!==typeof t)throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");if("number"!==typeof e)throw new TypeError("Key length not a number");if(e<0||e>r||e!==e)throw new TypeError("Bad key length")}},"7d72":function(t,e,r){"use strict";var i=r("8707").Buffer,n=i.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){if(!t)return"utf8";var e;while(1)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function a(t){var e=o(t);if("string"!==typeof e&&(i.isEncoding===n||!n(t)))throw new Error("Unknown encoding: "+t);return e||t}function s(t){var e;switch(this.encoding=a(t),this.encoding){case"utf16le":this.text=p,this.end=m,e=4;break;case"utf8":this.fillLast=l,e=4;break;case"base64":this.text=b,this.end=v,e=3;break;default:return this.write=g,void(this.end=y)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(e)}function u(t){return t<=127?0:t>>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function h(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(2===n?n=0:t.lastNeed=n-3),n):0))}function f(t,e,r){if(128!==(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!==(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!==(192&e[2]))return t.lastNeed=2,"�"}}function l(t){var e=this.lastTotal-this.lastNeed,r=f(this,t,e);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function c(t,e){var r=h(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function d(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function p(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function m(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function b(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function v(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function g(t){return t.toString(this.encoding)}function y(t){return t&&t.length?this.write(t):""}e.StringDecoder=s,s.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),void 0===e)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>>31}function f(t){return t<<5|t>>>27}function l(t){return t<<30|t>>>2}function c(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}i(u,n),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e=this._w,r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,u=0;u<16;++u)e[u]=t.readInt32BE(4*u);for(;u<80;++u)e[u]=h(e[u-3]^e[u-8]^e[u-14]^e[u-16]);for(var d=0;d<80;++d){var p=~~(d/20),m=f(r)+c(p,i,n,o)+s+e[d]+a[p]|0;s=o,o=n,n=l(i),i=r,r=m}this._a=r+this._a|0,this._b=i+this._b|0,this._c=n+this._c|0,this._d=o+this._d|0,this._e=s+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},"7f7a":function(t,e,r){var i=e;i.bignum=r("bc12"),i.define=r("ef3a").define,i.base=r("41df"),i.constants=r("0211"),i.decoders=r("20f6"),i.encoders=r("343e")},"7f9a":function(t,e,r){var i=r("da84"),n=r("8925"),o=i.WeakMap;t.exports="function"===typeof o&&/native code/.test(n(o))},8:function(t,e){},"80af":function(t,e,r){(function(t){(function(t,e){"use strict";function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var a;"object"===typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{a=r(10).Buffer}catch(k){}function s(t,e,r){for(var i=0,n=Math.min(t.length,r),o=e;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],k=8191&A,x=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,q=P>>>13,D=0|s[0],U=8191&D,F=D>>>13,z=0|s[1],K=8191&z,H=z>>>13,W=0|s[2],Z=8191&W,Y=W>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,H)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,H)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,H)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,H)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,H)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,H)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,H)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,H)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,U),n=Math.imul(k,F),n=n+Math.imul(x,U)|0,o=Math.imul(x,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,H)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,H)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(k,K)|0,n=n+Math.imul(k,H)|0,n=n+Math.imul(x,K)|0,o=o+Math.imul(x,H)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,H)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,H)|0,i=i+Math.imul(k,Z)|0,n=n+Math.imul(k,Y)|0,n=n+Math.imul(x,Z)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,H)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,H)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(k,G)|0,n=n+Math.imul(k,X)|0,n=n+Math.imul(x,G)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(q,U)|0,o=Math.imul(q,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,H)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,H)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(k,Q)|0,n=n+Math.imul(k,tt)|0,n=n+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,H),n=n+Math.imul(q,K)|0,o=Math.imul(q,H),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(k,rt)|0,n=n+Math.imul(k,it)|0,n=n+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(q,Z)|0,o=Math.imul(q,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(k,ot)|0,n=n+Math.imul(k,at)|0,n=n+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(q,G)|0,o=Math.imul(q,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(k,ut)|0,n=n+Math.imul(k,ht)|0,n=n+Math.imul(x,ut)|0,o=o+Math.imul(x,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(q,Q)|0,o=Math.imul(q,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(k,lt)|0,n=n+Math.imul(k,ct)|0,n=n+Math.imul(x,lt)|0,o=o+Math.imul(x,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(q,rt)|0,o=Math.imul(q,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(k,pt)|0,n=n+Math.imul(k,mt)|0,n=n+Math.imul(x,pt)|0,o=o+Math.imul(x,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(q,ot)|0,o=Math.imul(q,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(q,ut)|0,o=Math.imul(q,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(q,lt)|0,o=Math.imul(q,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(q,pt)|0,o=Math.imul(q,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=kt,u[11]=xt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},"81d5":function(t,e,r){"use strict";var i=r("7b0b"),n=r("23cb"),o=r("50c4");t.exports=function(t){var e=i(this),r=o(e.length),a=arguments.length,s=n(a>1?arguments[1]:void 0,r),u=a>2?arguments[2]:void 0,h=void 0===u?r:n(u,r);while(h>s)e[s++]=t;return e}},"825a":function(t,e,r){var i=r("861d");t.exports=function(t){if(!i(t))throw TypeError(String(t)+" is not an object");return t}},"82f0":function(t,e,r){var i=r("39f5"),n=r("8707").Buffer,o=r("6430"),a=r("3fb5"),s=r("3f62"),u=r("8c8a"),h=r("bd9d");function f(t,e){var r=0;t.length!==e.length&&r++;for(var i=Math.min(t.length,e.length),n=0;n1?arguments[1]:void 0)}))},8360:function(t,e,r){var i=r("41df").Reporter,n=r("41df").EncoderBuffer,o=r("41df").DecoderBuffer,a=r("da3e"),s=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],u=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(s),h=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function f(t,e){var r={};this._baseState=r,r.enc=t,r.parent=e||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r["default"]=null,r.explicit=null,r.implicit=null,r.contains=null,r.parent||(r.children=[],this._wrap())}t.exports=f;var l=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];f.prototype.clone=function(){var t=this._baseState,e={};l.forEach((function(r){e[r]=t[r]}));var r=new this.constructor(e.parent);return r._baseState=e,r},f.prototype._wrap=function(){var t=this._baseState;u.forEach((function(e){this[e]=function(){var r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},f.prototype._init=function(t){var e=this._baseState;a(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),a.equal(e.children.length,1,"Root node can have only one child")},f.prototype._useArgs=function(t){var e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(a(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(a(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!==typeof t||t.constructor!==Object)return t;var e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);var i=t[r];e[i]=r})),e})))},h.forEach((function(t){f.prototype[t]=function(){var e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),s.forEach((function(t){f.prototype[t]=function(){var e=this._baseState,r=Array.prototype.slice.call(arguments);return a(null===e.tag),e.tag=t,this._useArgs(r),this}})),f.prototype.use=function(t){a(t);var e=this._baseState;return a(null===e.use),e.use=t,this},f.prototype.optional=function(){var t=this._baseState;return t.optional=!0,this},f.prototype.def=function(t){var e=this._baseState;return a(null===e["default"]),e["default"]=t,e.optional=!0,this},f.prototype.explicit=function(t){var e=this._baseState;return a(null===e.explicit&&null===e.implicit),e.explicit=t,this},f.prototype.implicit=function(t){var e=this._baseState;return a(null===e.explicit&&null===e.implicit),e.implicit=t,this},f.prototype.obj=function(){var t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},f.prototype.key=function(t){var e=this._baseState;return a(null===e.key),e.key=t,this},f.prototype.any=function(){var t=this._baseState;return t.any=!0,this},f.prototype.choice=function(t){var e=this._baseState;return a(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},f.prototype.contains=function(t){var e=this._baseState;return a(null===e.use),e.contains=t,this},f.prototype._decode=function(t,e){var r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));var i,n=r["default"],a=!0,s=null;if(null!==r.key&&(s=t.enterKey(r.key)),r.optional){var u=null;if(null!==r.explicit?u=r.explicit:null!==r.implicit?u=r.implicit:null!==r.tag&&(u=r.tag),null!==u||r.any){if(a=this._peekTag(t,u,r.any),t.isError(a))return a}else{var h=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),a=!0}catch(p){a=!1}t.restore(h)}}if(r.obj&&a&&(i=t.enterObject()),a){if(null!==r.explicit){var f=this._decodeTag(t,r.explicit);if(t.isError(f))return f;t=f}var l=t.offset;if(null===r.use&&null===r.choice){if(r.any)h=t.save();var c=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(c))return c;r.any?n=t.raw(h):t=c}if(e&&e.track&&null!==r.tag&&e.track(t.path(),l,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),n=r.any?n:null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),t.isError(n))return n;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var d=new o(n);n=this._getUse(r.contains,t._reporterState.obj)._decode(d,e)}}return r.obj&&a&&(n=t.leaveObject(i)),null===r.key||null===n&&!0!==a?null!==s&&t.exitKey(s):t.leaveKey(s,r.key,n),n},f.prototype._decodeGeneric=function(t,e,r){var i=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,i.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&i.args?this._decodeObjid(e,i.args[0],i.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,i.args&&i.args[0],r):null!==i.use?this._getUse(i.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},f.prototype._getUse=function(t,e){var r=this._baseState;return r.useDecoder=this._use(t,e),a(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},f.prototype._decodeChoice=function(t,e){var r=this._baseState,i=null,n=!1;return Object.keys(r.choice).some((function(o){var a=t.save(),s=r.choice[o];try{var u=s._decode(t,e);if(t.isError(u))return!1;i={type:o,value:u},n=!0}catch(h){return t.restore(a),!1}return!0}),this),n?i:t.error("Choice not matched")},f.prototype._createEncoderBuffer=function(t){return new n(t,this.reporter)},f.prototype._encode=function(t,e,r){var i=this._baseState;if(null===i["default"]||i["default"]!==t){var n=this._encodeValue(t,e,r);if(void 0!==n&&!this._skipDefault(n,e,r))return n}},f.prototype._encodeValue=function(t,e,r){var n=this._baseState;if(null===n.parent)return n.children[0]._encode(t,e||new i);var o=null;if(this.reporter=e,n.optional&&void 0===t){if(null===n["default"])return;t=n["default"]}var a=null,s=!1;if(n.any)o=this._createEncoderBuffer(t);else if(n.choice)o=this._encodeChoice(t,e);else if(n.contains)a=this._getUse(n.contains,r)._encode(t,e),s=!0;else if(n.children)a=n.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");var i=e.enterKey(r._baseState.key);if("object"!==typeof t)return e.error("Child expected, but input is not object");var n=r._encode(t[r._baseState.key],e,t);return e.leaveKey(i),n}),this).filter((function(t){return t})),a=this._createEncoderBuffer(a);else if("seqof"===n.tag||"setof"===n.tag){if(!n.args||1!==n.args.length)return e.error("Too many args for : "+n.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");var u=this.clone();u._baseState.implicit=null,a=this._createEncoderBuffer(t.map((function(r){var i=this._baseState;return this._getUse(i.args[0],t)._encode(r,e)}),u))}else null!==n.use?o=this._getUse(n.use,r)._encode(t,e):(a=this._encodePrimitive(n.tag,t),s=!0);if(!n.any&&null===n.choice){var h=null!==n.implicit?n.implicit:n.tag,f=null===n.implicit?"universal":"context";null===h?null===n.use&&e.error("Tag could be omitted only for .use()"):null===n.use&&(o=this._encodeComposite(h,s,f,a))}return null!==n.explicit&&(o=this._encodeComposite(n.explicit,!1,"context",o)),o},f.prototype._encodeChoice=function(t,e){var r=this._baseState,i=r.choice[t.type];return i||a(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),i._encode(t.value,e)},f.prototype._encodePrimitive=function(t,e){var r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},f.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},f.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(t)}},"83ab":function(t,e,r){var i=r("d039");t.exports=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},"83d5":function(t,e){t.exports=function(t,e){var r=t.length,i=-1;while(++i15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},d.prototype.flush=function(){var t=16-this.cache.length,e=o.allocUnsafe(t),r=-1;while(++r>1,f=-7,l=r?n-1:0,c=r?-1:1,d=t[e+l];for(l+=c,o=d&(1<<-f)-1,d>>=-f,f+=s;f>0;o=256*o+t[e+l],l+=c,f-=8);for(a=o&(1<<-f)-1,o>>=-f,f+=i;f>0;a=256*a+t[e+l],l+=c,f-=8);if(0===o)o=1-h;else{if(o===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,i),o-=h}return(d?-1:1)*a*Math.pow(2,o-i)},e.write=function(t,e,r,i,n,o){var a,s,u,h=8*o-n-1,f=(1<>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:o-1,p=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=f):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),e+=a+l>=1?c/u:c*Math.pow(2,1-l),e*u>=2&&(a++,u/=2),a+l>=f?(s=0,a=f):a+l>=1?(s=(e*u-1)*Math.pow(2,n),a+=l):(s=e*Math.pow(2,l-1)*Math.pow(2,n),a=0));n>=8;t[r+d]=255&s,d+=p,s/=256,n-=8);for(a=a<0;t[r+d]=255&a,d+=p,a/=256,h-=8);t[r+d-p]|=128*m}},"919c":function(t,e){t.exports=function(){throw new Error("Readable.from is not available in the browser")}},9263:function(t,e,r){"use strict";var i=r("ad6d"),n=r("9f7f"),o=RegExp.prototype.exec,a=String.prototype.replace,s=o,u=function(){var t=/a/,e=/b*/g;return o.call(t,"a"),o.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),h=n.UNSUPPORTED_Y||n.BROKEN_CARET,f=void 0!==/()??/.exec("")[1],l=u||f||h;l&&(s=function(t){var e,r,n,s,l=this,c=h&&l.sticky,d=i.call(l),p=l.source,m=0,b=t;return c&&(d=d.replace("y",""),-1===d.indexOf("g")&&(d+="g"),b=String(t).slice(l.lastIndex),l.lastIndex>0&&(!l.multiline||l.multiline&&"\n"!==t[l.lastIndex-1])&&(p="(?: "+p+")",b=" "+b,m++),r=new RegExp("^(?:"+p+")",d)),f&&(r=new RegExp("^"+p+"$(?!\\s)",d)),u&&(e=l.lastIndex),n=o.call(c?r:l,b),c?n?(n.input=n.input.slice(m),n[0]=n[0].slice(m),n.index=l.lastIndex,l.lastIndex+=n[0].length):l.lastIndex=0:u&&n&&(l.lastIndex=l.global?n.index+n[0].length:e),f&&n&&n.length>1&&a.call(n[0],r,(function(){for(s=1;s=this._blockSize){for(var o=this._blockOffset;o0;++s)this._length[s]+=u,u=this._length[s]/4294967296|0,u>0&&(this._length[s]-=4294967296*u);return this},s.prototype._update=function(){throw new Error("_update is not implemented")},s.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},s.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=s},"945d":function(t,e,r){"use strict";var i=r("7d92"),n=r("0cbb"),o=r("f3a3"),a=o.assert,s=o.parseBytes,u=r("380f"),h=r("44a3");function f(t){if(a("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof f))return new f(t);t=n[t].curve;this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=i.sha512}t.exports=f,f.prototype.sign=function(t,e){t=s(t);var r=this.keyFromSecret(e),i=this.hashInt(r.messagePrefix(),t),n=this.g.mul(i),o=this.encodePoint(n),a=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),u=i.add(a).umod(this.curve.n);return this.makeSignature({R:n,S:u,Rencoded:o})},f.prototype.verify=function(t,e,r){t=s(t),e=this.makeSignature(e);var i=this.keyFromPublic(r),n=this.hashInt(e.Rencoded(),i.pubBytes(),t),o=this.g.mul(e.S()),a=e.R().add(i.pub().mul(n));return a.eq(o)},f.prototype.hashInt=function(){for(var t=this.hash(),e=0;e0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";var e=this.head,r=""+e.data;while(e=e.next)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return f.alloc(0);var e=f.allocUnsafe(t>>>0),r=this.head,i=0;while(r)p(r.data,e,i),i+=r.data.length,r=r.next;return e}},{key:"consume",value:function(t,e){var r;return tn.length?n.length:t;if(o===n.length?i+=n:i+=n.slice(0,t),t-=o,0===t){o===n.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=n.slice(o));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(t){var e=f.allocUnsafe(t),r=this.head,i=1;r.data.copy(e),t-=r.data.length;while(r=r.next){var n=r.data,o=t>n.length?n.length:t;if(n.copy(e,e.length-t,0,o),t-=o,0===t){o===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(o));break}++i}return this.length-=i,e}},{key:d,value:function(t,e){return c(this,n({},e,{depth:0,customInspect:!1}))}}]),t}()},"96cf":function(t,e,r){var i=function(t){"use strict";var e,r=Object.prototype,i=r.hasOwnProperty,n="function"===typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",a=n.asyncIterator||"@@asyncIterator",s=n.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(O){u=function(t,e,r){return t[e]=r}}function h(t,e,r,i){var n=e&&e.prototype instanceof b?e:b,o=Object.create(n.prototype),a=new $(i||[]);return o._invoke=A(t,r,a),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(O){return{type:"throw",arg:O}}}t.wrap=h;var l="suspendedStart",c="suspendedYield",d="executing",p="completed",m={};function b(){}function v(){}function g(){}var y={};y[o]=function(){return this};var w=Object.getPrototypeOf,M=w&&w(w(T([])));M&&M!==r&&i.call(M,o)&&(y=M);var _=g.prototype=b.prototype=Object.create(y);function S(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function E(t,e){function r(n,o,a,s){var u=f(t[n],t,o);if("throw"!==u.type){var h=u.arg,l=h.value;return l&&"object"===typeof l&&i.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(l).then((function(t){h.value=t,a(h)}),(function(t){return r("throw",t,a,s)}))}s(u.arg)}var n;function o(t,i){function o(){return new e((function(e,n){r(t,i,e,n)}))}return n=n?n.then(o,o):o()}this._invoke=o}function A(t,e,r){var i=l;return function(n,o){if(i===d)throw new Error("Generator is already running");if(i===p){if("throw"===n)throw o;return I()}r.method=n,r.arg=o;while(1){var a=r.delegate;if(a){var s=k(a,r);if(s){if(s===m)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===l)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=f(t,e,r);if("normal"===u.type){if(i=r.done?p:c,u.arg===m)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function k(t,r){var i=t.iterator[r.method];if(i===e){if(r.delegate=null,"throw"===r.method){if(t.iterator["return"]&&(r.method="return",r.arg=e,k(t,r),"throw"===r.method))return m;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var n=f(i,t.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,m;var o=n.arg;return o?o.done?(r[t.resultName]=o.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,m):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function x(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function R(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function $(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(x,this),this.reset(!0)}function T(t){if(t){var r=t[o];if(r)return r.call(t);if("function"===typeof t.next)return t;if(!isNaN(t.length)){var n=-1,a=function r(){while(++n=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=i.call(a,"catchLoc"),h=i.call(a,"finallyLoc");if(u&&h){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),R(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var n=i.arg;R(r)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,i){return this.delegate={iterator:T(t),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=e),m}},t}(t.exports);try{regeneratorRuntime=i}catch(n){Function("r","regeneratorRuntime = r")(i)}},"980c":function(t,e,r){var i=r("39a9").Buffer,n=r("399f"),o=r("3337").ec,a=r("2aee"),s=r("cd91");function u(t,e,r,o,s){var u=a(r);if("ec"===u.type){if("ecdsa"!==o&&"ecdsa/rsa"!==o)throw new Error("wrong public key type");return h(t,e,u)}if("dsa"===u.type){if("dsa"!==o)throw new Error("wrong public key type");return f(t,e,u)}if("rsa"!==o&&"ecdsa/rsa"!==o)throw new Error("wrong public key type");e=i.concat([s,e]);var l=u.modulus.byteLength(),c=[1],d=0;while(e.length+c.length+2=e)throw new Error("invalid sig")}t.exports=u},"98e6":function(t,e,r){"use strict";var i=r("3fb5"),n=r("f576"),o=r("b5ca"),a=r("69f2"),s=r("6430");function u(t){s.call(this,"digest"),this._hash=t}i(u,s),u.prototype._update=function(t){this._hash.update(t)},u.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return t=t.toLowerCase(),"md5"===t?new n:"rmd160"===t||"ripemd160"===t?new o:new u(a(t))}},"99af":function(t,e,r){"use strict";var i=r("23e7"),n=r("d039"),o=r("e8b5"),a=r("861d"),s=r("7b0b"),u=r("50c4"),h=r("8418"),f=r("65f0"),l=r("1dde"),c=r("b622"),d=r("2d00"),p=c("isConcatSpreadable"),m=9007199254740991,b="Maximum allowed index exceeded",v=d>=51||!n((function(){var t=[];return t[p]=!1,t.concat()[0]!==t})),g=l("concat"),y=function(t){if(!a(t))return!1;var e=t[p];return void 0!==e?!!e:o(t)},w=!v||!g;i({target:"Array",proto:!0,forced:w},{concat:function(t){var e,r,i,n,o,a=s(this),l=f(a,0),c=0;for(e=-1,i=arguments.length;em)throw TypeError(b);for(r=0;r=m)throw TypeError(b);h(l,c++,o)}return l.length=c,l}})},"9a8c":function(t,e,r){"use strict";var i=r("ebb5"),n=r("145e"),o=i.aTypedArray,a=i.exportTypedArrayMethod;a("copyWithin",(function(t,e){return n.call(o(this),t,e,arguments.length>2?arguments[2]:void 0)}))},"9bdd":function(t,e,r){var i=r("825a");t.exports=function(t,e,r,n){try{return n?e(i(r)[0],r[1]):e(r)}catch(a){var o=t["return"];throw void 0!==o&&i(o.call(t)),a}}},"9bf2":function(t,e,r){var i=r("83ab"),n=r("0cfb"),o=r("825a"),a=r("c04e"),s=Object.defineProperty;e.f=i?s:function(t,e,r){if(o(t),e=a(e,!0),o(r),n)try{return s(t,e,r)}catch(i){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},"9d28":function(t,e,r){"use strict";t.exports=n;var i=r("f1c8");function n(t){if(!(this instanceof n))return new n(t);i.call(this,t)}r("3fb5")(n,i),n.prototype._transform=function(t,e,r){r(null,t)}},"9d8a":function(t,e,r){"use strict";function i(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}var n={};function o(t,e,r){function o(t,r,i){return"string"===typeof e?e:e(t,r,i)}r||(r=Error);var a=function(t){function e(e,r,i){return t.call(this,o(e,r,i))||this}return i(e,t),e}(r);a.prototype.name=r.name,a.prototype.code=t,n[t]=a}function a(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}function s(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function u(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function h(t,e,r){return"number"!==typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}o("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),o("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,n;if("string"===typeof e&&s(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",u(t," argument"))n="The ".concat(t," ").concat(i," ").concat(a(e,"type"));else{var o=h(t,".")?"property":"argument";n='The "'.concat(t,'" ').concat(o," ").concat(i," ").concat(a(e,"type"))}return n+=". Received type ".concat(typeof r),n}),TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),o("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),o("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),o("ERR_STREAM_WRITE_AFTER_END","write after end"),o("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),o("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=n},"9ed3":function(t,e,r){"use strict";var i=r("ae93").IteratorPrototype,n=r("7c73"),o=r("5c6c"),a=r("d44e"),s=r("3f8c"),u=function(){return this};t.exports=function(t,e,r){var h=e+" Iterator";return t.prototype=n(i,{next:o(1,r)}),a(t,h,!1,!0),s[h]=u,t}},"9f7f":function(t,e,r){"use strict";var i=r("d039");function n(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=i((function(){var t=n("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=i((function(){var t=n("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},"9f9d":function(t,e,r){(function(e){var r;if(e.browser)r="utf-8";else if(e.version){var i=parseInt(e.version.split(".")[0].slice(1),10);r=i>=6?"utf-8":"binary"}else r="utf-8";t.exports=r}).call(this,r("4362"))},a078:function(t,e,r){var i=r("7b0b"),n=r("50c4"),o=r("35a1"),a=r("e95a"),s=r("0366"),u=r("ebb5").aTypedArrayConstructor;t.exports=function(t){var e,r,h,f,l,c,d=i(t),p=arguments.length,m=p>1?arguments[1]:void 0,b=void 0!==m,v=o(d);if(void 0!=v&&!a(v)){l=v.call(d),c=l.next,d=[];while(!(f=c.call(l)).done)d.push(f.value)}for(b&&p>2&&(m=s(m,arguments[2],2)),r=n(d.length),h=new(u(this))(r),e=0;r>e;e++)h[e]=b?m(d[e],e):d[e];return h}},a099:function(t,e,r){e.pbkdf2=r("206d"),e.pbkdf2Sync=r("e07b")},a15b:function(t,e,r){"use strict";var i=r("23e7"),n=r("44ad"),o=r("fc6a"),a=r("a640"),s=[].join,u=n!=Object,h=a("join",",");i({target:"Array",proto:!0,forced:u||!h},{join:function(t){return s.call(o(this),void 0===t?",":t)}})},a255:function(t,e,r){var i=r("3fb5"),n=r("b672"),o=r("8707").Buffer,a=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function u(){this.init(),this._w=s,n.call(this,64,56)}function h(t,e,r){return r^t&(e^r)}function f(t,e,r){return t&e|r&(t|e)}function l(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function c(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function d(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function p(t){return(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10}i(u,n),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(t){for(var e=this._w,r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,u=0|this._f,m=0|this._g,b=0|this._h,v=0;v<16;++v)e[v]=t.readInt32BE(4*v);for(;v<64;++v)e[v]=p(e[v-2])+e[v-7]+d(e[v-15])+e[v-16]|0;for(var g=0;g<64;++g){var y=b+c(s)+h(s,u,m)+a[g]+e[g]|0,w=l(r)+f(r,i,n)|0;b=m,m=u,u=s,s=o+y|0,o=n,n=i,i=r,r=y+w|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=n+this._c|0,this._d=o+this._d|0,this._e=s+this._e|0,this._f=u+this._f|0,this._g=m+this._g|0,this._h=b+this._h|0},u.prototype._hash=function(){var t=o.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=u},a25c:function(t,e,r){(function(t){(function(t,e){"use strict";function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var a;"object"===typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{a=r(9).Buffer}catch(k){}function s(t,e,r){for(var i=0,n=Math.min(t.length,r),o=e;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],k=8191&A,x=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,q=P>>>13,D=0|s[0],U=8191&D,F=D>>>13,z=0|s[1],K=8191&z,H=z>>>13,W=0|s[2],Z=8191&W,Y=W>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,H)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,H)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,H)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,H)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,H)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,H)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,H)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,H)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,U),n=Math.imul(k,F),n=n+Math.imul(x,U)|0,o=Math.imul(x,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,H)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,H)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(k,K)|0,n=n+Math.imul(k,H)|0,n=n+Math.imul(x,K)|0,o=o+Math.imul(x,H)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,H)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,H)|0,i=i+Math.imul(k,Z)|0,n=n+Math.imul(k,Y)|0,n=n+Math.imul(x,Z)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,H)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,H)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(k,G)|0,n=n+Math.imul(k,X)|0,n=n+Math.imul(x,G)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(q,U)|0,o=Math.imul(q,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,H)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,H)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(k,Q)|0,n=n+Math.imul(k,tt)|0,n=n+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,H),n=n+Math.imul(q,K)|0,o=Math.imul(q,H),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(k,rt)|0,n=n+Math.imul(k,it)|0,n=n+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(q,Z)|0,o=Math.imul(q,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(k,ot)|0,n=n+Math.imul(k,at)|0,n=n+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(q,G)|0,o=Math.imul(q,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(k,ut)|0,n=n+Math.imul(k,ht)|0,n=n+Math.imul(x,ut)|0,o=o+Math.imul(x,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(q,Q)|0,o=Math.imul(q,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(k,lt)|0,n=n+Math.imul(k,ct)|0,n=n+Math.imul(x,lt)|0,o=o+Math.imul(x,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(q,rt)|0,o=Math.imul(q,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(k,pt)|0,n=n+Math.imul(k,mt)|0,n=n+Math.imul(x,pt)|0,o=o+Math.imul(x,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(q,ot)|0,o=Math.imul(q,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(q,ut)|0,o=Math.imul(q,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(q,lt)|0,o=Math.imul(q,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(q,pt)|0,o=Math.imul(q,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=kt,u[11]=xt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},a4d3:function(t,e,r){"use strict";var i=r("23e7"),n=r("da84"),o=r("d066"),a=r("c430"),s=r("83ab"),u=r("4930"),h=r("fdbf"),f=r("d039"),l=r("5135"),c=r("e8b5"),d=r("861d"),p=r("825a"),m=r("7b0b"),b=r("fc6a"),v=r("c04e"),g=r("5c6c"),y=r("7c73"),w=r("df75"),M=r("241c"),_=r("057f"),S=r("7418"),E=r("06cf"),A=r("9bf2"),k=r("d1e7"),x=r("9112"),R=r("6eeb"),$=r("5692"),T=r("f772"),I=r("d012"),O=r("90e3"),C=r("b622"),L=r("e538"),N=r("746f"),B=r("d44e"),P=r("69f3"),j=r("b727").forEach,q=T("hidden"),D="Symbol",U="prototype",F=C("toPrimitive"),z=P.set,K=P.getterFor(D),H=Object[U],W=n.Symbol,Z=o("JSON","stringify"),Y=E.f,V=A.f,G=_.f,X=k.f,J=$("symbols"),Q=$("op-symbols"),tt=$("string-to-symbol-registry"),et=$("symbol-to-string-registry"),rt=$("wks"),it=n.QObject,nt=!it||!it[U]||!it[U].findChild,ot=s&&f((function(){return 7!=y(V({},"a",{get:function(){return V(this,"a",{value:7}).a}})).a}))?function(t,e,r){var i=Y(H,e);i&&delete H[e],V(t,e,r),i&&t!==H&&V(H,e,i)}:V,at=function(t,e){var r=J[t]=y(W[U]);return z(r,{type:D,tag:t,description:e}),s||(r.description=e),r},st=h?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof W},ut=function(t,e,r){t===H&&ut(Q,e,r),p(t);var i=v(e,!0);return p(r),l(J,i)?(r.enumerable?(l(t,q)&&t[q][i]&&(t[q][i]=!1),r=y(r,{enumerable:g(0,!1)})):(l(t,q)||V(t,q,g(1,{})),t[q][i]=!0),ot(t,i,r)):V(t,i,r)},ht=function(t,e){p(t);var r=b(e),i=w(r).concat(pt(r));return j(i,(function(e){s&&!lt.call(r,e)||ut(t,e,r[e])})),t},ft=function(t,e){return void 0===e?y(t):ht(y(t),e)},lt=function(t){var e=v(t,!0),r=X.call(this,e);return!(this===H&&l(J,e)&&!l(Q,e))&&(!(r||!l(this,e)||!l(J,e)||l(this,q)&&this[q][e])||r)},ct=function(t,e){var r=b(t),i=v(e,!0);if(r!==H||!l(J,i)||l(Q,i)){var n=Y(r,i);return!n||!l(J,i)||l(r,q)&&r[q][i]||(n.enumerable=!0),n}},dt=function(t){var e=G(b(t)),r=[];return j(e,(function(t){l(J,t)||l(I,t)||r.push(t)})),r},pt=function(t){var e=t===H,r=G(e?Q:b(t)),i=[];return j(r,(function(t){!l(J,t)||e&&!l(H,t)||i.push(J[t])})),i};if(u||(W=function(){if(this instanceof W)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=O(t),r=function(t){this===H&&r.call(Q,t),l(this,q)&&l(this[q],e)&&(this[q][e]=!1),ot(this,e,g(1,t))};return s&&nt&&ot(H,e,{configurable:!0,set:r}),at(e,t)},R(W[U],"toString",(function(){return K(this).tag})),R(W,"withoutSetter",(function(t){return at(O(t),t)})),k.f=lt,A.f=ut,E.f=ct,M.f=_.f=dt,S.f=pt,L.f=function(t){return at(C(t),t)},s&&(V(W[U],"description",{configurable:!0,get:function(){return K(this).description}}),a||R(H,"propertyIsEnumerable",lt,{unsafe:!0}))),i({global:!0,wrap:!0,forced:!u,sham:!u},{Symbol:W}),j(w(rt),(function(t){N(t)})),i({target:D,stat:!0,forced:!u},{for:function(t){var e=String(t);if(l(tt,e))return tt[e];var r=W(e);return tt[e]=r,et[r]=e,r},keyFor:function(t){if(!st(t))throw TypeError(t+" is not a symbol");if(l(et,t))return et[t]},useSetter:function(){nt=!0},useSimple:function(){nt=!1}}),i({target:"Object",stat:!0,forced:!u,sham:!s},{create:ft,defineProperty:ut,defineProperties:ht,getOwnPropertyDescriptor:ct}),i({target:"Object",stat:!0,forced:!u},{getOwnPropertyNames:dt,getOwnPropertySymbols:pt}),i({target:"Object",stat:!0,forced:f((function(){S.f(1)}))},{getOwnPropertySymbols:function(t){return S.f(m(t))}}),Z){var mt=!u||f((function(){var t=W();return"[null]"!=Z([t])||"{}"!=Z({a:t})||"{}"!=Z(Object(t))}));i({target:"JSON",stat:!0,forced:mt},{stringify:function(t,e,r){var i,n=[t],o=1;while(arguments.length>o)n.push(arguments[o++]);if(i=e,(d(e)||void 0!==t)&&!st(t))return c(e)||(e=function(t,e){if("function"==typeof i&&(e=i.call(this,t,e)),!st(e))return e}),n[1]=e,Z.apply(null,n)}})}W[U][F]||x(W[U],F,W[U].valueOf),B(W,D),I[q]=!0},a630:function(t,e,r){var i=r("23e7"),n=r("4df4"),o=r("1c7e"),a=!o((function(t){Array.from(t)}));i({target:"Array",stat:!0,forced:a},{from:n})},a640:function(t,e,r){"use strict";var i=r("d039");t.exports=function(t,e){var r=[][t];return!!r&&i((function(){r.call(null,e||function(){throw 1},1)}))}},a691:function(t,e){var r=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:r)(t)}},a692:function(t,e,r){"use strict";function i(t){return!!t&&("object"===typeof t||"function"===typeof t)&&"function"===typeof t.then}function n(t){function e(t,e,r,i){function n(e){"function"!==typeof self.postMessage?t.ports[0].postMessage(e):self.postMessage(e)}r?("undefined"!==typeof console&&"error"in console&&console.error("Worker caught an error:",r),n([e,{message:r.message}])):n([e,null,i])}function r(t,e){try{return{res:t(e)}}catch(r){return{err:r}}}function n(t,n,o,a){var s=r(n,a);s.err?e(t,o,s.err):i(s.res)?s.res.then((function(r){e(t,o,null,r)}),(function(r){e(t,o,r)})):e(t,o,null,s.res)}function o(r){var i=r.data;if(Array.isArray(i)&&2===i.length){var o=i[0],a=i[1];"function"!==typeof t?e(r,o,new Error("Please pass a function into register().")):n(r,t,o,a)}}self.addEventListener("message",o)}t.exports=n},a958:function(t,e,r){(function(e){var i=r("a25c"),n=r("11dc");function o(t){var e=s(t),r=e.toRed(i.mont(t.modulus)).redPow(new i(t.publicExponent)).fromRed();return{blinder:r,unblinder:e.invm(t.modulus)}}function a(t,r){var n=o(r),a=r.modulus.byteLength(),s=(i.mont(r.modulus),new i(t).mul(n.blinder).umod(r.modulus)),u=s.toRed(i.mont(r.prime1)),h=s.toRed(i.mont(r.prime2)),f=r.coefficient,l=r.prime1,c=r.prime2,d=u.redPow(r.exponent1),p=h.redPow(r.exponent2);d=d.fromRed(),p=p.fromRed();var m=d.isub(p).imul(f).umod(l);return m.imul(c),p.iadd(m),new e(p.imul(n.unblinder).umod(r.modulus).toArray(!1,a))}function s(t){var e=t.modulus.byteLength(),r=new i(n(e));while(r.cmp(t.modulus)>=0||!r.umod(t.prime1)||!r.umod(t.prime2))r=new i(n(e));return r}t.exports=a,a.getr=s}).call(this,r("b639").Buffer)},a975:function(t,e,r){"use strict";var i=r("ebb5"),n=r("b727").every,o=i.aTypedArray,a=i.exportTypedArrayMethod;a("every",(function(t){return n(o(this),t,arguments.length>1?arguments[1]:void 0)}))},a981:function(t,e){t.exports="undefined"!==typeof ArrayBuffer&&"undefined"!==typeof DataView},aa56:function(t,e,r){"use strict";var i=r("c3c0"),n=i.rotr32;function o(t,e,r,i){return 0===t?a(e,r,i):1===t||3===t?u(e,r,i):2===t?s(e,r,i):void 0}function a(t,e,r){return t&e^~t&r}function s(t,e,r){return t&e^t&r^e&r}function u(t,e,r){return t^e^r}function h(t){return n(t,2)^n(t,13)^n(t,22)}function f(t){return n(t,6)^n(t,11)^n(t,25)}function l(t){return n(t,7)^n(t,18)^t>>>3}function c(t){return n(t,17)^n(t,19)^t>>>10}e.ft_1=o,e.ch32=a,e.maj32=s,e.p32=u,e.s0_256=h,e.s1_256=f,e.g0_256=l,e.g1_256=c},ac1f:function(t,e,r){"use strict";var i=r("23e7"),n=r("9263");i({target:"RegExp",proto:!0,forced:/./.exec!==n},{exec:n})},ac4f:function(t,e,r){"use strict";var i;function n(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var o=r("d113").codes,a=o.ERR_MISSING_ARGS,s=o.ERR_STREAM_DESTROYED;function u(t){if(t)throw t}function h(t){return t.setHeader&&"function"===typeof t.abort}function f(t,e,o,a){a=n(a);var u=!1;t.on("close",(function(){u=!0})),void 0===i&&(i=r("42a7")),i(t,{readable:e,writable:o},(function(t){if(t)return a(t);u=!0,a()}));var f=!1;return function(e){if(!u&&!f)return f=!0,h(t)?t.abort():"function"===typeof t.destroy?t.destroy():void a(e||new s("pipe"))}}function l(t){t()}function c(t,e){return t.pipe(e)}function d(t){return t.length?"function"!==typeof t[t.length-1]?u:t.pop():u}function p(){for(var t=arguments.length,e=new Array(t),r=0;r0;return f(t,a,s,(function(t){i||(i=t),t&&o.forEach(l),a||(o.forEach(l),n(i))}))}));return e.reduce(c)}t.exports=p},ad25:function(t,e,r){var i=r("2aee"),n=r("11dc"),o=r("98e6"),a=r("f460"),s=r("83d5"),u=r("0106"),h=r("5291"),f=r("a958"),l=r("8707").Buffer;function c(t,e){var r=t.modulus.byteLength(),i=e.length,h=o("sha1").update(l.alloc(0)).digest(),f=h.length,c=2*f;if(i>r-c-2)throw new Error("message too long");var d=l.alloc(r-i-c-2),p=r-f-1,m=n(f),b=s(l.concat([h,d,l.alloc(1,1),e],p),a(m,p)),v=s(m,a(b,f));return new u(l.concat([l.alloc(1),v,b],r))}function d(t,e,r){var i,n=e.length,o=t.modulus.byteLength();if(n>o-11)throw new Error("message too long");return i=r?l.alloc(o-n-3,255):p(o-n-3),new u(l.concat([l.from([0,r?1:2]),i,l.alloc(1),e],o))}function p(t){var e,r=l.allocUnsafe(t),i=0,o=n(2*t),a=0;while(i=0)throw new Error("data too long for modulus")}return r?f(o,a):h(o,a)}},ad6d:function(t,e,r){"use strict";var i=r("825a");t.exports=function(){var t=i(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},ad71:function(t,e,r){"use strict";(function(e,i){var n=r("966d");t.exports=_;var o,a=r("e3db");_.ReadableState=M;r("faa1").EventEmitter;var s=function(t,e){return t.listeners(e).length},u=r("429b"),h=r("8707").Buffer,f=e.Uint8Array||function(){};function l(t){return h.from(t)}function c(t){return h.isBuffer(t)||t instanceof f}var d=Object.create(r("3a7c"));d.inherits=r("3fb5");var p=r(2),m=void 0;m=p&&p.debuglog?p.debuglog("stream"):function(){};var b,v=r("5e1a"),g=r("4681");d.inherits(_,u);var y=["error","close","destroy","pause","resume"];function w(t,e,r){if("function"===typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?a(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}function M(t,e){o=o||r("b19a"),t=t||{};var i=e instanceof o;this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var n=t.highWaterMark,a=t.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i&&(a||0===a)?a:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new v,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(b||(b=r("7d72").StringDecoder),this.decoder=new b(t.encoding),this.encoding=t.encoding)}function _(t){if(o=o||r("b19a"),!(this instanceof _))return new _(t);this._readableState=new M(t,this),this.readable=!0,t&&("function"===typeof t.read&&(this._read=t.read),"function"===typeof t.destroy&&(this._destroy=t.destroy)),u.call(this)}function S(t,e,r,i,n){var o,a=t._readableState;null===e?(a.reading=!1,T(t,a)):(n||(o=A(a,e)),o?t.emit("error",o):a.objectMode||e&&e.length>0?("string"===typeof e||a.objectMode||Object.getPrototypeOf(e)===h.prototype||(e=l(e)),i?a.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):E(t,a,e,!0):a.ended?t.emit("error",new Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?E(t,a,e,!1):C(t,a)):E(t,a,e,!1))):i||(a.reading=!1));return k(a)}function E(t,e,r,i){e.flowing&&0===e.length&&!e.sync?(t.emit("data",r),t.read(0)):(e.length+=e.objectMode?1:r.length,i?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&I(t)),C(t,e)}function A(t,e){var r;return c(e)||"string"===typeof e||void 0===e||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}function k(t){return!t.ended&&(t.needReadable||t.length=x?t=x:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function $(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=R(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function T(t,e){if(!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,I(t)}}function I(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(m("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?n.nextTick(O,t):O(t))}function O(t){m("emit readable"),t.emit("readable"),q(t)}function C(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(L,t,e))}function L(t,e){var r=e.length;while(!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):r=U(t,e.buffer,e.decoder),r);var r}function U(t,e,r){var i;return to.length?o.length:t;if(a===o.length?n+=o:n+=o.slice(0,t),t-=a,0===t){a===o.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(a));break}++i}return e.length-=i,n}function z(t,e){var r=h.allocUnsafe(t),i=e.head,n=1;i.data.copy(r),t-=i.data.length;while(i=i.next){var o=i.data,a=t>o.length?o.length:t;if(o.copy(r,r.length-t,0,a),t-=a,0===t){a===o.length?(++n,i.next?e.head=i.next:e.head=e.tail=null):(e.head=i,i.data=o.slice(a));break}++n}return e.length-=n,r}function K(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,n.nextTick(H,e,t))}function H(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function W(t,e){for(var r=0,i=t.length;r=e.highWaterMark||e.ended))return m("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?K(this):I(this),null;if(t=$(t,e),0===t&&e.ended)return 0===e.length&&K(this),null;var i,n=e.needReadable;return m("need readable",n),(0===e.length||e.length-t0?D(t,e):null,null===i?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&K(this)),null!==i&&this.emit("data",i),i},_.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},_.prototype.pipe=function(t,e){var r=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t);break}o.pipesCount+=1,m("pipe count=%d opts=%j",o.pipesCount,e);var a=(!e||!1!==e.end)&&t!==i.stdout&&t!==i.stderr,u=a?f:M;function h(t,e){m("onunpipe"),t===r&&e&&!1===e.hasUnpiped&&(e.hasUnpiped=!0,d())}function f(){m("onend"),t.end()}o.endEmitted?n.nextTick(u):r.once("end",u),t.on("unpipe",h);var l=N(r);t.on("drain",l);var c=!1;function d(){m("cleanup"),t.removeListener("close",g),t.removeListener("finish",y),t.removeListener("drain",l),t.removeListener("error",v),t.removeListener("unpipe",h),r.removeListener("end",f),r.removeListener("end",M),r.removeListener("data",b),c=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||l()}var p=!1;function b(e){m("ondata"),p=!1;var i=t.write(e);!1!==i||p||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==W(o.pipes,t))&&!c&&(m("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,p=!0),r.pause())}function v(e){m("onerror",e),M(),t.removeListener("error",v),0===s(t,"error")&&t.emit("error",e)}function g(){t.removeListener("finish",y),M()}function y(){m("onfinish"),t.removeListener("close",g),M()}function M(){m("unpipe"),r.unpipe(t)}return r.on("data",b),w(t,"error",v),t.once("close",g),t.once("finish",y),t.emit("pipe",r),o.flowing||(m("pipe resume"),r.resume()),t},_.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0||o>0){var f=new n;f.update(h),f.update(t),e&&f.update(e),h=f.digest();var l=0;if(a>0){var c=s.length-a;l=Math.min(a,h.length),h.copy(s,c,0,l),a-=l}if(l0){var d=u.length-o,p=Math.min(o,h.length-l);h.copy(u,d,l,l+p),o-=p}}return h.fill(0),{key:s,iv:u}}t.exports=o},ae93:function(t,e,r){"use strict";var i,n,o,a=r("e163"),s=r("9112"),u=r("5135"),h=r("b622"),f=r("c430"),l=h("iterator"),c=!1,d=function(){return this};[].keys&&(o=[].keys(),"next"in o?(n=a(a(o)),n!==Object.prototype&&(i=n)):c=!0),void 0==i&&(i={}),f||u(i,l)||s(i,l,d),t.exports={IteratorPrototype:i,BUGGY_SAFARI_ITERATORS:c}},b041:function(t,e,r){"use strict";var i=r("00ee"),n=r("f5df");t.exports=i?{}.toString:function(){return"[object "+n(this)+"]"}},b0c0:function(t,e,r){var i=r("83ab"),n=r("9bf2").f,o=Function.prototype,a=o.toString,s=/^\s*function ([^ (]*)/,u="name";i&&!(u in o)&&n(o,u,{configurable:!0,get:function(){try{return a.call(this).match(s)[1]}catch(t){return""}}})},b19a:function(t,e,r){"use strict";var i=r("966d"),n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=l;var o=Object.create(r("3a7c"));o.inherits=r("3fb5");var a=r("ad71"),s=r("dc14");o.inherits(l,a);for(var u=n(s.prototype),h=0;h>>32-e}function m(t,e,r,i,n,o,a,s){return p(t+(e^r^i)+o+a|0,s)+n|0}function b(t,e,r,i,n,o,a,s){return p(t+(e&r|~e&i)+o+a|0,s)+n|0}function v(t,e,r,i,n,o,a,s){return p(t+((e|~r)^i)+o+a|0,s)+n|0}function g(t,e,r,i,n,o,a,s){return p(t+(e&i|r&~i)+o+a|0,s)+n|0}function y(t,e,r,i,n,o,a,s){return p(t+(e^(r|~i))+o+a|0,s)+n|0}n(d,o),d.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,d=0|this._e,w=0|this._a,M=0|this._b,_=0|this._c,S=0|this._d,E=0|this._e,A=0;A<80;A+=1){var k,x;A<16?(k=m(r,i,n,o,d,t[s[A]],l[0],h[A]),x=y(w,M,_,S,E,t[u[A]],c[0],f[A])):A<32?(k=b(r,i,n,o,d,t[s[A]],l[1],h[A]),x=g(w,M,_,S,E,t[u[A]],c[1],f[A])):A<48?(k=v(r,i,n,o,d,t[s[A]],l[2],h[A]),x=v(w,M,_,S,E,t[u[A]],c[2],f[A])):A<64?(k=g(r,i,n,o,d,t[s[A]],l[3],h[A]),x=b(w,M,_,S,E,t[u[A]],c[3],f[A])):(k=y(r,i,n,o,d,t[s[A]],l[4],h[A]),x=m(w,M,_,S,E,t[u[A]],c[4],f[A])),r=d,d=o,o=p(n,10),n=i,i=k,w=E,E=S,S=p(_,10),_=M,M=x}var R=this._b+n+S|0;this._b=this._c+o+E|0,this._c=this._d+d+w|0,this._d=this._e+r+M|0,this._e=this._a+i+_|0,this._a=R},d.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=i.alloc?i.alloc(20):new i(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=d},b622:function(t,e,r){var i=r("da84"),n=r("5692"),o=r("5135"),a=r("90e3"),s=r("4930"),u=r("fdbf"),h=n("wks"),f=i.Symbol,l=u?f:f&&f.withoutSetter||a;t.exports=function(t){return o(h,t)||(s&&o(f,t)?h[t]=f[t]:h[t]=l("Symbol."+t)),h[t]}},b639:function(t,e,r){"use strict";(function(t){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -var i=r("1fb5"),n=r("9152"),o=r("e3db");function a(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"===typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(e){return!1}}function s(){return h.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function u(t,e){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function y(t){return+t!=t&&(t=0),h.alloc(+t)}function w(t,e){if(h.isBuffer(t))return t.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!==typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return G(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(t).length;default:if(i)return G(t).length;e=(""+e).toLowerCase(),i=!0}}function M(t,e,r){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,e>>>=0,r<=e)return"";t||(t="utf8");while(1)switch(t){case"hex":return P(this,e,r);case"utf8":case"utf-8":return O(this,e,r);case"ascii":return N(this,e,r);case"latin1":case"binary":return B(this,e,r);case"base64":return I(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function _(t,e,r){var i=t[e];t[e]=t[r],t[r]=i}function S(t,e,r,i,n){if(0===t.length)return-1;if("string"===typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"===typeof e&&(e=h.from(e,i)),h.isBuffer(e))return 0===e.length?-1:E(t,e,r,i,n);if("number"===typeof e)return e&=255,h.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):E(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function E(t,e,r,i,n){var o,a=1,s=t.length,u=e.length;if(void 0!==i&&(i=String(i).toLowerCase(),"ucs2"===i||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,r/=2}function h(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(n){var f=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){for(var l=!0,c=0;cn&&(i=n)):i=n;var o=e.length;if(o%2!==0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var a=0;a239?4:h>223?3:h>191?2:1;if(n+l<=r)switch(l){case 1:h<128&&(f=h);break;case 2:o=t[n+1],128===(192&o)&&(u=(31&h)<<6|63&o,u>127&&(f=u));break;case 3:o=t[n+1],a=t[n+2],128===(192&o)&&128===(192&a)&&(u=(15&h)<<12|(63&o)<<6|63&a,u>2047&&(u<55296||u>57343)&&(f=u));break;case 4:o=t[n+1],a=t[n+2],s=t[n+3],128===(192&o)&&128===(192&a)&&128===(192&s)&&(u=(15&h)<<18|(63&o)<<12|(63&a)<<6|63&s,u>65535&&u<1114112&&(f=u))}null===f?(f=65533,l=1):f>65535&&(f-=65536,i.push(f>>>10&1023|55296),f=56320|1023&f),i.push(f),n+=l}return L(i)}e.Buffer=h,e.SlowBuffer=y,e.INSPECT_MAX_BYTES=50,h.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:a(),e.kMaxLength=s(),h.poolSize=8192,h._augment=function(t){return t.__proto__=h.prototype,t},h.from=function(t,e,r){return f(null,t,e,r)},h.TYPED_ARRAY_SUPPORT&&(h.prototype.__proto__=Uint8Array.prototype,h.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&h[Symbol.species]===h&&Object.defineProperty(h,Symbol.species,{value:null,configurable:!0})),h.alloc=function(t,e,r){return c(null,t,e,r)},h.allocUnsafe=function(t){return d(null,t)},h.allocUnsafeSlow=function(t){return d(null,t)},h.isBuffer=function(t){return!(null==t||!t._isBuffer)},h.compare=function(t,e){if(!h.isBuffer(t)||!h.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,i=e.length,n=0,o=Math.min(r,i);n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},h.prototype.compare=function(t,e,r,i,n){if(!h.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,i>>>=0,n>>>=0,this===t)return 0;for(var o=n-i,a=r-e,s=Math.min(o,a),u=this.slice(i,n),f=t.slice(e,r),l=0;ln)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return A(this,t,e,r);case"utf8":case"utf-8":return k(this,t,e,r);case"ascii":return x(this,t,e,r);case"latin1":case"binary":return R(this,t,e,r);case"base64":return $(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function L(t){var e=t.length;if(e<=C)return String.fromCharCode.apply(String,t);var r="",i=0;while(ii)&&(r=i);for(var n="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function D(t,e,r,i,n,o){if(!h.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||et.length)throw new RangeError("Index out of range")}function U(t,e,r,i){e<0&&(e=65535+e+1);for(var n=0,o=Math.min(t.length-r,2);n>>8*(i?n:1-n)}function F(t,e,r,i){e<0&&(e=4294967295+e+1);for(var n=0,o=Math.min(t.length-r,4);n>>8*(i?n:3-n)&255}function z(t,e,r,i,n,o){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function K(t,e,r,i,o){return o||z(t,e,r,4,34028234663852886e22,-34028234663852886e22),n.write(t,e,r,i,23,4),r+4}function H(t,e,r,i,o){return o||z(t,e,r,8,17976931348623157e292,-17976931348623157e292),n.write(t,e,r,i,52,8),r+8}h.prototype.slice=function(t,e){var r,i=this.length;if(t=~~t,e=void 0===e?i:~~e,t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),e<0?(e+=i,e<0&&(e=0)):e>i&&(e=i),e0&&(n*=256))i+=this[t+--e]*n;return i},h.prototype.readUInt8=function(t,e){return e||q(t,1,this.length),this[t]},h.prototype.readUInt16LE=function(t,e){return e||q(t,2,this.length),this[t]|this[t+1]<<8},h.prototype.readUInt16BE=function(t,e){return e||q(t,2,this.length),this[t]<<8|this[t+1]},h.prototype.readUInt32LE=function(t,e){return e||q(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},h.prototype.readUInt32BE=function(t,e){return e||q(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},h.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||q(t,e,this.length);var i=this[t],n=1,o=0;while(++o=n&&(i-=Math.pow(2,8*e)),i},h.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||q(t,e,this.length);var i=e,n=1,o=this[t+--i];while(i>0&&(n*=256))o+=this[t+--i]*n;return n*=128,o>=n&&(o-=Math.pow(2,8*e)),o},h.prototype.readInt8=function(t,e){return e||q(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},h.prototype.readInt16LE=function(t,e){e||q(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt16BE=function(t,e){e||q(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt32LE=function(t,e){return e||q(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},h.prototype.readInt32BE=function(t,e){return e||q(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},h.prototype.readFloatLE=function(t,e){return e||q(t,4,this.length),n.read(this,t,!0,23,4)},h.prototype.readFloatBE=function(t,e){return e||q(t,4,this.length),n.read(this,t,!1,23,4)},h.prototype.readDoubleLE=function(t,e){return e||q(t,8,this.length),n.read(this,t,!0,52,8)},h.prototype.readDoubleBE=function(t,e){return e||q(t,8,this.length),n.read(this,t,!1,52,8)},h.prototype.writeUIntLE=function(t,e,r,i){if(t=+t,e|=0,r|=0,!i){var n=Math.pow(2,8*r)-1;D(this,t,e,r,n,0)}var o=1,a=0;this[e]=255&t;while(++a=0&&(a*=256))this[e+o]=t/a&255;return e+r},h.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,255,0),h.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},h.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),h.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):U(this,t,e,!0),e+2},h.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),h.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):U(this,t,e,!1),e+2},h.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),h.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):F(this,t,e,!0),e+4},h.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),h.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):F(this,t,e,!1),e+4},h.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e|=0,!i){var n=Math.pow(2,8*r-1);D(this,t,e,r,n-1,-n)}var o=0,a=1,s=0;this[e]=255&t;while(++o>0)-s&255;return e+r},h.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e|=0,!i){var n=Math.pow(2,8*r-1);D(this,t,e,r,n-1,-n)}var o=r-1,a=1,s=0;this[e+o]=255&t;while(--o>=0&&(a*=256))t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},h.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,127,-128),h.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},h.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),h.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):U(this,t,e,!0),e+2},h.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),h.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):U(this,t,e,!1),e+2},h.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),h.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):F(this,t,e,!0),e+4},h.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),h.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):F(this,t,e,!1),e+4},h.prototype.writeFloatLE=function(t,e,r){return K(this,t,e,!0,r)},h.prototype.writeFloatBE=function(t,e,r){return K(this,t,e,!1,r)},h.prototype.writeDoubleLE=function(t,e,r){return H(this,t,e,!0,r)},h.prototype.writeDoubleBE=function(t,e,r){return H(this,t,e,!1,r)},h.prototype.copy=function(t,e,r,i){if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--n)t[n+e]=this[n+r];else if(o<1e3||!h.TYPED_ARRAY_SUPPORT)for(n=0;n>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"===typeof t)for(o=e;o55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function X(t){for(var e=[],r=0;r>8,n=r%256,o.push(n),o.push(i)}return o}function Q(t){return i.toByteArray(Z(t))}function tt(t,e,r,i){for(var n=0;n=e.length||n>=t.length)break;e[n+r]=t[n]}return n}function et(t){return t!==t}}).call(this,r("c8ba"))},b672:function(t,e,r){var i=r("8707").Buffer;function n(t,e){this._block=i.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}n.prototype.update=function(t,e){"string"===typeof t&&(e=e||"utf8",t=i.from(t,e));for(var r=this._block,n=this._blockSize,o=t.length,a=this._len,s=0;s=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var i=(4294967295&r)>>>0,n=(r-i)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8),this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},n.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=n},b692:function(t,e,r){var i=r("39a9").Buffer,n=r("98e6"),o=r("34d5"),a=r("3fb5"),s=r("6fe7"),u=r("980c"),h=r("b4e8");function f(t){o.Writable.call(this);var e=h[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=n(e.hash),this._tag=e.id,this._signType=e.sign}function l(t){o.Writable.call(this);var e=h[t];if(!e)throw new Error("Unknown message digest");this._hash=n(e.hash),this._tag=e.id,this._signType=e.sign}function c(t){return new f(t)}function d(t){return new l(t)}Object.keys(h).forEach((function(t){h[t].id=i.from(h[t].id,"hex"),h[t.toLowerCase()]=h[t]})),a(f,o.Writable),f.prototype._write=function(t,e,r){this._hash.update(t),r()},f.prototype.update=function(t,e){return"string"===typeof t&&(t=i.from(t,e)),this._hash.update(t),this},f.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),i=s(r,t,this._hashType,this._signType,this._tag);return e?i.toString(e):i},a(l,o.Writable),l.prototype._write=function(t,e,r){this._hash.update(t),r()},l.prototype.update=function(t,e){return"string"===typeof t&&(t=i.from(t,e)),this._hash.update(t),this},l.prototype.verify=function(t,e,r){"string"===typeof e&&(e=i.from(e,r)),this.end();var n=this._hash.digest();return u(e,n,t,this._signType,this._tag)},t.exports={Sign:c,Verify:d,createSign:c,createVerify:d}},b727:function(t,e,r){var i=r("0366"),n=r("44ad"),o=r("7b0b"),a=r("50c4"),s=r("65f0"),u=[].push,h=function(t){var e=1==t,r=2==t,h=3==t,f=4==t,l=6==t,c=5==t||l;return function(d,p,m,b){for(var v,g,y=o(d),w=n(y),M=i(p,m,3),_=a(w.length),S=0,E=b||s,A=e?E(d,_):r?E(d,0):void 0;_>S;S++)if((c||S in w)&&(v=w[S],g=M(v,S,y),t))if(e)A[S]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return S;case 2:u.call(A,v)}else if(f)return!1;return l?-1:h||f?f:A}};t.exports={forEach:h(0),map:h(1),filter:h(2),some:h(3),every:h(4),find:h(5),findIndex:h(6)}},b73f:function(t,e,r){"use strict";var i=r("80af"),n=r("f3a3"),o=n.assert;function a(t,e){if(t instanceof a)return t;this._importDER(t,e)||(o(t.r&&t.s,"Signature without r or s"),this.r=new i(t.r,16),this.s=new i(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function s(){this.place=0}function u(t,e){var r=t[e.place++];if(!(128&r))return r;var i=15&r;if(0===i||i>4)return!1;for(var n=0,o=0,a=e.place;o>>=0;return!(n<=127)&&(e.place=a,n)}function h(t){var e=0,r=t.length-1;while(!t[e]&&!(128&t[e+1])&&e>>3);t.push(128|r);while(--r)t.push(e>>>(r<<3)&255);t.push(e)}}t.exports=a,a.prototype._importDER=function(t,e){t=n.toArray(t,e);var r=new s;if(48!==t[r.place++])return!1;var o=u(t,r);if(!1===o)return!1;if(o+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var a=u(t,r);if(!1===a)return!1;var h=t.slice(r.place,a+r.place);if(r.place+=a,2!==t[r.place++])return!1;var f=u(t,r);if(!1===f)return!1;if(t.length!==f+r.place)return!1;var l=t.slice(r.place,f+r.place);if(0===h[0]){if(!(128&h[1]))return!1;h=h.slice(1)}if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}return this.r=new i(h),this.s=new i(l),this.recoveryParam=null,!0},a.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=h(e),r=h(r);while(!r[0]&&!(128&r[1]))r=r.slice(1);var i=[2];f(i,e.length),i=i.concat(e),i.push(2),f(i,r.length);var o=i.concat(r),a=[48];return f(a,o.length),a=a.concat(o),n.encode(a,t)}},b7d1:function(t,e,r){(function(e){function r(t,e){if(i("noDeprecation"))return t;var r=!1;function n(){if(!r){if(i("throwDeprecation"))throw new Error(e);i("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}return n}function i(t){try{if(!e.localStorage)return!1}catch(i){return!1}var r=e.localStorage[t];return null!=r&&"true"===String(r).toLowerCase()}t.exports=r}).call(this,r("c8ba"))},b837:function(t,e,r){var i=r("3fb5"),n=r("4fd1"),o=r("b672"),a=r("8707").Buffer,s=new Array(160);function u(){this.init(),this._w=s,o.call(this,128,112)}i(u,n),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var t=a.allocUnsafe(48);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=u},b9a8:function(t,e,r){"use strict";var i=r("80af"),n=r("6aa2"),o=r("f3a3"),a=r("0cbb"),s=r("fdac"),u=o.assert,h=r("bb34"),f=r("b73f");function l(t){if(!(this instanceof l))return new l(t);"string"===typeof t&&(u(a.hasOwnProperty(t),"Unknown curve "+t),t=a[t]),t instanceof a.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}t.exports=l,l.prototype.keyPair=function(t){return new h(this,t)},l.prototype.keyFromPrivate=function(t,e){return h.fromPrivate(this,t,e)},l.prototype.keyFromPublic=function(t,e){return h.fromPublic(this,t,e)},l.prototype.genKeyPair=function(t){t||(t={});var e=new n({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||s(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),o=this.n.sub(new i(2));do{var a=new i(e.generate(r));if(!(a.cmp(o)>0))return a.iaddn(1),this.keyFromPrivate(a)}while(1)},l.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},l.prototype.sign=function(t,e,r,o){"object"===typeof r&&(o=r,r=null),o||(o={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new i(t,16));for(var a=this.n.byteLength(),s=e.getPrivate().toArray("be",a),u=t.toArray("be",a),h=new n({hash:this.hash,entropy:s,nonce:u,pers:o.pers,persEnc:o.persEnc||"utf8"}),l=this.n.sub(new i(1)),c=0;1;c++){var d=o.k?o.k(c):new i(h.generate(this.n.byteLength()));if(d=this._truncateToN(d,!0),!(d.cmpn(1)<=0||d.cmp(l)>=0)){var p=this.g.mul(d);if(!p.isInfinity()){var m=p.getX(),b=m.umod(this.n);if(0!==b.cmpn(0)){var v=d.invm(this.n).mul(b.mul(e.getPrivate()).iadd(t));if(v=v.umod(this.n),0!==v.cmpn(0)){var g=(p.getY().isOdd()?1:0)|(0!==m.cmp(b)?2:0);return o.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),g^=1),new f({r:b,s:v,recoveryParam:g})}}}}}},l.prototype.verify=function(t,e,r,n){t=this._truncateToN(new i(t,16)),r=this.keyFromPublic(r,n),e=new f(e,"hex");var o=e.r,a=e.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var s=a.invm(this.n),u=s.mul(t).umod(this.n),h=s.mul(o).umod(this.n);if(!this.curve._maxwellTrick){var l=this.g.mulAdd(u,r.getPublic(),h);return!l.isInfinity()&&0===l.getX().umod(this.n).cmp(o)}l=this.g.jmulAdd(u,r.getPublic(),h);return!l.isInfinity()&&l.eqXToP(o)},l.prototype.recoverPubKey=function(t,e,r,n){u((3&r)===r,"The recovery param is more than two bits"),e=new f(e,n);var o=this.n,a=new i(t),s=e.r,h=e.s,l=1&r,c=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&c)throw new Error("Unable to find sencond key candinate");s=c?this.curve.pointFromX(s.add(this.curve.n),l):this.curve.pointFromX(s,l);var d=e.r.invm(o),p=o.sub(a).mul(d).umod(o),m=h.mul(d).umod(o);return this.g.mulAdd(p,s,m)},l.prototype.getKeyRecoveryParam=function(t,e,r,i){if(e=new f(e,i),null!==e.recoveryParam)return e.recoveryParam;for(var n=0;n<4;n++){var o;try{o=this.recoverPubKey(t,e,n)}catch(t){continue}if(o.eq(r))return n}throw new Error("Unable to find valid recovery factor")}},b9b5:function(t,e,r){"use strict";var i=r("9d8a").codes.ERR_INVALID_OPT_VALUE;function n(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}function o(t,e,r,o){var a=n(e,o,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0){var s=o?r:"highWaterMark";throw new i(s,a)}return Math.floor(a)}return t.objectMode?16:16384}t.exports={getHighWaterMark:o}},bac2:function(t,e,r){var i={ECB:r("0145"),CBC:r("c119"),CFB:r("3505"),CFB8:r("62c9"),CFB1:r("5239"),OFB:r("5165"),CTR:r("6ade"),GCM:r("6ade")},n=r("e85f");for(var o in n)n[o].module=i[n[o].mode];t.exports=n},bb34:function(t,e,r){"use strict";var i=r("80af"),n=r("f3a3"),o=n.assert;function a(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}t.exports=a,a.fromPublic=function(t,e,r){return e instanceof a?e:new a(t,{pub:e,pubEnc:r})},a.fromPrivate=function(t,e,r){return e instanceof a?e:new a(t,{priv:e,privEnc:r})},a.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},a.prototype.getPublic=function(t,e){return"string"===typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},a.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},a.prototype._importPrivate=function(t,e){this.priv=new i(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},a.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?o(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||o(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},a.prototype.derive=function(t){return t.mul(this.priv).getX()},a.prototype.sign=function(t,e,r){return this.ec.sign(t,this,e,r)},a.prototype.verify=function(t,e){return this.ec.verify(t,e,this)},a.prototype.inspect=function(){return""}},bb44:function(t,e,r){"use strict";var i=r("c3c0"),n=r("edc9"),o=i.rotl32,a=i.sum32,s=i.sum32_3,u=i.sum32_4,h=n.BlockHash;function f(){if(!(this instanceof f))return new f;h.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function l(t,e,r,i){return t<=15?e^r^i:t<=31?e&r|~e&i:t<=47?(e|~r)^i:t<=63?e&i|r&~i:e^(r|~i)}function c(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function d(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}i.inherits(f,h),e.ripemd160=f,f.blockSize=512,f.outSize=160,f.hmacStrength=192,f.padLength=64,f.prototype._update=function(t,e){for(var r=this.h[0],i=this.h[1],n=this.h[2],h=this.h[3],f=this.h[4],g=r,y=i,w=n,M=h,_=f,S=0;S<80;S++){var E=a(o(u(r,l(S,i,n,h),t[p[S]+e],c(S)),b[S]),f);r=f,f=h,h=o(n,10),n=i,i=E,E=a(o(u(g,l(79-S,y,w,M),t[m[S]+e],d(S)),v[S]),_),g=_,_=M,M=o(w,10),w=y,y=E}E=s(this.h[1],n,M),this.h[1]=s(this.h[2],h,_),this.h[2]=s(this.h[3],f,g),this.h[3]=s(this.h[4],r,y),this.h[4]=s(this.h[0],i,w),this.h[0]=E},f.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"little"):i.split32(this.h,"little")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],m=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],b=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],v=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},bc12:function(t,e,r){(function(t){(function(t,e){"use strict";function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var a;"object"===typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{a=r(12).Buffer}catch(k){}function s(t,e,r){for(var i=0,n=Math.min(t.length,r),o=e;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],k=8191&A,x=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,q=P>>>13,D=0|s[0],U=8191&D,F=D>>>13,z=0|s[1],K=8191&z,H=z>>>13,W=0|s[2],Z=8191&W,Y=W>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,H)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,H)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,H)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,H)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,H)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,H)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,H)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,H)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,U),n=Math.imul(k,F),n=n+Math.imul(x,U)|0,o=Math.imul(x,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,H)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,H)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(k,K)|0,n=n+Math.imul(k,H)|0,n=n+Math.imul(x,K)|0,o=o+Math.imul(x,H)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,H)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,H)|0,i=i+Math.imul(k,Z)|0,n=n+Math.imul(k,Y)|0,n=n+Math.imul(x,Z)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,H)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,H)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(k,G)|0,n=n+Math.imul(k,X)|0,n=n+Math.imul(x,G)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(q,U)|0,o=Math.imul(q,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,H)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,H)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(k,Q)|0,n=n+Math.imul(k,tt)|0,n=n+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,H),n=n+Math.imul(q,K)|0,o=Math.imul(q,H),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(k,rt)|0,n=n+Math.imul(k,it)|0,n=n+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(q,Z)|0,o=Math.imul(q,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(k,ot)|0,n=n+Math.imul(k,at)|0,n=n+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(q,G)|0,o=Math.imul(q,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(k,ut)|0,n=n+Math.imul(k,ht)|0,n=n+Math.imul(x,ut)|0,o=o+Math.imul(x,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(q,Q)|0,o=Math.imul(q,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(k,lt)|0,n=n+Math.imul(k,ct)|0,n=n+Math.imul(x,lt)|0,o=o+Math.imul(x,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(q,rt)|0,o=Math.imul(q,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(k,pt)|0,n=n+Math.imul(k,mt)|0,n=n+Math.imul(x,pt)|0,o=o+Math.imul(x,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(q,ot)|0,o=Math.imul(q,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(q,ut)|0,o=Math.imul(q,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(q,lt)|0,o=Math.imul(q,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(q,pt)|0,o=Math.imul(q,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=kt,u[11]=xt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},bd9d:function(t,e){function r(t){var e,r=t.length;while(r--){if(e=t.readUInt8(r),255!==e){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}}t.exports=r},c04e:function(t,e,r){var i=r("861d");t.exports=function(t,e){if(!i(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!i(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!i(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!i(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},c119:function(t,e,r){var i=r("8c8a");e.encrypt=function(t,e){var r=i(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},e.decrypt=function(t,e){var r=t._prev;t._prev=e;var n=t._cipher.decryptBlock(e);return i(n,r)}},c1ac:function(t,e,r){"use strict";var i=r("ebb5"),n=r("b727").filter,o=r("4840"),a=i.aTypedArray,s=i.aTypedArrayConstructor,u=i.exportTypedArrayMethod;u("filter",(function(t){var e=n(a(this),t,arguments.length>1?arguments[1]:void 0),r=o(this,this.constructor),i=0,u=e.length,h=new(s(r))(u);while(u>i)h[i]=e[i++];return h}))},c24d:function(t){t.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},c2ae:function(t,e,r){t.exports=r("e372").PassThrough},c3c0:function(t,e,r){"use strict";var i=r("da3e"),n=r("3fb5");function o(t,e){return 55296===(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320===(64512&t.charCodeAt(e+1)))}function a(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"===typeof t)if(e){if("hex"===e)for(t=t.replace(/[^a-z0-9]+/gi,""),t.length%2!==0&&(t="0"+t),n=0;n>6|192,r[i++]=63&a|128):o(t,n)?(a=65536+((1023&a)<<10)+(1023&t.charCodeAt(++n)),r[i++]=a>>18|240,r[i++]=a>>12&63|128,r[i++]=a>>6&63|128,r[i++]=63&a|128):(r[i++]=a>>12|224,r[i++]=a>>6&63|128,r[i++]=63&a|128)}else for(n=0;n>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24;return e>>>0}function h(t,e){for(var r="",i=0;i>>0}return a}function d(t,e){for(var r=new Array(4*t.length),i=0,n=0;i>>24,r[n+1]=o>>>16&255,r[n+2]=o>>>8&255,r[n+3]=255&o):(r[n+3]=o>>>24,r[n+2]=o>>>16&255,r[n+1]=o>>>8&255,r[n]=255&o)}return r}function p(t,e){return t>>>e|t<<32-e}function m(t,e){return t<>>32-e}function b(t,e){return t+e>>>0}function v(t,e,r){return t+e+r>>>0}function g(t,e,r,i){return t+e+r+i>>>0}function y(t,e,r,i,n){return t+e+r+i+n>>>0}function w(t,e,r,i){var n=t[e],o=t[e+1],a=i+o>>>0,s=(a>>0,t[e+1]=a}function M(t,e,r,i){var n=e+i>>>0,o=(n>>0}function _(t,e,r,i){var n=e+i;return n>>>0}function S(t,e,r,i,n,o,a,s){var u=0,h=e;h=h+i>>>0,u+=h>>0,u+=h>>0,u+=h>>0}function E(t,e,r,i,n,o,a,s){var u=e+i+o+s;return u>>>0}function A(t,e,r,i,n,o,a,s,u,h){var f=0,l=e;l=l+i>>>0,f+=l>>0,f+=l>>0,f+=l>>0,f+=l>>0}function k(t,e,r,i,n,o,a,s,u,h){var f=e+i+o+s+h;return f>>>0}function x(t,e,r){var i=e<<32-r|t>>>r;return i>>>0}function R(t,e,r){var i=t<<32-r|e>>>r;return i>>>0}function $(t,e,r){return t>>>r}function T(t,e,r){var i=t<<32-r|e>>>r;return i>>>0}e.inherits=n,e.toArray=a,e.toHex=s,e.htonl=u,e.toHex32=h,e.zero2=f,e.zero8=l,e.join32=c,e.split32=d,e.rotr32=p,e.rotl32=m,e.sum32=b,e.sum32_3=v,e.sum32_4=g,e.sum32_5=y,e.sum64=w,e.sum64_hi=M,e.sum64_lo=_,e.sum64_4_hi=S,e.sum64_4_lo=E,e.sum64_5_hi=A,e.sum64_5_lo=k,e.rotr64_hi=x,e.rotr64_lo=R,e.shr64_hi=$,e.shr64_lo=T},c430:function(t,e){t.exports=!1},c6b6:function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},c6cd:function(t,e,r){var i=r("da84"),n=r("ce4e"),o="__core-js_shared__",a=i[o]||n(o,{});t.exports=a},c8ba:function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(i){"object"===typeof window&&(r=window)}t.exports=r},ca84:function(t,e,r){var i=r("5135"),n=r("fc6a"),o=r("4d64").indexOf,a=r("d012");t.exports=function(t,e){var r,s=n(t),u=0,h=[];for(r in s)!i(a,r)&&i(s,r)&&h.push(r);while(e.length>u)i(s,r=e[u++])&&(~o(h,r)||h.push(r));return h}},ca91:function(t,e,r){"use strict";var i=r("ebb5"),n=r("d58f").left,o=i.aTypedArray,a=i.exportTypedArrayMethod;a("reduce",(function(t){return n(o(this),t,arguments.length,arguments.length>1?arguments[1]:void 0)}))},caad:function(t,e,r){"use strict";var i=r("23e7"),n=r("4d64").includes,o=r("44d2"),a=r("ae40"),s=a("indexOf",{ACCESSORS:!0,1:0});i({target:"Array",proto:!0,forced:!s},{includes:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}}),o("includes")},cc12:function(t,e,r){var i=r("da84"),n=r("861d"),o=i.document,a=n(o)&&n(o.createElement);t.exports=function(t){return a?o.createElement(t):{}}},cd26:function(t,e,r){"use strict";var i=r("ebb5"),n=i.aTypedArray,o=i.exportTypedArrayMethod,a=Math.floor;o("reverse",(function(){var t,e=this,r=n(e).length,i=a(r/2),o=0;while(o0)if("string"===typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=h(e)),i)a.endEmitted?A(t,new E):I(t,a,e,!0);else if(a.ended)A(t,new _);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?I(t,a,e,!1):q(t,a)):I(t,a,e,!1)}else i||(a.reading=!1,q(t,a));return!a.ended&&(a.length=C?t=C:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function N(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=L(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function B(t,e){if(l("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?P(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,j(t)))}}function P(t){var e=t._readableState;l("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(l("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(j,t))}function j(t){var e=t._readableState;l("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,W(t)}function q(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(D,t,e))}function D(t,e){while(!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function z(t){l("readable nexttick read 0"),t.read(0)}function K(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(H,t,e))}function H(t,e){l("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),W(t),e.flowing&&!e.reading&&t.read(0)}function W(t){var e=t._readableState;l("flow",e.flowing);while(e.flowing&&null!==t.read());}function Z(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function Y(t){var e=t._readableState;l("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(V,e,t))}function V(t,e){if(l("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function G(t,e){for(var r=0,i=t.length;r=e.highWaterMark:e.length>0)||e.ended))return l("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?Y(this):P(this),null;if(t=N(t,e),0===t&&e.ended)return 0===e.length&&Y(this),null;var i,n=e.needReadable;return l("need readable",n),(0===e.length||e.length-t0?Z(t,e):null,null===i?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Y(this)),null!==i&&this.emit("data",i),i},$.prototype._read=function(t){A(this,new S("_read()"))},$.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t);break}n.pipesCount+=1,l("pipe count=%d opts=%j",n.pipesCount,e);var a=(!e||!1!==e.end)&&t!==i.stdout&&t!==i.stderr,s=a?h:g;function u(t,e){l("onunpipe"),t===r&&e&&!1===e.hasUnpiped&&(e.hasUnpiped=!0,d())}function h(){l("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",u);var f=U(r);t.on("drain",f);var c=!1;function d(){l("cleanup"),t.removeListener("close",b),t.removeListener("finish",v),t.removeListener("drain",f),t.removeListener("error",m),t.removeListener("unpipe",u),r.removeListener("end",h),r.removeListener("end",g),r.removeListener("data",p),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||f()}function p(e){l("ondata");var i=t.write(e);l("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==G(n.pipes,t))&&!c&&(l("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function m(e){l("onerror",e),g(),t.removeListener("error",m),0===o(t,"error")&&A(t,e)}function b(){t.removeListener("finish",v),g()}function v(){l("onfinish"),t.removeListener("close",b),g()}function g(){l("unpipe"),r.unpipe(t)}return r.on("data",p),x(t,"error",m),t.once("close",b),t.once("finish",v),t.emit("pipe",r),n.flowing||(l("pipe resume"),r.resume()),t},$.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,l("on readable",n.length,n.reading),n.length?P(this):n.reading||i.nextTick(z,this))),r},$.prototype.addListener=$.prototype.on,$.prototype.removeListener=function(t,e){var r=a.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(F,this),r},$.prototype.removeAllListeners=function(t){var e=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(F,this),e},$.prototype.resume=function(){var t=this._readableState;return t.flowing||(l("resume"),t.flowing=!t.readableListening,K(this,t)),t.paused=!1,this},$.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},$.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;for(var n in t.on("end",(function(){if(l("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(n){if(l("wrapped data"),r.decoder&&(n=r.decoder.write(n)),(!r.objectMode||null!==n&&void 0!==n)&&(r.objectMode||n&&n.length)){var o=e.push(n);o||(i=!0,t.pause())}})),t)void 0===this[n]&&"function"===typeof t[n]&&(this[n]=function(e){return function(){return t[e].apply(t,arguments)}}(n));for(var o=0;o>6],n=0===(32&r);if(31===(31&r)){var o=r;r=0;while(128===(128&o)){if(o=t.readUInt8(e),t.isError(o))return o;r<<=7,r|=127&o}}else r&=31;var a=s.tag[r];return{cls:i,primitive:n,tag:r,tagStr:a}}function l(t,e,r){var i=t.readUInt8(r);if(t.isError(i))return i;if(!e&&128===i)return null;if(0===(128&i))return i;var n=127&i;if(n>4)return t.error("length octect is too long");i=0;for(var o=0;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],k=8191&A,x=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,q=P>>>13,D=0|s[0],U=8191&D,F=D>>>13,z=0|s[1],K=8191&z,H=z>>>13,W=0|s[2],Z=8191&W,Y=W>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,H)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,H)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,H)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,H)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,H)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,H)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,H)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,H)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,U),n=Math.imul(k,F),n=n+Math.imul(x,U)|0,o=Math.imul(x,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,H)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,H)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(k,K)|0,n=n+Math.imul(k,H)|0,n=n+Math.imul(x,K)|0,o=o+Math.imul(x,H)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,H)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,H)|0,i=i+Math.imul(k,Z)|0,n=n+Math.imul(k,Y)|0,n=n+Math.imul(x,Z)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,H)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,H)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(k,G)|0,n=n+Math.imul(k,X)|0,n=n+Math.imul(x,G)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(q,U)|0,o=Math.imul(q,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,H)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,H)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(k,Q)|0,n=n+Math.imul(k,tt)|0,n=n+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,H),n=n+Math.imul(q,K)|0,o=Math.imul(q,H),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(k,rt)|0,n=n+Math.imul(k,it)|0,n=n+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(q,Z)|0,o=Math.imul(q,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(k,ot)|0,n=n+Math.imul(k,at)|0,n=n+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(q,G)|0,o=Math.imul(q,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(k,ut)|0,n=n+Math.imul(k,ht)|0,n=n+Math.imul(x,ut)|0,o=o+Math.imul(x,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(q,Q)|0,o=Math.imul(q,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(k,lt)|0,n=n+Math.imul(k,ct)|0,n=n+Math.imul(x,lt)|0,o=o+Math.imul(x,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(q,rt)|0,o=Math.imul(q,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(k,pt)|0,n=n+Math.imul(k,mt)|0,n=n+Math.imul(x,pt)|0,o=o+Math.imul(x,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(q,ot)|0,o=Math.imul(q,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(q,ut)|0,o=Math.imul(q,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(q,lt)|0,o=Math.imul(q,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(q,pt)|0,o=Math.imul(q,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=kt,u[11]=xt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},d113:function(t,e,r){"use strict";function i(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}var n={};function o(t,e,r){function o(t,r,i){return"string"===typeof e?e:e(t,r,i)}r||(r=Error);var a=function(t){function e(e,r,i){return t.call(this,o(e,r,i))||this}return i(e,t),e}(r);a.prototype.name=r.name,a.prototype.code=t,n[t]=a}function a(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}function s(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function u(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function h(t,e,r){return"number"!==typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}o("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),o("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,n;if("string"===typeof e&&s(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",u(t," argument"))n="The ".concat(t," ").concat(i," ").concat(a(e,"type"));else{var o=h(t,".")?"property":"argument";n='The "'.concat(t,'" ').concat(o," ").concat(i," ").concat(a(e,"type"))}return n+=". Received type ".concat(typeof r),n}),TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),o("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),o("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),o("ERR_STREAM_WRITE_AFTER_END","write after end"),o("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),o("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=n},d139:function(t,e,r){"use strict";var i=r("ebb5"),n=r("b727").find,o=i.aTypedArray,a=i.exportTypedArrayMethod;a("find",(function(t){return n(o(this),t,arguments.length>1?arguments[1]:void 0)}))},d17b:function(t,e,r){t.exports=r("e372").Transform},d1c8:function(t,e,r){var i=r("3fb5");function n(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function o(t,e){this.path=t,this.rethrow(e)}e.Reporter=n,n.prototype.isError=function(t){return t instanceof o},n.prototype.save=function(){var t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},n.prototype.restore=function(t){var e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},n.prototype.enterKey=function(t){return this._reporterState.path.push(t)},n.prototype.exitKey=function(t){var e=this._reporterState;e.path=e.path.slice(0,t-1)},n.prototype.leaveKey=function(t,e,r){var i=this._reporterState;this.exitKey(t),null!==i.obj&&(i.obj[e]=r)},n.prototype.path=function(){return this._reporterState.path.join("/")},n.prototype.enterObject=function(){var t=this._reporterState,e=t.obj;return t.obj={},e},n.prototype.leaveObject=function(t){var e=this._reporterState,r=e.obj;return e.obj=t,r},n.prototype.error=function(t){var e,r=this._reporterState,i=t instanceof o;if(e=i?t:new o(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return i||r.errors.push(e),e},n.prototype.wrapResult=function(t){var e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},i(o,Error),o.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},d1e7:function(t,e,r){"use strict";var i={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,o=n&&!i.call({1:2},1);e.f=o?function(t){var e=n(this,t);return!!e&&e.enumerable}:i},d28b:function(t,e,r){var i=r("746f");i("iterator")},d2bb:function(t,e,r){var i=r("825a"),n=r("3bbe");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,t.call(r,[]),e=r instanceof Array}catch(o){}return function(r,o){return i(r),n(o),e?t.call(r,o):r.__proto__=o,r}}():void 0)},d3b7:function(t,e,r){var i=r("00ee"),n=r("6eeb"),o=r("b041");i||n(Object.prototype,"toString",o,{unsafe:!0})},d424:function(t,e,r){"use strict";var i=r("3fb5"),n=r("8707").Buffer,o=r("6430"),a=n.alloc(128),s=64;function u(t,e){o.call(this,"digest"),"string"===typeof e&&(e=n.from(e)),this._alg=t,this._key=e,e.length>s?e=t(e):e.length=0:l>c;c+=d)c in f&&(u=r(u,f[c],c,h));return u}};t.exports={left:s(!1),right:s(!0)}},d5d6:function(t,e,r){"use strict";var i=r("ebb5"),n=r("b727").forEach,o=i.aTypedArray,a=i.exportTypedArrayMethod;a("forEach",(function(t){n(o(this),t,arguments.length>1?arguments[1]:void 0)}))},d70e:function(t){t.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},d784:function(t,e,r){"use strict";r("ac1f");var i=r("6eeb"),n=r("d039"),o=r("b622"),a=r("9263"),s=r("9112"),u=o("species"),h=!n((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$
    ")})),f=function(){return"$0"==="a".replace(/./,"$0")}(),l=o("replace"),c=function(){return!!/./[l]&&""===/./[l]("a","$0")}(),d=!n((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}));t.exports=function(t,e,r,l){var p=o(t),m=!n((function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})),b=m&&!n((function(){var e=!1,r=/a/;return"split"===t&&(r={},r.constructor={},r.constructor[u]=function(){return r},r.flags="",r[p]=/./[p]),r.exec=function(){return e=!0,null},r[p](""),!e}));if(!m||!b||"replace"===t&&(!h||!f||c)||"split"===t&&!d){var v=/./[p],g=r(p,""[t],(function(t,e,r,i,n){return e.exec===a?m&&!n?{done:!0,value:v.call(e,r,i)}:{done:!0,value:t.call(r,e,i)}:{done:!1}}),{REPLACE_KEEPS_$0:f,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:c}),y=g[0],w=g[1];i(String.prototype,t,y),i(RegExp.prototype,p,2==e?function(t,e){return w.call(t,this,e)}:function(t){return w.call(t,this)})}l&&s(RegExp.prototype[p],"sham",!0)}},d81d:function(t,e,r){"use strict";var i=r("23e7"),n=r("b727").map,o=r("1dde"),a=r("ae40"),s=o("map"),u=a("map");i({target:"Array",proto:!0,forced:!s||!u},{map:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}})},da3e:function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=r,r.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)}},da84:function(t,e,r){(function(e){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")()}).call(this,r("c8ba"))},dc14:function(t,e,r){"use strict";(function(e,i){var n=r("966d");function o(t){var e=this;this.next=null,this.entry=null,this.finish=function(){B(e,t)}}t.exports=y;var a,s=!e.browser&&["v0.10","v0.9."].indexOf(e.version.slice(0,5))>-1?setImmediate:n.nextTick;y.WritableState=g;var u=Object.create(r("3a7c"));u.inherits=r("3fb5");var h={deprecate:r("b7d1")},f=r("429b"),l=r("8707").Buffer,c=i.Uint8Array||function(){};function d(t){return l.from(t)}function p(t){return l.isBuffer(t)||t instanceof c}var m,b=r("4681");function v(){}function g(t,e){a=a||r("b19a"),t=t||{};var i=e instanceof a;this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var n=t.highWaterMark,s=t.writableHighWaterMark,u=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i&&(s||0===s)?s:u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===t.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){x(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function y(t){if(a=a||r("b19a"),!m.call(y,this)&&!(this instanceof a))return new y(t);this._writableState=new g(t,this),this.writable=!0,t&&("function"===typeof t.write&&(this._write=t.write),"function"===typeof t.writev&&(this._writev=t.writev),"function"===typeof t.destroy&&(this._destroy=t.destroy),"function"===typeof t.final&&(this._final=t.final)),f.call(this)}function w(t,e){var r=new Error("write after end");t.emit("error",r),n.nextTick(e,r)}function M(t,e,r,i){var o=!0,a=!1;return null===r?a=new TypeError("May not write null values to stream"):"string"===typeof r||void 0===r||e.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(t.emit("error",a),n.nextTick(i,a),o=!1),o}function _(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!==typeof e||(e=l.from(e,r)),e}function S(t,e,r,i,n,o){if(!r){var a=_(e,i,n);i!==a&&(r=!0,n="buffer",i=a)}var s=e.objectMode?1:i.length;e.length+=s;var u=e.length-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(t,e,r){r(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(t,e,r){var i=this._writableState;"function"===typeof t?(r=t,t=null,e=null):"function"===typeof e&&(r=e,e=null),null!==t&&void 0!==t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||N(this,i,r)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),y.prototype.destroy=b.destroy,y.prototype._undestroy=b.undestroy,y.prototype._destroy=function(t,e){this.end(),e(t)}}).call(this,r("4362"),r("c8ba"))},ddb0:function(t,e,r){var i=r("da84"),n=r("fdbc"),o=r("e260"),a=r("9112"),s=r("b622"),u=s("iterator"),h=s("toStringTag"),f=o.values;for(var l in n){var c=i[l],d=c&&c.prototype;if(d){if(d[u]!==f)try{a(d,u,f)}catch(m){d[u]=f}if(d[h]||a(d,h,l),n[l])for(var p in o)if(d[p]!==o[p])try{a(d,p,o[p])}catch(m){d[p]=o[p]}}}},df75:function(t,e,r){var i=r("ca84"),n=r("7839");t.exports=Object.keys||function(t){return i(t,n)}},df7c:function(t,e,r){(function(t){function r(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];"."===n?t.splice(i,1):".."===n?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r--;r)t.unshift("..");return t}function i(t){"string"!==typeof t&&(t+="");var e,r=0,i=-1,n=!0;for(e=t.length-1;e>=0;--e)if(47===t.charCodeAt(e)){if(!n){r=e+1;break}}else-1===i&&(n=!1,i=e+1);return-1===i?"":t.slice(r,i)}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],i=0;i=-1&&!i;o--){var a=o>=0?arguments[o]:t.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(e=a+"/"+e,i="/"===a.charAt(0))}return e=r(n(e.split("/"),(function(t){return!!t})),!i).join("/"),(i?"/":"")+e||"."},e.normalize=function(t){var i=e.isAbsolute(t),a="/"===o(t,-1);return t=r(n(t.split("/"),(function(t){return!!t})),!i).join("/"),t||i||(t="."),t&&a&&(t+="/"),(i?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(n(t,(function(t,e){if("string"!==typeof t)throw new TypeError("Arguments to path.join must be strings");return t})).join("/"))},e.relative=function(t,r){function i(t){for(var e=0;e=0;r--)if(""!==t[r])break;return e>r?[]:t.slice(e,r-e+1)}t=e.resolve(t).substr(1),r=e.resolve(r).substr(1);for(var n=i(t.split("/")),o=i(r.split("/")),a=Math.min(n.length,o.length),s=a,u=0;u=1;--o)if(e=t.charCodeAt(o),47===e){if(!n){i=o;break}}else n=!1;return-1===i?r?"/":".":r&&1===i?"/":t.slice(0,i)},e.basename=function(t,e){var r=i(t);return e&&r.substr(-1*e.length)===e&&(r=r.substr(0,r.length-e.length)),r},e.extname=function(t){"string"!==typeof t&&(t+="");for(var e=-1,r=0,i=-1,n=!0,o=0,a=t.length-1;a>=0;--a){var s=t.charCodeAt(a);if(47!==s)-1===i&&(n=!1,i=a+1),46===s?-1===e?e=a:1!==o&&(o=1):-1!==e&&(o=-1);else if(!n){r=a+1;break}}return-1===e||-1===i||0===o||1===o&&e===i-1&&e===r+1?"":t.slice(e,i)};var o="b"==="ab".substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e<0&&(e=t.length+e),t.substr(e,r)}}).call(this,r("4362"))},e01a:function(t,e,r){"use strict";var i=r("23e7"),n=r("83ab"),o=r("da84"),a=r("5135"),s=r("861d"),u=r("9bf2").f,h=r("e893"),f=o.Symbol;if(n&&"function"==typeof f&&(!("description"in f.prototype)||void 0!==f().description)){var l={},c=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof c?new f(t):void 0===t?f():f(t);return""===t&&(l[e]=!0),e};h(c,f);var d=c.prototype=f.prototype;d.constructor=c;var p=d.toString,m="Symbol(test)"==String(f("test")),b=/^Symbol\((.*)\)[^)]+$/;u(d,"description",{configurable:!0,get:function(){var t=s(this)?this.valueOf():this,e=p.call(t);if(a(l,t))return"";var r=m?e.slice(7,-1):e.replace(b,"$1");return""===r?void 0:r}}),i({global:!0,forced:!0},{Symbol:c})}},e07b:function(t,e,r){var i=r("5a76"),n=r("b5ca"),o=r("69f2"),a=r("8707").Buffer,s=r("7d2a"),u=r("9f9d"),h=r("8be6"),f=a.alloc(128),l={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function c(t,e,r){var i=d(t),n="sha512"===t||"sha384"===t?128:64;e.length>n?e=i(e):e.length=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:i,done:!1}:"values"==r?{value:e[i],done:!1}:{value:[i,e[i]],done:!1}}),"values"),o.Arguments=o.Array,n("keys"),n("values"),n("entries")},e2cc:function(t,e,r){var i=r("6eeb");t.exports=function(t,e,r){for(var n in e)i(t,n,e[n],r);return t}},e372:function(t,e,r){e=t.exports=r("ad71"),e.Stream=e,e.Readable=e,e.Writable=r("dc14"),e.Duplex=r("b19a"),e.Transform=r("27bf"),e.PassThrough=r("780f")},e3db:function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},e538:function(t,e,r){var i=r("b622");e.f=i},e58c:function(t,e,r){"use strict";var i=r("fc6a"),n=r("a691"),o=r("50c4"),a=r("a640"),s=r("ae40"),u=Math.min,h=[].lastIndexOf,f=!!h&&1/[1].lastIndexOf(1,-0)<0,l=a("lastIndexOf"),c=s("indexOf",{ACCESSORS:!0,1:0}),d=f||!l||!c;t.exports=d?function(t){if(f)return h.apply(this,arguments)||0;var e=i(this),r=o(e.length),a=r-1;for(arguments.length>1&&(a=u(a,n(arguments[1]))),a<0&&(a=r+a);a>=0;a--)if(a in e&&e[a]===t)return a||0;return-1}:h},e666:function(t,e,r){"use strict";(function(e){var i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=h;var n=r("4250"),o=r("19ea");r("3fb5")(h,n);for(var a=i(o.prototype),s=0;s1?arguments[1]:void 0)}))},e95a:function(t,e,r){var i=r("b622"),n=r("3f8c"),o=i("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(n.Array===t||a[o]===t)}},ea53:function(t,e,r){"use strict";var i=r("80af"),n=r("f3a3"),o=n.getNAF,a=n.getJSF,s=n.assert;function u(t,e){this.type=t,this.p=new i(e.p,16),this.red=e.prime?i.red(e.prime):i.mont(this.p),this.zero=new i(0).toRed(this.red),this.one=new i(1).toRed(this.red),this.two=new i(2).toRed(this.red),this.n=e.n&&new i(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function h(t,e){this.curve=t,this.type=e,this.precomputed=null}t.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(t,e){s(t.precomputed);var r=t._getDoubles(),i=o(e,1,this._bitLength),n=(1<=u;e--)h=(h<<1)+i[e];a.push(h)}for(var f=this.jpoint(null,null,null),l=this.jpoint(null,null,null),c=n;c>0;c--){for(u=0;u=0;h--){for(e=0;h>=0&&0===a[h];h--)e++;if(h>=0&&e++,u=u.dblp(e),h<0)break;var f=a[h];s(0!==f),u="affine"===t.type?f>0?u.mixedAdd(n[f-1>>1]):u.mixedAdd(n[-f-1>>1].neg()):f>0?u.add(n[f-1>>1]):u.add(n[-f-1>>1].neg())}return"affine"===t.type?u.toP():u},u.prototype._wnafMulAdd=function(t,e,r,i,n){for(var s=this._wnafT1,u=this._wnafT2,h=this._wnafT3,f=0,l=0;l=1;l-=2){var p=l-1,m=l;if(1===s[p]&&1===s[m]){var b=[e[p],null,null,e[m]];0===e[p].y.cmp(e[m].y)?(b[1]=e[p].add(e[m]),b[2]=e[p].toJ().mixedAdd(e[m].neg())):0===e[p].y.cmp(e[m].y.redNeg())?(b[1]=e[p].toJ().mixedAdd(e[m]),b[2]=e[p].add(e[m].neg())):(b[1]=e[p].toJ().mixedAdd(e[m]),b[2]=e[p].toJ().mixedAdd(e[m].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],g=a(r[p],r[m]);f=Math.max(g[0].length,f),h[p]=new Array(f),h[m]=new Array(f);for(var y=0;y=0;l--){var E=0;while(l>=0){var A=!0;for(y=0;y=0&&E++,_=_.dblp(E),l<0)break;for(y=0;y0?c=u[y][k-1>>1]:k<0&&(c=u[y][-k-1>>1].neg()),_="affine"===c.type?_.mixedAdd(c):_.add(c))}}for(l=0;l=Math.ceil((t.bitLength()+1)/e.step)},h.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n=this._delta8){t=this.pending;var r=t.length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=i.join32(t,0,t.length-r,this.endian);for(var n=0;n>>24&255,i[n++]=t>>>16&255,i[n++]=t>>>8&255,i[n++]=255&t}else for(i[n++]=255&t,i[n++]=t>>>8&255,i[n++]=t>>>16&255,i[n++]=t>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,o=8;o(n>>1)-1?(n>>1)-u:u,o.isubn(s)):s=0,i[a]=s,o.iushrn(1)}return i}function u(t,e){var r=[[],[]];t=t.clone(),e=e.clone();var i=0,n=0;while(t.cmpn(-i)>0||e.cmpn(-n)>0){var o,a,s=t.andln(3)+i&3,u=e.andln(3)+n&3;if(3===s&&(s=-1),3===u&&(u=-1),0===(1&s))o=0;else{var h=t.andln(7)+i&7;o=3!==h&&5!==h||2!==u?s:-s}if(r[0].push(o),0===(1&u))a=0;else{h=e.andln(7)+n&7;a=3!==h&&5!==h||2!==s?u:-u}r[1].push(a),2*i===o+1&&(i=1-i),2*n===a+1&&(n=1-n),t.iushrn(1),e.iushrn(1)}return r}function h(t,e,r){var i="_"+e;t.prototype[e]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}}function f(t){return"string"===typeof t?i.toArray(t,"hex"):t}function l(t){return new n(t,"hex","le")}i.assert=o,i.toArray=a.toArray,i.zero2=a.zero2,i.toHex=a.toHex,i.encode=a.encode,i.getNAF=s,i.getJSF=u,i.cachedProperty=h,i.parseBytes=f,i.intFromLE=l},f460:function(t,e,r){var i=r("98e6"),n=r("8707").Buffer;function o(t){var e=n.allocUnsafe(4);return e.writeUInt32BE(t,0),e}t.exports=function(t,e){var r,a=n.alloc(0),s=0;while(a.length>>32-e}function h(t,e,r,i,n,o,a){return u(t+(e&r|~e&i)+n+o|0,a)+e|0}function f(t,e,r,i,n,o,a){return u(t+(e&i|r&~i)+n+o|0,a)+e|0}function l(t,e,r,i,n,o,a){return u(t+(e^r^i)+n+o|0,a)+e|0}function c(t,e,r,i,n,o,a){return u(t+(r^(e|~i))+n+o|0,a)+e|0}i(s,n),s.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,i=this._b,n=this._c,o=this._d;r=h(r,i,n,o,t[0],3614090360,7),o=h(o,r,i,n,t[1],3905402710,12),n=h(n,o,r,i,t[2],606105819,17),i=h(i,n,o,r,t[3],3250441966,22),r=h(r,i,n,o,t[4],4118548399,7),o=h(o,r,i,n,t[5],1200080426,12),n=h(n,o,r,i,t[6],2821735955,17),i=h(i,n,o,r,t[7],4249261313,22),r=h(r,i,n,o,t[8],1770035416,7),o=h(o,r,i,n,t[9],2336552879,12),n=h(n,o,r,i,t[10],4294925233,17),i=h(i,n,o,r,t[11],2304563134,22),r=h(r,i,n,o,t[12],1804603682,7),o=h(o,r,i,n,t[13],4254626195,12),n=h(n,o,r,i,t[14],2792965006,17),i=h(i,n,o,r,t[15],1236535329,22),r=f(r,i,n,o,t[1],4129170786,5),o=f(o,r,i,n,t[6],3225465664,9),n=f(n,o,r,i,t[11],643717713,14),i=f(i,n,o,r,t[0],3921069994,20),r=f(r,i,n,o,t[5],3593408605,5),o=f(o,r,i,n,t[10],38016083,9),n=f(n,o,r,i,t[15],3634488961,14),i=f(i,n,o,r,t[4],3889429448,20),r=f(r,i,n,o,t[9],568446438,5),o=f(o,r,i,n,t[14],3275163606,9),n=f(n,o,r,i,t[3],4107603335,14),i=f(i,n,o,r,t[8],1163531501,20),r=f(r,i,n,o,t[13],2850285829,5),o=f(o,r,i,n,t[2],4243563512,9),n=f(n,o,r,i,t[7],1735328473,14),i=f(i,n,o,r,t[12],2368359562,20),r=l(r,i,n,o,t[5],4294588738,4),o=l(o,r,i,n,t[8],2272392833,11),n=l(n,o,r,i,t[11],1839030562,16),i=l(i,n,o,r,t[14],4259657740,23),r=l(r,i,n,o,t[1],2763975236,4),o=l(o,r,i,n,t[4],1272893353,11),n=l(n,o,r,i,t[7],4139469664,16),i=l(i,n,o,r,t[10],3200236656,23),r=l(r,i,n,o,t[13],681279174,4),o=l(o,r,i,n,t[0],3936430074,11),n=l(n,o,r,i,t[3],3572445317,16),i=l(i,n,o,r,t[6],76029189,23),r=l(r,i,n,o,t[9],3654602809,4),o=l(o,r,i,n,t[12],3873151461,11),n=l(n,o,r,i,t[15],530742520,16),i=l(i,n,o,r,t[2],3299628645,23),r=c(r,i,n,o,t[0],4096336452,6),o=c(o,r,i,n,t[7],1126891415,10),n=c(n,o,r,i,t[14],2878612391,15),i=c(i,n,o,r,t[5],4237533241,21),r=c(r,i,n,o,t[12],1700485571,6),o=c(o,r,i,n,t[3],2399980690,10),n=c(n,o,r,i,t[10],4293915773,15),i=c(i,n,o,r,t[1],2240044497,21),r=c(r,i,n,o,t[8],1873313359,6),o=c(o,r,i,n,t[15],4264355552,10),n=c(n,o,r,i,t[6],2734768916,15),i=c(i,n,o,r,t[13],1309151649,21),r=c(r,i,n,o,t[4],4149444226,6),o=c(o,r,i,n,t[11],3174756917,10),n=c(n,o,r,i,t[2],718787259,15),i=c(i,n,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+i|0,this._c=this._c+n|0,this._d=this._d+o|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=o.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=s},f5df:function(t,e,r){var i=r("00ee"),n=r("c6b6"),o=r("b622"),a=o("toStringTag"),s="Arguments"==n(function(){return arguments}()),u=function(t,e){try{return t[e]}catch(r){}};t.exports=i?n:function(t){var e,r,i;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=u(e=Object(t),a))?r:s?n(e):"Object"==(i=n(e))&&"function"==typeof e.callee?"Arguments":i}},f772:function(t,e,r){var i=r("5692"),n=r("90e3"),o=i("keys");t.exports=function(t){return o[t]||(o[t]=n(t))}},f83c:function(t,e){t.exports=function(){throw new Error("Readable.from is not available in the browser")}},f8cd:function(t,e,r){var i=r("a691");t.exports=function(t){var e=i(t);if(e<0)throw RangeError("The argument can't be less than 0");return e}},faa1:function(t,e,r){"use strict";var i,n="object"===typeof Reflect?Reflect:null,o=n&&"function"===typeof n.apply?n.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};function a(t){console&&console.warn&&console.warn(t)}i=n&&"function"===typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var s=Number.isNaN||function(t){return t!==t};function u(){u.init.call(this)}t.exports=u,t.exports.once=w,u.EventEmitter=u,u.prototype._events=void 0,u.prototype._eventsCount=0,u.prototype._maxListeners=void 0;var h=10;function f(t){if("function"!==typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function l(t){return void 0===t._maxListeners?u.defaultMaxListeners:t._maxListeners}function c(t,e,r,i){var n,o,s;if(f(r),o=t._events,void 0===o?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),void 0===s)s=o[e]=r,++t._eventsCount;else if("function"===typeof s?s=o[e]=i?[r,s]:[s,r]:i?s.unshift(r):s.push(r),n=l(t),n>0&&s.length>n&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=s.length,a(u)}return t}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,r){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},n=d.bind(i);return n.listener=r,i.wrapFn=n,n}function m(t,e,r){var i=t._events;if(void 0===i)return[];var n=i[e];return void 0===n?[]:"function"===typeof n?r?[n.listener||n]:[n]:r?y(n):v(n,n.length)}function b(t){var e=this._events;if(void 0!==e){var r=e[t];if("function"===typeof r)return 1;if(void 0!==r)return r.length}return 0}function v(t,e){for(var r=new Array(e),i=0;i0&&(a=e[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=n[t];if(void 0===u)return!1;if("function"===typeof u)o(u,this,e);else{var h=u.length,f=v(u,h);for(r=0;r=0;o--)if(r[o]===e||r[o].listener===e){a=r[o].listener,n=o;break}if(n<0)return this;0===n?r.shift():g(r,n),1===r.length&&(i[t]=r[0]),void 0!==i.removeListener&&this.emit("removeListener",t,a||e)}return this},u.prototype.off=u.prototype.removeListener,u.prototype.removeAllListeners=function(t){var e,r,i;if(r=this._events,void 0===r)return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0===--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var n,o=Object.keys(r);for(i=0;i=0;i--)this.removeListener(t,e[i]);return this},u.prototype.listeners=function(t){return m(this,t,!0)},u.prototype.rawListeners=function(t){return m(this,t,!1)},u.listenerCount=function(t,e){return"function"===typeof t.listenerCount?t.listenerCount(e):b.call(t,e)},u.prototype.listenerCount=b,u.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},fb6a:function(t,e,r){"use strict";var i=r("23e7"),n=r("861d"),o=r("e8b5"),a=r("23cb"),s=r("50c4"),u=r("fc6a"),h=r("8418"),f=r("b622"),l=r("1dde"),c=r("ae40"),d=l("slice"),p=c("slice",{ACCESSORS:!0,0:0,1:2}),m=f("species"),b=[].slice,v=Math.max;i({target:"Array",proto:!0,forced:!d||!p},{slice:function(t,e){var r,i,f,l=u(this),c=s(l.length),d=a(t,c),p=a(void 0===e?c:e,c);if(o(l)&&(r=l.constructor,"function"!=typeof r||r!==Array&&!o(r.prototype)?n(r)&&(r=r[m],null===r&&(r=void 0)):r=void 0,r===Array||void 0===r))return b.call(l,d,p);for(i=new(void 0===r?Array:r)(v(p-d,0)),f=0;d0;return f(t,a,s,(function(t){i||(i=t),t&&o.forEach(l),a||(o.forEach(l),n(i))}))}));return e.reduce(c)}t.exports=p},fc6a:function(t,e,r){var i=r("44ad"),n=r("1d80");t.exports=function(t){return i(n(t))}},fda6:function(t,e,r){var i=r("8947"),n=r("4228"),o=r("e85f");function a(){return Object.keys(o)}e.createCipher=e.Cipher=i.createCipher,e.createCipheriv=e.Cipheriv=i.createCipheriv,e.createDecipher=e.Decipher=n.createDecipher,e.createDecipheriv=e.Decipheriv=n.createDecipheriv,e.listCiphers=e.getCiphers=a},fdac:function(t,e,r){var i;function n(t){this.rand=t}if(t.exports=function(t){return i||(i=new n(null)),i.generate(t)},t.exports.Rand=n,n.prototype.generate=function(t){return this._rand(t)},n.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r>>0),null!=t){var e=this.filename,r=e?At("//"+e):"/";if(e=Re(!0,!0),r=fe(r,4095&(void 0!==e?e:438)|32768,0),t){if("string"===typeof t){for(var n=Array(t.length),a=0,s=t.length;ai;++i)o.parameters.push(n["viii"[i]]);i=new WebAssembly.Function(o,t)}else{for(n=[1,0,1,96],o={i:127,j:126,f:125,d:124},n.push(3),i=0;3>i;++i)n.push(o["iii"[i]]);n.push(0),n[1]=n.length-2,i=new Uint8Array([0,97,115,109,1,0,0,0].concat(n,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),i=new WebAssembly.Module(i),i=new WebAssembly.Instance(i,{e:{f:t}}).exports.f}e.set(r,i)}A.set(t,r),t=r}return t}function T(t){R(t)}function I(t){var e="i32";switch("*"===e.charAt(e.length-1)&&(e="i32"),e){case"i1":z[t>>0]=0;break;case"i8":z[t>>0]=0;break;case"i16":H[t>>1]=0;break;case"i32":W[t>>2]=0;break;case"i64":mt=[0,(pt=0,1<=+Math.abs(pt)?0>>0:~~+Math.ceil((pt-+(~~pt>>>0))/4294967296)>>>0:0)],W[t>>2]=mt[0],W[t+4>>2]=mt[1];break;case"float":Z[t>>2]=0;break;case"double":Y[t>>3]=0;break;default:lt("invalid type for setValue: "+e)}}function O(t,e){switch(e=e||"i8","*"===e.charAt(e.length-1)&&(e="i32"),e){case"i1":return z[t>>0];case"i8":return z[t>>0];case"i16":return H[t>>1];case"i32":return W[t>>2];case"i64":return W[t>>2];case"float":return Z[t>>2];case"double":return Y[t>>3];default:lt("invalid type for getValue: "+e)}return null}u.wasmBinary&&(k=u.wasmBinary),u.noExitRuntime&&u.noExitRuntime,"object"!==typeof WebAssembly&<("no native wasm support detected");var C,L,N=!1;function B(t,e){t||lt("Assertion failed: "+e)}function P(t){var e=u["_"+t];return B(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function j(t,e,r,i){var n={string:function(t){var e=0;if(null!==t&&void 0!==t&&0!==t){var r=1+(t.length<<2);e=nr(r),J(t,K,e,r)}return e},array:function(t){var e=nr(t.length);return z.set(t,e),e}},o=P(t),a=[];if(t=0,i)for(var s=0;s=i);)++r;if(16n?i+=String.fromCharCode(n):(n-=65536,i+=String.fromCharCode(55296|n>>10,56320|1023&n))}}else i+=String.fromCharCode(n)}return i}function X(t,e){return t?G(K,t,e):""}function J(t,e,r,i){if(!(0=a){var s=t.charCodeAt(++o);a=65536+((1023&a)<<10)|1023&s}if(127>=a){if(r>=i)break;e[r++]=a}else{if(2047>=a){if(r+1>=i)break;e[r++]=192|a>>6}else{if(65535>=a){if(r+2>=i)break;e[r++]=224|a>>12}else{if(r+3>=i)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63}e[r++]=128|a>>6&63}e[r++]=128|63&a}}return e[r]=0,r-n}function Q(t){for(var e=0,r=0;r=i&&(i=65536+((1023&i)<<10)|1023&t.charCodeAt(++r)),127>=i?++e:e=2047>=i?e+2:65535>=i?e+3:e+4}return e}function tt(t){var e=Q(t)+1,r=Ge(e);return r&&J(t,z,r,e),r}function et(t){F=t,u.HEAP8=z=new Int8Array(t),u.HEAP16=H=new Int16Array(t),u.HEAP32=W=new Int32Array(t),u.HEAPU8=K=new Uint8Array(t),u.HEAPU16=new Uint16Array(t),u.HEAPU32=new Uint32Array(t),u.HEAPF32=Z=new Float32Array(t),u.HEAPF64=Y=new Float64Array(t)}var rt=u.INITIAL_MEMORY||16777216;C=u.wasmMemory?u.wasmMemory:new WebAssembly.Memory({initial:rt/65536,maximum:32768}),C&&(F=C.buffer),rt=F.byteLength,et(F);var it=[],nt=[],ot=[],at=[];function st(){var t=u.preRun.shift();it.unshift(t)}var ut=0,ht=null,ft=null;function lt(t){throw u.onAbort&&u.onAbort(t),E(t),N=!0,new WebAssembly.RuntimeError("abort("+t+"). Build with -s ASSERTIONS=1 for more info.")}function ct(t){var e=vt;return String.prototype.startsWith?e.startsWith(t):0===e.indexOf(t)}function dt(){return ct("data:application/octet-stream;base64,")}u.preloadedImages={},u.preloadedAudios={};var pt,mt,bt,vt="sql-wasm.wasm";if(!dt()){var gt=vt;vt=u.locateFile?u.locateFile(gt,_):_+gt}function yt(){try{if(k)return new Uint8Array(k);if(y)return y(vt);throw"both async and sync fetching of the wasm failed"}catch(t){lt(t)}}function wt(){return k||!p&&!m||"function"!==typeof fetch||ct("file://")?Promise.resolve().then(yt):fetch(vt,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+vt+"'";return t.arrayBuffer()})).catch((function(){return yt()}))}function Mt(t){for(;0>2]=60*(new Date).getTimezoneOffset();var e=(new Date).getFullYear(),r=new Date(e,0,1);e=new Date(e,6,1),W[tr()>>2]=Number(r.getTimezoneOffset()!=e.getTimezoneOffset());var i=t(r),n=t(e);i=tt(i),n=tt(n),e.getTimezoneOffset()>2]=i,W[Qe()+4>>2]=n):(W[Qe()>>2]=n,W[Qe()+4>>2]=i)}}function Et(t,e){for(var r=0,i=t.length-1;0<=i;i--){var n=t[i];"."===n?t.splice(i,1):".."===n?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t}function At(t){var e="/"===t.charAt(0),r="/"===t.substr(-1);return(t=Et(t.split("/").filter((function(t){return!!t})),!e).join("/"))||e||(t="."),t&&r&&(t+="/"),(e?"/":"")+t}function kt(t){var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(t).slice(1);return t=e[0],e=e[1],t||e?(e&&(e=e.substr(0,e.length-1)),t+e):"."}function xt(t){if("/"===t)return"/";t=At(t),t=t.replace(/\/$/,"");var e=t.lastIndexOf("/");return-1===e?t:t.substr(e+1)}function Rt(t){W[Ve()>>2]=t}function $t(){if("object"===typeof crypto&&"function"===typeof crypto.getRandomValues){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}if(b)try{var e=r("1c46");return function(){return e.randomBytes(1)[0]}}catch(i){}return function(){lt("randomDevice")}}function Tt(){for(var t="",e=!1,r=arguments.length-1;-1<=r&&!e;r--){if(e=0<=r?arguments[r]:"/","string"!==typeof e)throw new TypeError("Arguments to path.resolve must be strings");if(!e)return"";t=e+"/"+t,e="/"===e.charAt(0)}return t=Et(t.split("/").filter((function(t){return!!t})),!e).join("/"),(e?"/":"")+t||"."}var It=[];function Ot(t,e){It[t]={input:[],output:[],cb:e},ue(t,Ct)}var Ct={open:function(t){var e=It[t.node.rdev];if(!e)throw new Kt(43);t.tty=e,t.seekable=!1},close:function(t){t.tty.cb.flush(t.tty)},flush:function(t){t.tty.cb.flush(t.tty)},read:function(t,e,r,i){if(!t.tty||!t.tty.cb.xb)throw new Kt(60);for(var n=0,o=0;o=e||(e=Math.max(e,r*(1048576>r?2:1.125)>>>0),0!=r&&(e=Math.max(e,256)),r=t.Ma,t.Ma=new Uint8Array(e),0e)t.Ma.length=e;else for(;t.Ma.length=t.node.Sa)return 0;if(t=Math.min(t.node.Sa-n,i),8e)throw new Kt(28);return e},sb:function(t,e,r){Bt.vb(t.node,e+r),t.node.Sa=Math.max(t.node.Sa,e+r)},hb:function(t,e,r,i,n,o){if(B(0===e),32768!==(61440&t.node.mode))throw new Kt(43);if(t=t.node.Ma,2&o||t.buffer!==F){for((0>>0)%Ut.length}function Vt(t){var e=Yt(t.parent.id,t.name);if(Ut[e]===t)Ut[e]=t.bb;else for(e=Ut[e];e;){if(e.bb===t){e.bb=t.bb;break}e=e.bb}}function Gt(t,e){var r;if(r=(r=ee(t,"x"))?r:t.Na.lookup?0:2)throw new Kt(r,t);for(r=Ut[Yt(t.id,e)];r;r=r.bb){var i=r.name;if(r.parent.id===t.id&&i===e)return r}return t.Na.lookup(t,e)}function Xt(t,e,r,i){return t=new Ke(t,e,r,i),e=Yt(t.parent.id,t.name),t.bb=Ut[e],Ut[e]=t}function Jt(t){return 16384===(61440&t)}var Qt={r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218};function te(t){var e=["r","w","rw"][3&t];return 512&t&&(e+="w"),e}function ee(t,e){return Ft||(-1===e.indexOf("r")||292&t.mode)&&(-1===e.indexOf("w")||146&t.mode)&&(-1===e.indexOf("x")||73&t.mode)?0:2}function re(t,e){try{return Gt(t,e),20}catch(r){}return ee(t,"wx")}function ie(t,e,r){try{var i=Gt(t,e)}catch(n){return n.Pa}if(t=ee(t,"wx"))return t;if(r){if(!Jt(i.mode))return 54;if(i===i.parent||"/"===Zt(i))return 10}else if(Jt(i.mode))return 31;return 0}function ne(t){var e=4096;for(t=t||0;t<=e;t++)if(!qt[t])return t;throw new Kt(33)}function oe(t,e){Ie||(Ie=function(){},Ie.prototype={});var r,i=new Ie;for(r in t)i[r]=t[r];return t=i,e=ne(e),t.fd=e,qt[e]=t}var ae,se={open:function(t){t.Oa=jt[t.node.rdev].Oa,t.Oa.open&&t.Oa.open(t)},Za:function(){throw new Kt(70)}};function ue(t,e){jt[t]={Oa:e}}function he(t,e){var r="/"===e,i=!e;if(r&&Pt)throw new Kt(10);if(!r&&!i){var n=Wt(e,{wb:!1});if(e=n.path,n=n.node,n.ab)throw new Kt(10);if(!Jt(n.mode))throw new Kt(54)}e={type:t,Ub:{},yb:e,Mb:[]},t=t.Wa(e),t.Wa=e,e.root=t,r?Pt=t:n&&(n.ab=e,n.Wa&&n.Wa.Mb.push(e))}function fe(t,e,r){var i=Wt(t,{parent:!0}).node;if(t=xt(t),!t||"."===t||".."===t)throw new Kt(28);var n=re(i,t);if(n)throw new Kt(n);if(!i.Na.gb)throw new Kt(63);return i.Na.gb(i,t,e,r)}function le(t,e){fe(t,1023&(void 0!==e?e:511)|16384,0)}function ce(t,e,r){"undefined"===typeof r&&(r=e,e=438),fe(t,8192|e,r)}function de(t,e){if(!Tt(t))throw new Kt(44);var r=Wt(e,{parent:!0}).node;if(!r)throw new Kt(44);e=xt(e);var i=re(r,e);if(i)throw new Kt(i);if(!r.Na.symlink)throw new Kt(63);r.Na.symlink(r,e,t)}function pe(t){var e=Wt(t,{parent:!0}).node,r=xt(t),i=Gt(e,r),n=ie(e,r,!1);if(n)throw new Kt(n);if(!e.Na.unlink)throw new Kt(63);if(i.ab)throw new Kt(10);try{zt.willDeletePath&&zt.willDeletePath(t)}catch(o){E("FS.trackingDelegate['willDeletePath']('"+t+"') threw an exception: "+o.message)}e.Na.unlink(e,r),Vt(i);try{zt.onDeletePath&&zt.onDeletePath(t)}catch(o){E("FS.trackingDelegate['onDeletePath']('"+t+"') threw an exception: "+o.message)}}function me(t){if(t=Wt(t).node,!t)throw new Kt(44);if(!t.Na.readlink)throw new Kt(28);return Tt(Zt(t.parent),t.Na.readlink(t))}function be(t,e){if(t=Wt(t,{Ya:!e}).node,!t)throw new Kt(44);if(!t.Na.Ua)throw new Kt(63);return t.Na.Ua(t)}function ve(t){return be(t,!0)}function ge(t,e){var r;if(r="string"===typeof t?Wt(t,{Ya:!0}).node:t,!r.Na.Ta)throw new Kt(63);r.Na.Ta(r,{mode:4095&e|-4096&r.mode,timestamp:Date.now()})}function ye(t){var e;if(e="string"===typeof t?Wt(t,{Ya:!0}).node:t,!e.Na.Ta)throw new Kt(63);e.Na.Ta(e,{timestamp:Date.now()})}function we(t,e){if(0>e)throw new Kt(28);var r;if(r="string"===typeof t?Wt(t,{Ya:!0}).node:t,!r.Na.Ta)throw new Kt(63);if(Jt(r.mode))throw new Kt(31);if(32768!==(61440&r.mode))throw new Kt(28);if(t=ee(r,"w"))throw new Kt(t);r.Na.Ta(r,{size:e,timestamp:Date.now()})}function Me(t,e,r,i){if(""===t)throw new Kt(44);if("string"===typeof e){var n=Qt[e];if("undefined"===typeof n)throw Error("Unknown file open mode: "+e);e=n}if(r=64&e?4095&("undefined"===typeof r?438:r)|32768:0,"object"===typeof t)var o=t;else{t=At(t);try{o=Wt(t,{Ya:!(131072&e)}).node}catch(a){}}if(n=!1,64&e)if(o){if(128&e)throw new Kt(20)}else o=fe(t,r,0),n=!0;if(!o)throw new Kt(44);if(8192===(61440&o.mode)&&(e&=-513),65536&e&&!Jt(o.mode))throw new Kt(54);if(!n&&(r=o?40960===(61440&o.mode)?32:Jt(o.mode)&&("r"!==te(e)||512&e)?31:ee(o,te(e)):44))throw new Kt(r);512&e&&we(o,0),e&=-131713,i=oe({node:o,path:Zt(o),flags:e,seekable:!0,position:0,Oa:o.Oa,Rb:[],error:!1},i),i.Oa.open&&i.Oa.open(i),!u.logReadFiles||1&e||(Oe||(Oe={}),t in Oe||(Oe[t]=1,E("FS.trackingDelegate error on read file: "+t)));try{zt.onOpenFile&&(o=0,1!==(2097155&e)&&(o|=1),0!==(2097155&e)&&(o|=2),zt.onOpenFile(t,o))}catch(a){E("FS.trackingDelegate['onOpenFile']('"+t+"', flags) threw an exception: "+a.message)}return i}function _e(t){if(null===t.fd)throw new Kt(8);t.ob&&(t.ob=null);try{t.Oa.close&&t.Oa.close(t)}catch(e){throw e}finally{qt[t.fd]=null}t.fd=null}function Se(t,e,r){if(null===t.fd)throw new Kt(8);if(!t.seekable||!t.Oa.Za)throw new Kt(70);if(0!=r&&1!=r&&2!=r)throw new Kt(28);t.position=t.Oa.Za(t,e,r),t.Rb=[]}function Ee(t,e,r,i,n){if(0>i||0>n)throw new Kt(28);if(null===t.fd)throw new Kt(8);if(1===(2097155&t.flags))throw new Kt(8);if(Jt(t.node.mode))throw new Kt(31);if(!t.Oa.read)throw new Kt(28);var o="undefined"!==typeof n;if(o){if(!t.seekable)throw new Kt(70)}else n=t.position;return e=t.Oa.read(t,e,r,i,n),o||(t.position+=e),e}function Ae(t,e,r,i,n,o){if(0>i||0>n)throw new Kt(28);if(null===t.fd)throw new Kt(8);if(0===(2097155&t.flags))throw new Kt(8);if(Jt(t.node.mode))throw new Kt(31);if(!t.Oa.write)throw new Kt(28);t.seekable&&1024&t.flags&&Se(t,0,2);var a="undefined"!==typeof n;if(a){if(!t.seekable)throw new Kt(70)}else n=t.position;e=t.Oa.write(t,e,r,i,n,o),a||(t.position+=e);try{t.path&&zt.onWriteToFile&&zt.onWriteToFile(t.path)}catch(s){E("FS.trackingDelegate['onWriteToFile']('"+t.path+"') threw an exception: "+s.message)}return e}function ke(t){var e={encoding:"binary"};if(e=e||{},e.flags=e.flags||"r",e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding)throw Error('Invalid encoding type "'+e.encoding+'"');var r,i=Me(t,e.flags);t=be(t).size;var n=new Uint8Array(t);return Ee(i,n,0,t,0),"utf8"===e.encoding?r=G(n,0):"binary"===e.encoding&&(r=n),_e(i),r}function xe(){Kt||(Kt=function(t,e){this.node=e,this.Qb=function(t){this.Pa=t},this.Qb(t),this.message="FS error"},Kt.prototype=Error(),Kt.prototype.constructor=Kt,[44].forEach((function(t){Ht[t]=new Kt(t),Ht[t].stack=""})))}function Re(t,e){var r=0;return t&&(r|=365),e&&(r|=146),r}function $e(t,e,r){t=At("/dev/"+t);var i=Re(!!e,!!r);Te||(Te=64);var n=Te++<<8|0;ue(n,{open:function(t){t.seekable=!1},close:function(){r&&r.buffer&&r.buffer.length&&r(10)},read:function(t,r,i,n){for(var o=0,a=0;a>2]=i.dev,W[r+4>>2]=0,W[r+8>>2]=i.ino,W[r+12>>2]=i.mode,W[r+16>>2]=i.nlink,W[r+20>>2]=i.uid,W[r+24>>2]=i.gid,W[r+28>>2]=i.rdev,W[r+32>>2]=0,mt=[i.size>>>0,(pt=i.size,1<=+Math.abs(pt)?0>>0:~~+Math.ceil((pt-+(~~pt>>>0))/4294967296)>>>0:0)],W[r+40>>2]=mt[0],W[r+44>>2]=mt[1],W[r+48>>2]=4096,W[r+52>>2]=i.blocks,W[r+56>>2]=i.atime.getTime()/1e3|0,W[r+60>>2]=0,W[r+64>>2]=i.mtime.getTime()/1e3|0,W[r+68>>2]=0,W[r+72>>2]=i.ctime.getTime()/1e3|0,W[r+76>>2]=0,mt=[i.ino>>>0,(pt=i.ino,1<=+Math.abs(pt)?0>>0:~~+Math.ceil((pt-+(~~pt>>>0))/4294967296)>>>0:0)],W[r+80>>2]=mt[0],W[r+84>>2]=mt[1],0}var Be=void 0;function Pe(){return Be+=4,W[Be-4>>2]}function je(t){if(t=qt[t],!t)throw new Kt(8);return t}var qe,De,Ue={};function Fe(){if(!qe){var t,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",_:d||"./this.program"};for(t in Ue)e[t]=Ue[t];var r=[];for(t in e)r.push(t+"="+e[t]);qe=r}return qe}function ze(t){for(var e=De();De()-e>2]),W[e>>2]=t.getSeconds(),W[e+4>>2]=t.getMinutes(),W[e+8>>2]=t.getHours(),W[e+12>>2]=t.getDate(),W[e+16>>2]=t.getMonth(),W[e+20>>2]=t.getFullYear()-1900,W[e+24>>2]=t.getDay();var r=new Date(t.getFullYear(),0,1);W[e+28>>2]=(t.getTime()-r.getTime())/864e5|0,W[e+36>>2]=-60*t.getTimezoneOffset();var i=new Date(t.getFullYear(),6,1).getTimezoneOffset();return r=r.getTimezoneOffset(),t=0|(i!=r&&t.getTimezoneOffset()==Math.min(r,i)),W[e+32>>2]=t,t=W[Qe()+(t?4:0)>>2],W[e+40>>2]=t,e},z:function(t,e){try{var r;if(t=X(t),-8&e)var i=-28;else(r=Wt(t,{Ya:!0}).node)?(t="",4&e&&(t+="r"),2&e&&(t+="w"),1&e&&(t+="x"),i=t&&ee(r,t)?-2:0):i=-44;return i}catch(n){return"undefined"!==typeof Ce&&n instanceof Kt||lt(n),-n.Pa}},i:function(t,e){try{return t=X(t),ge(t,e),0}catch(r){return"undefined"!==typeof Ce&&r instanceof Kt||lt(r),-r.Pa}},t:function(t){try{return t=X(t),ye(t),0}catch(e){return"undefined"!==typeof Ce&&e instanceof Kt||lt(e),-e.Pa}},j:function(t,e){try{var r=qt[t];if(!r)throw new Kt(8);return ge(r.node,e),0}catch(i){return"undefined"!==typeof Ce&&i instanceof Kt||lt(i),-i.Pa}},u:function(t){try{var e=qt[t];if(!e)throw new Kt(8);return ye(e.node),0}catch(r){return"undefined"!==typeof Ce&&r instanceof Kt||lt(r),-r.Pa}},c:function(t,e,r){Be=r;try{var i=je(t);switch(e){case 0:var n=Pe();return 0>n?-28:Me(i.path,i.flags,0,n).fd;case 1:case 2:return 0;case 3:return i.flags;case 4:return n=Pe(),i.flags|=n,0;case 12:return n=Pe(),H[n+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Rt(28),-1;default:return-28}}catch(o){return"undefined"!==typeof Ce&&o instanceof Kt||lt(o),-o.Pa}},K:function(t,e){try{var r=je(t);return Ne(be,r.path,e)}catch(i){return"undefined"!==typeof Ce&&i instanceof Kt||lt(i),-i.Pa}},v:function(t,e,r){try{var i=qt[t];if(!i)throw new Kt(8);if(0===(2097155&i.flags))throw new Kt(28);return we(i.node,r),0}catch(n){return"undefined"!==typeof Ce&&n instanceof Kt||lt(n),-n.Pa}},w:function(t,e){try{return 0===e?-28:e=r)var i=-28;else{var n=me(t),o=Math.min(r,Q(n)),a=z[e+o];J(n,K,e,r+1),z[e+o]=a,i=o}return i}catch(s){return"undefined"!==typeof Ce&&s instanceof Kt||lt(s),-s.Pa}},E:function(t){try{t=X(t);var e=Wt(t,{parent:!0}).node,r=xt(t),i=Gt(e,r),n=ie(e,r,!0);if(n)throw new Kt(n);if(!e.Na.rmdir)throw new Kt(63);if(i.ab)throw new Kt(10);try{zt.willDeletePath&&zt.willDeletePath(t)}catch(o){E("FS.trackingDelegate['willDeletePath']('"+t+"') threw an exception: "+o.message)}e.Na.rmdir(e,r),Vt(i);try{zt.onDeletePath&&zt.onDeletePath(t)}catch(o){E("FS.trackingDelegate['onDeletePath']('"+t+"') threw an exception: "+o.message)}return 0}catch(o){return"undefined"!==typeof Ce&&o instanceof Kt||lt(o),-o.Pa}},g:function(t,e){try{return t=X(t),Ne(be,t,e)}catch(r){return"undefined"!==typeof Ce&&r instanceof Kt||lt(r),-r.Pa}},y:function(t){try{return t=X(t),pe(t),0}catch(e){return"undefined"!==typeof Ce&&e instanceof Kt||lt(e),-e.Pa}},m:function(t,e,r){K.copyWithin(t,e,e+r)},d:function(t){t>>>=0;var e=K.length;if(2147483648=r;r*=2){var i=e*(1+.2/r);i=Math.min(i,t+100663296),i=Math.max(16777216,t,i),0>>16),et(C.buffer);var n=1;break t}catch(o){}n=void 0}if(n)return!0}return!1},o:function(t,e){var r=0;return Fe().forEach((function(i,n){var o=e+r;for(n=W[t+4*n>>2]=o,o=0;o>0]=i.charCodeAt(o);z[n>>0]=0,r+=i.length+1})),0},p:function(t,e){var r=Fe();W[t>>2]=r.length;var i=0;return r.forEach((function(t){i+=t.length+1})),W[e>>2]=i,0},f:function(t){try{var e=je(t);return _e(e),0}catch(r){return"undefined"!==typeof Ce&&r instanceof Kt||lt(r),r.Pa}},n:function(t,e){try{var r=je(t);return z[e>>0]=r.tty?2:Jt(r.mode)?3:40960===(61440&r.mode)?7:4,0}catch(i){return"undefined"!==typeof Ce&&i instanceof Kt||lt(i),i.Pa}},l:function(t,e,r,i,n){try{var o=je(t);return t=4294967296*r+(e>>>0),-9007199254740992>=t||9007199254740992<=t?-61:(Se(o,t,i),mt=[o.position>>>0,(pt=o.position,1<=+Math.abs(pt)?0>>0:~~+Math.ceil((pt-+(~~pt>>>0))/4294967296)>>>0:0)],W[n>>2]=mt[0],W[n+4>>2]=mt[1],o.ob&&0===t&&0===i&&(o.ob=null),0)}catch(a){return"undefined"!==typeof Ce&&a instanceof Kt||lt(a),a.Pa}},x:function(t){try{var e=je(t);return e.Oa&&e.Oa.fsync?-e.Oa.fsync(e):0}catch(r){return"undefined"!==typeof Ce&&r instanceof Kt||lt(r),r.Pa}},F:function(t,e,r,i){try{t:{for(var n=je(t),o=t=0;o>2],W[e+(8*o+4)>>2],void 0);if(0>a){var s=-1;break t}t+=a}s=t}return W[i>>2]=s,0}catch(u){return"undefined"!==typeof Ce&&u instanceof Kt||lt(u),u.Pa}},h:function(t){var e=Date.now();return W[t>>2]=e/1e3|0,W[t+4>>2]=e%1e3*1e3|0,0},a:C,A:function(t,e){if(0===t)return Rt(28),-1;var r=W[t>>2];return t=W[t+4>>2],0>t||999999999r?(Rt(28),-1):(0!==e&&(W[e>>2]=0,W[e+4>>2]=0),ze(1e6*r+t/1e3))},B:function(t){switch(t){case 30:return 16384;case 85:return 131072;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:case 79:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"===typeof navigator&&navigator.hardwareConcurrency||1}return Rt(28),-1},L:function(t){var e=Date.now()/1e3|0;return t&&(W[t>>2]=e),e},r:function(t,e){if(e){var r=1e3*W[e+8>>2];r+=W[e+12>>2]/1e3}else r=Date.now();t=X(t);try{e=r;var i=Wt(t,{Ya:!0}).node;return i.Na.Ta(i,{timestamp:Math.max(e,r)}),0}catch(n){if(t=n,!(t instanceof Kt)){t+=" : ";t:{if(i=Error(),!i.stack){try{throw Error()}catch(o){i=o}if(!i.stack){i="(no stack trace available)";break t}}i=i.stack.toString()}throw u.extraStackTrace&&(i+="\n"+u.extraStackTrace()),i=_t(i),t+i}return Rt(t.Pa),-1}}};(function(){function t(t){u.asm=t.exports,L=u.asm.M,ut--,u.monitorRunDependencies&&u.monitorRunDependencies(ut),0==ut&&(null!==ht&&(clearInterval(ht),ht=null),ft&&(t=ft,ft=null,t()))}function e(e){t(e.instance)}function r(t){return wt().then((function(t){return WebAssembly.instantiate(t,i)})).then(t,(function(t){E("failed to asynchronously prepare wasm: "+t),lt(t)}))}var i={a:We};if(ut++,u.monitorRunDependencies&&u.monitorRunDependencies(ut),u.instantiateWasm)try{return u.instantiateWasm(i,t)}catch(n){return E("Module.instantiateWasm callback failed with error: "+n),!1}(function(){if(k||"function"!==typeof WebAssembly.instantiateStreaming||dt()||ct("file://")||"function"!==typeof fetch)return r(e);fetch(vt,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,i).then(e,(function(t){return E("wasm streaming compile failed: "+t),E("falling back to ArrayBuffer instantiation"),r(e)}))}))})()})();var Ze=u.___wasm_call_ctors=function(){return(Ze=u.___wasm_call_ctors=u.asm.N).apply(null,arguments)},Ye=u._memset=function(){return(Ye=u._memset=u.asm.O).apply(null,arguments)};u._sqlite3_free=function(){return(u._sqlite3_free=u.asm.P).apply(null,arguments)};var Ve=u.___errno_location=function(){return(Ve=u.___errno_location=u.asm.Q).apply(null,arguments)};u._sqlite3_finalize=function(){return(u._sqlite3_finalize=u.asm.R).apply(null,arguments)},u._sqlite3_reset=function(){return(u._sqlite3_reset=u.asm.S).apply(null,arguments)},u._sqlite3_clear_bindings=function(){return(u._sqlite3_clear_bindings=u.asm.T).apply(null,arguments)},u._sqlite3_value_blob=function(){return(u._sqlite3_value_blob=u.asm.U).apply(null,arguments)},u._sqlite3_value_text=function(){return(u._sqlite3_value_text=u.asm.V).apply(null,arguments)},u._sqlite3_value_bytes=function(){return(u._sqlite3_value_bytes=u.asm.W).apply(null,arguments)},u._sqlite3_value_double=function(){return(u._sqlite3_value_double=u.asm.X).apply(null,arguments)},u._sqlite3_value_int=function(){return(u._sqlite3_value_int=u.asm.Y).apply(null,arguments)},u._sqlite3_value_type=function(){return(u._sqlite3_value_type=u.asm.Z).apply(null,arguments)},u._sqlite3_result_blob=function(){return(u._sqlite3_result_blob=u.asm._).apply(null,arguments)},u._sqlite3_result_double=function(){return(u._sqlite3_result_double=u.asm.$).apply(null,arguments)},u._sqlite3_result_error=function(){return(u._sqlite3_result_error=u.asm.aa).apply(null,arguments)},u._sqlite3_result_int=function(){return(u._sqlite3_result_int=u.asm.ba).apply(null,arguments)},u._sqlite3_result_int64=function(){return(u._sqlite3_result_int64=u.asm.ca).apply(null,arguments)},u._sqlite3_result_null=function(){return(u._sqlite3_result_null=u.asm.da).apply(null,arguments)},u._sqlite3_result_text=function(){return(u._sqlite3_result_text=u.asm.ea).apply(null,arguments)},u._sqlite3_step=function(){return(u._sqlite3_step=u.asm.fa).apply(null,arguments)},u._sqlite3_column_count=function(){return(u._sqlite3_column_count=u.asm.ga).apply(null,arguments)},u._sqlite3_data_count=function(){return(u._sqlite3_data_count=u.asm.ha).apply(null,arguments)},u._sqlite3_column_blob=function(){return(u._sqlite3_column_blob=u.asm.ia).apply(null,arguments)},u._sqlite3_column_bytes=function(){return(u._sqlite3_column_bytes=u.asm.ja).apply(null,arguments)},u._sqlite3_column_double=function(){return(u._sqlite3_column_double=u.asm.ka).apply(null,arguments)},u._sqlite3_column_text=function(){return(u._sqlite3_column_text=u.asm.la).apply(null,arguments)},u._sqlite3_column_type=function(){return(u._sqlite3_column_type=u.asm.ma).apply(null,arguments)},u._sqlite3_column_name=function(){return(u._sqlite3_column_name=u.asm.na).apply(null,arguments)},u._sqlite3_bind_blob=function(){return(u._sqlite3_bind_blob=u.asm.oa).apply(null,arguments)},u._sqlite3_bind_double=function(){return(u._sqlite3_bind_double=u.asm.pa).apply(null,arguments)},u._sqlite3_bind_int=function(){return(u._sqlite3_bind_int=u.asm.qa).apply(null,arguments)},u._sqlite3_bind_text=function(){return(u._sqlite3_bind_text=u.asm.ra).apply(null,arguments)},u._sqlite3_bind_parameter_index=function(){return(u._sqlite3_bind_parameter_index=u.asm.sa).apply(null,arguments)},u._sqlite3_sql=function(){return(u._sqlite3_sql=u.asm.ta).apply(null,arguments)},u._sqlite3_normalized_sql=function(){return(u._sqlite3_normalized_sql=u.asm.ua).apply(null,arguments)},u._sqlite3_errmsg=function(){return(u._sqlite3_errmsg=u.asm.va).apply(null,arguments)},u._sqlite3_exec=function(){return(u._sqlite3_exec=u.asm.wa).apply(null,arguments)},u._sqlite3_prepare_v2=function(){return(u._sqlite3_prepare_v2=u.asm.xa).apply(null,arguments)},u._sqlite3_changes=function(){return(u._sqlite3_changes=u.asm.ya).apply(null,arguments)},u._sqlite3_close_v2=function(){return(u._sqlite3_close_v2=u.asm.za).apply(null,arguments)},u._sqlite3_create_function_v2=function(){return(u._sqlite3_create_function_v2=u.asm.Aa).apply(null,arguments)},u._sqlite3_open=function(){return(u._sqlite3_open=u.asm.Ba).apply(null,arguments)};var Ge=u._malloc=function(){return(Ge=u._malloc=u.asm.Ca).apply(null,arguments)},Xe=u._free=function(){return(Xe=u._free=u.asm.Da).apply(null,arguments)};u._RegisterExtensionFunctions=function(){return(u._RegisterExtensionFunctions=u.asm.Ea).apply(null,arguments)};var Je,Qe=u.__get_tzname=function(){return(Qe=u.__get_tzname=u.asm.Fa).apply(null,arguments)},tr=u.__get_daylight=function(){return(tr=u.__get_daylight=u.asm.Ga).apply(null,arguments)},er=u.__get_timezone=function(){return(er=u.__get_timezone=u.asm.Ha).apply(null,arguments)},rr=u.stackSave=function(){return(rr=u.stackSave=u.asm.Ia).apply(null,arguments)},ir=u.stackRestore=function(){return(ir=u.stackRestore=u.asm.Ja).apply(null,arguments)},nr=u.stackAlloc=function(){return(nr=u.stackAlloc=u.asm.Ka).apply(null,arguments)},or=u._memalign=function(){return(or=u._memalign=u.asm.La).apply(null,arguments)};function ar(){function t(){if(!Je&&(Je=!0,u.calledRun=!0,!N)){if(u.noFSInit||ae||(ae=!0,xe(),u.stdin=u.stdin,u.stdout=u.stdout,u.stderr=u.stderr,u.stdin?$e("stdin",u.stdin):de("/dev/tty","/dev/stdin"),u.stdout?$e("stdout",null,u.stdout):de("/dev/tty","/dev/stdout"),u.stderr?$e("stderr",null,u.stderr):de("/dev/tty1","/dev/stderr"),Me("/dev/stdin","r"),Me("/dev/stdout","w"),Me("/dev/stderr","w")),Mt(nt),Ft=!1,Mt(ot),u.onRuntimeInitialized&&u.onRuntimeInitialized(),u.postRun)for("function"==typeof u.postRun&&(u.postRun=[u.postRun]);u.postRun.length;){var t=u.postRun.shift();at.unshift(t)}Mt(at)}}if(!(0 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n","'use strict';\n\nvar assert = require('minimalistic-assert');\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n","var constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n var res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n var value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = require('./der');\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var indexOf = function (xs, item) {\n if (xs.indexOf) return xs.indexOf(item);\n else for (var i = 0; i < xs.length; i++) {\n if (xs[i] === item) return i;\n }\n return -1;\n};\nvar Object_keys = function (obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key)\n return res;\n }\n};\n\nvar forEach = function (xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n};\n\nvar defineProp = (function() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n })\n };\n } catch(e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}());\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'];\n\nfunction Context() {}\nContext.prototype = {};\n\nvar Script = exports.Script = function NodeScript (code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n};\n\nScript.prototype.runInContext = function (context) {\n if (!(context instanceof Context)) {\n throw new TypeError(\"needs a 'context' argument.\");\n }\n \n var iframe = document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n \n document.body.appendChild(iframe);\n \n var win = iframe.contentWindow;\n var wEval = win.eval, wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n \n forEach(Object_keys(context), function (key) {\n win[key] = context[key];\n });\n forEach(globals, function (key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n \n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n \n forEach(Object_keys(win), function (key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function (key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n \n document.body.removeChild(iframe);\n \n return res;\n};\n\nScript.prototype.runInThisContext = function () {\n return eval(this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function (context) {\n var ctx = Script.createContext(context);\n var res = this.runInContext(ctx);\n\n if (context) {\n forEach(Object_keys(ctx), function (key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nforEach(Object_keys(Script.prototype), function (name) {\n exports[name] = Script[name] = function (code) {\n var s = Script(code);\n return s[name].apply(s, [].slice.call(arguments, 1));\n };\n});\n\nexports.isContext = function (context) {\n return context instanceof Context;\n};\n\nexports.createScript = function (code) {\n return exports.Script(code);\n};\n\nexports.createContext = Script.createContext = function (context) {\n var copy = new Context();\n if(typeof context === 'object') {\n forEach(Object_keys(context), function (key) {\n copy[key] = context[key];\n });\n }\n return copy;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","module.exports = require('./lib/_stream_duplex.js');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\n\n// `ToIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","exports['des-ecb'] = {\n key: 8,\n iv: 0\n}\nexports['des-cbc'] = exports.des = {\n key: 8,\n iv: 8\n}\nexports['des-ede3-cbc'] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports['des-ede3'] = {\n key: 24,\n iv: 0\n}\nexports['des-ede-cbc'] = {\n key: 16,\n iv: 8\n}\nexports['des-ede'] = {\n key: 16,\n iv: 0\n}\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve\n });\n return curve;\n }\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811'\n ]\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34'\n ]\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5'\n ]\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f'\n ]\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650'\n ]\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9'\n ]\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658'\n ]\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3'\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15'\n }\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre\n ]\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\n","var parseKeys = require('parse-asn1')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar crt = require('browserify-rsa')\nvar createHash = require('create-hash')\nvar withPublic = require('./withPublic')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function privateDecrypt (privateKey, enc, reverse) {\n var padding\n if (privateKey.padding) {\n padding = privateKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n\n var key = parseKeys(privateKey)\n var k = key.modulus.byteLength()\n if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) {\n throw new Error('decryption error')\n }\n var msg\n if (reverse) {\n msg = withPublic(new BN(enc), key)\n } else {\n msg = crt(enc, key)\n }\n var zBuffer = Buffer.alloc(k - msg.length)\n msg = Buffer.concat([zBuffer, msg], k)\n if (padding === 4) {\n return oaep(key, msg)\n } else if (padding === 1) {\n return pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n return msg\n } else {\n throw new Error('unknown padding')\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n if (msg[0] !== 0) {\n throw new Error('decryption error')\n }\n var maskedSeed = msg.slice(1, hLen + 1)\n var maskedDb = msg.slice(hLen + 1)\n var seed = xor(maskedSeed, mgf(maskedDb, hLen))\n var db = xor(maskedDb, mgf(seed, k - hLen - 1))\n if (compare(iHash, db.slice(0, hLen))) {\n throw new Error('decryption error')\n }\n var i = hLen\n while (db[i] === 0) {\n i++\n }\n if (db[i++] !== 1) {\n throw new Error('decryption error')\n }\n return db.slice(i)\n}\n\nfunction pkcs1 (key, msg, reverse) {\n var p1 = msg.slice(0, 2)\n var i = 2\n var status = 0\n while (msg[i++] !== 0) {\n if (i >= msg.length) {\n status++\n break\n }\n }\n var ps = msg.slice(2, i - 1)\n\n if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) {\n status++\n }\n if (ps.length < 8) {\n status++\n }\n if (status) {\n throw new Error('decryption error')\n }\n return msg.slice(i)\n}\nfunction compare (a, b) {\n a = Buffer.from(a)\n b = Buffer.from(b)\n var dif = 0\n var len = a.length\n if (a.length !== b.length) {\n dif++\n len = Math.min(a.length, b.length)\n }\n var i = -1\n while (++i < len) {\n dif += (a[i] ^ b[i])\n }\n return dif\n}\n","module.exports = require('./browser/algorithms.json')\n","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\n\nexports.utils = require('./des/utils');\nexports.Cipher = require('./des/cipher');\nexports.DES = require('./des/des');\nexports.CBC = require('./des/cbc');\nexports.EDE = require('./des/ede');\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict'\nvar inherits = require('inherits')\nvar Legacy = require('./legacy')\nvar Base = require('cipher-base')\nvar Buffer = require('safe-buffer').Buffer\nvar md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\n\nvar sha = require('sha.js')\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","'use strict'\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes')\nexports.createHash = exports.Hash = require('create-hash')\nexports.createHmac = exports.Hmac = require('create-hmac')\n\nvar algos = require('browserify-sign/algos')\nvar algoKeys = Object.keys(algos)\nvar hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)\nexports.getHashes = function () {\n return hashes\n}\n\nvar p = require('pbkdf2')\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\n\nvar aes = require('browserify-cipher')\n\nexports.Cipher = aes.Cipher\nexports.createCipher = aes.createCipher\nexports.Cipheriv = aes.Cipheriv\nexports.createCipheriv = aes.createCipheriv\nexports.Decipher = aes.Decipher\nexports.createDecipher = aes.createDecipher\nexports.Decipheriv = aes.Decipheriv\nexports.createDecipheriv = aes.createDecipheriv\nexports.getCiphers = aes.getCiphers\nexports.listCiphers = aes.listCiphers\n\nvar dh = require('diffie-hellman')\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup\nexports.getDiffieHellman = dh.getDiffieHellman\nexports.createDiffieHellman = dh.createDiffieHellman\nexports.DiffieHellman = dh.DiffieHellman\n\nvar sign = require('browserify-sign')\n\nexports.createSign = sign.createSign\nexports.Sign = sign.Sign\nexports.createVerify = sign.createVerify\nexports.Verify = sign.Verify\n\nexports.createECDH = require('create-ecdh')\n\nvar publicEncrypt = require('public-encrypt')\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt\nexports.privateEncrypt = publicEncrypt.privateEncrypt\nexports.publicDecrypt = publicEncrypt.publicDecrypt\nexports.privateDecrypt = publicEncrypt.privateDecrypt\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// ;[\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error([\n// 'sorry, ' + name + ' is not implemented yet',\n// 'we accept pull requests',\n// 'https://github.com/crypto-browserify/crypto-browserify'\n// ].join('\\n'))\n// }\n// })\n\nvar rf = require('randomfill')\n\nexports.randomFill = rf.randomFill\nexports.randomFillSync = rf.randomFillSync\n\nexports.createCredentials = function () {\n throw new Error([\n 'sorry, createCredentials is not implemented yet',\n 'we accept pull requests',\n 'https://github.com/crypto-browserify/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.constants = {\n 'DH_CHECK_P_NOT_SAFE_PRIME': 2,\n 'DH_CHECK_P_NOT_PRIME': 1,\n 'DH_UNABLE_TO_CHECK_GENERATOR': 4,\n 'DH_NOT_SUITABLE_GENERATOR': 8,\n 'NPN_ENABLED': 1,\n 'ALPN_ENABLED': 1,\n 'RSA_PKCS1_PADDING': 1,\n 'RSA_SSLV23_PADDING': 2,\n 'RSA_NO_PADDING': 3,\n 'RSA_PKCS1_OAEP_PADDING': 4,\n 'RSA_X931_PADDING': 5,\n 'RSA_PKCS1_PSS_PADDING': 6,\n 'POINT_CONVERSION_COMPRESSED': 2,\n 'POINT_CONVERSION_UNCOMPRESSED': 4,\n 'POINT_CONVERSION_HYBRID': 6\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var CipherBase = require('cipher-base')\nvar des = require('des.js')\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar Cipher = require('./cipher');\nvar DES = require('./des');\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\n","var Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar sync = require('./sync')\nvar toBuffer = require('./to-buffer')\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n sha: 'SHA-1',\n 'sha-1': 'SHA-1',\n sha1: 'SHA-1',\n sha256: 'SHA-256',\n 'sha-256': 'SHA-256',\n sha384: 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n sha512: 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\n\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n process.nextTick(function () {\n callback(null, out)\n })\n }, function (e) {\n process.nextTick(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n return process.nextTick(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n }\n\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\n}\n","var decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","var asn1 = require('./asn1')\nvar aesid = require('./aesid.json')\nvar fixProc = require('./fixProc')\nvar ciphers = require('browserify-aes')\nvar compat = require('pbkdf2')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = parseKeys\n\nfunction parseKeys (buffer) {\n var password\n if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) {\n password = buffer.passphrase\n buffer = buffer.key\n }\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer)\n }\n\n var stripped = fixProc(buffer, password)\n\n var type = stripped.tag\n var data = stripped.data\n var subtype, ndata\n switch (type) {\n case 'CERTIFICATE':\n ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo\n // falls through\n case 'PUBLIC KEY':\n if (!ndata) {\n ndata = asn1.PublicKey.decode(data, 'der')\n }\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der')\n case '1.2.840.10045.2.1':\n ndata.subjectPrivateKey = ndata.subjectPublicKey\n return {\n type: 'ec',\n data: ndata\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der')\n return {\n type: 'dsa',\n data: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n throw new Error('unknown key type ' + type)\n case 'ENCRYPTED PRIVATE KEY':\n data = asn1.EncryptedPrivateKey.decode(data, 'der')\n data = decrypt(data, password)\n // falls through\n case 'PRIVATE KEY':\n ndata = asn1.PrivateKey.decode(data, 'der')\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der')\n case '1.2.840.10045.2.1':\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der')\n return {\n type: 'dsa',\n params: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n throw new Error('unknown key type ' + type)\n case 'RSA PUBLIC KEY':\n return asn1.RSAPublicKey.decode(data, 'der')\n case 'RSA PRIVATE KEY':\n return asn1.RSAPrivateKey.decode(data, 'der')\n case 'DSA PRIVATE KEY':\n return {\n type: 'dsa',\n params: asn1.DSAPrivateKey.decode(data, 'der')\n }\n case 'EC PRIVATE KEY':\n data = asn1.ECPrivateKey.decode(data, 'der')\n return {\n curve: data.parameters.value,\n privateKey: data.privateKey\n }\n default: throw new Error('unknown key type ' + type)\n }\n}\nparseKeys.signature = asn1.signature\nfunction decrypt (data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt\n var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10)\n var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')]\n var iv = data.algorithm.decrypt.cipher.iv\n var cipherText = data.subjectPrivateKey\n var keylen = parseInt(algo.split('-')[1], 10) / 8\n var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1')\n var cipher = ciphers.createDecipheriv(algo, key, iv)\n var out = []\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n return Buffer.concat(out)\n}\n","module.exports = require('./lib/_stream_writable.js');\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16)\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 }\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n};\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul)\n }\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1)\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1)\n }\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point))\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point))\n }\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate)\n }\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (var i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (var i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","var Buffer = require('safe-buffer').Buffer\nvar xor = require('buffer-xor')\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var inherits = require('inherits');\nvar Buffer = require('buffer').Buffer;\n\nvar asn1 = require('../../asn1');\nvar base = asn1.base;\n\n// Import DER constants\nvar der = asn1.constants.der;\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n};\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n var encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n var header = new Buffer(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n var lenOctets = 1;\n for (var i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n var header = new Buffer(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (var i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n var buf = new Buffer(str.length * 2);\n for (var i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s\\.]+/g);\n for (var i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (var i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n var size = 0;\n for (var i = 0; i < id.length; i++) {\n var ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n var objid = new Buffer(size);\n var offset = objid.length - 1;\n for (var i = id.length - 1; i >= 0; i--) {\n var ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n var str;\n var date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n var numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = new Buffer(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n var size = num.length;\n if (num.length === 0)\n size++;\n\n var out = new Buffer(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n var size = 1;\n for (var i = num; i >= 0x100; i >>= 8)\n size++;\n\n var out = new Array(size);\n for (var i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(new Buffer(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n var state = this._baseState;\n var i;\n if (state['default'] === null)\n return false;\n\n var data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n var res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this._strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n var z = 0;\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n var b;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n b = c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n\n r |= b;\n z |= b;\n }\n\n assert(!(z & 0xf0), 'Invalid character in ' + str);\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n if (this.curve.twisted) {\n // E = a * C\n var e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n var h = this.z.redSqr();\n // J = F - 2 * H\n var j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n var e = c.redAdd(d);\n // H = (c * Z1)^2\n var h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n var j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","var Buffer = require('safe-buffer').Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n","module.exports = {};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821'\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf'\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695'\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9'\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36'\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f'\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999'\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09'\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d'\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088'\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d'\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8'\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a'\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453'\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160'\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0'\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6'\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589'\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17'\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda'\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd'\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2'\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6'\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f'\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01'\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3'\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f'\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7'\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78'\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1'\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150'\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82'\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc'\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b'\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51'\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45'\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120'\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84'\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d'\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d'\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8'\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8'\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac'\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f'\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962'\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907'\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec'\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d'\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414'\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd'\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0'\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811'\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1'\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c'\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73'\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd'\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405'\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589'\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e'\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27'\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1'\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482'\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945'\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573'\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82'\n ]\n ]\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672'\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6'\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da'\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37'\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b'\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81'\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58'\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77'\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a'\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c'\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67'\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402'\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55'\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482'\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82'\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396'\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49'\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf'\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a'\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7'\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933'\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a'\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6'\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37'\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e'\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6'\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476'\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40'\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61'\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683'\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5'\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b'\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417'\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868'\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a'\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6'\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996'\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e'\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d'\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2'\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e'\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437'\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311'\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4'\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575'\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d'\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d'\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629'\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06'\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374'\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee'\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1'\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b'\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661'\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6'\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e'\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d'\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc'\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4'\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c'\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b'\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913'\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154'\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865'\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc'\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224'\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e'\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6'\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511'\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b'\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2'\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c'\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3'\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d'\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700'\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4'\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196'\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4'\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257'\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13'\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096'\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38'\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f'\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448'\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a'\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4'\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437'\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7'\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d'\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a'\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54'\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77'\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517'\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10'\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125'\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e'\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1'\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2'\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423'\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8'\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758'\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375'\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d'\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec'\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0'\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c'\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4'\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f'\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649'\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826'\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5'\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87'\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b'\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc'\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c'\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f'\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a'\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46'\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f'\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03'\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08'\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8'\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373'\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3'\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8'\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1'\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9'\n ]\n ]\n }\n};\n","// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js\n// Fedor, you are amazing.\n'use strict'\n\nvar asn1 = require('asn1.js')\n\nexports.certificate = require('./certificate')\n\nvar RSAPrivateKey = asn1.define('RSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('modulus').int(),\n this.key('publicExponent').int(),\n this.key('privateExponent').int(),\n this.key('prime1').int(),\n this.key('prime2').int(),\n this.key('exponent1').int(),\n this.key('exponent2').int(),\n this.key('coefficient').int()\n )\n})\nexports.RSAPrivateKey = RSAPrivateKey\n\nvar RSAPublicKey = asn1.define('RSAPublicKey', function () {\n this.seq().obj(\n this.key('modulus').int(),\n this.key('publicExponent').int()\n )\n})\nexports.RSAPublicKey = RSAPublicKey\n\nvar PublicKey = asn1.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\nexports.PublicKey = PublicKey\n\nvar AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('none').null_().optional(),\n this.key('curve').objid().optional(),\n this.key('params').seq().obj(\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int()\n ).optional()\n )\n})\n\nvar PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPrivateKey').octstr()\n )\n})\nexports.PrivateKey = PrivateKeyInfo\nvar EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').seq().obj(\n this.key('id').objid(),\n this.key('decrypt').seq().obj(\n this.key('kde').seq().obj(\n this.key('id').objid(),\n this.key('kdeparams').seq().obj(\n this.key('salt').octstr(),\n this.key('iters').int()\n )\n ),\n this.key('cipher').seq().obj(\n this.key('algo').objid(),\n this.key('iv').octstr()\n )\n )\n ),\n this.key('subjectPrivateKey').octstr()\n )\n})\n\nexports.EncryptedPrivateKey = EncryptedPrivateKeyInfo\n\nvar DSAPrivateKey = asn1.define('DSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int(),\n this.key('pub_key').int(),\n this.key('priv_key').int()\n )\n})\nexports.DSAPrivateKey = DSAPrivateKey\n\nexports.DSAparam = asn1.define('DSAparam', function () {\n this.int()\n})\n\nvar ECPrivateKey = asn1.define('ECPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('privateKey').octstr(),\n this.key('parameters').optional().explicit(0).use(ECParameters),\n this.key('publicKey').optional().explicit(1).bitstr()\n )\n})\nexports.ECPrivateKey = ECPrivateKey\n\nvar ECParameters = asn1.define('ECParameters', function () {\n this.choice({\n namedCurve: this.objid()\n })\n})\n\nexports.signature = asn1.define('signature', function () {\n this.seq().obj(\n this.key('r').int(),\n this.key('s').int()\n )\n})\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","var base = exports;\n\nbase.Reporter = require('./reporter').Reporter;\nbase.DecoderBuffer = require('./buffer').DecoderBuffer;\nbase.EncoderBuffer = require('./buffer').EncoderBuffer;\nbase.Node = require('./node');\n","var AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar MODES = require('./modes')\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = require('events').EventEmitter;\n","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength)\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r\\+\\/\\=]+)[\\n\\r]+/m\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r\\+\\/\\=]+)-----END \\1-----$/m\nvar evp = require('evp_bytestokey')\nvar ciphers = require('browserify-aes')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = function (okey, password) {\n var key = okey.toString()\n var match = key.match(findProc)\n var decrypted\n if (!match) {\n var match2 = key.match(fullRegex)\n decrypted = new Buffer(match2[2].replace(/[\\r\\n]/g, ''), 'base64')\n } else {\n var suite = 'aes' + match[1]\n var iv = Buffer.from(match[2], 'hex')\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64')\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key\n var out = []\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n decrypted = Buffer.concat(out)\n }\n var tag = key.match(startRegex)[1]\n return {\n tag: tag,\n data: decrypted\n }\n}\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var xor = require('buffer-xor')\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import sqliteParser from 'sqlite-parser'\n\nexport default {\n * generateChunks (arr, size) {\n const count = Math.ceil(arr.length / size)\n\n for (let i = 0; i <= count - 1; i++) {\n const start = size * i\n const end = start + size\n yield arr.slice(start, end)\n }\n },\n\n getInsertStmt (tabName, columns) {\n const colList = `\"${columns.join('\", \"')}\"`\n const params = columns.map(() => '?').join(', ')\n return `INSERT INTO \"${tabName}\" (${colList}) VALUES (${params});`\n },\n\n getCreateStatement (tabName, columns, values) {\n let result = `CREATE table \"${tabName}\"(`\n columns.forEach((col, index) => {\n // Get the first row of values to determine types\n const value = values[0][index]\n let type = ''\n switch (typeof value) {\n case 'number': {\n type = 'REAL'\n break\n }\n case 'boolean': {\n type = 'INTEGER'\n break\n }\n case 'string': {\n type = 'TEXT'\n break\n }\n default: type = 'TEXT'\n }\n result += `\"${col}\" ${type}, `\n })\n result = result.replace(/,\\s$/, ');')\n return result\n },\n\n getAst (sql) {\n // There is a bug is sqlite-parser\n // It throws an error if tokenizer has an arguments:\n // https://github.com/codeschool/sqlite-parser/issues/59\n const fixedSql = sql\n .replace(/(tokenize=[^,]+)\"tokenchars=.+?\"/, '$1')\n .replace(/(tokenize=[^,]+)\"remove_diacritics=.+?\"/, '$1')\n .replace(/(tokenize=[^,]+)\"separators=.+?\"/, '$1')\n .replace(/tokenize=.+?(,|\\))/, 'tokenize=unicode61$1')\n\n return sqliteParser(fixedSql)\n },\n\n /*\n * Return an array of columns with name and type. E.g.:\n * [\n * { name: 'id', type: 'INTEGER' },\n * { name: 'title', type: 'NVARCHAR(30)' },\n * ]\n */\n getColumns (sql) {\n const columns = []\n const ast = this.getAst(sql)\n\n const columnDefinition = ast.statement[0].format === 'table'\n ? ast.statement[0].definition\n : ast.statement[0].result.args.expression // virtual table\n\n columnDefinition.forEach(item => {\n if (item.variant === 'column' && ['identifier', 'definition'].includes(item.type)) {\n let type = item.datatype ? item.datatype.variant : 'N/A'\n if (item.datatype && item.datatype.args) {\n type = type + '(' + item.datatype.args.expression[0].value\n if (item.datatype.args.expression.length === 2) {\n type = type + ', ' + item.datatype.args.expression[1].value\n }\n type = type + ')'\n }\n columns.push({ name: item.name, type: type })\n }\n })\n return columns\n }\n}\n","import initSqlJs from 'sql.js/dist/sql-wasm.js'\nimport dbUtils from './_statements'\n\nlet SQL = null\nconst sqlModuleReady = initSqlJs().then(sqlModule => { SQL = sqlModule })\n\nexport default class Sql {\n constructor () {\n this.db = null\n }\n\n static build () {\n return sqlModuleReady\n .then(() => {\n return new Sql()\n })\n }\n\n createDb (buffer) {\n if (this.db != null) this.db.close()\n this.db = new SQL.Database(buffer)\n return this.db\n }\n\n open (buffer) {\n this.createDb(buffer && new Uint8Array(buffer))\n return {\n ready: true\n }\n }\n\n exec (sql, params) {\n if (this.db === null) {\n this.createDb()\n }\n if (!sql) {\n throw new Error('exec: Missing query string')\n }\n return this.db.exec(sql, params)\n }\n\n import (tabName, columns, values, progressCounterId, progressCallback, chunkSize = 1500) {\n if (this.db === null) {\n this.createDb()\n }\n this.db.exec(dbUtils.getCreateStatement(tabName, columns, values))\n const chunks = dbUtils.generateChunks(values, chunkSize)\n const chunksAmount = Math.ceil(values.length / chunkSize)\n let count = 0\n const insertStr = dbUtils.getInsertStmt(tabName, columns)\n const insertStmt = this.db.prepare(insertStr)\n\n progressCallback({ progress: 0, id: progressCounterId })\n for (const chunk of chunks) {\n this.db.exec('BEGIN')\n for (const row of chunk) {\n insertStmt.run(row)\n }\n this.db.exec('COMMIT')\n count++\n progressCallback({ progress: 100 * (count / chunksAmount), id: progressCounterId })\n }\n\n return {\n finish: true\n }\n }\n\n export () {\n return this.db.export()\n }\n\n close () {\n if (this.db) {\n this.db.close()\n }\n return {\n finished: true\n }\n }\n}\n","import registerPromiseWorker from 'promise-worker/register'\nimport Sql from './_sql'\n\nconst sqlReady = Sql.build()\n\nfunction processMsg (sql) {\n const data = this\n switch (data && data.action) {\n case 'open':\n return sql.open(data.buffer)\n case 'reopen':\n return sql.open(sql.export())\n case 'exec':\n return sql.exec(data.sql, data.params)\n case 'import':\n return sql.import(\n data.tabName,\n data.columns,\n data.values,\n data.progressCounterId,\n postMessage\n )\n case 'export':\n return sql.export()\n case 'close':\n return sql.close()\n default:\n throw new Error('Invalid action : ' + (data && data.action))\n }\n}\n\nfunction onError (error) {\n return {\n error: error.message\n }\n}\n\nregisterPromiseWorker(data => {\n return sqlReady\n .then(processMsg.bind(data))\n .catch(onError)\n})\n","var BN = require('bn.js')\nvar Buffer = require('safe-buffer').Buffer\n\nfunction withPublic (paddedMsg, key) {\n return Buffer.from(paddedMsg\n .toRed(BN.mont(key.modulus))\n .redPow(new BN(key.publicExponent))\n .fromRed()\n .toArray())\n}\n\nmodule.exports = withPublic\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","var BN = require('bn.js');\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = require('./generatePrime');\nvar randomBytes = require('randombytes');\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js\n// thanks to @Rantanen\n\n'use strict'\n\nvar asn = require('asn1.js')\n\nvar Time = asn.define('Time', function () {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n })\n})\n\nvar AttributeTypeValue = asn.define('AttributeTypeValue', function () {\n this.seq().obj(\n this.key('type').objid(),\n this.key('value').any()\n )\n})\n\nvar AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('parameters').optional(),\n this.key('curve').objid().optional()\n )\n})\n\nvar SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\n\nvar RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () {\n this.setof(AttributeTypeValue)\n})\n\nvar RDNSequence = asn.define('RDNSequence', function () {\n this.seqof(RelativeDistinguishedName)\n})\n\nvar Name = asn.define('Name', function () {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n })\n})\n\nvar Validity = asn.define('Validity', function () {\n this.seq().obj(\n this.key('notBefore').use(Time),\n this.key('notAfter').use(Time)\n )\n})\n\nvar Extension = asn.define('Extension', function () {\n this.seq().obj(\n this.key('extnID').objid(),\n this.key('critical').bool().def(false),\n this.key('extnValue').octstr()\n )\n})\n\nvar TBSCertificate = asn.define('TBSCertificate', function () {\n this.seq().obj(\n this.key('version').explicit(0).int().optional(),\n this.key('serialNumber').int(),\n this.key('signature').use(AlgorithmIdentifier),\n this.key('issuer').use(Name),\n this.key('validity').use(Validity),\n this.key('subject').use(Name),\n this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),\n this.key('issuerUniqueID').implicit(1).bitstr().optional(),\n this.key('subjectUniqueID').implicit(2).bitstr().optional(),\n this.key('extensions').explicit(3).seqof(Extension).optional()\n )\n})\n\nvar X509Certificate = asn.define('X509Certificate', function () {\n this.seq().obj(\n this.key('tbsCertificate').use(TBSCertificate),\n this.key('signatureAlgorithm').use(AlgorithmIdentifier),\n this.key('signatureValue').bitstr()\n )\n})\n\nmodule.exports = X509Certificate\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","module.exports = require('events').EventEmitter;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","'use strict';\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new NativeArrayBuffer(); // eslint-disable-line no-new\n new NativeArrayBuffer(1.5); // eslint-disable-line no-new\n new NativeArrayBuffer(NaN); // eslint-disable-line no-new\n return NativeArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var nativeSetInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","var inherits = require('inherits');\nvar Reporter = require('../base').Reporter;\nvar Buffer = require('buffer').Buffer;\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n var res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n}\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n var res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n}\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n}\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!(item instanceof EncoderBuffer))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = new Buffer(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n","/*!\n * sqlite-parser - v1.0.1\n * @copyright 2015-2017 Code School (http://codeschool.com)\n * @author Nick Wronski \n */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.sqliteParser = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o0){for(i=1,j=1;i0;},function(d,e){return{'args':Object.assign(e,d)};},function(s){return{'filter':keyNode(s)};},peg$otherExpectation(\"Error Message\"),function(m){return m;},peg$otherExpectation(\"Statement\"),function(m,s){return Object.assign(s,m);},peg$otherExpectation(\"QUERY PLAN\"),function(e,q){return{'explain':isOkay(e)};},peg$otherExpectation(\"QUERY PLAN Keyword\"),function(q,p){return foldStringKey([q,p]);},peg$otherExpectation(\"END Transaction Statement\"),function(s,t){return{'type':'statement','variant':'transaction','action':'commit'};},peg$otherExpectation(\"BEGIN Transaction Statement\"),function(s,m,t,n){return Object.assign({'type':'statement','variant':'transaction','action':'begin'},m,n);},function(t){return t;},function(m){return{'defer':keyNode(m)};},peg$otherExpectation(\"ROLLBACK Statement\"),function(s,n){return Object.assign({'type':'statement','variant':'transaction','action':'rollback'},n);},peg$otherExpectation(\"TO Clause\"),function(n){return{'savepoint':n};},function(s){return keyNode(s);},peg$otherExpectation(\"SAVEPOINT Statement\"),function(s,n){return{'type':'statement','variant':s,'target':n};},peg$otherExpectation(\"RELEASE Statement\"),function(s,a,n){return{'type':'statement','variant':keyNode(s),'target':n};},peg$otherExpectation(\"ALTER TABLE Statement\"),function(s,n,e){return Object.assign({'type':'statement','variant':keyNode(s),'target':n},e);},peg$otherExpectation(\"ALTER TABLE Keyword\"),function(a,t){return foldStringKey([a,t]);},peg$otherExpectation(\"RENAME TO Keyword\"),function(s,n){return{'action':keyNode(s),'name':n};},peg$otherExpectation(\"ADD COLUMN Keyword\"),function(s,d){return{'action':keyNode(s),'definition':d};},function(w,s){return Object.assign(s,w);},peg$otherExpectation(\"WITH Clause\"),function(s,v,t){var recursive={'variant':isOkay(v)?'recursive':'common'};if(isArrayOkay(t)){t=t.map(function(elem){return Object.assign(elem,recursive);});}return{'with':t};},function(f,r){return flattenAll([f,r]);},peg$otherExpectation(\"Common Table Expression\"),function(t,s){return Object.assign({'type':'expression','format':'table','variant':'common','target':t},s);},function(s){return{'expression':s};},function(w,s){return Object.assign(s,w);},peg$otherExpectation(\"ATTACH Statement\"),function(a,b,e,n){return{'type':'statement','variant':keyNode(a),'target':n,'attach':e};},peg$otherExpectation(\"DETACH Statement\"),function(d,b,n){return{'type':'statement','variant':keyNode(d),'target':n};},peg$otherExpectation(\"VACUUM Statement\"),function(v,t){return Object.assign({'type':'statement','variant':'vacuum'},t);},function(t){return{'target':t};},peg$otherExpectation(\"ANALYZE Statement\"),function(s,a){return Object.assign({'type':'statement','variant':keyNode(s)},a);},function(n){return{'target':n['name']};},peg$otherExpectation(\"REINDEX Statement\"),function(a){return{'target':a['name']};},peg$otherExpectation(\"PRAGMA Statement\"),function(s,n,v){return{'type':'statement','variant':keyNode(s),'target':n,'args':{'type':'expression','variant':'list','expression':v}};},function(v){return v;},function(v){return /^(yes|no|on|off|false|true|0|1)$/i.test(v);},function(v){return{'type':'literal','variant':'boolean','normalized':/^(yes|on|true|1)$/i.test(v)?'1':'0','value':v};},function(n){return keyNode(n);},function(n){return{'type':'identifier','variant':'name','name':n};},peg$otherExpectation(\"SELECT Statement\"),function(s,o,l){return Object.assign(s,o,l);},peg$otherExpectation(\"ORDER BY Clause\"),function(d){return{'order':d['result']};},peg$otherExpectation(\"LIMIT Clause\"),function(s,e,d){return{'limit':Object.assign({'type':'expression','variant':'limit','start':e},d)};},peg$otherExpectation(\"OFFSET Clause\"),function(o,e){return{'offset':e};},function(s,u){if(isArrayOkay(u)){return{'type':'statement','variant':'compound','statement':s,'compound':u};}else{return s;}},peg$otherExpectation(\"Union Operation\"),function(c,s){return{'type':'compound','variant':c,'statement':s};},function(s,f,w,g){return Object.assign({'type':'statement','variant':'select'},s,f,w,g);},peg$otherExpectation(\"SELECT Results Clause\"),function(d,t){return Object.assign({'result':t},d);},peg$otherExpectation(\"SELECT Results Modifier\"),function(s){return{'distinct':true};},function(s){return{};},peg$otherExpectation(\"FROM Clause\"),function(f,s){return{'from':s};},peg$otherExpectation(\"WHERE Clause\"),function(f,e){return{'where':makeArray(e)};},peg$otherExpectation(\"GROUP BY Clause\"),function(f,e,h){return Object.assign({'group':e},h);},peg$otherExpectation(\"HAVING Clause\"),function(f,e){return{'having':e};},function(q,s){return{'type':'identifier','variant':'star','name':foldStringWord([q,s])};},function(n,s){return foldStringWord([n,s]);},function(e,a){return Object.assign(e,a);},function(f,t){if(isArrayOkay(t)){return{'type':'map','variant':'join','source':f,'map':t};}return f;},function(cl,c){return Object.assign(cl,c);},peg$otherExpectation(\"CROSS JOIN Operation\"),function(n){return{'type':'join','variant':'cross join','source':n};},peg$otherExpectation(\"JOIN Operation\"),function(o,n){return{'type':'join','variant':keyNode(o),'source':n};},function(n,l,a){return Object.assign({'type':'function','variant':'table','name':n,'args':l},a);},peg$otherExpectation(\"Qualified Table\"),function(d,i){return Object.assign(d,i);},peg$otherExpectation(\"Qualified Table Identifier\"),function(n,a){return Object.assign(n,a);},peg$otherExpectation(\"Qualfied Table Index\"),function(s,n){return{'index':n};},function(n,i){return{'index':foldStringKey([n,i])};},peg$otherExpectation(\"SELECT Source\"),function(l,a){return Object.assign(l,a);},peg$otherExpectation(\"Subquery\"),function(s,a){return Object.assign(s,a);},peg$otherExpectation(\"Alias\"),function(a,n){return{'alias':n};},peg$otherExpectation(\"JOIN Operator\"),function(n,t,j){return foldStringKey([n,t,j]);},function(t,o){return foldStringKey([t,o]);},function(t){return keyNode(t);},peg$otherExpectation(\"JOIN Constraint\"),function(c){return{'constraint':Object.assign({'type':'constraint','variant':'join'},c)};},peg$otherExpectation(\"Join ON Clause\"),function(s,e){return{'format':keyNode(s),'on':e};},peg$otherExpectation(\"Join USING Clause\"),function(s,e){return{'format':keyNode(s),'using':e};},peg$otherExpectation(\"VALUES Clause\"),function(s,l){return{'type':'statement','variant':'select','result':l};},function(f,b){return{'result':flattenAll([f,b])};},function(i){return i;},peg$otherExpectation(\"Ordering Expression\"),function(e,d){if(isOkay(d)){return Object.assign({'type':'expression','variant':'order','expression':e},d);}return e;},peg$otherExpectation(\"Star\"),peg$otherExpectation(\"Fallback Type\"),peg$otherExpectation(\"INSERT Statement\"),function(k,t){return Object.assign({'type':'statement','variant':'insert'},k,t);},peg$otherExpectation(\"INSERT Keyword\"),function(a,m){return Object.assign({'action':keyNode(a)},m);},peg$otherExpectation(\"REPLACE Keyword\"),function(a){return{'action':keyNode(a)};},peg$otherExpectation(\"INSERT OR Modifier\"),function(s,m){return{'or':keyNode(m)};},function(i,r){return Object.assign({'into':i},r);},peg$otherExpectation(\"INTO Clause\"),function(s,t){return t;},peg$otherExpectation(\"INTO Keyword\"),function(r){return{'result':r};},peg$otherExpectation(\"Column List\"),function(f,b){return{'columns':flattenAll([f,b])};},function(c){return c;},peg$otherExpectation(\"Column Name\"),function(n){return{'type':'identifier','variant':'column','name':n};},function(s,r){return r;},peg$otherExpectation(\"VALUES Keyword\"),function(f,b){return flattenAll([f,b]);},peg$otherExpectation(\"Wrapped Expression List\"),function(e){return e;},peg$otherExpectation(\"DEFAULT VALUES Clause\"),function(d,v){return{'type':'values','variant':'default'};},peg$otherExpectation(\"Compound Operator\"),peg$otherExpectation(\"UNION Operator\"),function(s,a){return foldStringKey([s,a]);},function(a){return a;},peg$otherExpectation(\"UPDATE Statement\"),function(s,f,t,u,w,o,l){return Object.assign({'type':'statement','variant':s,'into':t},f,u,w,o,l);},peg$otherExpectation(\"UPDATE Keyword\"),peg$otherExpectation(\"UPDATE OR Modifier\"),function(t){return{'or':keyNode(t)};},peg$otherExpectation(\"SET Clause\"),function(c){return{'set':c};},peg$otherExpectation(\"Column Assignment\"),function(f,e){return{'type':'assignment','target':f,'value':e};},peg$otherExpectation(\"DELETE Statement\"),function(s,t,w,o,l){return Object.assign({'type':'statement','variant':s,'from':t},w,o,l);},peg$otherExpectation(\"DELETE Keyword\"),peg$otherExpectation(\"CREATE Statement\"),peg$otherExpectation(\"CREATE TABLE Statement\"),function(s,ne,id,r){return Object.assign({'type':'statement','name':id},s,r,ne);},function(s,tmp,t){return Object.assign({'variant':s,'format':keyNode(t)},tmp);},function(t){return{'temporary':isOkay(t)};},peg$otherExpectation(\"IF NOT EXISTS Modifier\"),function(i,n,e){return{'condition':makeArray({'type':'condition','variant':keyNode(i),'condition':{'type':'expression','variant':keyNode(e),'operator':foldStringKey([n,e])}})};},peg$otherExpectation(\"Table Definition\"),function(s,t,r){return Object.assign({'definition':flattenAll([s,t])},r);},function(r,w){return{'optimization':[{'type':'optimization','value':foldStringKey([r,w])}]};},function(f){return f;},peg$otherExpectation(\"Column Definition\"),function(n,t,c){return Object.assign({'type':'definition','variant':'column','name':n,'definition':isOkay(c)?c:[]},t);},peg$otherExpectation(\"Column Datatype\"),function(t){return{'datatype':t};},peg$otherExpectation(\"Column Constraint\"),function(n,c,ln){return Object.assign(c,n);},function(cl){return cl[cl.length-1];},peg$otherExpectation(\"CONSTRAINT Name\"),function(n){return{'name':n};},peg$otherExpectation(\"FOREIGN KEY Column Constraint\"),function(f){return Object.assign({'variant':'foreign key'},f);},peg$otherExpectation(\"PRIMARY KEY Column Constraint\"),function(p,d,c,a){return Object.assign(p,c,d,a);},peg$otherExpectation(\"PRIMARY KEY Keyword\"),function(s,k){return{'type':'constraint','variant':foldStringKey([s,k])};},peg$otherExpectation(\"AUTOINCREMENT Keyword\"),function(a){return{'autoIncrement':true};},function(s,c){return Object.assign({'type':'constraint','variant':s},c);},peg$otherExpectation(\"UNIQUE Column Constraint\"),peg$otherExpectation(\"NULL Column Constraint\"),function(n,l){return foldStringKey([n,l]);},peg$otherExpectation(\"CHECK Column Constraint\"),peg$otherExpectation(\"DEFAULT Column Constraint\"),function(s,v){return{'type':'constraint','variant':keyNode(s),'value':v};},peg$otherExpectation(\"COLLATE Column Constraint\"),function(c){return{'type':'constraint','variant':'collate','collate':c};},peg$otherExpectation(\"Table Constraint\"),function(n,c,nl){return Object.assign({'type':'definition','variant':'constraint'},c,n);},peg$otherExpectation(\"CHECK Table Constraint\"),function(c){return{'definition':makeArray(c)};},peg$otherExpectation(\"PRIMARY KEY Table Constraint\"),function(k,c,t){return{'definition':makeArray(Object.assign(k,t,c[1])),'columns':c[0]};},function(s){return{'type':'constraint','variant':keyNode(s)};},function(p,k){return foldStringKey([p,k]);},peg$otherExpectation(\"UNIQUE Keyword\"),function(u){return keyNode(u);},function(f,b){return[f].concat(b);},function(c){return c.map(function(_ref){var _ref2=_slicedToArray(_ref,1);var res=_ref2[0];return res;});},function(c){var auto=c.find(function(_ref3){var _ref4=_slicedToArray(_ref3,2);var res=_ref4[0];var a=_ref4[1];return isOkay(a);});return[c.map(function(_ref5){var _ref6=_slicedToArray(_ref5,2);var res=_ref6[0];var a=_ref6[1];return res;}),auto?auto[1]:null];},peg$otherExpectation(\"Indexed Column\"),function(e,d,a){var res=e;if(isOkay(d)){res=Object.assign({'type':'expression','variant':'order','expression':e},d);}return[res,a];},peg$otherExpectation(\"Collation\"),function(c){return{'collate':makeArray(c)};},peg$otherExpectation(\"Column Direction\"),function(t){return{'direction':keyNode(t)};},function(s,t){return{'conflict':keyNode(t)};},peg$otherExpectation(\"ON CONFLICT Keyword\"),function(o,c){return foldStringKey([o,c]);},function(k,c){return{'type':'constraint','variant':keyNode(k),'expression':c};},peg$otherExpectation(\"FOREIGN KEY Table Constraint\"),function(k,l,c){return Object.assign({'definition':makeArray(Object.assign(k,c))},l);},peg$otherExpectation(\"FOREIGN KEY Keyword\"),function(f,k){return{'type':'constraint','variant':foldStringKey([f,k])};},function(r,a,d){return Object.assign({'type':'constraint'},r,a,d);},peg$otherExpectation(\"REFERENCES Clause\"),function(s,t){return{'references':t};},function(f,b){return{'action':flattenAll([f,b])};},peg$otherExpectation(\"FOREIGN KEY Action Clause\"),function(m,a,n){return{'type':'action','variant':keyNode(m),'action':keyNode(n)};},peg$otherExpectation(\"FOREIGN KEY Action\"),function(s,v){return foldStringKey([s,v]);},function(c){return keyNode(c);},function(n,a){return foldStringKey([n,a]);},function(m,n){return{'type':'action','variant':keyNode(m),'action':n};},peg$otherExpectation(\"DEFERRABLE Clause\"),function(n,d,i){return{'defer':foldStringKey([n,d,i])};},function(i,d){return foldStringKey([i,d]);},function(s){return{'definition':makeArray(s)};},peg$otherExpectation(\"CREATE INDEX Statement\"),function(s,ne,n,o,w){return Object.assign({'type':'statement','target':n,'on':o},s,ne,w);},function(s,u,i){return Object.assign({'variant':keyNode(s),'format':keyNode(i)},u);},function(u){return{'unique':true};},peg$otherExpectation(\"ON Clause\"),function(o,t,c){return{'type':'identifier','variant':'expression','format':'table','name':t['name'],'columns':c};},peg$otherExpectation(\"CREATE TRIGGER Statement\"),function(s,ne,n,cd,o,me,wh,a){return Object.assign({'type':'statement','target':n,'on':o,'event':cd,'by':isOkay(me)?me:'row','action':makeArray(a)},s,ne,wh);},function(s,tmp,t){return Object.assign({'variant':keyNode(s),'format':keyNode(t)},tmp);},peg$otherExpectation(\"Conditional Clause\"),function(m,d){return Object.assign({'type':'event'},m,d);},function(m){return{'occurs':keyNode(m)};},function(i,o){return foldStringKey([i,o]);},peg$otherExpectation(\"Conditional Action\"),function(o){return{'event':keyNode(o)};},function(s,f){return{'event':keyNode(s),'of':f};},function(s,c){return c;},\"statement\",peg$literalExpectation(\"STATEMENT\",true),function(f,e,r){return keyNode(r);},function(w,e){return{'when':e};},peg$otherExpectation(\"Actions Clause\"),function(s,a,e){return a;},function(l){return l;},peg$otherExpectation(\"CREATE VIEW Statement\"),function(s,ne,n,r){return Object.assign({'type':'statement','target':n,'result':r},s,ne);},function(n,a){return Object.assign({'type':'identifier','variant':'expression','format':'view','name':n['name'],'columns':[]},a);},function(s,tmp,v){return Object.assign({'variant':keyNode(s),'format':keyNode(v)},tmp);},peg$otherExpectation(\"CREATE VIRTUAL TABLE Statement\"),function(s,ne,n,m){return Object.assign({'type':'statement','target':n,'result':m},s,ne);},function(s,v,t){return{'variant':keyNode(s),'format':keyNode(v)};},function(m,a){return Object.assign({'type':'module','variant':'virtual','name':m},a);},peg$otherExpectation(\"Module Arguments\"),function(l){return{'args':{'type':'expression','variant':'list','expression':isOkay(l)?l:[]}};},function(f,b){return flattenAll([f,b]).filter(function(arg){return isOkay(arg);});},function(a){return a;},peg$otherExpectation(\"DROP Statement\"),function(s,q){return Object.assign({'type':'statement','target':Object.assign(q,{'variant':s['format']})},s);},peg$otherExpectation(\"DROP Keyword\"),function(s,t,i){return Object.assign({'variant':keyNode(s),'format':t,'condition':[]},i);},peg$otherExpectation(\"DROP Type\"),peg$otherExpectation(\"IF EXISTS Keyword\"),function(i,e){return{'condition':[{'type':'condition','variant':keyNode(i),'condition':{'type':'expression','variant':keyNode(e),'operator':keyNode(e)}}]};},peg$otherExpectation(\"Or\"),peg$otherExpectation(\"Add\"),peg$otherExpectation(\"Subtract\"),peg$otherExpectation(\"Multiply\"),peg$otherExpectation(\"Divide\"),peg$otherExpectation(\"Modulo\"),peg$otherExpectation(\"Shift Left\"),peg$otherExpectation(\"Shift Right\"),peg$otherExpectation(\"Logical AND\"),peg$otherExpectation(\"Logical OR\"),peg$otherExpectation(\"Less Than\"),peg$otherExpectation(\"Greater Than\"),peg$otherExpectation(\"Less Than Or Equal\"),peg$otherExpectation(\"Greater Than Or Equal\"),peg$otherExpectation(\"Equal\"),peg$otherExpectation(\"Not Equal\"),peg$otherExpectation(\"IS\"),function(i,n){return foldStringKey([i,n]);},peg$otherExpectation(\"Identifier\"),peg$otherExpectation(\"Database Identifier\"),function(n){return{'type':'identifier','variant':'database','name':n};},peg$otherExpectation(\"Function Identifier\"),function(d,n){return{'type':'identifier','variant':'function','name':foldStringWord([d,n])};},peg$otherExpectation(\"Table Identifier\"),function(d,n){return{'type':'identifier','variant':'table','name':foldStringWord([d,n])};},function(n,d){return foldStringWord([n,d]);},peg$otherExpectation(\"Column Identifier\"),function(q,n){return{'type':'identifier','variant':'column','name':foldStringWord([q,n])};},function(){return'';},function(d,t){return foldStringWord([d,t]);},peg$otherExpectation(\"Collation Identifier\"),function(n){return{'type':'identifier','variant':'collation','name':n};},peg$otherExpectation(\"Savepoint Identifier\"),function(n){return{'type':'identifier','variant':'savepoint','name':n};},peg$otherExpectation(\"Index Identifier\"),function(d,n){return{'type':'identifier','variant':'index','name':foldStringWord([d,n])};},peg$otherExpectation(\"Trigger Identifier\"),function(d,n){return{'type':'identifier','variant':'trigger','name':foldStringWord([d,n])};},peg$otherExpectation(\"View Identifier\"),function(d,n){return{'type':'identifier','variant':'view','name':foldStringWord([d,n])};},peg$otherExpectation(\"Pragma Identifier\"),function(d,n){return{'type':'identifier','variant':'pragma','name':foldStringWord([d,n])};},peg$otherExpectation(\"CTE Identifier\"),function(d){return d;},function(n,a){return Object.assign({'type':'identifier','variant':'expression','format':'table','name':n['name'],'columns':[]},a);},peg$otherExpectation(\"Table Constraint Identifier\"),function(n){return{'type':'identifier','variant':'constraint','format':'table','name':n};},peg$otherExpectation(\"Column Constraint Identifier\"),function(n){return{'type':'identifier','variant':'constraint','format':'column','name':n};},peg$otherExpectation(\"Datatype Name\"),function(t){return[t,'text'];},function(t){return[t,'real'];},function(t){return[t,'numeric'];},function(t){return[t,'integer'];},function(t){return[t,'none'];},peg$otherExpectation(\"TEXT Datatype Name\"),\"n\",peg$literalExpectation(\"N\",true),\"var\",peg$literalExpectation(\"VAR\",true),\"char\",peg$literalExpectation(\"CHAR\",true),\"tiny\",peg$literalExpectation(\"TINY\",true),\"medium\",peg$literalExpectation(\"MEDIUM\",true),\"long\",peg$literalExpectation(\"LONG\",true),\"text\",peg$literalExpectation(\"TEXT\",true),\"clob\",peg$literalExpectation(\"CLOB\",true),peg$otherExpectation(\"REAL Datatype Name\"),\"float\",peg$literalExpectation(\"FLOAT\",true),\"real\",peg$literalExpectation(\"REAL\",true),peg$otherExpectation(\"DOUBLE Datatype Name\"),\"double\",peg$literalExpectation(\"DOUBLE\",true),\"precision\",peg$literalExpectation(\"PRECISION\",true),function(d,p){return foldStringWord([d,p]);},peg$otherExpectation(\"NUMERIC Datatype Name\"),\"numeric\",peg$literalExpectation(\"NUMERIC\",true),\"decimal\",peg$literalExpectation(\"DECIMAL\",true),\"boolean\",peg$literalExpectation(\"BOOLEAN\",true),\"date\",peg$literalExpectation(\"DATE\",true),\"time\",peg$literalExpectation(\"TIME\",true),\"stamp\",peg$literalExpectation(\"STAMP\",true),\"string\",peg$literalExpectation(\"STRING\",true),peg$otherExpectation(\"INTEGER Datatype Name\"),\"int\",peg$literalExpectation(\"INT\",true),\"2\",peg$literalExpectation(\"2\",false),\"4\",peg$literalExpectation(\"4\",false),\"8\",peg$literalExpectation(\"8\",false),\"eger\",peg$literalExpectation(\"EGER\",true),\"big\",peg$literalExpectation(\"BIG\",true),\"small\",peg$literalExpectation(\"SMALL\",true),\"floating\",peg$literalExpectation(\"FLOATING\",true),\"point\",peg$literalExpectation(\"POINT\",true),function(f,p){return foldStringWord([f,p]);},peg$otherExpectation(\"BLOB Datatype Name\"),\"blob\",peg$literalExpectation(\"BLOB\",true),/^[a-z0-9$_]/i,peg$classExpectation([[\"a\",\"z\"],[\"0\",\"9\"],\"$\",\"_\"],false,true),\"\\\\u\",peg$literalExpectation(\"\\\\u\",false),/^[a-f0-9]/i,peg$classExpectation([[\"a\",\"f\"],[\"0\",\"9\"]],false,true),function(u,s){return foldStringWord([u,s]).toLowerCase();},function(n){return keyNode(n);},peg$anyExpectation(),function(n){return textNode(n);},/^[ \\t]/,peg$classExpectation([\" \",\"\\t\"],false,false),\"\\\"\",peg$literalExpectation(\"\\\"\",false),\"\\\"\\\"\",peg$literalExpectation(\"\\\"\\\"\",false),/^[^\"]/,peg$classExpectation([\"\\\"\"],true,false),function(n){return unescape(n,'\"');},\"'\",peg$literalExpectation(\"'\",false),function(n){return unescape(n,\"'\");},\"`\",peg$literalExpectation(\"`\",false),\"``\",peg$literalExpectation(\"``\",false),/^[^`]/,peg$classExpectation([\"`\"],true,false),function(n){return unescape(n,'`');},peg$otherExpectation(\"Open Bracket\"),\"[\",peg$literalExpectation(\"[\",false),peg$otherExpectation(\"Close Bracket\"),\"]\",peg$literalExpectation(\"]\",false),peg$otherExpectation(\"Open Parenthesis\"),\"(\",peg$literalExpectation(\"(\",false),peg$otherExpectation(\"Close Parenthesis\"),\")\",peg$literalExpectation(\")\",false),peg$otherExpectation(\"Comma\"),\",\",peg$literalExpectation(\",\",false),peg$otherExpectation(\"Period\"),\".\",peg$literalExpectation(\".\",false),peg$otherExpectation(\"Asterisk\"),\"*\",peg$literalExpectation(\"*\",false),peg$otherExpectation(\"Question Mark\"),\"?\",peg$literalExpectation(\"?\",false),peg$otherExpectation(\"Single Quote\"),peg$otherExpectation(\"Double Quote\"),peg$otherExpectation(\"Backtick\"),peg$otherExpectation(\"Tilde\"),\"~\",peg$literalExpectation(\"~\",false),peg$otherExpectation(\"Plus\"),\"+\",peg$literalExpectation(\"+\",false),peg$otherExpectation(\"Minus\"),\"-\",peg$literalExpectation(\"-\",false),\"=\",peg$literalExpectation(\"=\",false),peg$otherExpectation(\"Ampersand\"),\"&\",peg$literalExpectation(\"&\",false),peg$otherExpectation(\"Pipe\"),\"|\",peg$literalExpectation(\"|\",false),\"%\",peg$literalExpectation(\"%\",false),\"<\",peg$literalExpectation(\"<\",false),\">\",peg$literalExpectation(\">\",false),peg$otherExpectation(\"Exclamation\"),\"!\",peg$literalExpectation(\"!\",false),peg$otherExpectation(\"Semicolon\"),\";\",peg$literalExpectation(\";\",false),peg$otherExpectation(\"Colon\"),peg$otherExpectation(\"Forward Slash\"),\"/\",peg$literalExpectation(\"/\",false),peg$otherExpectation(\"Backslash\"),\"\\\\\",peg$literalExpectation(\"\\\\\",false),\"abort\",peg$literalExpectation(\"ABORT\",true),\"action\",peg$literalExpectation(\"ACTION\",true),\"add\",peg$literalExpectation(\"ADD\",true),\"after\",peg$literalExpectation(\"AFTER\",true),\"all\",peg$literalExpectation(\"ALL\",true),\"alter\",peg$literalExpectation(\"ALTER\",true),\"analyze\",peg$literalExpectation(\"ANALYZE\",true),\"and\",peg$literalExpectation(\"AND\",true),\"as\",peg$literalExpectation(\"AS\",true),\"asc\",peg$literalExpectation(\"ASC\",true),\"attach\",peg$literalExpectation(\"ATTACH\",true),\"autoincrement\",peg$literalExpectation(\"AUTOINCREMENT\",true),\"before\",peg$literalExpectation(\"BEFORE\",true),\"begin\",peg$literalExpectation(\"BEGIN\",true),\"between\",peg$literalExpectation(\"BETWEEN\",true),\"by\",peg$literalExpectation(\"BY\",true),\"cascade\",peg$literalExpectation(\"CASCADE\",true),\"case\",peg$literalExpectation(\"CASE\",true),\"cast\",peg$literalExpectation(\"CAST\",true),\"check\",peg$literalExpectation(\"CHECK\",true),\"collate\",peg$literalExpectation(\"COLLATE\",true),\"column\",peg$literalExpectation(\"COLUMN\",true),\"commit\",peg$literalExpectation(\"COMMIT\",true),\"conflict\",peg$literalExpectation(\"CONFLICT\",true),\"constraint\",peg$literalExpectation(\"CONSTRAINT\",true),\"create\",peg$literalExpectation(\"CREATE\",true),\"cross\",peg$literalExpectation(\"CROSS\",true),\"current_date\",peg$literalExpectation(\"CURRENT_DATE\",true),\"current_time\",peg$literalExpectation(\"CURRENT_TIME\",true),\"current_timestamp\",peg$literalExpectation(\"CURRENT_TIMESTAMP\",true),\"database\",peg$literalExpectation(\"DATABASE\",true),\"default\",peg$literalExpectation(\"DEFAULT\",true),\"deferrable\",peg$literalExpectation(\"DEFERRABLE\",true),\"deferred\",peg$literalExpectation(\"DEFERRED\",true),\"delete\",peg$literalExpectation(\"DELETE\",true),\"desc\",peg$literalExpectation(\"DESC\",true),\"detach\",peg$literalExpectation(\"DETACH\",true),\"distinct\",peg$literalExpectation(\"DISTINCT\",true),\"drop\",peg$literalExpectation(\"DROP\",true),\"each\",peg$literalExpectation(\"EACH\",true),\"else\",peg$literalExpectation(\"ELSE\",true),\"end\",peg$literalExpectation(\"END\",true),\"escape\",peg$literalExpectation(\"ESCAPE\",true),\"except\",peg$literalExpectation(\"EXCEPT\",true),\"exclusive\",peg$literalExpectation(\"EXCLUSIVE\",true),\"exists\",peg$literalExpectation(\"EXISTS\",true),\"explain\",peg$literalExpectation(\"EXPLAIN\",true),\"fail\",peg$literalExpectation(\"FAIL\",true),\"for\",peg$literalExpectation(\"FOR\",true),\"foreign\",peg$literalExpectation(\"FOREIGN\",true),\"from\",peg$literalExpectation(\"FROM\",true),\"full\",peg$literalExpectation(\"FULL\",true),\"glob\",peg$literalExpectation(\"GLOB\",true),\"group\",peg$literalExpectation(\"GROUP\",true),\"having\",peg$literalExpectation(\"HAVING\",true),\"if\",peg$literalExpectation(\"IF\",true),\"ignore\",peg$literalExpectation(\"IGNORE\",true),\"immediate\",peg$literalExpectation(\"IMMEDIATE\",true),\"in\",peg$literalExpectation(\"IN\",true),\"index\",peg$literalExpectation(\"INDEX\",true),\"indexed\",peg$literalExpectation(\"INDEXED\",true),\"initially\",peg$literalExpectation(\"INITIALLY\",true),\"inner\",peg$literalExpectation(\"INNER\",true),\"insert\",peg$literalExpectation(\"INSERT\",true),\"instead\",peg$literalExpectation(\"INSTEAD\",true),\"intersect\",peg$literalExpectation(\"INTERSECT\",true),\"into\",peg$literalExpectation(\"INTO\",true),\"is\",peg$literalExpectation(\"IS\",true),\"isnull\",peg$literalExpectation(\"ISNULL\",true),\"join\",peg$literalExpectation(\"JOIN\",true),\"key\",peg$literalExpectation(\"KEY\",true),\"left\",peg$literalExpectation(\"LEFT\",true),\"like\",peg$literalExpectation(\"LIKE\",true),\"limit\",peg$literalExpectation(\"LIMIT\",true),\"match\",peg$literalExpectation(\"MATCH\",true),\"natural\",peg$literalExpectation(\"NATURAL\",true),\"no\",peg$literalExpectation(\"NO\",true),\"not\",peg$literalExpectation(\"NOT\",true),\"notnull\",peg$literalExpectation(\"NOTNULL\",true),\"of\",peg$literalExpectation(\"OF\",true),\"offset\",peg$literalExpectation(\"OFFSET\",true),\"on\",peg$literalExpectation(\"ON\",true),\"or\",peg$literalExpectation(\"OR\",true),\"order\",peg$literalExpectation(\"ORDER\",true),\"outer\",peg$literalExpectation(\"OUTER\",true),\"plan\",peg$literalExpectation(\"PLAN\",true),\"pragma\",peg$literalExpectation(\"PRAGMA\",true),\"primary\",peg$literalExpectation(\"PRIMARY\",true),\"query\",peg$literalExpectation(\"QUERY\",true),\"raise\",peg$literalExpectation(\"RAISE\",true),\"recursive\",peg$literalExpectation(\"RECURSIVE\",true),\"references\",peg$literalExpectation(\"REFERENCES\",true),\"regexp\",peg$literalExpectation(\"REGEXP\",true),\"reindex\",peg$literalExpectation(\"REINDEX\",true),\"release\",peg$literalExpectation(\"RELEASE\",true),\"rename\",peg$literalExpectation(\"RENAME\",true),\"replace\",peg$literalExpectation(\"REPLACE\",true),\"restrict\",peg$literalExpectation(\"RESTRICT\",true),\"right\",peg$literalExpectation(\"RIGHT\",true),\"rollback\",peg$literalExpectation(\"ROLLBACK\",true),\"row\",peg$literalExpectation(\"ROW\",true),\"rowid\",peg$literalExpectation(\"ROWID\",true),\"savepoint\",peg$literalExpectation(\"SAVEPOINT\",true),\"select\",peg$literalExpectation(\"SELECT\",true),\"set\",peg$literalExpectation(\"SET\",true),\"table\",peg$literalExpectation(\"TABLE\",true),\"temp\",peg$literalExpectation(\"TEMP\",true),\"temporary\",peg$literalExpectation(\"TEMPORARY\",true),\"then\",peg$literalExpectation(\"THEN\",true),\"to\",peg$literalExpectation(\"TO\",true),\"transaction\",peg$literalExpectation(\"TRANSACTION\",true),\"trigger\",peg$literalExpectation(\"TRIGGER\",true),\"union\",peg$literalExpectation(\"UNION\",true),\"unique\",peg$literalExpectation(\"UNIQUE\",true),\"update\",peg$literalExpectation(\"UPDATE\",true),\"using\",peg$literalExpectation(\"USING\",true),\"vacuum\",peg$literalExpectation(\"VACUUM\",true),\"values\",peg$literalExpectation(\"VALUES\",true),\"view\",peg$literalExpectation(\"VIEW\",true),\"virtual\",peg$literalExpectation(\"VIRTUAL\",true),\"when\",peg$literalExpectation(\"WHEN\",true),\"where\",peg$literalExpectation(\"WHERE\",true),\"with\",peg$literalExpectation(\"WITH\",true),\"without\",peg$literalExpectation(\"WITHOUT\",true),function(r){return keyNode(r);},function(){return null;},peg$otherExpectation(\"Line Comment\"),\"--\",peg$literalExpectation(\"--\",false),/^[\\n\\v\\f\\r]/,peg$classExpectation([\"\\n\",\"\\v\",\"\\f\",\"\\r\"],false,false),peg$otherExpectation(\"Block Comment\"),\"/*\",peg$literalExpectation(\"/*\",false),\"*/\",peg$literalExpectation(\"*/\",false),/^[\\n\\v\\f\\r\\t ]/,peg$classExpectation([\"\\n\",\"\\v\",\"\\f\",\"\\r\",\"\\t\",\" \"],false,false),peg$otherExpectation(\"Whitespace\"),\"__TODO__\",peg$literalExpectation(\"__TODO__\",false)];var peg$bytecode=[peg$decode(\"%;\\u023F/H#;#/?$;\\\".\\\" &\\\"/1$;#/($8$: $!!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u023F/C#;#/:$;x/1$;#/($8$: $!!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;x/B#;\\u023F/9$$;%0#*;%&/)$8#:!#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"$;\\u01B30#*;\\u01B3&\"),peg$decode(\"$;\\u01B3/�#*;\\u01B3&&&#\"),peg$decode(\"%;$/:#;x/1$;\\u023F/($8#:\\\"#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;'.# &;(/@#;\\u023F/7$;*.\\\" &\\\"/)$8#:$#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7#\"),peg$decode(\"%;\\u018B/' 8!:%!! )\"),peg$decode(\"<%;\\u0195/9#$;)0#*;)&/)$8\\\":'\\\"\\\"! )(\\\"'#&'#=.\\\" 7&\"),peg$decode(\"%4(\\\"\\\"5!7)/1#;\\u0197/($8\\\":*\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u01A0/R#;5/I$;\\u023F/@$;+.\\\" &\\\"/2$;\\u01A1/)$8%:,%\\\"#!)(%'#($'#(#'#(\\\"'#&'#=.\\\" 7+\"),peg$decode(\"%;\\u01A2/C#;\\u023F/:$;5/1$;\\u023F/($8$:-$!!)($'#(#'#(\\\"'#&'#\"),peg$decode(\";5.; &;6.5 &;2./ &;-.) &;..# &;/\"),peg$decode(\"<%;\\u0206/1#;\\u023F/($8\\\":/\\\"!!)(\\\"'#&'#=.\\\" 7.\"),peg$decode(\"<%;\\u01D2.) &;\\u01D4.# &;\\u01D3/1#;\\u023F/($8\\\":1\\\"!!)(\\\"'#&'#=.\\\" 70\"),peg$decode(\"<%;4.\\\" &\\\"/2#;0/)$8\\\":3\\\"\\\"! )(\\\"'#&'#=.\\\" 72\"),peg$decode(\"<%;\\u01A6/A#$;10#*;1&/1$;\\u01A6/($8#:5#!!)(#'#(\\\"'#&'#=.\\\" 74\"),peg$decode(\"26\\\"\\\"6677.) &48\\\"\\\"5!79\"),peg$decode(\"<%4;\\\"\\\"5!7!! )\"),peg$decode(\"<%;\\u01AA.# &;\\u01AB/' 8!:\\\"!! )=.\\\" 7?\"),peg$decode(\"%;4.\\\" &\\\"/2#;6/)$8\\\":@\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";<.# &;7\"),peg$decode(\"%;8/7#;;.\\\" &\\\"/)$8\\\":A\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<;9.# &;:=.\\\" 7B\"),peg$decode(\"%$;>/�#*;>&&&#/7#;:.\\\" &\\\"/)$8\\\":C\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u01A3/9#$;>0#*;>&/)$8\\\":D\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%3F\\\"\\\"5!7G/T#4H\\\"\\\"5!7I.\\\" &\\\"/@$$;>/�#*;>&&&#/*$8#:J##\\\"! )(#'#(\\\"'#&'#=.\\\" 7E\"),peg$decode(\"<%3L\\\"\\\"5\\\"7M/?#$;=/�#*;=&&&#/)$8\\\":N\\\"\\\"! )(\\\"'#&'#=.\\\" 7K\"),peg$decode(\"4O\\\"\\\"5!7P\"),peg$decode(\"4Q\\\"\\\"5!7R\"),peg$decode(\"<%;@.) &;B.# &;C/' 8!:T!! )=.\\\" 7S\"),peg$decode(\"<%;\\u01A5/@#;A.\\\" &\\\"/2$;\\u023F/)$8#:V#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7U\"),peg$decode(\"%4W\\\"\\\"5!7X/9#$;>0#*;>&/)$8\\\":Y\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%4[\\\"\\\"5!7\\\\/H#$;\\u0193/�#*;\\u0193&&&#/2$;\\u023F/)$8#:]#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7Z\"),peg$decode(\"<%2_\\\"\\\"6_7`/o#$;\\u0193.) &2a\\\"\\\"6a7b/2#0/*;\\u0193.) &2a\\\"\\\"6a7b&&&#/A$;\\u023F/8$;D.\\\" &\\\"/*$8$:c$##\\\" )($'#(#'#(\\\"'#&'#=.\\\" 7^\"),peg$decode(\"%;\\u019B/1#;\\u023F/($8\\\":d\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;F.\\\" &\\\"/;#;\\u023F/2$;\\x94/)$8#:f#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7e\"),peg$decode(\"<%;k.\\\" &\\\"/;#;\\u01E4/2$;\\u023F/)$8#:h#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7g\"),peg$decode(\"<%;\\u0211/_#;\\u023F/V$;\\u01A0/M$;\\u023F/D$;H/;$;\\u023F/2$;\\u01A1/)$8':j'\\\"&\\\")(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7i\"),peg$decode(\"<%;I.# &;J/' 8!:l!! )=.\\\" 7k\"),peg$decode(\"<%;\\u01EF/' 8!:n!! )=.\\\" 7m\"),peg$decode(\"%;\\u021B.) &;\\u01B7.# &;\\u01E6/M#;\\u023F/D$;\\u01A2/;$;\\u023F/2$;w/)$8%:o%\\\"$ )(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\";?./ &;t.) &;,.# &;\\u017D\"),peg$decode(\"%;\\u01A0/L#;\\u023F/C$;p/:$;\\u023F/1$;\\u01A1/($8%:p%!\\\")(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\";L.; &;E.5 &;_./ &;a.) &;G.# &;K\"),peg$decode(\"%;M/;#;\\u023F/2$;Q/)$8#:q#\\\"\\\" )(#'#(\\\"'#&'#.# &;M\"),peg$decode(\"%;P/A#;\\u023F/8$;N.# &;p/)$8#:r#\\\"\\\" )(#'#(\\\"'#&'#.# &;N\"),peg$decode(\";\\u01A9.U &;\\u01AB.O &;\\u01AA.I &%%;k/8#%<;\\u01E4=.##&&!&'#/#$+\\\")(\\\"'#&'#/\\\"!&,)\"),peg$decode(\"<%;\\u012D/' 8!:t!! )=.\\\" 7s\"),peg$decode(\"%;O/\\x83#$%;\\u023F/>#;\\u0166/5$;\\u023F/,$;O/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;\\u0166/5$;\\u023F/,$;O/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;R/\\x83#$%;\\u023F/>#;T/5$;\\u023F/,$;R/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;T/5$;\\u023F/,$;R/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";\\u0169.) &;\\u016A.# &;\\u016B\"),peg$decode(\"%;S/\\x83#$%;\\u023F/>#;V/5$;\\u023F/,$;S/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;V/5$;\\u023F/,$;S/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";\\u0167.# &;\\u0168\"),peg$decode(\"%;U/\\x83#$%;\\u023F/>#;X/5$;\\u023F/,$;U/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;X/5$;\\u023F/,$;U/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";\\u016C.U &;\\u016D.O &;\\u016E.I &%%;\\u016F/8#%<;\\u016F=.##&&!&'#/#$+\\\")(\\\"'#&'#/\\\"!&,)\"),peg$decode(\"%;W/\\x83#$%;\\u023F/>#;Z/5$;\\u023F/,$;W/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;Z/5$;\\u023F/,$;W/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";\\u0172.{ &;\\u0173.u &%%;\\u0170/8#%<;X=.##&&!&'#/#$+\\\")(\\\"'#&'#/\\\"!&,).I &%%;\\u0171/8#%<;X=.##&&!&'#/#$+\\\")(\\\"'#&'#/\\\"!&,)\"),peg$decode(\"%;Y/9#$;\\\\0#*;\\\\&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u023F/1#;]/($8\\\":v\\\"! )(\\\"'#&'#.H &%;\\u023F/>#;^/5$;\\u023F/,$;Y/#$+$)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%3w\\\"\\\"5$7x/?#;\\u023F/6$3y\\\"\\\"5$7z/'$8#:{# )(#'#(\\\"'#&'#.? &%;\\u01FB/& 8!:|! ).. &%;\\u0205/& 8!:{! )\"),peg$decode(\";\\u0177./ &;\\u0175.) &;\\u0176.# &;\\u0174\"),peg$decode(\"<%;\\u01C9/i#;\\u023F/`$;\\u01A0/W$;p/N$;\\u023F/E$;`/<$;\\u023F/3$;\\u01A1/*$8(:~(#'$\\\")(('#(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7}\"),peg$decode(\"<%;\\u01BF/:#;\\u023F/1$;&/($8#:\\x80#! )(#'#(\\\"'#&'#=.\\\" 7\\x7F\"),peg$decode(\"<%;\\u01C8/\\x93#;\\u023F/\\x8A$;b.\\\" &\\\"/|$;\\u023F/s$$;c/�#*;c&&&#/]$;\\u023F/T$;d.\\\" &\\\"/F$;\\u023F/=$;\\u01E0/4$;\\u023F/+$8*:\\x82*$)'%#)(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\x81\"),peg$decode(\"%%<;\\u0230=.##&&!&'#/1#;p/($8\\\":\\x83\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u0230/i#;\\u023F/`$;p/W$;\\u023F/N$;\\u0224/E$;\\u023F/<$;p/3$;\\u023F/*$8(:\\x85(#'%!)(('#(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\x84\"),peg$decode(\"<%;\\u01DF/D#;\\u023F/;$;p/2$;\\u023F/)$8$:\\x87$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\x86\"),peg$decode(\"%;[/;#;\\u023F/2$;f/)$8#:\\x88#\\\"\\\" )(#'#(\\\"'#&'#.# &;[\"),peg$decode(\";l.) &;i.# &;g\"),peg$decode(\"<%;k.\\\" &\\\"/o#;\\u01FF./ &;\\u01EB.) &;\\u0214.# &;\\u0201/T$;\\u023F/K$;p/B$;\\u023F/9$;h.\\\" &\\\"/+$8&:\\x8A&$%$\\\" )(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\x89\"),peg$decode(\"<%;\\u01E1/D#;\\u023F/;$;p/2$;\\u023F/)$8$:\\x8C$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\x8B\"),peg$decode(\"<%;k.\\\" &\\\"/E#;\\u01C5/<$;\\u023F/3$;j/*$8$:\\x8E$##\\\" )($'#(#'#(\\\"'#&'#=.\\\" 7\\x8D\"),peg$decode(\"%;e/W#%;\\u023F/>#;\\u01BE/5$;\\u023F/,$;e/#$+$)($'#(#'#(\\\"'#&'#/)$8\\\":\\x8F\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u0204/1#;\\u023F/($8\\\":\\x90\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;k.\\\" &\\\"/E#;\\u01F1/<$;\\u023F/3$;m/*$8$:\\x92$##\\\" )($'#(#'#(\\\"'#&'#=.\\\" 7\\x91\"),peg$decode(\";n.# &;\\u017B\"),peg$decode(\"%;\\u01A0/I#;\\x95.# &;q/:$;\\u023F/1$;\\u01A1/($8$:\\x93$!\\\")($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;e/\\x83#$%;\\u023F/>#;\\u01BE/5$;\\u023F/,$;e/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;\\u01BE/5$;\\u023F/,$;e/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;o/\\x83#$%;\\u023F/>#;\\u020A/5$;\\u023F/,$;o/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;\\u020A/5$;\\u023F/,$;o/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;r.\\\" &\\\"/1#;\\u023F/($8\\\":\\x95\\\"!!)(\\\"'#&'#=.\\\" 7\\x94\"),peg$decode(\"%;p/B#;\\u023F/9$$;s0#*;s&/)$8#:\\x96#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2/:#;p/1$;\\u023F/($8#:\\x93#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u017A/[#;\\u023F/R$;\\u01A0/I$;u.\\\" &\\\"/;$;\\u023F/2$;\\u01A1/)$8&:\\x98&\\\"%\\\")(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\x97\"),peg$decode(\"<%;\\xDB/' 8!:\\x9A!! ).V &%;v.\\\" &\\\"/G#;q/>$9:\\x9B \\\"! -\\\"\\\"&!&#/)$8#:\\x9C#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7\\x99\"),peg$decode(\"%;\\u01DC.# &;\\u01BB/1#;\\u023F/($8\\\":\\x9D\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;//' 8!:\\x9F!! )=.\\\" 7\\x9E\"),peg$decode(\"<%;y.\\\" &\\\"/;#;{/2$;\\u023F/)$8#:\\xA1#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7\\xA0\"),peg$decode(\"<%;\\u01E5/@#;\\u023F/7$;z.\\\" &\\\"/)$8#:\\xA3#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\xA2\"),peg$decode(\"<%;\\u0210/D#;\\u023F/;$;\\u020D/2$;\\u023F/)$8$:\\xA5$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xA4\"),peg$decode(\";\\x8C.S &;\\xFB.M &;\\u0162.G &;}.A &;|.; &;\\x86.5 &;\\x80./ &;\\x84.) &;\\x85.# &;\\x96\"),peg$decode(\"<%;\\u01CD.# &;\\u01E0/@#;\\u023F/7$;~.\\\" &\\\"/)$8#:\\xA7#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\xA6\"),peg$decode(\"<%;\\u01C4/^#;\\u023F/U$;\\x7F.\\\" &\\\"/G$;~.\\\" &\\\"/9$;\\x82.\\\" &\\\"/+$8%:\\xA9%$$\\\"! )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xA8\"),peg$decode(\"%;\\u0226/1#;\\u023F/($8\\\":\\xAA\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u01D8.) &;\\u01F0.# &;\\u01E3/1#;\\u023F/($8\\\":\\xAB\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u021B/N#;\\u023F/E$;~.\\\" &\\\"/7$;\\x81.\\\" &\\\"/)$8$:\\xAD$\\\"# )($'#(#'#(\\\"'#&'#=.\\\" 7\\xAC\"),peg$decode(\"<%%;\\u0225/,#;\\u023F/#$+\\\")(\\\"'#&'#.\\\" &\\\"/?#;\\x83.\\\" &\\\"/1$;\\x82/($8#:p#! )(#'#(\\\"'#&'#=.\\\" 7\\xAE\"),peg$decode(\"%;\\u0182/1#;\\u023F/($8\\\":\\xAF\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u021E/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\x83/2#;\\x82/)$8\\\":\\xB2\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\xB1\"),peg$decode(\"<%;\\u0216/J#;\\u023F/A$;\\x83.\\\" &\\\"/3$;\\x82/*$8$:\\xB4$##! )($'#(#'#(\\\"'#&'#=.\\\" 7\\xB3\"),peg$decode(\"<%;\\x87/N#;\\u017B/E$;\\u023F/<$;\\x88/3$;\\u023F/*$8%:\\xB6%#$#!)(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xB5\"),peg$decode(\"<%;\\u01BC/D#;\\u023F/;$;\\u0221/2$;\\u023F/)$8$:\\xB8$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xB7\"),peg$decode(\";\\x89.# &;\\x8A\"),peg$decode(\"<%;\\u0217/M#;\\u023F/D$;\\u0225/;$;\\u023F/2$;\\u017B/)$8%:\\xBA%\\\"$ )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xB9\"),peg$decode(\"<%;\\u01B9/I#;\\u023F/@$;\\x8B.\\\" &\\\"/2$;\\u010C/)$8$:\\xBC$\\\"# )($'#(#'#(\\\"'#&'#=.\\\" 7\\xBB\"),peg$decode(\"%;\\u01CC/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\x8D/2#;\\xA7/)$8\\\":\\xBD\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\x8E.\\\" &\\\"/1#;\\u023F/($8\\\":*\\\"!!)(\\\"'#&'#=.\\\" 7\\xBE\"),peg$decode(\"%;\\u0232/J#;\\u023F/A$;\\x8F.\\\" &\\\"/3$;\\x90/*$8$:\\xBF$##! )($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0212/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\x92/B#;\\u023F/9$$;\\x910#*;\\x91&/)$8#:\\xC0#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2/:#;\\x92/1$;\\u023F/($8#:\\x93#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0187/2#;\\x93/)$8\\\":\\xC2\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\xC1\"),peg$decode(\"%;\\u01BF/:#;\\u023F/1$;\\x94/($8#:\\xC3#! )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A0/C#;\\x95/:$;\\u023F/1$;\\u01A1/($8$: $!\\\")($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\x8D/2#;\\xA8/)$8\\\":\\xC4\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";\\x97.; &;\\x99.5 &;\\x9A./ &;\\x9C.) &;\\x9E.# &;\\xA0\"),peg$decode(\"<%;\\u01C1/\\x8B#;\\u023F/\\x82$%;\\u01D5/,#;\\u023F/#$+\\\")(\\\"'#&'#.\\\" &\\\"/a$;p/X$;\\u023F/O$;\\u01BF/F$;\\u023F/=$;\\x98/4$;\\u023F/+$8):\\xC6)$(&%!)()'#(('#(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xC5\"),peg$decode(\";\\u0179.) &;-.# &;?\"),peg$decode(\"<%;\\u01DB/f#;\\u023F/]$%;\\u01D5/,#;\\u023F/#$+\\\")(\\\"'#&'#.\\\" &\\\"/<$;\\x98/3$;\\u023F/*$8%:\\xC8%#$\\\"!)(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xC7\"),peg$decode(\"<%;\\u022C/@#;\\u023F/7$;\\x9B.\\\" &\\\"/)$8#:\\xCA#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\xC9\"),peg$decode(\"%;\\u0179/1#;\\u023F/($8\\\":\\xCB\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u01BD/@#;\\u023F/7$;\\x9D.\\\" &\\\"/)$8#:\\xCD#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\xCC\"),peg$decode(\"%;\\u017B.) &;\\u0183.# &;\\u0179/1#;\\u023F/($8\\\":\\xCE\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u0215/I#;\\u023F/@$;\\x9F.\\\" &\\\"/2$;\\u023F/)$8$:\\xCD$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xCF\"),peg$decode(\"%;\\u017B.) &;\\u0183.# &;\\u0181/1#;\\u023F/($8\\\":\\xD0\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u020E/S#;\\u023F/J$;\\u0186/A$;\\u023F/8$;\\xA1.\\\" &\\\"/*$8%:\\xD2%#$\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xD1\"),peg$decode(\"%;\\u01A0/C#;\\xA2/:$;\\u023F/1$;\\u01A1/($8$:\\xD3$!\\\")($'#(#'#(\\\"'#&'#.D &%;\\u01AC/:#;\\xA2/1$;\\u023F/($8#:\\xD3#!!)(#'#(\\\"'#&'#\"),peg$decode(\";\\xA4.) &;\\xA3.# &;\\xA6\"),peg$decode(\";5.) &;/.# &;3\"),peg$decode(\"%;\\xA5/<#9:\\xD4 ! -\\\"\\\"&!&#/($8\\\":\\xD5\\\"!!)(\\\"'#&'#\"),peg$decode(\"%$;\\u0193/�#*;\\u0193&&&#/' 8!:\\xD6!! )\"),peg$decode(\"%;\\xA5/' 8!:\\xD7!! )\"),peg$decode(\";\\xA8./ &;\\xDD.) &;\\xF2.# &;\\xF9\"),peg$decode(\"<%;\\xAE/X#;\\u023F/O$;\\xA9.\\\" &\\\"/A$;\\u023F/8$;\\xAA.\\\" &\\\"/*$8%:\\xD9%#$\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xD8\"),peg$decode(\"<%;\\u020B/L#;\\u023F/C$;\\u01C6/:$;\\u023F/1$;\\xD8/($8%:\\xDB%! )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xDA\"),peg$decode(\"<%;\\u0200/S#;\\u023F/J$;p/A$;\\u023F/8$;\\xAB.\\\" &\\\"/*$8%:\\xDD%#$\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xDC\"),peg$decode(\"<%;\\xAC/2#;p/)$8\\\":\\xDF\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\xDE\"),peg$decode(\";\\xAD.# &;\\u01A2\"),peg$decode(\"%;\\u0208/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\xB0/B#;\\u023F/9$$;\\xAF0#*;\\xAF&/)$8#:\\xE0#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\xEF/D#;\\u023F/;$;\\xB0/2$;\\u023F/)$8$:\\xE2$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xE1\"),peg$decode(\";\\xB1.# &;\\xD7\"),peg$decode(\"%;\\xB2/U#;\\xB8.\\\" &\\\"/G$;\\xB9.\\\" &\\\"/9$;\\xBA.\\\" &\\\"/+$8$:\\xE3$$#\\\"! )($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u021F/R#;\\u023F/I$;\\xB3.\\\" &\\\"/;$;\\u023F/2$;\\xB6/)$8%:\\xE5%\\\"\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xE4\"),peg$decode(\"<;\\xB4.# &;\\xB5=.\\\" 7\\xE6\"),peg$decode(\"%;\\u01DC/1#;\\u023F/($8\\\":\\xE7\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u01BB/1#;\\u023F/($8\\\":\\xE8\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\xBC/B#;\\u023F/9$$;\\xB70#*;\\xB7&/)$8#:\\xC0#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2/:#;\\xBC/1$;\\u023F/($8#:-#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u01E9/D#;\\u023F/;$;\\xC0/2$;\\u023F/)$8$:\\xEA$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xE9\"),peg$decode(\"<%;\\u0231/D#;\\u023F/;$;p/2$;\\u023F/)$8$:\\xEC$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xEB\"),peg$decode(\"<%;\\u01EC/e#;\\u023F/\\\\$;\\u01C6/S$;\\u023F/J$;q/A$;\\u023F/8$;\\xBB.\\\" &\\\"/*$8':\\xEE'#&\\\" )(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xED\"),peg$decode(\"<%;\\u01ED/D#;\\u023F/;$;p/2$;\\u023F/)$8$:\\xF0$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xEF\"),peg$decode(\";\\xBD.# &;\\xBF\"),peg$decode(\"%;\\xBE.\\\" &\\\"/2#;\\xDB/)$8\\\":\\xF1\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u0195/2#;\\u01A3/)$8\\\":\\xF2\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;p/@#;\\u023F/7$;\\xCD.\\\" &\\\"/)$8#:\\xF3#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\xC4/B#;\\u023F/9$$;\\xC10#*;\\xC1&/)$8#:\\xF4#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\xC2.# &;\\xC3/7#;\\xD4.\\\" &\\\"/)$8\\\":\\xF5\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u01A2/:#;\\xC4/1$;\\u023F/($8#:\\xF7#!!)(#'#(\\\"'#&'#=.\\\" 7\\xF6\"),peg$decode(\"<%;\\xCE/D#;\\u023F/;$;\\xC4/2$;\\u023F/)$8$:\\xF9$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xF8\"),peg$decode(\";\\xCB.5 &;?./ &;\\xC5.) &;\\xC6.# &;\\xCC\"),peg$decode(\"%;\\u017A/S#;\\u023F/J$;\\xED/A$;\\u023F/8$;\\xCD.\\\" &\\\"/*$8%:\\xFA%#$\\\" )(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\xC7/@#;\\u023F/7$;\\xC8.\\\" &\\\"/)$8#:\\xFC#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\xFB\"),peg$decode(\"<%;\\u017B/@#;\\u023F/7$;\\xCD.\\\" &\\\"/)$8#:\\xFE#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\xFD\"),peg$decode(\"<;\\xC9.# &;\\xCA=.\\\" 7\\xFF\"),peg$decode(\"%;\\u01F3/V#;\\u023F/M$;\\u01C6/D$;\\u023F/;$;\\u0183/2$;\\u023F/)$8&:\\u0100&\\\"%!)(&'#(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;k/;#;\\u01F3/2$;\\u023F/)$8#:\\u0101#\\\"\\\"!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u01A0/R#;\\xC0/I$;\\u023F/@$;\\u01A1/7$;\\xCD.\\\" &\\\"/)$8%:\\u0103%\\\"# )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0102\"),peg$decode(\"<%;\\x94/7#;\\xCD.\\\" &\\\"/)$8\\\":\\u0105\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u0104\"),peg$decode(\"<%%;\\u01BF/Q#%%<;\\u0193.# &;\\u0236=.##&&!&'#/,#;\\u023F/#$+\\\")(\\\"'#&'#/#$+\\\")(\\\"'#&'#.\\\" &\\\"/;#;\\u0195/2$;\\u023F/)$8#:\\u0107#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7\\u0106\"),peg$decode(\"<%;\\xCF.\\\" &\\\"/J#;\\u023F/A$;\\xD0.\\\" &\\\"/3$;\\u01FC/*$8$:\\u0109$##! )($'#(#'#(\\\"'#&'#=.\\\" 7\\u0108\"),peg$decode(\"%;\\u0202/1#;\\u023F/($8\\\":\\x90\\\"!!)(\\\"'#&'#\"),peg$decode(\";\\xD1.# &;\\xD3\"),peg$decode(\"%;\\u01FE.) &;\\u021A.# &;\\u01EA/@#;\\u023F/7$;\\xD2.\\\" &\\\"/)$8#:\\u010A#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u020C/1#;\\u023F/($8\\\":\\u010B\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u01F5.# &;\\u01D1/1#;\\u023F/($8\\\":\\u010B\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\xD5.# &;\\xD6/1#;\\u023F/($8\\\":\\u010D\\\"!!)(\\\"'#&'#=.\\\" 7\\u010C\"),peg$decode(\"<%;\\u0209/;#;\\u023F/2$;p/)$8#:\\u010F#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u010E\"),peg$decode(\"<%;\\u022B/;#;\\u023F/2$;\\xE6/)$8#:\\u0111#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u0110\"),peg$decode(\"<%;\\u022D/;#;\\u023F/2$;\\xEB/)$8#:\\u0113#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u0112\"),peg$decode(\"%;\\xDA/B#;\\u023F/9$$;\\xD90#*;\\xD9&/)$8#:\\u0114#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2/:#;\\xDA/1$;\\u023F/($8#:\\u0115#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;p/@#;\\u023F/7$;\\u012F.\\\" &\\\"/)$8#:\\u0117#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u0116\"),peg$decode(\"<;\\u01A4=.\\\" 7\\u0118\"),peg$decode(\"<;\\u0218.5 &;\\u021B./ &;\\u01B7.) &;\\u01E6.# &;\\u01EF=.\\\" 7\\u0119\"),peg$decode(\"<%;\\xDE/;#;\\u023F/2$;\\xE2/)$8#:\\u011B#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u011A\"),peg$decode(\";\\xDF.# &;\\xE0\"),peg$decode(\"<%;\\u01F6/@#;\\u023F/7$;\\xE1.\\\" &\\\"/)$8#:\\u011D#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u011C\"),peg$decode(\"<%;\\u0218/1#;\\u023F/($8\\\":\\u011F\\\"!!)(\\\"'#&'#=.\\\" 7\\u011E\"),peg$decode(\"<%;\\u020A/;#;\\u023F/2$;\\xDC/)$8#:\\u0121#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u0120\"),peg$decode(\"%;\\xE3/2#;\\xE5/)$8\\\":\\u0122\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\xE4/2#;\\u0187/)$8\\\":\\u0124\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u0123\"),peg$decode(\"<%;\\u01F9/,#;\\u023F/#$+\\\")(\\\"'#&'#=.\\\" 7\\u0125\"),peg$decode(\"<%;\\xE9.) &;\\x95.# &;\\xEE/1#;\\u023F/($8\\\":\\u0126\\\"!!)(\\\"'#&'#=.\\\" 7\\u0112\"),peg$decode(\"<%;\\u01A0/T#;\\xE8/K$;\\u023F/B$$;\\xE70#*;\\xE7&/2$;\\u01A1/)$8%:\\u0128%\\\"#!)(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0127\"),peg$decode(\"%;\\u01A2/:#;\\xE8/1$;\\u023F/($8#:\\u0129#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0178/' 8!:\\u012B!! )=.\\\" 7\\u012A\"),peg$decode(\"<%;\\xEA/2#;\\xEB/)$8\\\":\\u012C\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u0112\"),peg$decode(\"<%;\\u022D/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#=.\\\" 7\\u012D\"),peg$decode(\"%;\\xED/B#;\\u023F/9$$;\\xEC0#*;\\xEC&/)$8#:\\u012E#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2/:#;\\xED/1$;\\u023F/($8#:\\x93#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u01A0/C#;q/:$;\\u023F/1$;\\u01A1/($8$:\\u0130$!\\\")($'#(#'#(\\\"'#&'#=.\\\" 7\\u012F\"),peg$decode(\"<%;\\u01D6/;#;\\u023F/2$;\\u022D/)$8#:\\u0132#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u0131\"),peg$decode(\"<%;\\xF0.) &;\\u01F8.# &;\\u01E2/' 8!:\\xB0!! )=.\\\" 7\\u0133\"),peg$decode(\"<%;\\u0228/@#;\\u023F/7$;\\xF1.\\\" &\\\"/)$8#:\\u0135#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u0134\"),peg$decode(\"%;\\u01BB/1#;\\u023F/($8\\\":\\u0136\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\xF3/\\x8A#;\\xF4.\\\" &\\\"/|$;\\xC6/s$;\\u023F/j$;\\xF5/a$;\\xB9.\\\" &\\\"/S$;\\xA9.\\\" &\\\"/E$;\\u023F/<$;\\xAA.\\\" &\\\"/.$8):\\u0138)'('&$#\\\" )()'#(('#(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0137\"),peg$decode(\"<%;\\u022A/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#=.\\\" 7\\u0139\"),peg$decode(\"<%;\\u020A/C#;\\u023F/:$;\\xDC/1$;\\u023F/($8$:\\u013B$!!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u013A\"),peg$decode(\"<%;\\u0220/C#;\\u023F/:$;\\xF6/1$;\\u023F/($8$:\\u013D$!!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u013C\"),peg$decode(\"%;\\xF8/9#$;\\xF70#*;\\xF7&/)$8\\\":\\u012E\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u023F/:#;\\u01A2/1$;\\xF8/($8#:\\u0129#! )(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u017D/M#;\\u023F/D$;\\u01AC/;$;p/2$;\\u023F/)$8%:\\u013F%\\\"$!)(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u013E\"),peg$decode(\"<%;\\xFA/h#;\\xC6/_$;\\u023F/V$;\\xB9.\\\" &\\\"/H$;\\xA9.\\\" &\\\"/:$;\\xAA.\\\" &\\\"/,$8&:\\u0141&%%$\\\"! )(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0140\"),peg$decode(\"<%;\\u01D9/C#;\\u023F/:$;\\u01E9/1$;\\u023F/($8$:\\xB0$!#)($'#(#'#(\\\"'#&'#=.\\\" 7\\u0142\"),peg$decode(\"<;\\xFD.5 &;\\xFE./ &;\\xFF.) &;\\u0100.# &;\\u0101=.\\\" 7\\u0143\"),peg$decode(\"%;\\u01D0/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#\"),peg$decode(\"%%<%;\\xFC/>#;\\u01F2./ &;\\u0227.) &;\\u022E.# &;\\u022F/#$+\\\")(\\\"'#&'#=.##&&!&'#/1#;\\u0102/($8\\\":\\u0129\\\"! )(\\\"'#&'#\"),peg$decode(\"%%<%;\\xFC/>#;\\u0221./ &;\\u0227.) &;\\u022E.# &;\\u022F/#$+\\\")(\\\"'#&'#=.##&&!&'#/1#;\\u0143/($8\\\":\\u0129\\\"! )(\\\"'#&'#\"),peg$decode(\"%%<%;\\xFC/>#;\\u0221./ &;\\u01F2.) &;\\u022E.# &;\\u022F/#$+\\\")(\\\"'#&'#=.##&&!&'#/1#;\\u0147/($8\\\":\\u0129\\\"! )(\\\"'#&'#\"),peg$decode(\"%%<%;\\xFC/>#;\\u0221./ &;\\u01F2.) &;\\u0227.# &;\\u022F/#$+\\\")(\\\"'#&'#=.##&&!&'#/1#;\\u0156/($8\\\":\\u0129\\\"! )(\\\"'#&'#\"),peg$decode(\"%%<%;\\xFC/>#;\\u0221./ &;\\u01F2.) &;\\u0227.# &;\\u022E/#$+\\\")(\\\"'#&'#=.##&&!&'#/1#;\\u015A/($8\\\":\\u0129\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u0103/T#;\\u0105.\\\" &\\\"/F$;\\u017B/=$;\\u023F/4$;\\u0106/+$8%:\\u0145%$$#\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0144\"),peg$decode(\"%;\\xFC/J#;\\u0104.\\\" &\\\"/<$;\\u0221/3$;\\u023F/*$8$:\\u0146$##\\\"!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0223.# &;\\u0222/1#;\\u023F/($8\\\":\\u0147\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u01EE/N#;\\u023F/E$;k/<$;\\u01E4/3$;\\u023F/*$8%:\\u0149%#$\\\"!)(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0148\"),peg$decode(\";\\u0107.# &;\\u0142\"),peg$decode(\"<%;\\u01A0/Z#;\\u0109/Q$$;\\u010B0#*;\\u010B&/A$;\\u01A1/8$;\\u0108.\\\" &\\\"/*$8%:\\u014B%##\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u014A\"),peg$decode(\"%;\\u0233/D#;\\u023F/;$;\\u021D/2$;\\u023F/)$8$:\\u014C$\\\"#!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u010C/B#;\\u023F/9$$;\\u010A0#*;\\u010A&/)$8#:\\u012E#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2/:#;\\u010C/1$;\\u023F/($8#:\\xAA#!!)(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2.\\\" &\\\"/1#;\\u0120/($8\\\":\\u014D\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u010D/O#;\\u023F/F$;\\u010E.\\\" &\\\"/8$;\\u010F.\\\" &\\\"/*$8$:\\u014F$##! )($'#(#'#(\\\"'#&'#=.\\\" 7\\u014E\"),peg$decode(\"%;\\u0195/=#%<;\\u023F=/##&'!&&#/($8\\\":p\\\"!!)(\\\"'#&'#.\\\\ &%%<;\\u010E.) &;\\u0111.# &;\\u0120=.##&&!&'#/:#;\\u023F/1$;\\u0198/($8#:p#! )(#'#(\\\"'#&'#\"),peg$decode(\"<%;&/1#;\\u023F/($8\\\":\\u0151\\\"!!)(\\\"'#&'#=.\\\" 7\\u0150\"),peg$decode(\"%;\\u0111/B#$;\\u01100#*;\\u0110&/2$;\\u023F/)$8#:\\u012E#\\\"\\\"!)(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u023F/1#;\\u0111/($8\\\":\\u0129\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u0112.\\\" &\\\"/A#;\\u0114/8$;\\u0112.\\\" &\\\"/*$8#:\\u0153##\\\"! )(#'#(\\\"'#&'#=.\\\" 7\\u0152\"),peg$decode(\"%$;\\u0113/�#*;\\u0113&&&#/' 8!:\\u0154!! )\"),peg$decode(\"<%;\\u01CF/C#;\\u023F/:$;\\u0195/1$;\\u023F/($8$:\\u0156$!!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u0155\"),peg$decode(\";\\u0116.; &;\\u0119.5 &;\\u011C./ &;\\u011D.) &;\\u011F.# &;\\u0115\"),peg$decode(\"<%;\\u0135/' 8!:\\u0158!! )=.\\\" 7\\u0157\"),peg$decode(\"<%;\\u0117/U#;\\u012F.\\\" &\\\"/G$;\\u0130.\\\" &\\\"/9$;\\u0118.\\\" &\\\"/+$8$:\\u015A$$#\\\"! )($'#(#'#(\\\"'#&'#=.\\\" 7\\u0159\"),peg$decode(\"<%;\\u020F.# &;\\u020E/D#;\\u023F/;$;\\u01FD/2$;\\u023F/)$8$:\\u015C$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u015B\"),peg$decode(\"<%;\\u01C2/1#;\\u023F/($8\\\":\\u015E\\\"!!)(\\\"'#&'#=.\\\" 7\\u015D\"),peg$decode(\"%;\\u011A/@#;\\u0130.\\\" &\\\"/2$;\\u023F/)$8#:\\u015F#\\\"\\\"!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u011B.# &;\\u0229/1#;\\u023F/($8\\\":\\u010B\\\"!!)(\\\"'#&'#=.\\\" 7\\u0160\"),peg$decode(\"<%;k.\\\" &\\\"/2#;\\u0206/)$8\\\":\\u0162\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u0161\"),peg$decode(\"<;\\u0132=.\\\" 7\\u0163\"),peg$decode(\"<%;\\u01D6/D#;\\u023F/;$;\\u011E/2$;\\u023F/)$8$:\\u0165$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u0164\"),peg$decode(\";L./ &;5.) &;,.# &;3\"),peg$decode(\"<%;\\u012D/' 8!:\\u0167!! )=.\\\" 7\\u0166\"),peg$decode(\"<%;\\u0112.\\\" &\\\"/J#;\\u0121/A$;\\u023F/8$;\\u0112.\\\" &\\\"/*$8$:\\u0169$##\\\" )($'#(#'#(\\\"'#&'#=.\\\" 7\\u0168\"),peg$decode(\";\\u0133.) &;\\u0123.# &;\\u0122\"),peg$decode(\"<%;\\u0132/' 8!:\\u016B!! )=.\\\" 7\\u016A\"),peg$decode(\"<%;\\u0124/J#;\\u023F/A$;\\u0129/8$;\\u0130.\\\" &\\\"/*$8$:\\u016D$##! )($'#(#'#(\\\"'#&'#=.\\\" 7\\u016C\"),peg$decode(\"%;\\u0125.# &;\\u0126/1#;\\u023F/($8\\\":\\u016E\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u020F/;#;\\u023F/2$;\\u01FD/)$8#:\\u016F#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u015B\"),peg$decode(\"<%;\\u0229/' 8!:\\u0171!! )=.\\\" 7\\u0170\"),peg$decode(\"%;\\u01A0/T#;\\u012B/K$;\\u023F/B$$;\\u012A0#*;\\u012A&/2$;\\u01A1/)$8%:\\u0172%\\\"#!)(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0127/' 8!:\\u0173!! )\"),peg$decode(\"%;\\u0127/' 8!:\\u0174!! )\"),peg$decode(\"%;\\u01A2/:#;\\u012B/1$;\\u023F/($8#:\\u0129#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u012C/O#;\\u023F/F$;\\u012F.\\\" &\\\"/8$;\\u0118.\\\" &\\\"/*$8$:\\u0176$##! )($'#(#'#(\\\"'#&'#=.\\\" 7\\u0175\"),peg$decode(\"%;\\xE8/\\\\#%<%;\\u023F/8#;\\u01B3.) &;\\u01A1.# &;\\u012F/#$+\\\")(\\\"'#&'#=/##&'!&&#/($8\\\":p\\\"!!)(\\\"'#&'#.# &;p\"),peg$decode(\"<%$;\\u012E/�#*;\\u012E&&&#/' 8!:\\u0178!! )=.\\\" 7\\u0177\"),peg$decode(\"%;\\u01CB/C#;\\u023F/:$;\\u0181/1$;\\u023F/($8$:p$!!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u01C0.# &;\\u01DA/1#;\\u023F/($8\\\":\\u017A\\\"!!)(\\\"'#&'#=.\\\" 7\\u0179\"),peg$decode(\"%;\\u0131/;#;\\xDC/2$;\\u023F/)$8#:\\u017B#\\\"\\\"!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0209/D#;\\u023F/;$;\\u01CE/2$;\\u023F/)$8$:\\u017D$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u017C\"),peg$decode(\"%;\\u01CA/;#;\\u023F/2$;L/)$8#:\\u017E#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0134/E#;\\xE6/<$;\\u0135/3$;\\u023F/*$8$:\\u0180$##\\\"!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u017F\"),peg$decode(\"<%;\\u01E8/D#;\\u023F/;$;\\u01FD/2$;\\u023F/)$8$:\\u0182$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u0181\"),peg$decode(\"%;\\u0136/F#;\\u0137.\\\" &\\\"/8$;\\u0140.\\\" &\\\"/*$8#:\\u0183##\\\"! )(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0213/D#;\\u023F/;$;\\u0187/2$;\\u023F/)$8$:\\u0185$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u0184\"),peg$decode(\"%;\\u0139/B#;\\u023F/9$$;\\u01380#*;\\u0138&/)$8#:\\u0186#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0139/1#;\\u023F/($8\\\":\\u0136\\\"!!)(\\\"'#&'#\"),peg$decode(\"<;\\u013A.# &;\\u013F=.\\\" 7\\u0187\"),peg$decode(\"%;\\u0209/T#;\\u023F/K$;\\u01D9.# &;\\u022A/<$;\\u023F/3$;\\u013B/*$8%:\\u0188%#$\\\" )(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\"<;\\u013C.) &;\\u013D.# &;\\u013E=.\\\" 7\\u0189\"),peg$decode(\"%;\\u0220/J#;\\u023F/A$;\\u0206.# &;\\u01D6/2$;\\u023F/)$8$:\\u018A$\\\"#!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01C7.# &;\\u0219/1#;\\u023F/($8\\\":\\u018B\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u0203/D#;\\u023F/;$;\\u01B8/2$;\\u023F/)$8$:\\u018C$\\\"#!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0201/D#;\\u023F/;$;\\u0195/2$;\\u023F/)$8$:\\u018D$\\\"#!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;k.\\\" &\\\"/J#;\\u01D7/A$;\\u023F/8$;\\u0141.\\\" &\\\"/*$8$:\\u018F$##\\\" )($'#(#'#(\\\"'#&'#=.\\\" 7\\u018E\"),peg$decode(\"%;\\u01F4/J#;\\u023F/A$;\\u01D8.# &;\\u01F0/2$;\\u023F/)$8$:\\u0190$\\\"#!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0159/' 8!:\\u0191!! )\"),peg$decode(\"<%;\\u0144/c#;\\u0105.\\\" &\\\"/U$;\\u0183/L$;\\u023F/C$;\\u0146/:$;\\xB9.\\\" &\\\"/,$8&:\\u0193&%%$#! )(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0192\"),peg$decode(\"%;\\xFC/J#;\\u0145.\\\" &\\\"/<$;\\u01F2/3$;\\u023F/*$8$:\\u0194$##\\\"!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0229/1#;\\u023F/($8\\\":\\u0195\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u0209/N#;\\u023F/E$;\\u017B/<$;\\u023F/3$;\\u0128/*$8%:\\u0197%#$\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0196\"),peg$decode(\"<%;\\u0148/\\xA6#;\\u0105.\\\" &\\\"/\\x98$;\\u0184.\\\" &\\\"/\\x8A$;\\u023F/\\x81$;\\u0149/x$;\\u0209/o$;\\u023F/f$;\\u017B/]$;\\u023F/T$;\\u0151.\\\" &\\\"/F$;\\u0152.\\\" &\\\"/8$;\\u0153//$8,:\\u0199,(+*)'$\\\"! )(,'#(+'#(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0198\"),peg$decode(\"%;\\xFC/J#;\\u0104.\\\" &\\\"/<$;\\u0227/3$;\\u023F/*$8$:\\u019A$##\\\"!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u014A.\\\" &\\\"/2#;\\u014C/)$8\\\":\\u019C\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u019B\"),peg$decode(\"%;\\u01C3.) &;\\u01BA.# &;\\u014B/1#;\\u023F/($8\\\":\\u019D\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u01F7/;#;\\u023F/2$;\\u0207/)$8#:\\u019E#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"<;\\u014D.# &;\\u014E=.\\\" 7\\u019F\"),peg$decode(\"%;\\u01D9.# &;\\u01F6/1#;\\u023F/($8\\\":\\u01A0\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u022A/@#;\\u023F/7$;\\u014F.\\\" &\\\"/)$8#:\\u01A1#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0207/;#;\\u023F/2$;\\u0150/)$8#:\\u01A2#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\xE8/B#;\\u023F/9$$;\\xE70#*;\\xE7&/)$8#:\\u012E#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01E7/c#;\\u023F/Z$;\\u01DE/Q$;\\u023F/H$;\\u021C.) &3\\u01A3\\\"\\\"5)7\\u01A4/3$;\\u023F/*$8&:\\u01A5&#%#!)(&'#(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0230/D#;\\u023F/;$;p/2$;\\u023F/)$8$:\\u01A6$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\x84\"),peg$decode(\"<%;\\u01C4/W#;\\u023F/N$;\\u0154/E$;\\u023F/<$;\\u01E0/3$;\\u023F/*$8&:\\u01A8&#%#!)(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u01A7\"),peg$decode(\"%$;\\u0155/�#*;\\u0155&&&#/' 8!:\\u01A9!! )\"),peg$decode(\"%;\\x8C/:#;\\u023F/1$;$/($8#:\\\"#!\\\")(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0158/T#;\\u0105.\\\" &\\\"/F$;\\u0157/=$;\\u023F/4$;\\u0159/+$8%:\\u01AB%$$#\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u01AA\"),peg$decode(\"%;\\u0185/;#;\\u023F/2$;\\xE6/)$8#:\\u01AC#\\\"\\\" )(#'#(\\\"'#&'#.# &;\\u0185\"),peg$decode(\"%;\\xFC/J#;\\u0104.\\\" &\\\"/<$;\\u022E/3$;\\u023F/*$8$:\\u01AD$##\\\"!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01BF/D#;\\u023F/;$;\\xA8/2$;\\u023F/)$8$:\\u012C$\\\"#!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u015B/f#;\\u0105.\\\" &\\\"/X$;\\u017B/O$;\\u023F/F$;\\u022B/=$;\\u023F/4$;\\u015C/+$8':\\u01AF'$&%$ )(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u01AE\"),peg$decode(\"%;\\xFC/N#;\\u022F/E$;\\u023F/<$;\\u0221/3$;\\u023F/*$8%:\\u01B0%#$#!)(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0197/@#;\\u023F/7$;\\u015D.\\\" &\\\"/)$8#:\\u01B1#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u01A0/Z#;\\u023F/Q$;\\u015E.\\\" &\\\"/C$;\\u023F/:$;\\u01A1/1$;\\u023F/($8&:\\u01B3&!#)(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u01B2\"),peg$decode(\"%;\\u0160/9#$;\\u015F0#*;\\u015F&/)$8\\\":\\u01B4\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u023F/H#;\\u01A2/?$;\\u023F/6$;\\u0160.\\\" &\\\"/($8$:\\u01B5$! )($'#(#'#(\\\"'#&'#\"),peg$decode(\"%%<%;\\u0195/;#;\\u023F/2$;&.# &;\\u0111/#$+#)(#'#(\\\"'#&'#=.##&&!&'#/:#;p/1$;\\u023F/($8#:\\u0130#!!)(#'#(\\\"'#&'#.x &%;\\u0161/n#%%<;\\u0193=.##&&!&'#/,#;\\u023F/#$+\\\")(\\\"'#&'#/F$;\\u010E.\\\" &\\\"/8$;\\u010F.\\\" &\\\"/*$8$:\\u014F$##! )($'#(#'#(\\\"'#&'#\"),peg$decode(\";\\u0195.# &;\\u0198\"),peg$decode(\"<%;\\u0163/;#;\\u017B/2$;\\u023F/)$8#:\\u01B7#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7\\u01B6\"),peg$decode(\"<%;\\u01DD/J#;\\u023F/A$;\\u0164/8$;\\u0165.\\\" &\\\"/*$8$:\\u01B9$##! )($'#(#'#(\\\"'#&'#=.\\\" 7\\u01B8\"),peg$decode(\"<%;\\u0221./ &;\\u01F2.) &;\\u0227.# &;\\u022E/1#;\\u023F/($8\\\":\\u010B\\\"!!)(\\\"'#&'#=.\\\" 7\\u01BA\"),peg$decode(\"<%;\\u01EE/D#;\\u023F/;$;\\u01E4/2$;\\u023F/)$8$:\\u01BC$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u01BB\"),peg$decode(\"<%;\\u01AE/,#;\\u01AE/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01BD\"),peg$decode(\"<;\\u01AA=.\\\" 7\\u01BE\"),peg$decode(\"<;\\u01AB=.\\\" 7\\u01BF\"),peg$decode(\"<;\\u01A4=.\\\" 7\\u01C0\"),peg$decode(\"<;\\u01B5=.\\\" 7\\u01C1\"),peg$decode(\"<;\\u01AF=.\\\" 7\\u01C2\"),peg$decode(\"<%;\\u01B0/,#;\\u01B0/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01C3\"),peg$decode(\"<%;\\u01B1/,#;\\u01B1/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01C4\"),peg$decode(\"<;\\u01AD=.\\\" 7\\u01C5\"),peg$decode(\"<;\\u01AE=.\\\" 7\\u01C6\"),peg$decode(\"<;\\u01B0=.\\\" 7\\u01C7\"),peg$decode(\"<;\\u01B1=.\\\" 7\\u01C8\"),peg$decode(\"<%;\\u01B0/,#;\\u01AC/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01C9\"),peg$decode(\"<%;\\u01B1/,#;\\u01AC/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01CA\"),peg$decode(\"<%;\\u01AC/1#;\\u01AC.\\\" &\\\"/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01CB\"),peg$decode(\"<%;\\u01B2/,#;\\u01AC/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01CC\"),peg$decode(\"<%;\\u01B0/,#;\\u01B1/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01CC\"),peg$decode(\"<%;\\u01FA/@#;\\u023F/7$;k.\\\" &\\\"/)$8#:\\u01CE#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u01CD\"),peg$decode(\"<;\\u0195.# &;\\u0198=.\\\" 7\\u01CF\"),peg$decode(\"<%;\\u0178/' 8!:\\u01D1!! )=.\\\" 7\\u01D0\"),peg$decode(\"<%;\\u017C.\\\" &\\\"/2#;\\u0178/)$8\\\":\\u01D3\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01D2\"),peg$decode(\"<%;\\u017C.\\\" &\\\"/2#;\\u0178/)$8\\\":\\u01D5\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01D4\"),peg$decode(\"%;\\u0178/2#;\\u01A3/)$8\\\":\\u01D6\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u017F.) &;\\u0180.# &;\\u017E/2#;\\u0178/)$8\\\":\\u01D8\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01D7\"),peg$decode(\"%;\\u023F/& 8!:\\u01D9! )\"),peg$decode(\"%;\\u017C/2#;\\u0180/)$8\\\":\\u01DA\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u0178/2#;\\u01A3/)$8\\\":D\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u0178/' 8!:\\u01DC!! )=.\\\" 7\\u01DB\"),peg$decode(\"<%;\\u0178/' 8!:\\u01DE!! )=.\\\" 7\\u01DD\"),peg$decode(\"<%;\\u017C.\\\" &\\\"/2#;\\u0178/)$8\\\":\\u01E0\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01DF\"),peg$decode(\"<%;\\u017C.\\\" &\\\"/2#;\\u0178/)$8\\\":\\u01E2\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01E1\"),peg$decode(\"<%;\\u017C.\\\" &\\\"/2#;\\u0178/)$8\\\":\\u01E4\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01E3\"),peg$decode(\"<%;\\u017C.\\\" &\\\"/2#;\\u0178/)$8\\\":\\u01E6\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01E5\"),peg$decode(\"<%;\\u0188.# &;\\u017B/1#;\\u023F/($8\\\":\\u01E8\\\"!!)(\\\"'#&'#=.\\\" 7\\u01E7\"),peg$decode(\"%;\\u017B/;#;\\u023F/2$;\\xE6/)$8#:\\u01E9#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0178/' 8!:\\u01EB!! )=.\\\" 7\\u01EA\"),peg$decode(\"<%;\\u0178/' 8!:\\u01ED!! )=.\\\" 7\\u01EC\"),peg$decode(\"<%;\\u018C/=#%<;\\u0193=.##&&!&'#/($8\\\":\\u01EF\\\"!!)(\\\"'#&'#.\\xC5 &%;\\u018D/=#%<;\\u0193=.##&&!&'#/($8\\\":\\u01F0\\\"!!)(\\\"'#&'#.\\x9B &%;\\u018F/=#%<;\\u0193=.##&&!&'#/($8\\\":\\u01F1\\\"!!)(\\\"'#&'#.q &%;\\u0190/=#%<;\\u0193=.##&&!&'#/($8\\\":\\u01F2\\\"!!)(\\\"'#&'#.G &%;\\u0192/=#%<;\\u0193=.##&&!&'#/($8\\\":\\u01F3\\\"!!)(\\\"'#&'#=.\\\" 7\\u01EE\"),peg$decode(\"<%%3\\u01F5\\\"\\\"5!7\\u01F6.\\\" &\\\"/F#3\\u01F7\\\"\\\"5#7\\u01F8.\\\" &\\\"/2$3\\u01F9\\\"\\\"5$7\\u01FA/#$+#)(#'#(\\\"'#&'#.k &%3\\u01FB\\\"\\\"5$7\\u01FC.5 &3\\u01FD\\\"\\\"5&7\\u01FE.) &3\\u01FF\\\"\\\"5$7\\u0200.\\\" &\\\"/2#3\\u0201\\\"\\\"5$7\\u0202/#$+\\\")(\\\"'#&'#.) &3\\u0203\\\"\\\"5$7\\u0204/' 8!:\\u010B!! )=.\\\" 7\\u01F4\"),peg$decode(\"<%;\\u018E.5 &3\\u0206\\\"\\\"5%7\\u0207.) &3\\u0208\\\"\\\"5$7\\u0209/' 8!:\\u010B!! )=.\\\" 7\\u0205\"),peg$decode(\"<%3\\u020B\\\"\\\"5&7\\u020C/i#%$4(\\\"\\\"5!7)/,#0)*4(\\\"\\\"5!7)&&&#/2#3\\u020D\\\"\\\"5)7\\u020E/#$+\\\")(\\\"'#&'#.\\\" &\\\"/)$8\\\":\\u020F\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u020A\"),peg$decode(\"<%3\\u0211\\\"\\\"5'7\\u0212.\\x95 &3\\u0213\\\"\\\"5'7\\u0214.\\x89 &3\\u0215\\\"\\\"5'7\\u0216.} &%3\\u0217\\\"\\\"5$7\\u0218/7#3\\u0219\\\"\\\"5$7\\u021A.\\\" &\\\"/#$+\\\")(\\\"'#&'#.S &%3\\u0219\\\"\\\"5$7\\u021A/7#3\\u021B\\\"\\\"5%7\\u021C.\\\" &\\\"/#$+\\\")(\\\"'#&'#.) &3\\u021D\\\"\\\"5&7\\u021E/' 8!:\\u010B!! )=.\\\" 7\\u0210\"),peg$decode(\"<%%3\\u0220\\\"\\\"5#7\\u0221/V#2\\u0222\\\"\\\"6\\u02227\\u0223.A &2\\u0224\\\"\\\"6\\u02247\\u0225.5 &2\\u0226\\\"\\\"6\\u02267\\u0227.) &3\\u0228\\\"\\\"5$7\\u0229/#$+\\\")(\\\"'#&'#.q &%3\\u022A\\\"\\\"5#7\\u022B.A &3\\u01FD\\\"\\\"5&7\\u01FE.5 &3\\u022C\\\"\\\"5%7\\u022D.) &3\\u01FB\\\"\\\"5$7\\u01FC.\\\" &\\\"/2#3\\u0220\\\"\\\"5#7\\u0221/#$+\\\")(\\\"'#&'#.# &;\\u0191/' 8!:\\u010B!! )=.\\\" 7\\u021F\"),peg$decode(\"%3\\u022E\\\"\\\"5(7\\u022F/d#%$4(\\\"\\\"5!7)/,#0)*4(\\\"\\\"5!7)&&&#/2#3\\u0230\\\"\\\"5%7\\u0231/#$+\\\")(\\\"'#&'#/)$8\\\":\\u0232\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%3\\u0234\\\"\\\"5$7\\u0235/' 8!:\\u010B!! )=.\\\" 7\\u0233\"),peg$decode(\"4\\u0236\\\"\\\"5!7\\u0237\"),peg$decode(\"%2\\u0238\\\"\\\"6\\u02387\\u0239/K#$4\\u023A\\\"\\\"5!7\\u023B/,#0)*4\\u023A\\\"\\\"5!7\\u023B&&&#/)$8\\\":\\u023C\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";\\u0196.# &;\\u0197\"),peg$decode(\";\\u0199./ &;\\u019D.) &;\\u019B.# &;\\u019C\"),peg$decode(\"%%<;\\u0234.# &;>=.##&&!&'#/J#$;\\u0194.# &;\\u0193/,#0)*;\\u0194.# &;\\u0193&&&#/($8\\\":\\xD6\\\"! )(\\\"'#&'#\"),peg$decode(\"%%<;\\u0236.# &;>=.##&&!&'#/J#$;\\u0194.# &;\\u0193/,#0)*;\\u0194.# &;\\u0193&&&#/($8\\\":\\u023D\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u019E/\\x99#;\\u023F/\\x90$%$%%<;\\u019A=.##&&!&'#/1#1\\\"\\\"5!7\\u023E/#$+\\\")(\\\"'#&'#0G*%%<;\\u019A=.##&&!&'#/1#1\\\"\\\"5!7\\u023E/#$+\\\")(\\\"'#&'#&/\\\"!&,)/1$;\\u019A/($8$:\\u023F$!!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%$4\\u0240\\\"\\\"5!7\\u02410)*4\\u0240\\\"\\\"5!7\\u0241&/5#;\\u019F/,$;\\u023F/#$+#)(#'#(\\\"'#&'#\"),peg$decode(\"%2\\u0242\\\"\\\"6\\u02427\\u0243/k#$2\\u0244\\\"\\\"6\\u02447\\u0245.) &4\\u0246\\\"\\\"5!7\\u024705*2\\u0244\\\"\\\"6\\u02447\\u0245.) &4\\u0246\\\"\\\"5!7\\u0247&/7$2\\u0242\\\"\\\"6\\u02427\\u0243/($8#:\\u0248#!!)(#'#(\\\"'#&'#\"),peg$decode(\"%2\\u0249\\\"\\\"6\\u02497\\u024A/k#$26\\\"\\\"6677.) &48\\\"\\\"5!7905*26\\\"\\\"6677.) &48\\\"\\\"5!79&/7$2\\u0249\\\"\\\"6\\u02497\\u024A/($8#:\\u024B#!!)(#'#(\\\"'#&'#\"),peg$decode(\"%2\\u024C\\\"\\\"6\\u024C7\\u024D/k#$2\\u024E\\\"\\\"6\\u024E7\\u024F.) &4\\u0250\\\"\\\"5!7\\u025105*2\\u024E\\\"\\\"6\\u024E7\\u024F.) &4\\u0250\\\"\\\"5!7\\u0251&/7$2\\u024C\\\"\\\"6\\u024C7\\u024D/($8#:\\u0252#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%2\\u0254\\\"\\\"6\\u02547\\u0255/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0253\"),peg$decode(\"<%2\\u0257\\\"\\\"6\\u02577\\u0258/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0256\"),peg$decode(\"<%2\\u025A\\\"\\\"6\\u025A7\\u025B/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0259\"),peg$decode(\"<%2\\u025D\\\"\\\"6\\u025D7\\u025E/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u025C\"),peg$decode(\"<%2\\u0260\\\"\\\"6\\u02607\\u0261/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u025F\"),peg$decode(\"<%2\\u0263\\\"\\\"6\\u02637\\u0264/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0262\"),peg$decode(\"<%2\\u0266\\\"\\\"6\\u02667\\u0267/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0265\"),peg$decode(\"<%2\\u0269\\\"\\\"6\\u02697\\u026A/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0268\"),peg$decode(\"<%2\\u0249\\\"\\\"6\\u02497\\u024A/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u026B\"),peg$decode(\"<%2\\u0242\\\"\\\"6\\u02427\\u0243/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u026C\"),peg$decode(\"<%2\\u024C\\\"\\\"6\\u024C7\\u024D/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u026D\"),peg$decode(\"<%2\\u026F\\\"\\\"6\\u026F7\\u0270/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u026E\"),peg$decode(\"<%2\\u0272\\\"\\\"6\\u02727\\u0273/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0271\"),peg$decode(\"<%2\\u0275\\\"\\\"6\\u02757\\u0276/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0274\"),peg$decode(\"<%2\\u0277\\\"\\\"6\\u02777\\u0278/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u01CB\"),peg$decode(\"<%2\\u027A\\\"\\\"6\\u027A7\\u027B/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0279\"),peg$decode(\"<%2\\u027D\\\"\\\"6\\u027D7\\u027E/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u027C\"),peg$decode(\"<%2\\u027F\\\"\\\"6\\u027F7\\u0280/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u01C2\"),peg$decode(\"<%2\\u0281\\\"\\\"6\\u02817\\u0282/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u01C7\"),peg$decode(\"<%2\\u0283\\\"\\\"6\\u02837\\u0284/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u01C8\"),peg$decode(\"<%2\\u0286\\\"\\\"6\\u02867\\u0287/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0285\"),peg$decode(\"<%2\\u0289\\\"\\\"6\\u02897\\u028A/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0288\"),peg$decode(\"<%2a\\\"\\\"6a7b/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u028B\"),peg$decode(\"<%2\\u028D\\\"\\\"6\\u028D7\\u028E/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u028C\"),peg$decode(\"<%2\\u0290\\\"\\\"6\\u02907\\u0291/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u028F\"),peg$decode(\"%3\\u0292\\\"\\\"5%7\\u0293/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0294\\\"\\\"5&7\\u0295/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0296\\\"\\\"5#7\\u0297/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0298\\\"\\\"5%7\\u0299/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u029A\\\"\\\"5#7\\u029B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u029C\\\"\\\"5%7\\u029D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u029E\\\"\\\"5'7\\u029F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02A0\\\"\\\"5#7\\u02A1/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02A2\\\"\\\"5\\\"7\\u02A3/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02A4\\\"\\\"5#7\\u02A5/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02A6\\\"\\\"5&7\\u02A7/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02A8\\\"\\\"5-7\\u02A9/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02AA\\\"\\\"5&7\\u02AB/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02AC\\\"\\\"5%7\\u02AD/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02AE\\\"\\\"5'7\\u02AF/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02B0\\\"\\\"5\\\"7\\u02B1/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02B2\\\"\\\"5'7\\u02B3/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02B4\\\"\\\"5$7\\u02B5/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02B6\\\"\\\"5$7\\u02B7/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02B8\\\"\\\"5%7\\u02B9/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02BA\\\"\\\"5'7\\u02BB/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02BC\\\"\\\"5&7\\u02BD/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02BE\\\"\\\"5&7\\u02BF/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02C0\\\"\\\"5(7\\u02C1/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02C2\\\"\\\"5*7\\u02C3/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02C4\\\"\\\"5&7\\u02C5/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02C6\\\"\\\"5%7\\u02C7/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02C8\\\"\\\"5,7\\u02C9/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02CA\\\"\\\"5,7\\u02CB/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02CC\\\"\\\"517\\u02CD/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02CE\\\"\\\"5(7\\u02CF/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02D0\\\"\\\"5'7\\u02D1/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02D2\\\"\\\"5*7\\u02D3/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02D4\\\"\\\"5(7\\u02D5/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02D6\\\"\\\"5&7\\u02D7/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02D8\\\"\\\"5$7\\u02D9/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02DA\\\"\\\"5&7\\u02DB/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02DC\\\"\\\"5(7\\u02DD/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02DE\\\"\\\"5$7\\u02DF/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02E0\\\"\\\"5$7\\u02E1/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02E2\\\"\\\"5$7\\u02E3/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02E4\\\"\\\"5#7\\u02E5/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02E6\\\"\\\"5&7\\u02E7/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02E8\\\"\\\"5&7\\u02E9/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02EA\\\"\\\"5)7\\u02EB/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02EC\\\"\\\"5&7\\u02ED/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02EE\\\"\\\"5'7\\u02EF/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02F0\\\"\\\"5$7\\u02F1/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02F2\\\"\\\"5#7\\u02F3/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02F4\\\"\\\"5'7\\u02F5/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02F6\\\"\\\"5$7\\u02F7/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02F8\\\"\\\"5$7\\u02F9/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02FA\\\"\\\"5$7\\u02FB/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02FC\\\"\\\"5%7\\u02FD/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02FE\\\"\\\"5&7\\u02FF/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0300\\\"\\\"5\\\"7\\u0301/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0302\\\"\\\"5&7\\u0303/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0304\\\"\\\"5)7\\u0305/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0306\\\"\\\"5\\\"7\\u0307/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0308\\\"\\\"5%7\\u0309/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u030A\\\"\\\"5'7\\u030B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u030C\\\"\\\"5)7\\u030D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u030E\\\"\\\"5%7\\u030F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0310\\\"\\\"5&7\\u0311/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0312\\\"\\\"5'7\\u0313/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0314\\\"\\\"5)7\\u0315/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0316\\\"\\\"5$7\\u0317/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0318\\\"\\\"5\\\"7\\u0319/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u031A\\\"\\\"5&7\\u031B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u031C\\\"\\\"5$7\\u031D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u031E\\\"\\\"5#7\\u031F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0320\\\"\\\"5$7\\u0321/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0322\\\"\\\"5$7\\u0323/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0324\\\"\\\"5%7\\u0325/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0326\\\"\\\"5%7\\u0327/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0328\\\"\\\"5'7\\u0329/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u032A\\\"\\\"5\\\"7\\u032B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u032C\\\"\\\"5#7\\u032D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u032E\\\"\\\"5'7\\u032F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3y\\\"\\\"5$7z/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0330\\\"\\\"5\\\"7\\u0331/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0332\\\"\\\"5&7\\u0333/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0334\\\"\\\"5\\\"7\\u0335/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0336\\\"\\\"5\\\"7\\u0337/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0338\\\"\\\"5%7\\u0339/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u033A\\\"\\\"5%7\\u033B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u033C\\\"\\\"5$7\\u033D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u033E\\\"\\\"5&7\\u033F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0340\\\"\\\"5'7\\u0341/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0342\\\"\\\"5%7\\u0343/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0344\\\"\\\"5%7\\u0345/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0346\\\"\\\"5)7\\u0347/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0348\\\"\\\"5*7\\u0349/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u034A\\\"\\\"5&7\\u034B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u034C\\\"\\\"5'7\\u034D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u034E\\\"\\\"5'7\\u034F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0350\\\"\\\"5&7\\u0351/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0352\\\"\\\"5'7\\u0353/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0354\\\"\\\"5(7\\u0355/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0356\\\"\\\"5%7\\u0357/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0358\\\"\\\"5(7\\u0359/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u035A\\\"\\\"5#7\\u035B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u035C\\\"\\\"5%7\\u035D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u035E\\\"\\\"5)7\\u035F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0360\\\"\\\"5&7\\u0361/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0362\\\"\\\"5#7\\u0363/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0364\\\"\\\"5%7\\u0365/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0366\\\"\\\"5$7\\u0367/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0368\\\"\\\"5)7\\u0369/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u036A\\\"\\\"5$7\\u036B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u036C\\\"\\\"5\\\"7\\u036D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u036E\\\"\\\"5+7\\u036F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0370\\\"\\\"5'7\\u0371/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0372\\\"\\\"5%7\\u0373/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0374\\\"\\\"5&7\\u0375/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0376\\\"\\\"5&7\\u0377/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0378\\\"\\\"5%7\\u0379/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u037A\\\"\\\"5&7\\u037B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u037C\\\"\\\"5&7\\u037D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u037E\\\"\\\"5$7\\u037F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0380\\\"\\\"5'7\\u0381/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0382\\\"\\\"5$7\\u0383/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0384\\\"\\\"5%7\\u0385/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0386\\\"\\\"5$7\\u0387/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0388\\\"\\\"5'7\\u0389/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%;\\u0235/' 8!:\\u038A!! )\"),peg$decode(\";\\u01B7.\\u02F9 &;\\u01B8.\\u02F3 &;\\u01B9.\\u02ED &;\\u01BA.\\u02E7 &;\\u01BB.\\u02E1 &;\\u01BC.\\u02DB &;\\u01BD.\\u02D5 &;\\u01BE.\\u02CF &;\\u01BF.\\u02C9 &;\\u01C0.\\u02C3 &;\\u01C1.\\u02BD &;\\u01C2.\\u02B7 &;\\u01C3.\\u02B1 &;\\u01C4.\\u02AB &;\\u01C5.\\u02A5 &;\\u01C6.\\u029F &;\\u01C7.\\u0299 &;\\u01C8.\\u0293 &;\\u01C9.\\u028D &;\\u01CA.\\u0287 &;\\u01CB.\\u0281 &;\\u01CC.\\u027B &;\\u01CD.\\u0275 &;\\u01CE.\\u026F &;\\u01CF.\\u0269 &;\\u01D0.\\u0263 &;\\u01D1.\\u025D &;\\u01D2.\\u0257 &;\\u01D3.\\u0251 &;\\u01D4.\\u024B &;\\u01D5.\\u0245 &;\\u01D6.\\u023F &;\\u01D7.\\u0239 &;\\u01D8.\\u0233 &;\\u01D9.\\u022D &;\\u01DA.\\u0227 &;\\u01DB.\\u0221 &;\\u01DC.\\u021B &;\\u01DD.\\u0215 &;\\u01DE.\\u020F &;\\u01DF.\\u0209 &;\\u01E0.\\u0203 &;\\u01E1.\\u01FD &;\\u01E2.\\u01F7 &;\\u01E3.\\u01F1 &;\\u01E4.\\u01EB &;\\u01E5.\\u01E5 &;\\u01E6.\\u01DF &;\\u01E7.\\u01D9 &;\\u01E8.\\u01D3 &;\\u01E9.\\u01CD &;\\u01EA.\\u01C7 &;\\u01EB.\\u01C1 &;\\u01EC.\\u01BB &;\\u01ED.\\u01B5 &;\\u01EE.\\u01AF &;\\u01EF.\\u01A9 &;\\u01F0.\\u01A3 &;\\u01F1.\\u019D &;\\u01F2.\\u0197 &;\\u01F3.\\u0191 &;\\u01F4.\\u018B &;\\u01F5.\\u0185 &;\\u01F6.\\u017F &;\\u01F7.\\u0179 &;\\u01F8.\\u0173 &;\\u01F9.\\u016D &;\\u01FA.\\u0167 &;\\u01FB.\\u0161 &;\\u01FC.\\u015B &;\\u01FD.\\u0155 &;\\u01FE.\\u014F &;\\u01FF.\\u0149 &;\\u0200.\\u0143 &;\\u0201.\\u013D &;\\u0202.\\u0137 &;\\u0203.\\u0131 &;\\u0204.\\u012B &;\\u0205.\\u0125 &;\\u0206.\\u011F &;\\u0207.\\u0119 &;\\u0208.\\u0113 &;\\u0209.\\u010D &;\\u020A.\\u0107 &;\\u020B.\\u0101 &;\\u020C.\\xFB &;\\u020D.\\xF5 &;\\u020E.\\xEF &;\\u020F.\\xE9 &;\\u0210.\\xE3 &;\\u0211.\\xDD &;\\u0212.\\xD7 &;\\u0213.\\xD1 &;\\u0214.\\xCB &;\\u0215.\\xC5 &;\\u0216.\\xBF &;\\u0217.\\xB9 &;\\u0218.\\xB3 &;\\u0219.\\xAD &;\\u021A.\\xA7 &;\\u021B.\\xA1 &;\\u021C.\\x9B &;\\u021E.\\x95 &;\\u021F.\\x8F &;\\u0220.\\x89 &;\\u0221.\\x83 &;\\u0223.} &;\\u0224.w &;\\u0225.q &;\\u0226.k &;\\u0227.e &;\\u0228._ &;\\u0229.Y &;\\u022A.S &;\\u022B.M &;\\u022C.G &;\\u022D.A &;\\u022E.; &;\\u022F.5 &;\\u0230./ &;\\u0231.) &;\\u0232.# &;\\u0233\"),peg$decode(\";\\u01B9.\\u0167 &;\\u01BB.\\u0161 &;\\u01BC.\\u015B &;\\u01BE.\\u0155 &;\\u01BF.\\u014F &;\\u01C2.\\u0149 &;\\u01C5.\\u0143 &;\\u01C8.\\u013D &;\\u01CA.\\u0137 &;\\u01CB.\\u0131 &;\\u01CD.\\u012B &;\\u01CF.\\u0125 &;\\u01D0.\\u011F &;\\u01D6.\\u0119 &;\\u01D7.\\u0113 &;\\u01D9.\\u010D &;\\u01DC.\\u0107 &;\\u01DD.\\u0101 &;\\u01DF.\\xFB &;\\u01E1.\\xF5 &;\\u01E2.\\xEF &;\\u01E4.\\xE9 &;\\u01E8.\\xE3 &;\\u01E9.\\xDD &;\\u01EC.\\xD7 &;\\u01ED.\\xD1 &;\\u01F1.\\xCB &;\\u01F2.\\xC5 &;\\u01F6.\\xBF &;\\u01F8.\\xB9 &;\\u01F9.\\xB3 &;\\u01FA.\\xAD &;\\u01FB.\\xA7 &;\\u01FC.\\xA1 &;\\u0200.\\x9B &;\\u0204.\\x95 &;\\u0205.\\x8F &;\\u0206.\\x89 &;\\u0209.\\x83 &;\\u020A.} &;\\u020B.w &;\\u020F.q &;\\u0213.k &;\\u021F.e &;\\u0220._ &;\\u0221.Y &;\\u0224.S &;\\u0225.M &;\\u0226.G &;\\u0228.A &;\\u0229.; &;\\u022A.5 &;\\u022B./ &;\\u022D.) &;\\u0230.# &;\\u0231\"),peg$decode(\";\\u0238.. &%;\\u0239/& 8!:\\u038B! )\"),peg$decode(\"<%2\\u038D\\\"\\\"6\\u038D7\\u038E/\\x87#$%%<4\\u038F\\\"\\\"5!7\\u0390=.##&&!&'#/1#1\\\"\\\"5!7\\u023E/#$+\\\")(\\\"'#&'#0M*%%<4\\u038F\\\"\\\"5!7\\u0390=.##&&!&'#/1#1\\\"\\\"5!7\\u023E/#$+\\\")(\\\"'#&'#&/#$+\\\")(\\\"'#&'#=.\\\" 7\\u038C\"),peg$decode(\"<%;\\u023A/5#;\\u023E/,$;\\u023B/#$+#)(#'#(\\\"'#&'#=.\\\" 7\\u0391\"),peg$decode(\"2\\u0392\\\"\\\"6\\u03927\\u0393\"),peg$decode(\"2\\u0394\\\"\\\"6\\u03947\\u0395\"),peg$decode(\"$%%<;\\u023B.# &;\\u023A=.##&&!&'#/1#1\\\"\\\"5!7\\u023E/#$+\\\")(\\\"'#&'#/P#0M*%%<;\\u023B.# &;\\u023A=.##&&!&'#/1#1\\\"\\\"5!7\\u023E/#$+\\\")(\\\"'#&'#&&&#\"),peg$decode(\";\\u023C.# &;\\u0239\"),peg$decode(\"%;\\u023D/K#$4\\u0396\\\"\\\"5!7\\u0397.# &;\\u023D0/*4\\u0396\\\"\\\"5!7\\u0397.# &;\\u023D&/#$+\\\")(\\\"'#&'#\"),peg$decode(\"<%$4\\u0396\\\"\\\"5!7\\u0397.# &;\\u02370/*4\\u0396\\\"\\\"5!7\\u0397.# &;\\u0237&/' 8!:-!! )=.\\\" 7\\u0398\"),peg$decode(\"2\\u0399\\\"\\\"6\\u03997\\u039A\")];var peg$currPos=0;var peg$savedPos=0;var peg$posDetailsCache=[{line:1,column:1}];var peg$maxFailPos=0;var peg$maxFailExpected=[];var peg$silentFails=0;var peg$resultsCache={};var peg$ruleNames=[\"start\",\"start_streaming\",\"stmt_list\",\"semi_optional\",\"semi_required\",\"stmt_list_tail\",\"type_definition\",\"type_definition_types\",\"datatype_custom\",\"datatype_word_tail\",\"type_definition_args\",\"definition_args_loop\",\"literal_value\",\"literal_null\",\"literal_date\",\"literal_string\",\"literal_string_single\",\"literal_string_schar\",\"literal_blob\",\"literal_text\",\"number_sign\",\"literal_number_signed\",\"literal_number\",\"literal_number_decimal\",\"number_decimal_node\",\"number_decimal_full\",\"number_decimal_fraction\",\"number_decimal_exponent\",\"literal_number_hex\",\"number_hex\",\"number_digit\",\"bind_parameter\",\"bind_parameter_numbered\",\"bind_number_id\",\"bind_parameter_named\",\"bind_parameter_tcl\",\"tcl_suffix\",\"expression_exists\",\"expression_exists_ne\",\"expression_raise\",\"expression_raise_args\",\"raise_args_ignore\",\"raise_args_message\",\"expression_root\",\"expression_wrapped\",\"expression_recur\",\"expression_unary_collate\",\"expression_unary\",\"expression_unary_op\",\"expression_collate\",\"expression_concat\",\"expression_multiply\",\"expression_multiply_op\",\"expression_add\",\"expression_add_op\",\"expression_shift\",\"expression_shift_op\",\"expression_compare\",\"expression_compare_op\",\"expression_equiv\",\"expression_equiv_tails\",\"expression_equiv_null_op\",\"expression_equiv_op\",\"expression_cast\",\"type_alias\",\"expression_case\",\"case_expression\",\"expression_case_when\",\"expression_case_else\",\"expression_postfix\",\"expression_postfix_tail\",\"expression_like\",\"expression_escape\",\"expression_between\",\"expression_between_tail\",\"expression_is_not\",\"expression_in\",\"expression_in_target\",\"expression_list_or_select\",\"expression_and\",\"expression\",\"expression_list\",\"expression_list_loop\",\"expression_list_rest\",\"function_call\",\"function_call_args\",\"args_list_distinct\",\"error_message\",\"stmt\",\"stmt_modifier\",\"modifier_query\",\"stmt_nodes\",\"stmt_commit\",\"stmt_begin\",\"commit_transaction\",\"stmt_begin_modifier\",\"stmt_rollback\",\"rollback_savepoint\",\"savepoint_name\",\"savepoint_alt\",\"stmt_savepoint\",\"stmt_release\",\"stmt_alter\",\"alter_start\",\"alter_action\",\"alter_action_rename\",\"alter_action_add\",\"action_add_modifier\",\"stmt_crud\",\"stmt_core_with\",\"clause_with\",\"clause_with_recursive\",\"clause_with_tables\",\"clause_with_loop\",\"expression_cte\",\"select_alias\",\"select_wrapped\",\"stmt_select_full\",\"stmt_sqlite\",\"stmt_attach\",\"attach_arg\",\"stmt_detach\",\"stmt_vacuum\",\"vacuum_target\",\"stmt_analyze\",\"analyze_arg\",\"stmt_reindex\",\"reindex_arg\",\"stmt_pragma\",\"pragma_expression\",\"pragma_value\",\"pragma_value_literal\",\"pragma_value_bool\",\"pragma_bool_id\",\"pragma_value_name\",\"stmt_crud_types\",\"stmt_select\",\"stmt_core_order\",\"stmt_core_limit\",\"stmt_core_limit_offset\",\"limit_offset_variant\",\"limit_offset_variant_name\",\"select_loop\",\"select_loop_union\",\"select_parts\",\"select_parts_core\",\"select_core_select\",\"select_modifier\",\"select_modifier_distinct\",\"select_modifier_all\",\"select_target\",\"select_target_loop\",\"select_core_from\",\"stmt_core_where\",\"select_core_group\",\"select_core_having\",\"select_node\",\"select_node_star\",\"select_node_star_qualified\",\"select_node_aliased\",\"select_source\",\"source_loop_tail\",\"select_cross_clause\",\"select_join_clause\",\"table_or_sub\",\"table_or_sub_func\",\"table_qualified\",\"table_qualified_id\",\"table_or_sub_index_node\",\"index_node_indexed\",\"index_node_none\",\"table_or_sub_sub\",\"table_or_sub_select\",\"alias\",\"join_operator\",\"join_operator_natural\",\"join_operator_types\",\"operator_types_hand\",\"types_hand_outer\",\"operator_types_misc\",\"join_condition\",\"join_condition_on\",\"join_condition_using\",\"select_parts_values\",\"stmt_core_order_list\",\"stmt_core_order_list_loop\",\"stmt_core_order_list_item\",\"select_star\",\"stmt_fallback_types\",\"stmt_insert\",\"insert_keyword\",\"insert_keyword_ins\",\"insert_keyword_repl\",\"insert_keyword_mod\",\"insert_target\",\"insert_into\",\"insert_into_start\",\"insert_results\",\"loop_columns\",\"loop_column_tail\",\"loop_name\",\"insert_value\",\"insert_value_start\",\"insert_values_list\",\"insert_values_loop\",\"expression_list_wrapped\",\"insert_default\",\"operator_compound\",\"compound_union\",\"compound_union_all\",\"stmt_update\",\"update_start\",\"update_fallback\",\"update_set\",\"update_columns\",\"update_columns_tail\",\"update_column\",\"stmt_delete\",\"delete_start\",\"stmt_create\",\"create_start\",\"create_table_only\",\"create_index_only\",\"create_trigger_only\",\"create_view_only\",\"create_virtual_only\",\"create_table\",\"create_table_start\",\"create_core_tmp\",\"create_core_ine\",\"create_table_source\",\"table_source_def\",\"source_def_rowid\",\"source_def_loop\",\"source_def_tail\",\"source_tbl_loop\",\"source_def_column\",\"source_def_name\",\"column_type\",\"column_constraints\",\"column_constraint_tail\",\"column_constraint\",\"constraint_name\",\"constraint_name_loop\",\"column_constraint_types\",\"column_constraint_foreign\",\"column_constraint_primary\",\"col_primary_start\",\"col_primary_auto\",\"column_constraint_null\",\"constraint_null_types\",\"constraint_null_value\",\"column_constraint_check\",\"column_constraint_default\",\"column_default_values\",\"column_constraint_collate\",\"table_constraint\",\"table_constraint_types\",\"table_constraint_check\",\"table_constraint_primary\",\"primary_start\",\"primary_start_normal\",\"primary_start_unique\",\"primary_columns\",\"primary_columns_index\",\"primary_columns_table\",\"primary_column_tail\",\"primary_column\",\"primary_column_types\",\"column_collate\",\"column_collate_loop\",\"primary_column_dir\",\"primary_conflict\",\"primary_conflict_start\",\"constraint_check\",\"table_constraint_foreign\",\"foreign_start\",\"foreign_clause\",\"foreign_references\",\"foreign_actions\",\"foreign_actions_tail\",\"foreign_action\",\"foreign_action_on\",\"action_on_action\",\"on_action_set\",\"on_action_cascade\",\"on_action_none\",\"foreign_action_match\",\"foreign_deferrable\",\"deferrable_initially\",\"table_source_select\",\"create_index\",\"create_index_start\",\"index_unique\",\"index_on\",\"create_trigger\",\"create_trigger_start\",\"trigger_conditions\",\"trigger_apply_mods\",\"trigger_apply_instead\",\"trigger_do\",\"trigger_do_on\",\"trigger_do_update\",\"do_update_of\",\"do_update_columns\",\"trigger_foreach\",\"trigger_when\",\"trigger_action\",\"action_loop\",\"action_loop_stmt\",\"create_view\",\"id_view_expression\",\"create_view_start\",\"create_as_select\",\"create_virtual\",\"create_virtual_start\",\"virtual_module\",\"virtual_args\",\"virtual_args_loop\",\"virtual_args_tail\",\"virtual_arg_types\",\"virtual_column_name\",\"stmt_drop\",\"drop_start\",\"drop_types\",\"drop_ie\",\"binary_concat\",\"binary_plus\",\"binary_minus\",\"binary_multiply\",\"binary_divide\",\"binary_mod\",\"binary_left\",\"binary_right\",\"binary_and\",\"binary_or\",\"binary_lt\",\"binary_gt\",\"binary_lte\",\"binary_gte\",\"binary_equal\",\"binary_notequal_a\",\"binary_notequal_b\",\"binary_lang_isnt\",\"id_name\",\"id_database\",\"id_function\",\"id_table\",\"id_table_qualified\",\"id_column\",\"column_unqualified\",\"column_qualifiers\",\"id_column_qualified\",\"id_collation\",\"id_savepoint\",\"id_index\",\"id_trigger\",\"id_view\",\"id_pragma\",\"id_cte\",\"id_table_expression\",\"id_constraint_table\",\"id_constraint_column\",\"datatype_types\",\"datatype_text\",\"datatype_real\",\"datatype_real_double\",\"datatype_numeric\",\"datatype_integer\",\"datatype_integer_fp\",\"datatype_none\",\"name_char\",\"unicode_char\",\"name\",\"name_quoted\",\"name_unquoted\",\"name_reserved\",\"name_bracketed\",\"bracket_terminator\",\"name_dblquoted\",\"name_sglquoted\",\"name_backticked\",\"sym_bopen\",\"sym_bclose\",\"sym_popen\",\"sym_pclose\",\"sym_comma\",\"sym_dot\",\"sym_star\",\"sym_quest\",\"sym_sglquote\",\"sym_dblquote\",\"sym_backtick\",\"sym_tilde\",\"sym_plus\",\"sym_minus\",\"sym_equal\",\"sym_amp\",\"sym_pipe\",\"sym_mod\",\"sym_lt\",\"sym_gt\",\"sym_excl\",\"sym_semi\",\"sym_colon\",\"sym_fslash\",\"sym_bslash\",\"ABORT\",\"ACTION\",\"ADD\",\"AFTER\",\"ALL\",\"ALTER\",\"ANALYZE\",\"AND\",\"AS\",\"ASC\",\"ATTACH\",\"AUTOINCREMENT\",\"BEFORE\",\"BEGIN\",\"BETWEEN\",\"BY\",\"CASCADE\",\"CASE\",\"CAST\",\"CHECK\",\"COLLATE\",\"COLUMN\",\"COMMIT\",\"CONFLICT\",\"CONSTRAINT\",\"CREATE\",\"CROSS\",\"CURRENT_DATE\",\"CURRENT_TIME\",\"CURRENT_TIMESTAMP\",\"DATABASE\",\"DEFAULT\",\"DEFERRABLE\",\"DEFERRED\",\"DELETE\",\"DESC\",\"DETACH\",\"DISTINCT\",\"DROP\",\"EACH\",\"ELSE\",\"END\",\"ESCAPE\",\"EXCEPT\",\"EXCLUSIVE\",\"EXISTS\",\"EXPLAIN\",\"FAIL\",\"FOR\",\"FOREIGN\",\"FROM\",\"FULL\",\"GLOB\",\"GROUP\",\"HAVING\",\"IF\",\"IGNORE\",\"IMMEDIATE\",\"IN\",\"INDEX\",\"INDEXED\",\"INITIALLY\",\"INNER\",\"INSERT\",\"INSTEAD\",\"INTERSECT\",\"INTO\",\"IS\",\"ISNULL\",\"JOIN\",\"KEY\",\"LEFT\",\"LIKE\",\"LIMIT\",\"MATCH\",\"NATURAL\",\"NO\",\"NOT\",\"NOTNULL\",\"NULL\",\"OF\",\"OFFSET\",\"ON\",\"OR\",\"ORDER\",\"OUTER\",\"PLAN\",\"PRAGMA\",\"PRIMARY\",\"QUERY\",\"RAISE\",\"RECURSIVE\",\"REFERENCES\",\"REGEXP\",\"REINDEX\",\"RELEASE\",\"RENAME\",\"REPLACE\",\"RESTRICT\",\"RIGHT\",\"ROLLBACK\",\"ROW\",\"ROWID\",\"SAVEPOINT\",\"SELECT\",\"SET\",\"TABLE\",\"TEMP\",\"TEMPORARY\",\"THEN\",\"TO\",\"TRANSACTION\",\"TRIGGER\",\"UNION\",\"UNIQUE\",\"UPDATE\",\"USING\",\"VACUUM\",\"VALUES\",\"VIEW\",\"VIRTUAL\",\"WHEN\",\"WHERE\",\"WITH\",\"WITHOUT\",\"reserved_words\",\"reserved_word_list\",\"reserved_critical_list\",\"comment\",\"comment_line\",\"comment_block\",\"comment_block_start\",\"comment_block_end\",\"comment_block_body\",\"block_body_nodes\",\"comment_block_feed\",\"o\",\"_TODO_\"];var peg$descNames=[null,null,null,null,null,null,\"Type Definition\",null,\"Custom Datatype Name\",null,\"Type Definition Arguments\",null,null,\"Null Literal\",\"Date Literal\",\"String Literal\",\"Single-quoted String Literal\",null,\"Blob Literal\",null,\"Number Sign\",null,null,null,\"Decimal Literal\",null,null,\"Decimal Literal Exponent\",\"Hexidecimal Literal\",null,null,\"Bind Parameter\",\"Numbered Bind Parameter\",null,\"Named Bind Parameter\",\"TCL Bind Parameter\",null,\"EXISTS Expression\",\"EXISTS Keyword\",\"RAISE Expression\",\"RAISE Expression Arguments\",\"IGNORE Keyword\",null,null,null,null,null,null,null,\"COLLATE Expression\",null,null,null,null,null,null,null,null,null,null,null,null,null,\"CAST Expression\",\"Type Alias\",\"CASE Expression\",null,\"WHEN Clause\",\"ELSE Clause\",null,null,\"Comparison Expression\",\"ESCAPE Expression\",\"BETWEEN Expression\",null,null,\"IN Expression\",null,null,null,null,\"Expression List\",null,null,\"Function Call\",\"Function Call Arguments\",null,\"Error Message\",\"Statement\",\"QUERY PLAN\",\"QUERY PLAN Keyword\",null,\"END Transaction Statement\",\"BEGIN Transaction Statement\",null,null,\"ROLLBACK Statement\",\"TO Clause\",null,null,\"SAVEPOINT Statement\",\"RELEASE Statement\",\"ALTER TABLE Statement\",\"ALTER TABLE Keyword\",null,\"RENAME TO Keyword\",\"ADD COLUMN Keyword\",null,null,\"WITH Clause\",null,null,null,null,\"Common Table Expression\",null,null,null,null,\"ATTACH Statement\",null,\"DETACH Statement\",\"VACUUM Statement\",null,\"ANALYZE Statement\",null,\"REINDEX Statement\",null,\"PRAGMA Statement\",null,null,null,null,null,null,null,\"SELECT Statement\",\"ORDER BY Clause\",\"LIMIT Clause\",\"OFFSET Clause\",null,null,null,\"Union Operation\",null,null,\"SELECT Results Clause\",\"SELECT Results Modifier\",null,null,null,null,\"FROM Clause\",\"WHERE Clause\",\"GROUP BY Clause\",\"HAVING Clause\",null,null,null,null,null,null,\"CROSS JOIN Operation\",\"JOIN Operation\",null,null,\"Qualified Table\",\"Qualified Table Identifier\",\"Qualfied Table Index\",null,null,\"SELECT Source\",\"Subquery\",\"Alias\",\"JOIN Operator\",null,null,null,null,null,\"JOIN Constraint\",\"Join ON Clause\",\"Join USING Clause\",\"VALUES Clause\",null,null,\"Ordering Expression\",\"Star\",\"Fallback Type\",\"INSERT Statement\",null,\"INSERT Keyword\",\"REPLACE Keyword\",\"INSERT OR Modifier\",null,\"INTO Clause\",\"INTO Keyword\",\"VALUES Clause\",\"Column List\",null,\"Column Name\",\"VALUES Clause\",\"VALUES Keyword\",null,null,\"Wrapped Expression List\",\"DEFAULT VALUES Clause\",\"Compound Operator\",\"UNION Operator\",null,\"UPDATE Statement\",\"UPDATE Keyword\",\"UPDATE OR Modifier\",\"SET Clause\",null,null,\"Column Assignment\",\"DELETE Statement\",\"DELETE Keyword\",\"CREATE Statement\",null,null,null,null,null,null,\"CREATE TABLE Statement\",null,null,\"IF NOT EXISTS Modifier\",null,\"Table Definition\",null,null,null,null,\"Column Definition\",null,\"Column Datatype\",null,null,\"Column Constraint\",null,\"CONSTRAINT Name\",null,\"FOREIGN KEY Column Constraint\",\"PRIMARY KEY Column Constraint\",\"PRIMARY KEY Keyword\",\"AUTOINCREMENT Keyword\",null,\"UNIQUE Column Constraint\",\"NULL Column Constraint\",\"CHECK Column Constraint\",\"DEFAULT Column Constraint\",null,\"COLLATE Column Constraint\",\"Table Constraint\",null,\"CHECK Table Constraint\",\"PRIMARY KEY Table Constraint\",null,\"PRIMARY KEY Keyword\",\"UNIQUE Keyword\",null,null,null,null,\"Indexed Column\",null,\"Collation\",null,\"Column Direction\",null,\"ON CONFLICT Keyword\",null,\"FOREIGN KEY Table Constraint\",\"FOREIGN KEY Keyword\",null,\"REFERENCES Clause\",null,null,\"FOREIGN KEY Action Clause\",null,\"FOREIGN KEY Action\",null,null,null,null,\"DEFERRABLE Clause\",null,null,\"CREATE INDEX Statement\",null,null,\"ON Clause\",\"CREATE TRIGGER Statement\",null,\"Conditional Clause\",null,null,\"Conditional Action\",null,null,null,null,null,\"WHEN Clause\",\"Actions Clause\",null,null,\"CREATE VIEW Statement\",null,null,null,\"CREATE VIRTUAL TABLE Statement\",null,null,\"Module Arguments\",null,null,null,null,\"DROP Statement\",\"DROP Keyword\",\"DROP Type\",\"IF EXISTS Keyword\",\"Or\",\"Add\",\"Subtract\",\"Multiply\",\"Divide\",\"Modulo\",\"Shift Left\",\"Shift Right\",\"Logical AND\",\"Logical OR\",\"Less Than\",\"Greater Than\",\"Less Than Or Equal\",\"Greater Than Or Equal\",\"Equal\",\"Not Equal\",\"Not Equal\",\"IS\",\"Identifier\",\"Database Identifier\",\"Function Identifier\",\"Table Identifier\",null,\"Column Identifier\",null,null,null,\"Collation Identifier\",\"Savepoint Identifier\",\"Index Identifier\",\"Trigger Identifier\",\"View Identifier\",\"Pragma Identifier\",\"CTE Identifier\",null,\"Table Constraint Identifier\",\"Column Constraint Identifier\",\"Datatype Name\",\"TEXT Datatype Name\",\"REAL Datatype Name\",\"DOUBLE Datatype Name\",\"NUMERIC Datatype Name\",\"INTEGER Datatype Name\",null,\"BLOB Datatype Name\",null,null,null,null,null,null,null,null,null,null,null,\"Open Bracket\",\"Close Bracket\",\"Open Parenthesis\",\"Close Parenthesis\",\"Comma\",\"Period\",\"Asterisk\",\"Question Mark\",\"Single Quote\",\"Double Quote\",\"Backtick\",\"Tilde\",\"Plus\",\"Minus\",\"Equal\",\"Ampersand\",\"Pipe\",\"Modulo\",\"Less Than\",\"Greater Than\",\"Exclamation\",\"Semicolon\",\"Colon\",\"Forward Slash\",\"Backslash\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"Line Comment\",\"Block Comment\",null,null,null,null,null,\"Whitespace\",null];var peg$tracer=\"tracer\"in options?options.tracer:new peg$DefaultTracer();var peg$result;if(\"startRule\"in options){if(!(options.startRule in peg$startRuleIndices)){throw new Error(\"Can't start parsing from rule \\\"\"+options.startRule+\"\\\".\");}peg$startRuleIndex=peg$startRuleIndices[options.startRule];}function text(){return input.substring(peg$savedPos,peg$currPos);}function location(){return peg$computeLocation(peg$savedPos,peg$currPos);}function expected(description,location){location=location!==undefined?location:peg$computeLocation(peg$savedPos,peg$currPos);throw peg$buildStructuredError([peg$otherExpectation(description)],input.substring(peg$savedPos,peg$currPos),location);}function error(message,location){location=location!==undefined?location:peg$computeLocation(peg$savedPos,peg$currPos);throw peg$buildSimpleError(message,location);}function peg$literalExpectation(text,ignoreCase){return{type:\"literal\",text:text,ignoreCase:ignoreCase};}function peg$classExpectation(parts,inverted,ignoreCase){return{type:\"class\",parts:parts,inverted:inverted,ignoreCase:ignoreCase};}function peg$anyExpectation(){return{type:\"any\"};}function peg$endExpectation(){return{type:\"end\"};}function peg$otherExpectation(description){return{type:\"other\",description:description};}function peg$computePosDetails(pos){var details=peg$posDetailsCache[pos];var p;if(details){return details;}else{p=pos-1;while(!peg$posDetailsCache[p]){p--;}details=peg$posDetailsCache[p];details={line:details.line,column:details.column};while(ppeg$maxFailPos){peg$maxFailPos=peg$currPos;peg$maxFailExpected=[];}peg$maxFailExpected.push(expected);}function peg$buildSimpleError(message,location){return new peg$SyntaxError(message,null,null,location);}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location);}function peg$decode(s){return s.split(\"\").map(function(ch){return ch.charCodeAt(0)-32;});}function peg$parseRule(index){var bc=peg$bytecode[index];var ip=0;var ips=[];var end=bc.length;var ends=[];var stack=[];var startPos=peg$currPos;var params;peg$tracer.trace({type:\"rule.enter\",rule:peg$ruleNames[index],description:peg$descNames[index],location:peg$computeLocation(startPos,startPos)});var key=peg$currPos*545+index;var cached=peg$resultsCache[key];if(cached){peg$currPos=cached.nextPos;if(cached.result!==peg$FAILED){peg$tracer.trace({type:\"rule.match\",rule:peg$ruleNames[index],description:peg$descNames[index],result:cached.result,location:peg$computeLocation(startPos,peg$currPos)});}else{peg$tracer.trace({type:\"rule.fail\",rule:peg$ruleNames[index],description:peg$descNames[index],location:peg$computeLocation(startPos,startPos)});}return cached.result;}while(true){while(ippeg$currPos){end=ip+3+bc[ip+1];ip+=3;}else{end=ip+3+bc[ip+1]+bc[ip+2];ip+=3+bc[ip+1];}break;case 18:ends.push(end);ips.push(ip+4+bc[ip+2]+bc[ip+3]);if(input.substr(peg$currPos,peg$consts[bc[ip+1]].length)===peg$consts[bc[ip+1]]){end=ip+4+bc[ip+2];ip+=4;}else{end=ip+4+bc[ip+2]+bc[ip+3];ip+=4+bc[ip+2];}break;case 19:ends.push(end);ips.push(ip+4+bc[ip+2]+bc[ip+3]);if(input.substr(peg$currPos,peg$consts[bc[ip+1]].length).toLowerCase()===peg$consts[bc[ip+1]]){end=ip+4+bc[ip+2];ip+=4;}else{end=ip+4+bc[ip+2]+bc[ip+3];ip+=4+bc[ip+2];}break;case 20:ends.push(end);ips.push(ip+4+bc[ip+2]+bc[ip+3]);if(peg$consts[bc[ip+1]].test(input.charAt(peg$currPos))){end=ip+4+bc[ip+2];ip+=4;}else{end=ip+4+bc[ip+2]+bc[ip+3];ip+=4+bc[ip+2];}break;case 21:stack.push(input.substr(peg$currPos,bc[ip+1]));peg$currPos+=bc[ip+1];ip+=2;break;case 22:stack.push(peg$consts[bc[ip+1]]);peg$currPos+=peg$consts[bc[ip+1]].length;ip+=2;break;case 23:stack.push(peg$FAILED);if(peg$silentFails===0){peg$fail(peg$consts[bc[ip+1]]);}ip+=2;break;case 24:peg$savedPos=stack[stack.length-1-bc[ip+1]];ip+=2;break;case 25:peg$savedPos=peg$currPos;ip++;break;case 26:params=bc.slice(ip+4,ip+4+bc[ip+3]).map(function(p){return stack[stack.length-1-p];});stack.splice(stack.length-bc[ip+2],bc[ip+2],peg$consts[bc[ip+1]].apply(null,params));ip+=4+bc[ip+3];break;case 27:stack.push(peg$parseRule(bc[ip+1]));ip+=2;break;case 28:peg$silentFails++;ip++;break;case 29:peg$silentFails--;ip++;break;default:throw new Error(\"Invalid opcode: \"+bc[ip]+\".\");}}if(ends.length>0){end=ends.pop();ip=ips.pop();}else{break;}}peg$resultsCache[key]={nextPos:peg$currPos,result:stack[0]};if(stack[0]!==peg$FAILED){peg$tracer.trace({type:\"rule.match\",rule:peg$ruleNames[index],description:peg$descNames[index],result:stack[0],location:peg$computeLocation(startPos,peg$currPos)});}else{peg$tracer.trace({type:\"rule.fail\",rule:peg$ruleNames[index],description:peg$descNames[index],location:peg$computeLocation(startPos,startPos)});}return stack[0];}function makeArray(arr){if(!isOkay(arr)){return[];}return!Array.isArray(arr)?[arr]:arr;}function isOkay(obj){return obj!=null;}function foldString(parts){var glue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:' ';var folded=parts.filter(function(part){return isOkay(part);}).reduce(function(prev,cur){return\"\"+prev+nodeToString(cur)+glue;},'');return folded.trim();}function foldStringWord(parts){return foldString(parts,'');}function foldStringKey(parts){return foldString(parts).toLowerCase();}function flattenAll(arr){return arr.filter(function(part){return isOkay(part);}).reduce(function(prev,cur){return prev.concat(cur);},[]);}function unescape(str){var quoteChar=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'\\'';var re=new RegExp(quoteChar+\"{2}\",'g');return nodeToString(str).replace(re,quoteChar);}function nodeToString(){var node=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];return makeArray(node).join('');}function textNode(node){return nodeToString(node).trim();}function keyNode(node){return textNode(node).toLowerCase();}function isArrayOkay(arr){return Array.isArray(arr)&&arr.length>0&&isOkay(arr[0]);}function composeBinary(first,rest){return rest.reduce(function(left,_ref7){var _ref8=_slicedToArray(_ref7,4);var x=_ref8[0];var operation=_ref8[1];var y=_ref8[2];var right=_ref8[3];return{'type':'expression','format':'binary','variant':'operation','operation':keyNode(operation),'left':left,'right':right};},first);}peg$result=peg$parseRule(peg$startRuleIndex);if(peg$result!==peg$FAILED&&peg$currPos===input.length){return peg$result;}else{if(peg$result!==peg$FAILED&&peg$currPos=0;i-=1){if(func(arr[i])){return i;}}return-1;}function takeWhile(arr,func){var len=arr.length;var i=0;for(;i1){return false;}if(!deep){if(elem.indentation>bestNode.indentation){bestNode=elem;}else{deep=true;}}else if(/^(stmt)$/i.test(elem.rule)){deep=true;return true;}return true;});if(chain.length){location=bestNode.location;firstNode=chain.find(function(elem){return that.firstNodeRule.test(elem.description)&&elem.description!==bestNode.description&&elem.indentation!==bestNode.indentation;});if(firstNode!=null){if(this.statementRule.test(bestNode.description)&&this.statementRule.test(firstNode.description)){chainDetail=firstNode.description;}else{chainDetail=bestNode.description+' ('+firstNode.description+')';}}else{chainDetail=bestNode.description;}message='Syntax error found near '+chainDetail;Object.assign(err,{'message':message,'location':location});}return err;};return Tracer;}();\n\n},{}]},{},[1])(1)\n});","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n","exports.publicEncrypt = require('./publicEncrypt')\nexports.privateDecrypt = require('./privateDecrypt')\n\nexports.privateEncrypt = function privateEncrypt (key, buf) {\n return exports.publicEncrypt(key, buf, true)\n}\n\nexports.publicDecrypt = function publicDecrypt (key, buf) {\n return exports.privateDecrypt(key, buf, true)\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar createHmac = require('create-hmac')\nvar crt = require('browserify-rsa')\nvar EC = require('elliptic').ec\nvar BN = require('bn.js')\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction sign (hash, key, hashType, signType, tag) {\n var priv = parseKeys(key)\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n return ecSign(hash, priv)\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong private key type')\n return dsaSign(hash, priv, hashType)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = priv.modulus.byteLength()\n var pad = [0, 1]\n while (hash.length + pad.length + 1 < len) pad.push(0xff)\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) pad.push(hash[i])\n\n var out = crt(pad, priv)\n return out\n}\n\nfunction ecSign (hash, priv) {\n var curveId = curves[priv.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.'))\n\n var curve = new EC(curveId)\n var key = curve.keyFromPrivate(priv.privateKey)\n var out = key.sign(hash)\n\n return Buffer.from(out.toDER())\n}\n\nfunction dsaSign (hash, priv, algo) {\n var x = priv.params.priv_key\n var p = priv.params.p\n var q = priv.params.q\n var g = priv.params.g\n var r = new BN(0)\n var k\n var H = bits2int(hash, q).mod(q)\n var s = false\n var kv = getKey(x, q, hash, algo)\n while (s === false) {\n k = makeKey(q, kv, algo)\n r = makeR(g, k, p, q)\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q)\n if (s.cmpn(0) === 0) {\n s = false\n r = new BN(0)\n }\n }\n return toDER(r, s)\n}\n\nfunction toDER (r, s) {\n r = r.toArray()\n s = s.toArray()\n\n // Pad values\n if (r[0] & 0x80) r = [0].concat(r)\n if (s[0] & 0x80) s = [0].concat(s)\n\n var total = r.length + s.length + 4\n var res = [0x30, total, 0x02, r.length]\n res = res.concat(r, [0x02, s.length], s)\n return Buffer.from(res)\n}\n\nfunction getKey (x, q, hash, algo) {\n x = Buffer.from(x.toArray())\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length)\n x = Buffer.concat([zeros, x])\n }\n var hlen = hash.length\n var hbits = bits2octets(hash, q)\n var v = Buffer.alloc(hlen)\n v.fill(1)\n var k = Buffer.alloc(hlen)\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n return { k: k, v: v }\n}\n\nfunction bits2int (obits, q) {\n var bits = new BN(obits)\n var shift = (obits.length << 3) - q.bitLength()\n if (shift > 0) bits.ishrn(shift)\n return bits\n}\n\nfunction bits2octets (bits, q) {\n bits = bits2int(bits, q)\n bits = bits.mod(q)\n var out = Buffer.from(bits.toArray())\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length)\n out = Buffer.concat([zeros, out])\n }\n return out\n}\n\nfunction makeKey (q, kv, algo) {\n var t\n var k\n\n do {\n t = Buffer.alloc(0)\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n t = Buffer.concat([t, kv.v])\n }\n\n k = bits2int(t, q)\n kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest()\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n } while (k.cmp(q) !== -1)\n\n return k\n}\n\nfunction makeR (g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q)\n}\n\nmodule.exports = sign\nmodule.exports.getKey = getKey\nmodule.exports.makeKey = makeKey\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\nvar safeBuffer = require('safe-buffer')\nvar randombytes = require('randombytes')\nvar Buffer = safeBuffer.Buffer\nvar kBufferMaxLength = safeBuffer.kMaxLength\nvar crypto = global.crypto || global.msCrypto\nvar kMaxUint32 = Math.pow(2, 32) - 1\nfunction assertOffset (offset, length) {\n if (typeof offset !== 'number' || offset !== offset) { // eslint-disable-line no-self-compare\n throw new TypeError('offset must be a number')\n }\n\n if (offset > kMaxUint32 || offset < 0) {\n throw new TypeError('offset must be a uint32')\n }\n\n if (offset > kBufferMaxLength || offset > length) {\n throw new RangeError('offset out of range')\n }\n}\n\nfunction assertSize (size, offset, length) {\n if (typeof size !== 'number' || size !== size) { // eslint-disable-line no-self-compare\n throw new TypeError('size must be a number')\n }\n\n if (size > kMaxUint32 || size < 0) {\n throw new TypeError('size must be a uint32')\n }\n\n if (size + offset > length || size > kBufferMaxLength) {\n throw new RangeError('buffer too small')\n }\n}\nif ((crypto && crypto.getRandomValues) || !process.browser) {\n exports.randomFill = randomFill\n exports.randomFillSync = randomFillSync\n} else {\n exports.randomFill = oldBrowser\n exports.randomFillSync = oldBrowser\n}\nfunction randomFill (buf, offset, size, cb) {\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n if (typeof offset === 'function') {\n cb = offset\n offset = 0\n size = buf.length\n } else if (typeof size === 'function') {\n cb = size\n size = buf.length - offset\n } else if (typeof cb !== 'function') {\n throw new TypeError('\"cb\" argument must be a function')\n }\n assertOffset(offset, buf.length)\n assertSize(size, offset, buf.length)\n return actualFill(buf, offset, size, cb)\n}\n\nfunction actualFill (buf, offset, size, cb) {\n if (process.browser) {\n var ourBuf = buf.buffer\n var uint = new Uint8Array(ourBuf, offset, size)\n crypto.getRandomValues(uint)\n if (cb) {\n process.nextTick(function () {\n cb(null, buf)\n })\n return\n }\n return buf\n }\n if (cb) {\n randombytes(size, function (err, bytes) {\n if (err) {\n return cb(err)\n }\n bytes.copy(buf, offset)\n cb(null, buf)\n })\n return\n }\n var bytes = randombytes(size)\n bytes.copy(buf, offset)\n return buf\n}\nfunction randomFillSync (buf, offset, size) {\n if (typeof offset === 'undefined') {\n offset = 0\n }\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n assertOffset(offset, buf.length)\n\n if (size === undefined) size = buf.length - offset\n\n assertSize(size, offset, buf.length)\n\n return actualFill(buf, offset, size)\n}\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","// IEEE754 conversions based on https://github.com/feross/ieee754\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = 1 / 0;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var bn = require('bn.js');\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nmodule.exports = function (iterations, keylen) {\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","var asn1 = exports;\n\nasn1.bignum = require('bn.js');\n\nasn1.define = require('./asn1/api').define;\nasn1.base = require('./asn1/base');\nasn1.constants = require('./asn1/constants');\nasn1.decoders = require('./asn1/decoders');\nasn1.encoders = require('./asn1/encoders');\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var Reporter = require('../base').Reporter;\nvar EncoderBuffer = require('../base').EncoderBuffer;\nvar DecoderBuffer = require('../base').DecoderBuffer;\nvar assert = require('minimalistic-assert');\n\n// Supported tags\nvar tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nvar methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nvar overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent) {\n var state = {};\n this._baseState = state;\n\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nvar stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n var state = this._baseState;\n var cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n var res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n var state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n var clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n var state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n var state = this._baseState;\n\n // Filter children and args\n var children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n var res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n var value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n var state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n var state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n var state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n var state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n var state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n var state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n var state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n var state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n var result = state['default'];\n var present = true;\n\n var prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n var tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n var save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n var prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n var explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n var start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n if (state.any)\n var save = input.save();\n var body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any)\n result = result;\n else if (state.choice === null)\n result = this._decodeGeneric(state.tag, input, options);\n else\n result = this._decodeChoice(input, options);\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n var data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n var state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n var state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n var state = this._baseState;\n var result = null;\n var match = false;\n\n Object.keys(state.choice).some(function(key) {\n var save = input.save();\n var node = state.choice[key];\n try {\n var value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n var state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n var result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n var result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default']\n else\n return;\n }\n\n // Encode children first\n var content = null;\n var primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n var prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n var res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n var child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n var state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n var result;\n if (!state.any && state.choice === null) {\n var tag = state.implicit !== null ? state.implicit : state.tag;\n var cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n var state = this._baseState;\n\n var node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n var state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(str);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var inherits = require('inherits');\n\nvar DEREncoder = require('./der');\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n};\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n var buf = DEREncoder.prototype.encode.call(this, data);\n\n var p = buf.toString('base64');\n var out = [ '-----BEGIN ' + options.label + '-----' ];\n for (var i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var MODES = require('./modes')\nvar AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","/* eslint-disable no-new */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","var constants = require('../constants');\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = constants._reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = constants._reverse(exports.tag);\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","var Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding)\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer)\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')\n }\n}\n","module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n","var inherits = require('inherits');\nvar Buffer = require('buffer').Buffer;\n\nvar DERDecoder = require('./der');\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n};\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n var lines = data.toString().split(/[\\r\\n]+/g);\n\n var label = options.label.toUpperCase();\n\n var re = /^-----(BEGIN|END) ([^-]+)-----$/;\n var start = -1;\n var end = -1;\n for (var i = 0; i < lines.length; i++) {\n var match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n var base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9\\+\\/=]+/gi, '');\n\n var input = new Buffer(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\n","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n var curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var DES = require('browserify-des')\nvar aes = require('browserify-aes/browser')\nvar aesModes = require('browserify-aes/modes')\nvar desModes = require('browserify-des/modes')\nvar ebtk = require('evp_bytestokey')\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar BN = require('bn.js')\nvar EC = require('elliptic').ec\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction verify (sig, hash, key, signType, tag) {\n var pub = parseKeys(key)\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n return ecVerify(sig, hash, pub)\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong public key type')\n return dsaVerify(sig, hash, pub)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = pub.modulus.byteLength()\n var pad = [1]\n var padNum = 0\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff)\n padNum++\n }\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) {\n pad.push(hash[i])\n }\n pad = Buffer.from(pad)\n var red = BN.mont(pub.modulus)\n sig = new BN(sig).toRed(red)\n\n sig = sig.redPow(new BN(pub.publicExponent))\n sig = Buffer.from(sig.fromRed().toArray())\n var out = padNum < 8 ? 1 : 0\n len = Math.min(sig.length, pad.length)\n if (sig.length !== pad.length) out = 1\n\n i = -1\n while (++i < len) out |= sig[i] ^ pad[i]\n return out === 0\n}\n\nfunction ecVerify (sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.'))\n\n var curve = new EC(curveId)\n var pubkey = pub.data.subjectPrivateKey.data\n\n return curve.verify(hash, sig, pubkey)\n}\n\nfunction dsaVerify (sig, hash, pub) {\n var p = pub.data.p\n var q = pub.data.q\n var g = pub.data.g\n var y = pub.data.pub_key\n var unpacked = parseKeys.signature.decode(sig, 'der')\n var s = unpacked.s\n var r = unpacked.r\n checkValue(s, q)\n checkValue(r, q)\n var montp = BN.mont(p)\n var w = s.invm(q)\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q)\n return v.cmp(r) === 0\n}\n\nfunction checkValue (b, q) {\n if (b.cmpn(0) <= 0) throw new Error('invalid sig')\n if (b.cmp(q) >= q) throw new Error('invalid sig')\n}\n\nmodule.exports = verify\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $copyWithin = require('../internals/array-copy-within');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","var defaultEncoding\n/* istanbul ignore next */\nif (process.browser) {\n defaultEncoding = 'utf-8'\n} else if (process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","var toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar bind = require('../internals/function-bind-context');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","'use strict'\n\nfunction isPromise (obj) {\n // via https://unpkg.com/is-promise@2.1.0/index.js\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\n}\n\nfunction registerPromiseWorker (callback) {\n function postOutgoingMessage (e, messageId, error, result) {\n function postMessage (msg) {\n /* istanbul ignore if */\n if (typeof self.postMessage !== 'function') { // service worker\n e.ports[0].postMessage(msg)\n } else { // web worker\n self.postMessage(msg)\n }\n }\n if (error) {\n /* istanbul ignore else */\n if (typeof console !== 'undefined' && 'error' in console) {\n // This is to make errors easier to debug. I think it's important\n // enough to just leave here without giving the user an option\n // to silence it.\n console.error('Worker caught an error:', error)\n }\n postMessage([messageId, {\n message: error.message\n }])\n } else {\n postMessage([messageId, null, result])\n }\n }\n\n function tryCatchFunc (callback, message) {\n try {\n return { res: callback(message) }\n } catch (e) {\n return { err: e }\n }\n }\n\n function handleIncomingMessage (e, callback, messageId, message) {\n var result = tryCatchFunc(callback, message)\n\n if (result.err) {\n postOutgoingMessage(e, messageId, result.err)\n } else if (!isPromise(result.res)) {\n postOutgoingMessage(e, messageId, null, result.res)\n } else {\n result.res.then(function (finalResult) {\n postOutgoingMessage(e, messageId, null, finalResult)\n }, function (finalError) {\n postOutgoingMessage(e, messageId, finalError)\n })\n }\n }\n\n function onIncomingMessage (e) {\n var payload = e.data\n if (!Array.isArray(payload) || payload.length !== 2) {\n // message doens't match communication format; ignore\n return\n }\n var messageId = payload[0]\n var message = payload[1]\n\n if (typeof callback !== 'function') {\n postOutgoingMessage(e, messageId, new Error(\n 'Please pass a function into register().'))\n } else {\n handleIncomingMessage(e, callback, messageId, message)\n }\n }\n\n self.addEventListener('message', onIncomingMessage)\n}\n\nmodule.exports = registerPromiseWorker\n","var bn = require('bn.js');\nvar randomBytes = require('randombytes');\nmodule.exports = crt;\nfunction blind(priv) {\n var r = getr(priv);\n var blinder = r.toRed(bn.mont(priv.modulus))\n .redPow(new bn(priv.publicExponent)).fromRed();\n return {\n blinder: blinder,\n unblinder:r.invm(priv.modulus)\n };\n}\nfunction crt(msg, priv) {\n var blinds = blind(priv);\n var len = priv.modulus.byteLength();\n var mod = bn.mont(priv.modulus);\n var blinded = new bn(msg).mul(blinds.blinder).umod(priv.modulus);\n var c1 = blinded.toRed(bn.mont(priv.prime1));\n var c2 = blinded.toRed(bn.mont(priv.prime2));\n var qinv = priv.coefficient;\n var p = priv.prime1;\n var q = priv.prime2;\n var m1 = c1.redPow(priv.exponent1);\n var m2 = c2.redPow(priv.exponent2);\n m1 = m1.fromRed();\n m2 = m2.fromRed();\n var h = m1.isub(m2).imul(qinv).umod(p);\n h.imul(q);\n m2.iadd(h);\n return new Buffer(m2.imul(blinds.unblinder).umod(priv.modulus).toArray(false, len));\n}\ncrt.getr = getr;\nfunction getr(priv) {\n var len = priv.modulus.byteLength();\n var r = new bn(randomBytes(len));\n while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2)) {\n r = new bn(randomBytes(len));\n }\n return r;\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","var parseKeys = require('parse-asn1')\nvar randomBytes = require('randombytes')\nvar createHash = require('create-hash')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar withPublic = require('./withPublic')\nvar crt = require('browserify-rsa')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function publicEncrypt (publicKey, msg, reverse) {\n var padding\n if (publicKey.padding) {\n padding = publicKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n var key = parseKeys(publicKey)\n var paddedMsg\n if (padding === 4) {\n paddedMsg = oaep(key, msg)\n } else if (padding === 1) {\n paddedMsg = pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n paddedMsg = new BN(msg)\n if (paddedMsg.cmp(key.modulus) >= 0) {\n throw new Error('data too long for modulus')\n }\n } else {\n throw new Error('unknown padding')\n }\n if (reverse) {\n return crt(paddedMsg, key)\n } else {\n return withPublic(paddedMsg, key)\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var mLen = msg.length\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n var hLen2 = 2 * hLen\n if (mLen > k - hLen2 - 2) {\n throw new Error('message too long')\n }\n var ps = Buffer.alloc(k - mLen - hLen2 - 2)\n var dblen = k - hLen - 1\n var seed = randomBytes(hLen)\n var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen))\n var maskedSeed = xor(seed, mgf(maskedDb, hLen))\n return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k))\n}\nfunction pkcs1 (key, msg, reverse) {\n var mLen = msg.length\n var k = key.modulus.byteLength()\n if (mLen > k - 11) {\n throw new Error('message too long')\n }\n var ps\n if (reverse) {\n ps = Buffer.alloc(k - mLen - 3, 0xff)\n } else {\n ps = nonZero(k - mLen - 3)\n }\n return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k))\n}\nfunction nonZero (len) {\n var out = Buffer.allocUnsafe(len)\n var i = 0\n var cache = randomBytes(len * 2)\n var cur = 0\n var num\n while (i < len) {\n if (cur === cache.length) {\n cache = randomBytes(len * 2)\n cur = 0\n }\n num = cache[cur++]\n if (num) {\n out[i++] = num\n }\n }\n return out\n}\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Readable;\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","var Buffer = require('safe-buffer').Buffer\nvar MD5 = require('md5.js')\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/**/\n\nmodule.exports = Duplex;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict'\nvar Buffer = require('buffer').Buffer\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","var Buffer = require('safe-buffer').Buffer\nvar createHash = require('create-hash')\nvar stream = require('readable-stream')\nvar inherits = require('inherits')\nvar sign = require('./sign')\nvar verify = require('./verify')\n\nvar algorithms = require('./algorithms.json')\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex')\n algorithms[key.toLowerCase()] = algorithms[key]\n})\n\nfunction Sign (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hashType = data.hash\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Sign, stream.Writable)\n\nSign.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nSign.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nSign.prototype.sign = function signMethod (key, enc) {\n this.end()\n var hash = this._hash.digest()\n var sig = sign(hash, key, this._hashType, this._signType, this._tag)\n\n return enc ? sig.toString(enc) : sig\n}\n\nfunction Verify (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Verify, stream.Writable)\n\nVerify.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nVerify.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nVerify.prototype.verify = function verifyMethod (key, sig, enc) {\n if (typeof sig === 'string') sig = Buffer.from(sig, enc)\n\n this.end()\n var hash = this._hash.digest()\n return verify(sig, hash, key, this._signType, this._tag)\n}\n\nfunction createSign (algorithm) {\n return new Sign(algorithm)\n}\n\nfunction createVerify (algorithm) {\n return new Verify(algorithm)\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n}\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(curves.hasOwnProperty(options), 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray()\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n do {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n } while (true);\n};\n\nEC.prototype._truncateToN = function truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8'\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; true; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n\n if (!this.curve._maxwellTrick) {\n var p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n var p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var xor = require('buffer-xor')\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n});\n","module.exports = require('./readable').PassThrough\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","module.exports = false;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","var inherits = require('inherits');\n\nvar asn1 = require('../../asn1');\nvar base = asn1.base;\nvar bignum = asn1.bignum;\n\n// Import DER constants\nvar der = asn1.constants.der;\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n};\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!(data instanceof base.DecoderBuffer))\n data = new base.DecoderBuffer(data, options);\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n var state = buffer.save();\n var decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n var decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n var len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n var state = buffer.save();\n var res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n while (true) {\n var tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n var len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n var res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len)\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n var result = [];\n while (!buffer.isEmpty()) {\n var possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n var res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n var unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n var raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n var str = '';\n for (var i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n var numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n var printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n var result;\n var identifiers = [];\n var ident = 0;\n while (!buffer.isEmpty()) {\n var subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n var first = (identifiers[0] / 40) | 0;\n var second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n var tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n var str = buffer.raw().toString();\n if (tag === 'gentime') {\n var year = str.slice(0, 4) | 0;\n var mon = str.slice(4, 6) | 0;\n var day = str.slice(6, 8) | 0;\n var hour = str.slice(8, 10) | 0;\n var min = str.slice(10, 12) | 0;\n var sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n var year = str.slice(0, 2) | 0;\n var mon = str.slice(2, 4) | 0;\n var day = str.slice(4, 6) | 0;\n var hour = str.slice(6, 8) | 0;\n var min = str.slice(8, 10) | 0;\n var sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull(buffer) {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n var res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n var raw = buffer.raw();\n var res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n var tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n var cls = der.tagClass[tag >> 6];\n var primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n var oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n var tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n var len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n var num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (var i = 0; i < num; i++) {\n len <<= 8;\n var j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","module.exports = require('./readable').Transform\n","var inherits = require('inherits');\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n var state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n var state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n var state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n var state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n var state = this._reporterState;\n\n var prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n var state = this._reporterState;\n\n var now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n var err;\n var state = this._reporterState;\n\n var inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n var state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n};\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar Base = require('cipher-base')\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/readable.js');\nStream.Writable = require('readable-stream/writable.js');\nStream.Duplex = require('readable-stream/duplex.js');\nStream.Transform = require('readable-stream/transform.js');\nStream.PassThrough = require('readable-stream/passthrough.js');\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /**/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /**/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var elliptic = require('elliptic')\nvar BN = require('bn.js')\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar min = Math.min;\nvar nativeLastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\n// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : nativeLastIndexOf;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n for (var j = 0; j < naf.length; j += doubles.step) {\n var nafW = 0;\n for (var k = j + doubles.step - 1; k >= j; k--)\n nafW = (nafW << 1) + naf[k];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (var j = 0; j < repr.length; j++) {\n var nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var k = 0; i >= 0 && naf[i] === 0; i--)\n k++;\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n for (var i = 0; i < len; i++) {\n var p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (var i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b] /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3 /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (var j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (var i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (var j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (var j = 0; j < len; j++) {\n var z = tmp[j];\n var p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (var i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len)) ;\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","var asn1 = require('../asn1');\nvar inherits = require('inherits');\n\nvar api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n};\n\nEntity.prototype._createNamed = function createNamed(base) {\n var named;\n try {\n named = require('vm').runInThisContext(\n '(function ' + this.name + '(entity) {\\n' +\n ' this._initNamed(entity);\\n' +\n '})'\n );\n } catch (e) {\n named = function (entity) {\n this._initNamed(entity);\n };\n }\n inherits(named, base);\n named.prototype._initNamed = function initnamed(entity) {\n base.call(this, entity);\n };\n\n return new named(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(asn1.decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(asn1.encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\n","module.exports = require('events').EventEmitter;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n []\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n var m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n var m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","var createHash = require('create-hash')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0)\n var i = 0\n var c\n while (t.length < len) {\n c = i2ops(i++)\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])\n }\n return t.slice(0, len)\n}\n\nfunction i2ops (c) {\n var out = Buffer.allocUnsafe(4)\n out.writeUInt32BE(c, 0)\n return out\n}\n","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\nvar Buffer = require('safe-buffer').Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","var toInteger = require('../internals/to-integer');\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function eventListener() {\n if (errorListener !== undefined) {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n var errorListener;\n\n // Adding an error listener is not optional because\n // if an error is thrown on an event emitter we cannot\n // guarantee that the actual event we are waiting will\n // be fired. The result could be a silent way to create\n // memory or file descriptor leaks, which is something\n // we should avoid.\n if (name !== 'error') {\n errorListener = function errorListener(err) {\n emitter.removeListener(name, eventListener);\n reject(err);\n };\n\n emitter.once('error', errorListener);\n }\n\n emitter.once(name, eventListener);\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","\n// We are modularizing this manually because the current modularize setting in Emscripten has some issues:\n// https://github.com/kripken/emscripten/issues/5820\n// In addition, When you use emcc's modularization, it still expects to export a global object called `Module`,\n// which is able to be used/called before the WASM is loaded.\n// The modularization below exports a promise that loads and resolves to the actual sql.js module.\n// That way, this module can't be used before the WASM is finished loading.\n\n// We are going to define a function that a user will call to start loading initializing our Sql.js library\n// However, that function might be called multiple times, and on subsequent calls, we don't actually want it to instantiate a new instance of the Module\n// Instead, we want to return the previously loaded module\n\n// TODO: Make this not declare a global if used in the browser\nvar initSqlJsPromise = undefined;\n\nvar initSqlJs = function (moduleConfig) {\n\n if (initSqlJsPromise){\n return initSqlJsPromise;\n }\n // If we're here, we've never called this function before\n initSqlJsPromise = new Promise(function (resolveModule, reject) {\n\n // We are modularizing this manually because the current modularize setting in Emscripten has some issues:\n // https://github.com/kripken/emscripten/issues/5820\n\n // The way to affect the loading of emcc compiled modules is to create a variable called `Module` and add\n // properties to it, like `preRun`, `postRun`, etc\n // We are using that to get notified when the WASM has finished loading.\n // Only then will we return our promise\n\n // If they passed in a moduleConfig object, use that\n // Otherwise, initialize Module to the empty object\n var Module = typeof moduleConfig !== 'undefined' ? moduleConfig : {};\n\n // EMCC only allows for a single onAbort function (not an array of functions)\n // So if the user defined their own onAbort function, we remember it and call it\n var originalOnAbortFunction = Module['onAbort'];\n Module['onAbort'] = function (errorThatCausedAbort) {\n reject(new Error(errorThatCausedAbort));\n if (originalOnAbortFunction){\n originalOnAbortFunction(errorThatCausedAbort);\n }\n };\n\n Module['postRun'] = Module['postRun'] || [];\n Module['postRun'].push(function () {\n // When Emscripted calls postRun, this promise resolves with the built Module\n resolveModule(Module);\n });\n\n // There is a section of code in the emcc-generated code below that looks like this:\n // (Note that this is lowercase `module`)\n // if (typeof module !== 'undefined') {\n // module['exports'] = Module;\n // }\n // When that runs, it's going to overwrite our own modularization export efforts in shell-post.js!\n // The only way to tell emcc not to emit it is to pass the MODULARIZE=1 or MODULARIZE_INSTANCE=1 flags,\n // but that carries with it additional unnecessary baggage/bugs we don't want either.\n // So, we have three options:\n // 1) We undefine `module`\n // 2) We remember what `module['exports']` was at the beginning of this function and we restore it later\n // 3) We write a script to remove those lines of code as part of the Make process.\n //\n // Since those are the only lines of code that care about module, we will undefine it. It's the most straightforward\n // of the options, and has the side effect of reducing emcc's efforts to modify the module if its output were to change in the future.\n // That's a nice side effect since we're handling the modularization efforts ourselves\n module = undefined;\n\n // The emcc-generated code and shell-post.js code goes below,\n // meaning that all of it runs inside of this promise. If anything throws an exception, our promise will abort\n\nvar e;e||(e=typeof Module !== 'undefined' ? Module : {});null;\ne.onRuntimeInitialized=function(){function a(h,l){this.Ra=h;this.db=l;this.Qa=1;this.lb=[]}function b(h,l){this.db=l;l=aa(h)+1;this.eb=ba(l);if(null===this.eb)throw Error(\"Unable to allocate memory for the SQL string\");k(h,m,this.eb,l);this.jb=this.eb;this.$a=this.pb=null}function c(h){this.filename=\"dbfile_\"+(4294967295*Math.random()>>>0);if(null!=h){var l=this.filename,p=l?r(\"//\"+l):\"/\";l=ca(!0,!0);p=da(p,(void 0!==l?l:438)&4095|32768,0);if(h){if(\"string\"===typeof h){for(var q=Array(h.length),B=\n0,ha=h.length;Bd;++d)g.parameters.push(f[\"viii\"[d]]);\nd=new WebAssembly.Function(g,a)}else{f=[1,0,1,96];g={i:127,j:126,f:125,d:124};f.push(3);for(d=0;3>d;++d)f.push(g[\"iii\"[d]]);f.push(0);f[1]=f.length-2;d=new Uint8Array([0,97,115,109,1,0,0,0].concat(f,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0]));d=new WebAssembly.Module(d);d=(new WebAssembly.Instance(d,{e:{f:a}})).exports.f}b.set(c,d)}Ia.set(a,c);a=c}return a}function ra(a){ua(a)}var Ka;e.wasmBinary&&(Ka=e.wasmBinary);var noExitRuntime;e.noExitRuntime&&(noExitRuntime=e.noExitRuntime);\n\"object\"!==typeof WebAssembly&&K(\"no native wasm support detected\");\nfunction pa(a){var b=\"i32\";\"*\"===b.charAt(b.length-1)&&(b=\"i32\");switch(b){case \"i1\":z[a>>0]=0;break;case \"i8\":z[a>>0]=0;break;case \"i16\":La[a>>1]=0;break;case \"i32\":L[a>>2]=0;break;case \"i64\":M=[0,(N=0,1<=+Math.abs(N)?0>>0:~~+Math.ceil((N-+(~~N>>>0))/4294967296)>>>0:0)];L[a>>2]=M[0];L[a+4>>2]=M[1];break;case \"float\":Ma[a>>2]=0;break;case \"double\":Na[a>>3]=0;break;default:K(\"invalid type for setValue: \"+b)}}\nfunction x(a,b){b=b||\"i8\";\"*\"===b.charAt(b.length-1)&&(b=\"i32\");switch(b){case \"i1\":return z[a>>0];case \"i8\":return z[a>>0];case \"i16\":return La[a>>1];case \"i32\":return L[a>>2];case \"i64\":return L[a>>2];case \"float\":return Ma[a>>2];case \"double\":return Na[a>>3];default:K(\"invalid type for getValue: \"+b)}return null}var Oa,Ja,Pa=!1;function assert(a,b){a||K(\"Assertion failed: \"+b)}function Qa(a){var b=e[\"_\"+a];assert(b,\"Cannot call unknown function \"+a+\", make sure it is exported\");return b}\nfunction Ra(a,b,c,d){var f={string:function(v){var C=0;if(null!==v&&void 0!==v&&0!==v){var H=(v.length<<2)+1;C=y(H);k(v,m,C,H)}return C},array:function(v){var C=y(v.length);z.set(v,C);return C}},g=Qa(a),n=[];a=0;if(d)for(var t=0;t=d);)++c;if(16f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function A(a,b){return a?Va(m,a,b):\"\"}\nfunction k(a,b,c,d){if(!(0=n){var t=a.charCodeAt(++g);n=65536+((n&1023)<<10)|t&1023}if(127>=n){if(c>=d)break;b[c++]=n}else{if(2047>=n){if(c+1>=d)break;b[c++]=192|n>>6}else{if(65535>=n){if(c+2>=d)break;b[c++]=224|n>>12}else{if(c+3>=d)break;b[c++]=240|n>>18;b[c++]=128|n>>12&63}b[c++]=128|n>>6&63}b[c++]=128|n&63}}b[c]=0;return c-f}\nfunction aa(a){for(var b=0,c=0;c=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}function Wa(a){var b=aa(a)+1,c=ba(b);c&&k(a,z,c,b);return c}var Xa,z,m,La,L,Ma,Na;\nfunction Ya(a){Xa=a;e.HEAP8=z=new Int8Array(a);e.HEAP16=La=new Int16Array(a);e.HEAP32=L=new Int32Array(a);e.HEAPU8=m=new Uint8Array(a);e.HEAPU16=new Uint16Array(a);e.HEAPU32=new Uint32Array(a);e.HEAPF32=Ma=new Float32Array(a);e.HEAPF64=Na=new Float64Array(a)}var Za=e.INITIAL_MEMORY||16777216;e.wasmMemory?Oa=e.wasmMemory:Oa=new WebAssembly.Memory({initial:Za/65536,maximum:32768});Oa&&(Xa=Oa.buffer);Za=Xa.byteLength;Ya(Xa);var $a=[],ab=[],bb=[],cb=[];\nfunction db(){var a=e.preRun.shift();$a.unshift(a)}var eb=0,fb=null,gb=null;e.preloadedImages={};e.preloadedAudios={};function K(a){if(e.onAbort)e.onAbort(a);J(a);Pa=!0;throw new WebAssembly.RuntimeError(\"abort(\"+a+\"). Build with -s ASSERTIONS=1 for more info.\");}function hb(a){var b=ib;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}function jb(){return hb(\"data:application/octet-stream;base64,\")}var ib=\"sql-wasm.wasm\";\nif(!jb()){var kb=ib;ib=e.locateFile?e.locateFile(kb,I):I+kb}function lb(){try{if(Ka)return new Uint8Array(Ka);if(Ca)return Ca(ib);throw\"both async and sync fetching of the wasm failed\";}catch(a){K(a)}}function mb(){return Ka||!ya&&!G||\"function\"!==typeof fetch||hb(\"file://\")?Promise.resolve().then(lb):fetch(ib,{credentials:\"same-origin\"}).then(function(a){if(!a.ok)throw\"failed to load wasm binary file at '\"+ib+\"'\";return a.arrayBuffer()}).catch(function(){return lb()})}var N,M;\nfunction nb(a){for(;0>2]=60*(new Date).getTimezoneOffset();var b=(new Date).getFullYear(),c=new Date(b,0,1);b=new Date(b,6,1);L[vb()>>2]=Number(c.getTimezoneOffset()!=b.getTimezoneOffset());var d=a(c),f=a(b);d=Wa(d);f=Wa(f);b.getTimezoneOffset()>2]=d,L[xb()+4>>2]=f):(L[xb()>>2]=f,L[xb()+4>>2]=d)}}var tb;\nfunction yb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];\".\"===f?a.splice(d,1):\"..\"===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift(\"..\");return a}function r(a){var b=\"/\"===a.charAt(0),c=\"/\"===a.substr(-1);(a=yb(a.split(\"/\").filter(function(d){return!!d}),!b).join(\"/\"))||b||(a=\".\");a&&c&&(a+=\"/\");return(b?\"/\":\"\")+a}\nfunction zb(a){var b=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return\".\";b&&(b=b.substr(0,b.length-1));return a+b}function Ab(a){if(\"/\"===a)return\"/\";a=r(a);a=a.replace(/\\/$/,\"\");var b=a.lastIndexOf(\"/\");return-1===b?a:a.substr(b+1)}function Bb(a){L[Cb()>>2]=a}\nfunction Db(){if(\"object\"===typeof crypto&&\"function\"===typeof crypto.getRandomValues){var a=new Uint8Array(1);return function(){crypto.getRandomValues(a);return a[0]}}if(za)try{var b=require(\"crypto\");return function(){return b.randomBytes(1)[0]}}catch(c){}return function(){K(\"randomDevice\")}}\nfunction Eb(){for(var a=\"\",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:\"/\";if(\"string\"!==typeof b)throw new TypeError(\"Arguments to path.resolve must be strings\");if(!b)return\"\";a=b+\"/\"+a;b=\"/\"===b.charAt(0)}a=yb(a.split(\"/\").filter(function(d){return!!d}),!b).join(\"/\");return(b?\"/\":\"\")+a||\".\"}var Fb=[];function Gb(a,b){Fb[a]={input:[],output:[],cb:b};Hb(a,Ib)}\nvar Ib={open:function(a){var b=Fb[a.node.rdev];if(!b)throw new O(43);a.tty=b;a.seekable=!1},close:function(a){a.tty.cb.flush(a.tty)},flush:function(a){a.tty.cb.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.cb.xb)throw new O(60);for(var f=0,g=0;g=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Ma,a.Ma=new Uint8Array(b),0b)a.Ma.length=b;else for(;a.Ma.length=a.node.Sa)return 0;a=Math.min(a.node.Sa-f,d);if(8b)throw new O(28);return b},sb:function(a,b,c){P.vb(a.node,b+c);a.node.Sa=Math.max(a.node.Sa,b+c)},hb:function(a,b,c,d,f,g){assert(0===b);if(32768!==(a.node.mode&61440))throw new O(43);a=a.node.Ma;\nif(g&2||a.buffer!==Xa){if(0>>0)%T.length}function Wb(a){var b=Vb(a.parent.id,a.name);if(T[b]===a)T[b]=a.bb;else for(b=T[b];b;){if(b.bb===a){b.bb=a.bb;break}b=b.bb}}\nfunction Ob(a,b){var c;if(c=(c=Xb(a,\"x\"))?c:a.Na.lookup?0:2)throw new O(c,a);for(c=T[Vb(a.id,b)];c;c=c.bb){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.Na.lookup(a,b)}function Mb(a,b,c,d){a=new Yb(a,b,c,d);b=Vb(a.parent.id,a.name);a.bb=T[b];return T[b]=a}function Q(a){return 16384===(a&61440)}var Zb={r:0,rs:1052672,\"r+\":2,w:577,wx:705,xw:705,\"w+\":578,\"wx+\":706,\"xw+\":706,a:1089,ax:1217,xa:1217,\"a+\":1090,\"ax+\":1218,\"xa+\":1218};\nfunction $b(a){var b=[\"r\",\"w\",\"rw\"][a&3];a&512&&(b+=\"w\");return b}function Xb(a,b){if(Sb)return 0;if(-1===b.indexOf(\"r\")||a.mode&292){if(-1!==b.indexOf(\"w\")&&!(a.mode&146)||-1!==b.indexOf(\"x\")&&!(a.mode&73))return 2}else return 2;return 0}function ac(a,b){try{return Ob(a,b),20}catch(c){}return Xb(a,\"wx\")}function bc(a,b,c){try{var d=Ob(a,b)}catch(f){return f.Pa}if(a=Xb(a,\"wx\"))return a;if(c){if(!Q(d.mode))return 54;if(d===d.parent||\"/\"===Ub(d))return 10}else if(Q(d.mode))return 31;return 0}\nfunction cc(a){var b=4096;for(a=a||0;a<=b;a++)if(!S[a])return a;throw new O(33);}function dc(a,b){ec||(ec=function(){},ec.prototype={});var c=new ec,d;for(d in a)c[d]=a[d];a=c;b=cc(b);a.fd=b;return S[b]=a}var Lb={open:function(a){a.Oa=Qb[a.node.rdev].Oa;a.Oa.open&&a.Oa.open(a)},Za:function(){throw new O(70);}};function Hb(a,b){Qb[a]={Oa:b}}\nfunction fc(a,b){var c=\"/\"===b,d=!b;if(c&&Pb)throw new O(10);if(!c&&!d){var f=V(b,{wb:!1});b=f.path;f=f.node;if(f.ab)throw new O(10);if(!Q(f.mode))throw new O(54);}b={type:a,Ub:{},yb:b,Mb:[]};a=a.Wa(b);a.Wa=b;b.root=a;c?Pb=a:f&&(f.ab=b,f.Wa&&f.Wa.Mb.push(b))}function da(a,b,c){var d=V(a,{parent:!0}).node;a=Ab(a);if(!a||\".\"===a||\"..\"===a)throw new O(28);var f=ac(d,a);if(f)throw new O(f);if(!d.Na.gb)throw new O(63);return d.Na.gb(d,a,b,c)}function W(a,b){da(a,(void 0!==b?b:511)&1023|16384,0)}\nfunction hc(a,b,c){\"undefined\"===typeof c&&(c=b,b=438);da(a,b|8192,c)}function ic(a,b){if(!Eb(a))throw new O(44);var c=V(b,{parent:!0}).node;if(!c)throw new O(44);b=Ab(b);var d=ac(c,b);if(d)throw new O(d);if(!c.Na.symlink)throw new O(63);c.Na.symlink(c,b,a)}\nfunction ta(a){var b=V(a,{parent:!0}).node,c=Ab(a),d=Ob(b,c),f=bc(b,c,!1);if(f)throw new O(f);if(!b.Na.unlink)throw new O(63);if(d.ab)throw new O(10);try{U.willDeletePath&&U.willDeletePath(a)}catch(g){J(\"FS.trackingDelegate['willDeletePath']('\"+a+\"') threw an exception: \"+g.message)}b.Na.unlink(b,c);Wb(d);try{if(U.onDeletePath)U.onDeletePath(a)}catch(g){J(\"FS.trackingDelegate['onDeletePath']('\"+a+\"') threw an exception: \"+g.message)}}\nfunction Tb(a){a=V(a).node;if(!a)throw new O(44);if(!a.Na.readlink)throw new O(28);return Eb(Ub(a.parent),a.Na.readlink(a))}function jc(a,b){a=V(a,{Ya:!b}).node;if(!a)throw new O(44);if(!a.Na.Ua)throw new O(63);return a.Na.Ua(a)}function kc(a){return jc(a,!0)}function ea(a,b){var c;\"string\"===typeof a?c=V(a,{Ya:!0}).node:c=a;if(!c.Na.Ta)throw new O(63);c.Na.Ta(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})}\nfunction lc(a){var b;\"string\"===typeof a?b=V(a,{Ya:!0}).node:b=a;if(!b.Na.Ta)throw new O(63);b.Na.Ta(b,{timestamp:Date.now()})}function mc(a,b){if(0>b)throw new O(28);var c;\"string\"===typeof a?c=V(a,{Ya:!0}).node:c=a;if(!c.Na.Ta)throw new O(63);if(Q(c.mode))throw new O(31);if(32768!==(c.mode&61440))throw new O(28);if(a=Xb(c,\"w\"))throw new O(a);c.Na.Ta(c,{size:b,timestamp:Date.now()})}\nfunction u(a,b,c,d){if(\"\"===a)throw new O(44);if(\"string\"===typeof b){var f=Zb[b];if(\"undefined\"===typeof f)throw Error(\"Unknown file open mode: \"+b);b=f}c=b&64?(\"undefined\"===typeof c?438:c)&4095|32768:0;if(\"object\"===typeof a)var g=a;else{a=r(a);try{g=V(a,{Ya:!(b&131072)}).node}catch(n){}}f=!1;if(b&64)if(g){if(b&128)throw new O(20);}else g=da(a,c,0),f=!0;if(!g)throw new O(44);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!Q(g.mode))throw new O(54);if(!f&&(c=g?40960===(g.mode&61440)?32:Q(g.mode)&&\n(\"r\"!==$b(b)||b&512)?31:Xb(g,$b(b)):44))throw new O(c);b&512&&mc(g,0);b&=-131713;d=dc({node:g,path:Ub(g),flags:b,seekable:!0,position:0,Oa:g.Oa,Rb:[],error:!1},d);d.Oa.open&&d.Oa.open(d);!e.logReadFiles||b&1||(Pc||(Pc={}),a in Pc||(Pc[a]=1,J(\"FS.trackingDelegate error on read file: \"+a)));try{U.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),U.onOpenFile(a,g))}catch(n){J(\"FS.trackingDelegate['onOpenFile']('\"+a+\"', flags) threw an exception: \"+n.message)}return d}\nfunction ka(a){if(null===a.fd)throw new O(8);a.ob&&(a.ob=null);try{a.Oa.close&&a.Oa.close(a)}catch(b){throw b;}finally{S[a.fd]=null}a.fd=null}function Qc(a,b,c){if(null===a.fd)throw new O(8);if(!a.seekable||!a.Oa.Za)throw new O(70);if(0!=c&&1!=c&&2!=c)throw new O(28);a.position=a.Oa.Za(a,b,c);a.Rb=[]}\nfunction Sc(a,b,c,d,f){if(0>d||0>f)throw new O(28);if(null===a.fd)throw new O(8);if(1===(a.flags&2097155))throw new O(8);if(Q(a.node.mode))throw new O(31);if(!a.Oa.read)throw new O(28);var g=\"undefined\"!==typeof f;if(!g)f=a.position;else if(!a.seekable)throw new O(70);b=a.Oa.read(a,b,c,d,f);g||(a.position+=b);return b}\nfunction fa(a,b,c,d,f,g){if(0>d||0>f)throw new O(28);if(null===a.fd)throw new O(8);if(0===(a.flags&2097155))throw new O(8);if(Q(a.node.mode))throw new O(31);if(!a.Oa.write)throw new O(28);a.seekable&&a.flags&1024&&Qc(a,0,2);var n=\"undefined\"!==typeof f;if(!n)f=a.position;else if(!a.seekable)throw new O(70);b=a.Oa.write(a,b,c,d,f,g);n||(a.position+=b);try{if(a.path&&U.onWriteToFile)U.onWriteToFile(a.path)}catch(t){J(\"FS.trackingDelegate['onWriteToFile']('\"+a.path+\"') threw an exception: \"+t.message)}return b}\nfunction sa(a){var b={encoding:\"binary\"};b=b||{};b.flags=b.flags||\"r\";b.encoding=b.encoding||\"binary\";if(\"utf8\"!==b.encoding&&\"binary\"!==b.encoding)throw Error('Invalid encoding type \"'+b.encoding+'\"');var c,d=u(a,b.flags);a=jc(a).size;var f=new Uint8Array(a);Sc(d,f,0,a,0);\"utf8\"===b.encoding?c=Va(f,0):\"binary\"===b.encoding&&(c=f);ka(d);return c}\nfunction Tc(){O||(O=function(a,b){this.node=b;this.Qb=function(c){this.Pa=c};this.Qb(a);this.message=\"FS error\"},O.prototype=Error(),O.prototype.constructor=O,[44].forEach(function(a){Nb[a]=new O(a);Nb[a].stack=\"\"}))}var Uc;function ca(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}\nfunction Vc(a,b,c){a=r(\"/dev/\"+a);var d=ca(!!b,!!c);Wc||(Wc=64);var f=Wc++<<8|0;Hb(f,{open:function(g){g.seekable=!1},close:function(){c&&c.buffer&&c.buffer.length&&c(10)},read:function(g,n,t,w){for(var v=0,C=0;C>2]=d.dev;L[c+4>>2]=0;L[c+8>>2]=d.ino;L[c+12>>2]=d.mode;L[c+16>>2]=d.nlink;L[c+20>>2]=d.uid;L[c+24>>2]=d.gid;L[c+28>>2]=d.rdev;L[c+32>>2]=0;M=[d.size>>>0,(N=d.size,1<=+Math.abs(N)?0>>0:~~+Math.ceil((N-+(~~N>>>0))/4294967296)>>>0:0)];L[c+40>>2]=M[0];L[c+44>>2]=M[1];L[c+48>>2]=4096;L[c+52>>2]=d.blocks;L[c+56>>2]=d.atime.getTime()/1E3|0;L[c+60>>2]=\n0;L[c+64>>2]=d.mtime.getTime()/1E3|0;L[c+68>>2]=0;L[c+72>>2]=d.ctime.getTime()/1E3|0;L[c+76>>2]=0;M=[d.ino>>>0,(N=d.ino,1<=+Math.abs(N)?0>>0:~~+Math.ceil((N-+(~~N>>>0))/4294967296)>>>0:0)];L[c+80>>2]=M[0];L[c+84>>2]=M[1];return 0}var Zc=void 0;function $c(){Zc+=4;return L[Zc-4>>2]}function Z(a){a=S[a];if(!a)throw new O(8);return a}var ad={};\nfunction bd(){if(!cd){var a={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\",_:xa||\"./this.program\"},b;for(b in ad)a[b]=ad[b];var c=[];for(b in a)c.push(b+\"=\"+a[b]);cd=c}return cd}var cd,dd;za?dd=function(){var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:\"undefined\"!==typeof dateNow?dd=dateNow:dd=function(){return performance.now()};\nfunction ed(a){for(var b=dd();dd()-b>2]);L[b>>2]=a.getSeconds();L[b+4>>2]=a.getMinutes();L[b+8>>2]=a.getHours();L[b+12>>2]=a.getDate();L[b+16>>2]=a.getMonth();L[b+20>>2]=a.getFullYear()-1900;L[b+24>>2]=a.getDay();var c=new Date(a.getFullYear(),0,1);L[b+28>>2]=(a.getTime()-c.getTime())/864E5|0;L[b+36>>2]=-(60*a.getTimezoneOffset());var d=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();\nc=c.getTimezoneOffset();a=(d!=c&&a.getTimezoneOffset()==Math.min(c,d))|0;L[b+32>>2]=a;a=L[xb()+(a?4:0)>>2];L[b+40>>2]=a;return b},z:function(a,b){try{a=A(a);if(b&-8)var c=-28;else{var d;(d=V(a,{Ya:!0}).node)?(a=\"\",b&4&&(a+=\"r\"),b&2&&(a+=\"w\"),b&1&&(a+=\"x\"),c=a&&Xb(d,a)?-2:0):c=-44}return c}catch(f){return\"undefined\"!==typeof X&&f instanceof O||K(f),-f.Pa}},i:function(a,b){try{return a=A(a),ea(a,b),0}catch(c){return\"undefined\"!==typeof X&&c instanceof O||K(c),-c.Pa}},t:function(a){try{return a=A(a),\nlc(a),0}catch(b){return\"undefined\"!==typeof X&&b instanceof O||K(b),-b.Pa}},j:function(a,b){try{var c=S[a];if(!c)throw new O(8);ea(c.node,b);return 0}catch(d){return\"undefined\"!==typeof X&&d instanceof O||K(d),-d.Pa}},u:function(a){try{var b=S[a];if(!b)throw new O(8);lc(b.node);return 0}catch(c){return\"undefined\"!==typeof X&&c instanceof O||K(c),-c.Pa}},c:function(a,b,c){Zc=c;try{var d=Z(a);switch(b){case 0:var f=$c();return 0>f?-28:u(d.path,d.flags,0,f).fd;case 1:case 2:return 0;case 3:return d.flags;\ncase 4:return f=$c(),d.flags|=f,0;case 12:return f=$c(),La[f+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Bb(28),-1;default:return-28}}catch(g){return\"undefined\"!==typeof X&&g instanceof O||K(g),-g.Pa}},K:function(a,b){try{var c=Z(a);return Yc(jc,c.path,b)}catch(d){return\"undefined\"!==typeof X&&d instanceof O||K(d),-d.Pa}},v:function(a,b,c){try{var d=S[a];if(!d)throw new O(8);if(0===(d.flags&2097155))throw new O(28);mc(d.node,c);return 0}catch(f){return\"undefined\"!==typeof X&&\nf instanceof O||K(f),-f.Pa}},w:function(a,b){try{if(0===b)return-28;if(b=c)var d=-28;else{var f=Tb(a),g=Math.min(c,aa(f)),n=z[b+g];k(f,m,b,c+1);z[b+g]=n;d=g}return d}catch(t){return\"undefined\"!==typeof X&&t instanceof O||K(t),-t.Pa}},E:function(a){try{a=A(a);var b=V(a,{parent:!0}).node,c=Ab(a),d=Ob(b,c),f=bc(b,c,!0);if(f)throw new O(f);if(!b.Na.rmdir)throw new O(63);if(d.ab)throw new O(10);try{U.willDeletePath&&U.willDeletePath(a)}catch(g){J(\"FS.trackingDelegate['willDeletePath']('\"+a+\"') threw an exception: \"+\ng.message)}b.Na.rmdir(b,c);Wb(d);try{if(U.onDeletePath)U.onDeletePath(a)}catch(g){J(\"FS.trackingDelegate['onDeletePath']('\"+a+\"') threw an exception: \"+g.message)}return 0}catch(g){return\"undefined\"!==typeof X&&g instanceof O||K(g),-g.Pa}},g:function(a,b){try{return a=A(a),Yc(jc,a,b)}catch(c){return\"undefined\"!==typeof X&&c instanceof O||K(c),-c.Pa}},y:function(a){try{return a=A(a),ta(a),0}catch(b){return\"undefined\"!==typeof X&&b instanceof O||K(b),-b.Pa}},m:function(a,b,c){m.copyWithin(a,b,b+c)},\nd:function(a){a>>>=0;var b=m.length;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(16777216,a,d);0>>16);Ya(Oa.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},o:function(a,b){var c=0;bd().forEach(function(d,f){var g=b+c;f=L[a+4*f>>2]=g;for(g=0;g>0]=d.charCodeAt(g);z[f>>0]=0;c+=d.length+1});return 0},p:function(a,b){var c=\nbd();L[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});L[b>>2]=d;return 0},f:function(a){try{var b=Z(a);ka(b);return 0}catch(c){return\"undefined\"!==typeof X&&c instanceof O||K(c),c.Pa}},n:function(a,b){try{var c=Z(a);z[b>>0]=c.tty?2:Q(c.mode)?3:40960===(c.mode&61440)?7:4;return 0}catch(d){return\"undefined\"!==typeof X&&d instanceof O||K(d),d.Pa}},l:function(a,b,c,d,f){try{var g=Z(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;Qc(g,a,d);M=[g.position>>>\n0,(N=g.position,1<=+Math.abs(N)?0>>0:~~+Math.ceil((N-+(~~N>>>0))/4294967296)>>>0:0)];L[f>>2]=M[0];L[f+4>>2]=M[1];g.ob&&0===a&&0===d&&(g.ob=null);return 0}catch(n){return\"undefined\"!==typeof X&&n instanceof O||K(n),n.Pa}},x:function(a){try{var b=Z(a);return b.Oa&&b.Oa.fsync?-b.Oa.fsync(b):0}catch(c){return\"undefined\"!==typeof X&&c instanceof O||K(c),c.Pa}},F:function(a,b,c,d){try{a:{for(var f=Z(a),g=a=0;g>2],L[b+(8*\ng+4)>>2],void 0);if(0>n){var t=-1;break a}a+=n}t=a}L[d>>2]=t;return 0}catch(w){return\"undefined\"!==typeof X&&w instanceof O||K(w),w.Pa}},h:function(a){var b=Date.now();L[a>>2]=b/1E3|0;L[a+4>>2]=b%1E3*1E3|0;return 0},a:Oa,A:function(a,b){if(0===a)return Bb(28),-1;var c=L[a>>2];a=L[a+4>>2];if(0>a||999999999c)return Bb(28),-1;0!==b&&(L[b>>2]=0,L[b+4>>2]=0);return ed(1E6*c+a/1E3)},B:function(a){switch(a){case 30:return 16384;case 85:return 131072;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:case 79:return 200809;\ncase 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;\ncase 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1E3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return\"object\"===typeof navigator?navigator.hardwareConcurrency||1:1}Bb(28);return-1},\nL:function(a){var b=Date.now()/1E3|0;a&&(L[a>>2]=b);return b},r:function(a,b){if(b){var c=1E3*L[b+8>>2];c+=L[b+12>>2]/1E3}else c=Date.now();a=A(a);try{b=c;var d=V(a,{Ya:!0}).node;d.Na.Ta(d,{timestamp:Math.max(b,c)});return 0}catch(f){a=f;if(!(a instanceof O)){a+=\" : \";a:{d=Error();if(!d.stack){try{throw Error();}catch(g){d=g}if(!d.stack){d=\"(no stack trace available)\";break a}}d=d.stack.toString()}e.extraStackTrace&&(d+=\"\\n\"+e.extraStackTrace());d=ob(d);throw a+d;}Bb(a.Pa);return-1}}};\n(function(){function a(f){e.asm=f.exports;Ja=e.asm.M;eb--;e.monitorRunDependencies&&e.monitorRunDependencies(eb);0==eb&&(null!==fb&&(clearInterval(fb),fb=null),gb&&(f=gb,gb=null,f()))}function b(f){a(f.instance)}function c(f){return mb().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){J(\"failed to asynchronously prepare wasm: \"+g);K(g)})}var d={a:id};eb++;e.monitorRunDependencies&&e.monitorRunDependencies(eb);if(e.instantiateWasm)try{return e.instantiateWasm(d,a)}catch(f){return J(\"Module.instantiateWasm callback failed with error: \"+\nf),!1}(function(){if(Ka||\"function\"!==typeof WebAssembly.instantiateStreaming||jb()||hb(\"file://\")||\"function\"!==typeof fetch)return c(b);fetch(ib,{credentials:\"same-origin\"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){J(\"wasm streaming compile failed: \"+g);J(\"falling back to ArrayBuffer instantiation\");return c(b)})})})();return{}})();\nvar fd=e.___wasm_call_ctors=function(){return(fd=e.___wasm_call_ctors=e.asm.N).apply(null,arguments)},hd=e._memset=function(){return(hd=e._memset=e.asm.O).apply(null,arguments)};e._sqlite3_free=function(){return(e._sqlite3_free=e.asm.P).apply(null,arguments)};var Cb=e.___errno_location=function(){return(Cb=e.___errno_location=e.asm.Q).apply(null,arguments)};e._sqlite3_finalize=function(){return(e._sqlite3_finalize=e.asm.R).apply(null,arguments)};\ne._sqlite3_reset=function(){return(e._sqlite3_reset=e.asm.S).apply(null,arguments)};e._sqlite3_clear_bindings=function(){return(e._sqlite3_clear_bindings=e.asm.T).apply(null,arguments)};e._sqlite3_value_blob=function(){return(e._sqlite3_value_blob=e.asm.U).apply(null,arguments)};e._sqlite3_value_text=function(){return(e._sqlite3_value_text=e.asm.V).apply(null,arguments)};e._sqlite3_value_bytes=function(){return(e._sqlite3_value_bytes=e.asm.W).apply(null,arguments)};\ne._sqlite3_value_double=function(){return(e._sqlite3_value_double=e.asm.X).apply(null,arguments)};e._sqlite3_value_int=function(){return(e._sqlite3_value_int=e.asm.Y).apply(null,arguments)};e._sqlite3_value_type=function(){return(e._sqlite3_value_type=e.asm.Z).apply(null,arguments)};e._sqlite3_result_blob=function(){return(e._sqlite3_result_blob=e.asm._).apply(null,arguments)};e._sqlite3_result_double=function(){return(e._sqlite3_result_double=e.asm.$).apply(null,arguments)};\ne._sqlite3_result_error=function(){return(e._sqlite3_result_error=e.asm.aa).apply(null,arguments)};e._sqlite3_result_int=function(){return(e._sqlite3_result_int=e.asm.ba).apply(null,arguments)};e._sqlite3_result_int64=function(){return(e._sqlite3_result_int64=e.asm.ca).apply(null,arguments)};e._sqlite3_result_null=function(){return(e._sqlite3_result_null=e.asm.da).apply(null,arguments)};e._sqlite3_result_text=function(){return(e._sqlite3_result_text=e.asm.ea).apply(null,arguments)};\ne._sqlite3_step=function(){return(e._sqlite3_step=e.asm.fa).apply(null,arguments)};e._sqlite3_column_count=function(){return(e._sqlite3_column_count=e.asm.ga).apply(null,arguments)};e._sqlite3_data_count=function(){return(e._sqlite3_data_count=e.asm.ha).apply(null,arguments)};e._sqlite3_column_blob=function(){return(e._sqlite3_column_blob=e.asm.ia).apply(null,arguments)};e._sqlite3_column_bytes=function(){return(e._sqlite3_column_bytes=e.asm.ja).apply(null,arguments)};\ne._sqlite3_column_double=function(){return(e._sqlite3_column_double=e.asm.ka).apply(null,arguments)};e._sqlite3_column_text=function(){return(e._sqlite3_column_text=e.asm.la).apply(null,arguments)};e._sqlite3_column_type=function(){return(e._sqlite3_column_type=e.asm.ma).apply(null,arguments)};e._sqlite3_column_name=function(){return(e._sqlite3_column_name=e.asm.na).apply(null,arguments)};e._sqlite3_bind_blob=function(){return(e._sqlite3_bind_blob=e.asm.oa).apply(null,arguments)};\ne._sqlite3_bind_double=function(){return(e._sqlite3_bind_double=e.asm.pa).apply(null,arguments)};e._sqlite3_bind_int=function(){return(e._sqlite3_bind_int=e.asm.qa).apply(null,arguments)};e._sqlite3_bind_text=function(){return(e._sqlite3_bind_text=e.asm.ra).apply(null,arguments)};e._sqlite3_bind_parameter_index=function(){return(e._sqlite3_bind_parameter_index=e.asm.sa).apply(null,arguments)};e._sqlite3_sql=function(){return(e._sqlite3_sql=e.asm.ta).apply(null,arguments)};\ne._sqlite3_normalized_sql=function(){return(e._sqlite3_normalized_sql=e.asm.ua).apply(null,arguments)};e._sqlite3_errmsg=function(){return(e._sqlite3_errmsg=e.asm.va).apply(null,arguments)};e._sqlite3_exec=function(){return(e._sqlite3_exec=e.asm.wa).apply(null,arguments)};e._sqlite3_prepare_v2=function(){return(e._sqlite3_prepare_v2=e.asm.xa).apply(null,arguments)};e._sqlite3_changes=function(){return(e._sqlite3_changes=e.asm.ya).apply(null,arguments)};\ne._sqlite3_close_v2=function(){return(e._sqlite3_close_v2=e.asm.za).apply(null,arguments)};e._sqlite3_create_function_v2=function(){return(e._sqlite3_create_function_v2=e.asm.Aa).apply(null,arguments)};e._sqlite3_open=function(){return(e._sqlite3_open=e.asm.Ba).apply(null,arguments)};var ba=e._malloc=function(){return(ba=e._malloc=e.asm.Ca).apply(null,arguments)},na=e._free=function(){return(na=e._free=e.asm.Da).apply(null,arguments)};\ne._RegisterExtensionFunctions=function(){return(e._RegisterExtensionFunctions=e.asm.Ea).apply(null,arguments)};\nvar xb=e.__get_tzname=function(){return(xb=e.__get_tzname=e.asm.Fa).apply(null,arguments)},vb=e.__get_daylight=function(){return(vb=e.__get_daylight=e.asm.Ga).apply(null,arguments)},ub=e.__get_timezone=function(){return(ub=e.__get_timezone=e.asm.Ha).apply(null,arguments)},oa=e.stackSave=function(){return(oa=e.stackSave=e.asm.Ia).apply(null,arguments)},qa=e.stackRestore=function(){return(qa=e.stackRestore=e.asm.Ja).apply(null,arguments)},y=e.stackAlloc=function(){return(y=e.stackAlloc=e.asm.Ka).apply(null,\narguments)},gd=e._memalign=function(){return(gd=e._memalign=e.asm.La).apply(null,arguments)};e.cwrap=function(a,b,c,d){c=c||[];var f=c.every(function(g){return\"number\"===g});return\"string\"!==b&&f&&!d?Qa(a):function(){return Ra(a,b,c,arguments)}};e.UTF8ToString=A;e.stackSave=oa;e.stackRestore=qa;e.stackAlloc=y;var jd;gb=function kd(){jd||ld();jd||(gb=kd)};\nfunction ld(){function a(){if(!jd&&(jd=!0,e.calledRun=!0,!Pa)){e.noFSInit||Uc||(Uc=!0,Tc(),e.stdin=e.stdin,e.stdout=e.stdout,e.stderr=e.stderr,e.stdin?Vc(\"stdin\",e.stdin):ic(\"/dev/tty\",\"/dev/stdin\"),e.stdout?Vc(\"stdout\",null,e.stdout):ic(\"/dev/tty\",\"/dev/stdout\"),e.stderr?Vc(\"stderr\",null,e.stderr):ic(\"/dev/tty1\",\"/dev/stderr\"),u(\"/dev/stdin\",\"r\"),u(\"/dev/stdout\",\"w\"),u(\"/dev/stderr\",\"w\"));nb(ab);Sb=!1;nb(bb);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for(\"function\"==typeof e.postRun&&\n(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();cb.unshift(b)}nb(cb)}}if(!(0=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],x=8191&A,k=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,D=P>>>13,q=0|s[0],U=8191&q,F=q>>>13,z=0|s[1],K=8191&z,W=z>>>13,H=0|s[2],Z=8191&H,Y=H>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,W)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,W)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,W)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,W)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,W)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,W)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,W)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,U),n=Math.imul(x,F),n=n+Math.imul(k,U)|0,o=Math.imul(k,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,W)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(x,K)|0,n=n+Math.imul(x,W)|0,n=n+Math.imul(k,K)|0,o=o+Math.imul(k,W)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,W)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,W)|0,i=i+Math.imul(x,Z)|0,n=n+Math.imul(x,Y)|0,n=n+Math.imul(k,Z)|0,o=o+Math.imul(k,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,W)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(x,G)|0,n=n+Math.imul(x,X)|0,n=n+Math.imul(k,G)|0,o=o+Math.imul(k,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(D,U)|0,o=Math.imul(D,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,W)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,W)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(x,Q)|0,n=n+Math.imul(x,tt)|0,n=n+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,W),n=n+Math.imul(D,K)|0,o=Math.imul(D,W),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(x,rt)|0,n=n+Math.imul(x,it)|0,n=n+Math.imul(k,rt)|0,o=o+Math.imul(k,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(D,Z)|0,o=Math.imul(D,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(x,ot)|0,n=n+Math.imul(x,at)|0,n=n+Math.imul(k,ot)|0,o=o+Math.imul(k,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(D,G)|0,o=Math.imul(D,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(x,ut)|0,n=n+Math.imul(x,ht)|0,n=n+Math.imul(k,ut)|0,o=o+Math.imul(k,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(D,Q)|0,o=Math.imul(D,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(x,lt)|0,n=n+Math.imul(x,ct)|0,n=n+Math.imul(k,lt)|0,o=o+Math.imul(k,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(D,rt)|0,o=Math.imul(D,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(x,pt)|0,n=n+Math.imul(x,mt)|0,n=n+Math.imul(k,pt)|0,o=o+Math.imul(k,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(D,ot)|0,o=Math.imul(D,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(D,ut)|0,o=Math.imul(D,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(D,lt)|0,o=Math.imul(D,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(D,pt)|0,o=Math.imul(D,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=xt,u[11]=kt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},"0145":function(t,e){e.encrypt=function(t,e){return t._cipher.encryptBlock(e)},e.decrypt=function(t,e){return t._cipher.decryptBlock(e)}},"0184":function(t,e,r){"use strict";var i=r("da3e");function n(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}t.exports=n,n.prototype._init=function(){},n.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},n.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),i=0;i0;i--)e+=this._buffer(t,e),r+=this._flushBuffer(n,r);return e+=this._buffer(t,e),n},n.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},n.prototype._pad=function(t,e){if(0===e)return!1;while(e>>0),null!=t){var e=this.filename,r=e?St("//"+e):"/";if(e=Ae(!0,!0),r=se(r,4095&(void 0!==e?e:438)|32768,0),t){if("string"===typeof t){for(var n=Array(t.length),a=0,s=t.length;ar;++r)n.parameters.push(i["viii"[r]]);r=new WebAssembly.Function(n,t)}else{for(i=[1,0,1,96],n={i:127,j:126,f:125,d:124},i.push(3),r=0;3>r;++r)i.push(n["iii"[r]]);i.push(0),i[1]=i.length-2,r=new Uint8Array([0,97,115,109,1,0,0,0].concat(i,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),r=new WebAssembly.Module(r),r=new WebAssembly.Instance(r,{e:{f:t}}).exports.f}rt.set(e,r)}k.set(t,e),t=e}return t}h.wasmBinary&&(R=h.wasmBinary);h.noExitRuntime;function O(t){var e="i32";switch("*"===e.charAt(e.length-1)&&(e="i32"),e){case"i1":z[t>>0]=0;break;case"i8":z[t>>0]=0;break;case"i16":W[t>>1]=0;break;case"i32":H[t>>2]=0;break;case"i64":ht=[0,(ut=0,1<=+Math.abs(ut)?0>>0:~~+Math.ceil((ut-+(~~ut>>>0))/4294967296)>>>0:0)],H[t>>2]=ht[0],H[t+4>>2]=ht[1];break;case"float":Z[t>>2]=0;break;case"double":Y[t>>3]=0;break;default:pt("invalid type for setValue: "+e)}}function C(t,e){switch(e=e||"i8","*"===e.charAt(e.length-1)&&(e="i32"),e){case"i1":return z[t>>0];case"i8":return z[t>>0];case"i16":return W[t>>1];case"i32":return H[t>>2];case"i64":return H[t>>2];case"float":return Z[t>>2];case"double":return Y[t>>3];default:pt("invalid type for getValue: "+e)}return null}"object"!==("undefined"===typeof WebAssembly?"undefined":u(WebAssembly))&&pt("no native wasm support detected");var L,N=!1;function B(t,e){t||pt("Assertion failed: "+e)}function P(t){var e=h["_"+t];return B(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function j(t,e,r,i){var n={string:function(t){var e=0;if(null!==t&&void 0!==t&&0!==t){var r=1+(t.length<<2);e=Qe(r),J(t,K,e,r)}return e},array:function(t){var e=Qe(t.length);return z.set(t,e),e}},o=P(t),a=[];if(t=0,i)for(var s=0;s=i);)++r;if(16n?i+=String.fromCharCode(n):(n-=65536,i+=String.fromCharCode(55296|n>>10,56320|1023&n))}}else i+=String.fromCharCode(n)}return i}function X(t,e){return t?G(K,t,e):""}function J(t,e,r,i){if(!(0=a){var s=t.charCodeAt(++o);a=65536+((1023&a)<<10)|1023&s}if(127>=a){if(r>=i)break;e[r++]=a}else{if(2047>=a){if(r+1>=i)break;e[r++]=192|a>>6}else{if(65535>=a){if(r+2>=i)break;e[r++]=224|a>>12}else{if(r+3>=i)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63}e[r++]=128|a>>6&63}e[r++]=128|63&a}}return e[r]=0,r-n}function Q(t){for(var e=0,r=0;r=i&&(i=65536+((1023&i)<<10)|1023&t.charCodeAt(++r)),127>=i?++e:e=2047>=i?e+2:65535>=i?e+3:e+4}return e}function tt(t){var e=Q(t)+1,r=We(e);return r&&J(t,z,r,e),r}function et(){var t=L.buffer;F=t,h.HEAP8=z=new Int8Array(t),h.HEAP16=W=new Int16Array(t),h.HEAP32=H=new Int32Array(t),h.HEAPU8=K=new Uint8Array(t),h.HEAPU16=new Uint16Array(t),h.HEAPU32=new Uint32Array(t),h.HEAPF32=Z=new Float32Array(t),h.HEAPF64=Y=new Float64Array(t)}var rt,it=[],nt=[],ot=[];function at(){var t=h.preRun.shift();it.unshift(t)}var st,ut,ht,ft,lt=0,ct=null,dt=null;function pt(t){throw h.onAbort&&h.onAbort(t),x(t),N=!0,new WebAssembly.RuntimeError("abort("+t+"). Build with -s ASSERTIONS=1 for more info.")}function mt(){return st.startsWith("data:application/octet-stream;base64,")}if(h.preloadedImages={},h.preloadedAudios={},st="sql-wasm.wasm",!mt()){var bt=st;st=h.locateFile?h.locateFile(bt,E):E+bt}function vt(){var t=st;try{if(t==st&&R)return new Uint8Array(R);if(M)return M(t);throw"both async and sync fetching of the wasm failed"}catch(e){pt(e)}}function gt(){if(!R&&(m||b)){if("function"===typeof fetch&&!st.startsWith("file://"))return fetch(st,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+st+"'";return t.arrayBuffer()})).catch((function(){return vt()}));if(w)return new Promise((function(t,e){w(st,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return vt()}))}function yt(t){for(;0>2]=60*o,H[Ve()>>2]=Number(e!=n),r=t(r),i=t(i),r=tt(r),i=tt(i),n>2]=r,H[Ye()+4>>2]=i):(H[Ye()>>2]=i,H[Ye()+4>>2]=r)}}function _t(t,e){for(var r=0,i=t.length-1;0<=i;i--){var n=t[i];"."===n?t.splice(i,1):".."===n?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t}function St(t){var e="/"===t.charAt(0),r="/"===t.substr(-1);return(t=_t(t.split("/").filter((function(t){return!!t})),!e).join("/"))||e||(t="."),t&&r&&(t+="/"),(e?"/":"")+t}function Et(t){var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(t).slice(1);return t=e[0],e=e[1],t||e?(e&&(e=e.substr(0,e.length-1)),t+e):"."}function At(t){if("/"===t)return"/";t=St(t),t=t.replace(/\/$/,"");var e=t.lastIndexOf("/");return-1===e?t:t.substr(e+1)}function xt(){if("object"===("undefined"===typeof crypto?"undefined":u(crypto))&&"function"===typeof crypto.getRandomValues){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}if(v)try{var e=r("1c46");return function(){return e.randomBytes(1)[0]}}catch(i){}return function(){pt("randomDevice")}}function kt(){for(var t="",e=!1,r=arguments.length-1;-1<=r&&!e;r--){if(e=0<=r?arguments[r]:"/","string"!==typeof e)throw new TypeError("Arguments to path.resolve must be strings");if(!e)return"";t=e+"/"+t,e="/"===e.charAt(0)}return t=_t(t.split("/").filter((function(t){return!!t})),!e).join("/"),(e?"/":"")+t||"."}var Rt=[];function $t(t,e){Rt[t]={input:[],output:[],cb:e},oe(t,Tt)}var Tt={open:function(t){var e=Rt[t.node.rdev];if(!e)throw new Ut(43);t.tty=e,t.seekable=!1},close:function(t){t.tty.cb.flush(t.tty)},flush:function(t){t.tty.cb.flush(t.tty)},read:function(t,e,r,i){if(!t.tty||!t.tty.cb.xb)throw new Ut(60);for(var n=0,o=0;o=e||(e=Math.max(e,r*(1048576>r?2:1.125)>>>0),0!=r&&(e=Math.max(e,256)),r=t.Oa,t.Oa=new Uint8Array(e),0=t.node.Sa)return 0;if(t=Math.min(t.node.Sa-n,i),8e)throw new Ut(28);return e},sb:function(t,e,r){Ct.vb(t.node,e+r),t.node.Sa=Math.max(t.node.Sa,e+r)},hb:function(t,e,r,i,n,o){if(0!==e)throw new Ut(28);if(32768!==(61440&t.node.mode))throw new Ut(43);if(t=t.node.Oa,2&o||t.buffer!==F){for((0>>0)%jt.length}function Ht(t){var e=Wt(t.parent.id,t.name);if(jt[e]===t)jt[e]=t.bb;else for(e=jt[e];e;){if(e.bb===t){e.bb=t.bb;break}e=e.bb}}function Zt(t,e){var r;if(r=(r=Jt(t,"x"))?r:t.Ma.lookup?0:2)throw new Ut(r,t);for(r=jt[Wt(t.id,e)];r;r=r.bb){var i=r.name;if(r.parent.id===t.id&&i===e)return r}return t.Ma.lookup(t,e)}function Yt(t,e,r,i){return t=new qe(t,e,r,i),e=Wt(t.parent.id,t.name),t.bb=jt[e],jt[e]=t}function Vt(t){return 16384===(61440&t)}var Gt={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090};function Xt(t){var e=["r","w","rw"][3&t];return 512&t&&(e+="w"),e}function Jt(t,e){return Dt?0:!e.includes("r")||292&t.mode?e.includes("w")&&!(146&t.mode)||e.includes("x")&&!(73&t.mode)?2:0:2}function Qt(t,e){try{return Zt(t,e),20}catch(r){}return Jt(t,"wx")}function te(t,e,r){try{var i=Zt(t,e)}catch(n){return n.Pa}if(t=Jt(t,"wx"))return t;if(r){if(!Vt(i.mode))return 54;if(i===i.parent||"/"===Kt(i))return 10}else if(Vt(i.mode))return 31;return 0}function ee(t){var e=4096;for(t=t||0;t<=e;t++)if(!Bt[t])return t;throw new Ut(33)}function re(t,e){Re||(Re=function(){},Re.prototype={});var r,i=new Re;for(r in t)i[r]=t[r];return t=i,e=ee(e),t.fd=e,Bt[e]=t}var ie,ne={open:function(t){t.Na=Nt[t.node.rdev].Na,t.Na.open&&t.Na.open(t)},Za:function(){throw new Ut(70)}};function oe(t,e){Nt[t]={Na:e}}function ae(t,e){var r="/"===e,i=!e;if(r&&Lt)throw new Ut(10);if(!r&&!i){var n=zt(e,{wb:!1});if(e=n.path,n=n.node,n.ab)throw new Ut(10);if(!Vt(n.mode))throw new Ut(54)}e={type:t,Tb:{},yb:e,Lb:[]},t=t.Wa(e),t.Wa=e,e.root=t,r?Lt=t:n&&(n.ab=e,n.Wa&&n.Wa.Lb.push(e))}function se(t,e,r){var i=zt(t,{parent:!0}).node;if(t=At(t),!t||"."===t||".."===t)throw new Ut(28);var n=Qt(i,t);if(n)throw new Ut(n);if(!i.Ma.gb)throw new Ut(63);return i.Ma.gb(i,t,e,r)}function ue(t,e){return se(t,1023&(void 0!==e?e:511)|16384,0)}function he(t,e,r){"undefined"===typeof r&&(r=e,e=438),se(t,8192|e,r)}function fe(t,e){if(!kt(t))throw new Ut(44);var r=zt(e,{parent:!0}).node;if(!r)throw new Ut(44);e=At(e);var i=Qt(r,e);if(i)throw new Ut(i);if(!r.Ma.symlink)throw new Ut(63);r.Ma.symlink(r,e,t)}function le(t){var e=zt(t,{parent:!0}).node,r=At(t),i=Zt(e,r),n=te(e,r,!1);if(n)throw new Ut(n);if(!e.Ma.unlink)throw new Ut(63);if(i.ab)throw new Ut(10);try{qt.willDeletePath&&qt.willDeletePath(t)}catch(o){x("FS.trackingDelegate['willDeletePath']('"+t+"') threw an exception: "+o.message)}e.Ma.unlink(e,r),Ht(i);try{qt.onDeletePath&&qt.onDeletePath(t)}catch(o){x("FS.trackingDelegate['onDeletePath']('"+t+"') threw an exception: "+o.message)}}function ce(t){if(t=zt(t).node,!t)throw new Ut(44);if(!t.Ma.readlink)throw new Ut(28);return kt(Kt(t.parent),t.Ma.readlink(t))}function de(t,e){if(t=zt(t,{Ya:!e}).node,!t)throw new Ut(44);if(!t.Ma.Ua)throw new Ut(63);return t.Ma.Ua(t)}function pe(t){return de(t,!0)}function me(t,e){if(t="string"===typeof t?zt(t,{Ya:!0}).node:t,!t.Ma.Ta)throw new Ut(63);t.Ma.Ta(t,{mode:4095&e|-4096&t.mode,timestamp:Date.now()})}function be(t){if(t="string"===typeof t?zt(t,{Ya:!0}).node:t,!t.Ma.Ta)throw new Ut(63);t.Ma.Ta(t,{timestamp:Date.now()})}function ve(t,e){if(0>e)throw new Ut(28);if(t="string"===typeof t?zt(t,{Ya:!0}).node:t,!t.Ma.Ta)throw new Ut(63);if(Vt(t.mode))throw new Ut(31);if(32768!==(61440&t.mode))throw new Ut(28);var r=Jt(t,"w");if(r)throw new Ut(r);t.Ma.Ta(t,{size:e,timestamp:Date.now()})}function ge(t,e,r,i){if(""===t)throw new Ut(44);if("string"===typeof e){var n=Gt[e];if("undefined"===typeof n)throw Error("Unknown file open mode: "+e);e=n}if(r=64&e?4095&("undefined"===typeof r?438:r)|32768:0,"object"===u(t))var o=t;else{t=St(t);try{o=zt(t,{Ya:!(131072&e)}).node}catch(a){}}if(n=!1,64&e)if(o){if(128&e)throw new Ut(20)}else o=se(t,r,0),n=!0;if(!o)throw new Ut(44);if(8192===(61440&o.mode)&&(e&=-513),65536&e&&!Vt(o.mode))throw new Ut(54);if(!n&&(r=o?40960===(61440&o.mode)?32:Vt(o.mode)&&("r"!==Xt(e)||512&e)?31:Jt(o,Xt(e)):44))throw new Ut(r);512&e&&ve(o,0),e&=-131713,i=re({node:o,path:Kt(o),flags:e,seekable:!0,position:0,Na:o.Na,Qb:[],error:!1},i),i.Na.open&&i.Na.open(i),!h.logReadFiles||1&e||($e||($e={}),t in $e||($e[t]=1,x("FS.trackingDelegate error on read file: "+t)));try{qt.onOpenFile&&(o=0,1!==(2097155&e)&&(o|=1),0!==(2097155&e)&&(o|=2),qt.onOpenFile(t,o))}catch(a){x("FS.trackingDelegate['onOpenFile']('"+t+"', flags) threw an exception: "+a.message)}return i}function ye(t){if(null===t.fd)throw new Ut(8);t.ob&&(t.ob=null);try{t.Na.close&&t.Na.close(t)}catch(e){throw e}finally{Bt[t.fd]=null}t.fd=null}function we(t,e,r){if(null===t.fd)throw new Ut(8);if(!t.seekable||!t.Na.Za)throw new Ut(70);if(0!=r&&1!=r&&2!=r)throw new Ut(28);t.position=t.Na.Za(t,e,r),t.Qb=[]}function Me(t,e,r,i,n){if(0>i||0>n)throw new Ut(28);if(null===t.fd)throw new Ut(8);if(1===(2097155&t.flags))throw new Ut(8);if(Vt(t.node.mode))throw new Ut(31);if(!t.Na.read)throw new Ut(28);var o="undefined"!==typeof n;if(o){if(!t.seekable)throw new Ut(70)}else n=t.position;return e=t.Na.read(t,e,r,i,n),o||(t.position+=e),e}function _e(t,e,r,i,n,o){if(0>i||0>n)throw new Ut(28);if(null===t.fd)throw new Ut(8);if(0===(2097155&t.flags))throw new Ut(8);if(Vt(t.node.mode))throw new Ut(31);if(!t.Na.write)throw new Ut(28);t.seekable&&1024&t.flags&&we(t,0,2);var a="undefined"!==typeof n;if(a){if(!t.seekable)throw new Ut(70)}else n=t.position;e=t.Na.write(t,e,r,i,n,o),a||(t.position+=e);try{t.path&&qt.onWriteToFile&&qt.onWriteToFile(t.path)}catch(s){x("FS.trackingDelegate['onWriteToFile']('"+t.path+"') threw an exception: "+s.message)}return e}function Se(t){var e={encoding:"binary"};if(e=e||{},e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding)throw Error('Invalid encoding type "'+e.encoding+'"');var r,i=ge(t,e.flags);t=de(t).size;var n=new Uint8Array(t);return Me(i,n,0,t,0),"utf8"===e.encoding?r=G(n,0):"binary"===e.encoding&&(r=n),ye(i),r}function Ee(){Ut||(Ut=function(t,e){this.node=e,this.Pb=function(t){this.Pa=t},this.Pb(t),this.message="FS error"},Ut.prototype=Error(),Ut.prototype.constructor=Ut,[44].forEach((function(t){Ft[t]=new Ut(t),Ft[t].stack=""})))}function Ae(t,e){var r=0;return t&&(r|=365),e&&(r|=146),r}function xe(t,e,r){t=St("/dev/"+t);var i=Ae(!!e,!!r);ke||(ke=64);var n=ke++<<8|0;oe(n,{open:function(t){t.seekable=!1},close:function(){r&&r.buffer&&r.buffer.length&&r(10)},read:function(t,r,i,n){for(var o=0,a=0;a>2]=i.dev,H[r+4>>2]=0,H[r+8>>2]=i.ino,H[r+12>>2]=i.mode,H[r+16>>2]=i.nlink,H[r+20>>2]=i.uid,H[r+24>>2]=i.gid,H[r+28>>2]=i.rdev,H[r+32>>2]=0,ht=[i.size>>>0,(ut=i.size,1<=+Math.abs(ut)?0>>0:~~+Math.ceil((ut-+(~~ut>>>0))/4294967296)>>>0:0)],H[r+40>>2]=ht[0],H[r+44>>2]=ht[1],H[r+48>>2]=4096,H[r+52>>2]=i.blocks,H[r+56>>2]=i.atime.getTime()/1e3|0,H[r+60>>2]=0,H[r+64>>2]=i.mtime.getTime()/1e3|0,H[r+68>>2]=0,H[r+72>>2]=i.ctime.getTime()/1e3|0,H[r+76>>2]=0,ht=[i.ino>>>0,(ut=i.ino,1<=+Math.abs(ut)?0>>0:~~+Math.ceil((ut-+(~~ut>>>0))/4294967296)>>>0:0)],H[r+80>>2]=ht[0],H[r+84>>2]=ht[1],0}var Ce,Le=void 0;function Ne(){return Le+=4,H[Le-4>>2]}function Be(t){if(t=Bt[t],!t)throw new Ut(8);return t}Ce=v?function(){var t=i.hrtime();return 1e3*t[0]+t[1]/1e6}:"undefined"!==typeof dateNow?dateNow:function(){return performance.now()};var Pe,je={};function De(){if(!Pe){var t,e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===("undefined"===typeof navigator?"undefined":u(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:p||"./this.program"};for(t in je)void 0===je[t]?delete e[t]:e[t]=je[t];var r=[];for(t in e)r.push(t+"="+e[t]);Pe=r}return Pe}function qe(t,e,r,i){t||(t=this),this.parent=t,this.Wa=t.Wa,this.ab=null,this.id=Pt++,this.name=e,this.mode=r,this.Ma={},this.Na={},this.rdev=i}function Ue(t,e){var r=Array(Q(t)+1);return t=J(t,r,0,r.length),e&&(r.length=t),r}Object.defineProperties(qe.prototype,{read:{get:function(){return 365===(365&this.mode)},set:function(t){t?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(146&this.mode)},set:function(t){t?this.mode|=146:this.mode&=-147}}}),Ee(),jt=Array(4096),ae(Ct,"/"),ue("/tmp"),ue("/home"),ue("/home/web_user"),function(){ue("/dev"),oe(259,{read:function(){return 0},write:function(t,e,r,i){return i}}),he("/dev/null",259),$t(1280,It),$t(1536,Ot),he("/dev/tty",1280),he("/dev/tty1",1536);var t=xt();xe("random",t),xe("urandom",t),ue("/dev/shm"),ue("/dev/shm/tmp")}(),function(){ue("/proc");var t=ue("/proc/self");ue("/proc/self/fd"),ae({Wa:function(){var e=Yt(t,"fd",16895,73);return e.Ma={lookup:function(t,e){var r=Bt[+e];if(!r)throw new Ut(8);return t={parent:null,Wa:{yb:"fake"},Ma:{readlink:function(){return r.path}}},t.parent=t}},e}},"/proc/self/fd")}();var Fe={a:function(t,e,r,i){pt("Assertion failed: "+X(t)+", at: "+[e?X(e):"unknown filename",r,i?X(i):"unknown function"])},s:function(t,e){Mt(),t=new Date(1e3*H[t>>2]),H[e>>2]=t.getSeconds(),H[e+4>>2]=t.getMinutes(),H[e+8>>2]=t.getHours(),H[e+12>>2]=t.getDate(),H[e+16>>2]=t.getMonth(),H[e+20>>2]=t.getFullYear()-1900,H[e+24>>2]=t.getDay();var r=new Date(t.getFullYear(),0,1);H[e+28>>2]=(t.getTime()-r.getTime())/864e5|0,H[e+36>>2]=-60*t.getTimezoneOffset();var i=new Date(t.getFullYear(),6,1).getTimezoneOffset();return r=r.getTimezoneOffset(),t=0|(i!=r&&t.getTimezoneOffset()==Math.min(r,i)),H[e+32>>2]=t,t=H[Ye()+(t?4:0)>>2],H[e+40>>2]=t,e},F:function(t,e){try{var r;if(t=X(t),-8&e)var i=-28;else(r=zt(t,{Ya:!0}).node)?(t="",4&e&&(t+="r"),2&e&&(t+="w"),1&e&&(t+="x"),i=t&&Jt(r,t)?-2:0):i=-44;return i}catch(n){return"undefined"!==typeof Te&&n instanceof Ut||pt(n),-n.Pa}},h:function(t,e){try{return t=X(t),me(t,e),0}catch(r){return"undefined"!==typeof Te&&r instanceof Ut||pt(r),-r.Pa}},y:function(t){try{return t=X(t),be(t),0}catch(e){return"undefined"!==typeof Te&&e instanceof Ut||pt(e),-e.Pa}},i:function(t,e){try{var r=Bt[t];if(!r)throw new Ut(8);return me(r.node,e),0}catch(i){return"undefined"!==typeof Te&&i instanceof Ut||pt(i),-i.Pa}},z:function(t){try{var e=Bt[t];if(!e)throw new Ut(8);return be(e.node),0}catch(r){return"undefined"!==typeof Te&&r instanceof Ut||pt(r),-r.Pa}},b:function(t,e,r){Le=r;try{var i=Be(t);switch(e){case 0:var n=Ne();return 0>n?-28:ge(i.path,i.flags,0,n).fd;case 1:case 2:return 0;case 3:return i.flags;case 4:return n=Ne(),i.flags|=n,0;case 12:return n=Ne(),W[n+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return H[Ke()>>2]=28,-1;default:return-28}}catch(o){return"undefined"!==typeof Te&&o instanceof Ut||pt(o),-o.Pa}},j:function(t,e){try{var r=Be(t);return Oe(de,r.path,e)}catch(i){return"undefined"!==typeof Te&&i instanceof Ut||pt(i),-i.Pa}},E:function(t,e,r){try{var i=Bt[t];if(!i)throw new Ut(8);if(0===(2097155&i.flags))throw new Ut(28);return ve(i.node,r),0}catch(n){return"undefined"!==typeof Te&&n instanceof Ut||pt(n),-n.Pa}},C:function(t,e){try{return 0===e?-28:e=r)var i=-28;else{var n=ce(t),o=Math.min(r,Q(n)),a=z[e+o];J(n,K,e,r+1),z[e+o]=a,i=o}return i}catch(s){return"undefined"!==typeof Te&&s instanceof Ut||pt(s),-s.Pa}},u:function(t){try{t=X(t);var e=zt(t,{parent:!0}).node,r=At(t),i=Zt(e,r),n=te(e,r,!0);if(n)throw new Ut(n);if(!e.Ma.rmdir)throw new Ut(63);if(i.ab)throw new Ut(10);try{qt.willDeletePath&&qt.willDeletePath(t)}catch(o){x("FS.trackingDelegate['willDeletePath']('"+t+"') threw an exception: "+o.message)}e.Ma.rmdir(e,r),Ht(i);try{qt.onDeletePath&&qt.onDeletePath(t)}catch(o){x("FS.trackingDelegate['onDeletePath']('"+t+"') threw an exception: "+o.message)}return 0}catch(o){return"undefined"!==typeof Te&&o instanceof Ut||pt(o),-o.Pa}},e:function(t,e){try{return t=X(t),Oe(de,t,e)}catch(r){return"undefined"!==typeof Te&&r instanceof Ut||pt(r),-r.Pa}},w:function(t){try{return t=X(t),le(t),0}catch(e){return"undefined"!==typeof Te&&e instanceof Ut||pt(e),-e.Pa}},l:function(){return 2147483648},n:function(t,e,r){K.copyWithin(t,e,e+r)},c:function(t){var e=K.length;if(t>>>=0,2147483648=r;r*=2){var i=e*(1+.2/r);i=Math.min(i,t+100663296),i=Math.max(t,i),0>>16),et();var n=1;break t}catch(o){}n=void 0}if(n)return!0}return!1},r:function(t){for(var e=Ce();Ce()-e>2]=o,o=0;o>0]=i.charCodeAt(o);z[n>>0]=0,r+=i.length+1})),0}catch(i){return"undefined"!==typeof Te&&i instanceof Ut||pt(i),i.Pa}},q:function(t,e){try{var r=De();H[t>>2]=r.length;var i=0;return r.forEach((function(t){i+=t.length+1})),H[e>>2]=i,0}catch(n){return"undefined"!==typeof Te&&n instanceof Ut||pt(n),n.Pa}},f:function(t){try{var e=Be(t);return ye(e),0}catch(r){return"undefined"!==typeof Te&&r instanceof Ut||pt(r),r.Pa}},o:function(t,e){try{var r=Be(t);return z[e>>0]=r.tty?2:Vt(r.mode)?3:40960===(61440&r.mode)?7:4,0}catch(i){return"undefined"!==typeof Te&&i instanceof Ut||pt(i),i.Pa}},t:function(t,e,r,i){try{t:{for(var n=Be(t),o=t=0;o>2],s=Me(n,z,H[e+8*o>>2],a,void 0);if(0>s){var u=-1;break t}if(t+=s,s>2]=u,0}catch(h){return"undefined"!==typeof Te&&h instanceof Ut||pt(h),h.Pa}},m:function t(e,r,i,n,o){try{var a=Be(e);return e=4294967296*i+(r>>>0),-9007199254740992>=e||9007199254740992<=e?-61:(we(a,e,n),ht=[a.position>>>0,(ut=a.position,1<=+Math.abs(ut)?0>>0:~~+Math.ceil((ut-+(~~ut>>>0))/4294967296)>>>0:0)],H[o>>2]=ht[0],H[o+4>>2]=ht[1],a.ob&&0===e&&0===n&&(a.ob=null),0)}catch(t){return"undefined"!==typeof Te&&t instanceof Ut||pt(t),t.Pa}},D:function(t){try{var e=Be(t);return e.Na&&e.Na.fsync?-e.Na.fsync(e):0}catch(r){return"undefined"!==typeof Te&&r instanceof Ut||pt(r),r.Pa}},v:function(t,e,r,i){try{t:{for(var n=Be(t),o=t=0;o>2],H[e+(8*o+4)>>2],void 0);if(0>a){var s=-1;break t}t+=a}s=t}return H[i>>2]=s,0}catch(u){return"undefined"!==typeof Te&&u instanceof Ut||pt(u),u.Pa}},g:function(t){var e=Date.now();return H[t>>2]=e/1e3|0,H[t+4>>2]=e%1e3*1e3|0,0},K:function(t){var e=Date.now()/1e3|0;return t&&(H[t>>2]=e),e},B:function(t,e){if(e){var r=e+8;e=1e3*H[r>>2],e+=H[r+4>>2]/1e3}else e=Date.now();t=X(t);try{var i=zt(t,{Ya:!0}).node;i.Ma.Ta(i,{timestamp:Math.max(e,e)});var n=0}catch(o){if(!(o instanceof Ut)){t:{if(n=Error(),!n.stack){try{throw Error()}catch(a){n=a}if(!n.stack){n="(no stack trace available)";break t}}n=n.stack.toString()}throw h.extraStackTrace&&(n+="\n"+h.extraStackTrace()),n=wt(n),o+" : "+n}n=o.Pa,H[Ke()>>2]=n,n=-1}return n}};(function(){function t(t){h.asm=t.exports,L=h.asm.L,et(),rt=h.asm.Da,nt.unshift(h.asm.M),lt--,h.monitorRunDependencies&&h.monitorRunDependencies(lt),0==lt&&(null!==ct&&(clearInterval(ct),ct=null),dt&&(t=dt,dt=null,t()))}function e(e){t(e.instance)}function r(t){return gt().then((function(t){return WebAssembly.instantiate(t,i)})).then(t,(function(t){x("failed to asynchronously prepare wasm: "+t),pt(t)}))}var i={a:Fe};if(lt++,h.monitorRunDependencies&&h.monitorRunDependencies(lt),h.instantiateWasm)try{return h.instantiateWasm(i,t)}catch(n){return x("Module.instantiateWasm callback failed with error: "+n),!1}(function(){R||"function"!==typeof WebAssembly.instantiateStreaming||mt()||st.startsWith("file://")||"function"!==typeof fetch?r(e):fetch(st,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,i).then(e,(function(t){return x("wasm streaming compile failed: "+t),x("falling back to ArrayBuffer instantiation"),r(e)}))}))})()})(),h.___wasm_call_ctors=function(){return(h.___wasm_call_ctors=h.asm.M).apply(null,arguments)};var ze=h._memset=function(){return(ze=h._memset=h.asm.N).apply(null,arguments)};h._sqlite3_free=function(){return(h._sqlite3_free=h.asm.O).apply(null,arguments)};var Ke=h.___errno_location=function(){return(Ke=h.___errno_location=h.asm.P).apply(null,arguments)};h._sqlite3_step=function(){return(h._sqlite3_step=h.asm.Q).apply(null,arguments)},h._sqlite3_finalize=function(){return(h._sqlite3_finalize=h.asm.R).apply(null,arguments)},h._sqlite3_prepare_v2=function(){return(h._sqlite3_prepare_v2=h.asm.S).apply(null,arguments)},h._sqlite3_reset=function(){return(h._sqlite3_reset=h.asm.T).apply(null,arguments)},h._sqlite3_clear_bindings=function(){return(h._sqlite3_clear_bindings=h.asm.U).apply(null,arguments)},h._sqlite3_value_blob=function(){return(h._sqlite3_value_blob=h.asm.V).apply(null,arguments)},h._sqlite3_value_text=function(){return(h._sqlite3_value_text=h.asm.W).apply(null,arguments)},h._sqlite3_value_bytes=function(){return(h._sqlite3_value_bytes=h.asm.X).apply(null,arguments)},h._sqlite3_value_double=function(){return(h._sqlite3_value_double=h.asm.Y).apply(null,arguments)},h._sqlite3_value_int=function(){return(h._sqlite3_value_int=h.asm.Z).apply(null,arguments)},h._sqlite3_value_type=function(){return(h._sqlite3_value_type=h.asm._).apply(null,arguments)},h._sqlite3_result_blob=function(){return(h._sqlite3_result_blob=h.asm.$).apply(null,arguments)},h._sqlite3_result_double=function(){return(h._sqlite3_result_double=h.asm.aa).apply(null,arguments)},h._sqlite3_result_error=function(){return(h._sqlite3_result_error=h.asm.ba).apply(null,arguments)},h._sqlite3_result_int=function(){return(h._sqlite3_result_int=h.asm.ca).apply(null,arguments)},h._sqlite3_result_int64=function(){return(h._sqlite3_result_int64=h.asm.da).apply(null,arguments)},h._sqlite3_result_null=function(){return(h._sqlite3_result_null=h.asm.ea).apply(null,arguments)},h._sqlite3_result_text=function(){return(h._sqlite3_result_text=h.asm.fa).apply(null,arguments)},h._sqlite3_column_count=function(){return(h._sqlite3_column_count=h.asm.ga).apply(null,arguments)},h._sqlite3_data_count=function(){return(h._sqlite3_data_count=h.asm.ha).apply(null,arguments)},h._sqlite3_column_blob=function(){return(h._sqlite3_column_blob=h.asm.ia).apply(null,arguments)},h._sqlite3_column_bytes=function(){return(h._sqlite3_column_bytes=h.asm.ja).apply(null,arguments)},h._sqlite3_column_double=function(){return(h._sqlite3_column_double=h.asm.ka).apply(null,arguments)},h._sqlite3_column_text=function(){return(h._sqlite3_column_text=h.asm.la).apply(null,arguments)},h._sqlite3_column_type=function(){return(h._sqlite3_column_type=h.asm.ma).apply(null,arguments)},h._sqlite3_column_name=function(){return(h._sqlite3_column_name=h.asm.na).apply(null,arguments)},h._sqlite3_bind_blob=function(){return(h._sqlite3_bind_blob=h.asm.oa).apply(null,arguments)},h._sqlite3_bind_double=function(){return(h._sqlite3_bind_double=h.asm.pa).apply(null,arguments)},h._sqlite3_bind_int=function(){return(h._sqlite3_bind_int=h.asm.qa).apply(null,arguments)},h._sqlite3_bind_text=function(){return(h._sqlite3_bind_text=h.asm.ra).apply(null,arguments)},h._sqlite3_bind_parameter_index=function(){return(h._sqlite3_bind_parameter_index=h.asm.sa).apply(null,arguments)},h._sqlite3_sql=function(){return(h._sqlite3_sql=h.asm.ta).apply(null,arguments)},h._sqlite3_normalized_sql=function(){return(h._sqlite3_normalized_sql=h.asm.ua).apply(null,arguments)},h._sqlite3_errmsg=function(){return(h._sqlite3_errmsg=h.asm.va).apply(null,arguments)},h._sqlite3_exec=function(){return(h._sqlite3_exec=h.asm.wa).apply(null,arguments)},h._sqlite3_changes=function(){return(h._sqlite3_changes=h.asm.xa).apply(null,arguments)},h._sqlite3_close_v2=function(){return(h._sqlite3_close_v2=h.asm.ya).apply(null,arguments)},h._sqlite3_create_function_v2=function(){return(h._sqlite3_create_function_v2=h.asm.za).apply(null,arguments)},h._sqlite3_open=function(){return(h._sqlite3_open=h.asm.Aa).apply(null,arguments)};var We=h._malloc=function(){return(We=h._malloc=h.asm.Ba).apply(null,arguments)},He=h._free=function(){return(He=h._free=h.asm.Ca).apply(null,arguments)};h._RegisterExtensionFunctions=function(){return(h._RegisterExtensionFunctions=h.asm.Ea).apply(null,arguments)};var Ze,Ye=h.__get_tzname=function(){return(Ye=h.__get_tzname=h.asm.Fa).apply(null,arguments)},Ve=h.__get_daylight=function(){return(Ve=h.__get_daylight=h.asm.Ga).apply(null,arguments)},Ge=h.__get_timezone=function(){return(Ge=h.__get_timezone=h.asm.Ha).apply(null,arguments)},Xe=h.stackSave=function(){return(Xe=h.stackSave=h.asm.Ia).apply(null,arguments)},Je=h.stackRestore=function(){return(Je=h.stackRestore=h.asm.Ja).apply(null,arguments)},Qe=h.stackAlloc=function(){return(Qe=h.stackAlloc=h.asm.Ka).apply(null,arguments)},tr=h._memalign=function(){return(tr=h._memalign=h.asm.La).apply(null,arguments)};function er(){function t(){if(!Ze&&(Ze=!0,h.calledRun=!0,!N)){if(h.noFSInit||ie||(ie=!0,Ee(),h.stdin=h.stdin,h.stdout=h.stdout,h.stderr=h.stderr,h.stdin?xe("stdin",h.stdin):fe("/dev/tty","/dev/stdin"),h.stdout?xe("stdout",null,h.stdout):fe("/dev/tty","/dev/stdout"),h.stderr?xe("stderr",null,h.stderr):fe("/dev/tty1","/dev/stderr"),ge("/dev/stdin",0),ge("/dev/stdout",1),ge("/dev/stderr",1)),Dt=!1,yt(nt),h.onRuntimeInitialized&&h.onRuntimeInitialized(),h.postRun)for("function"==typeof h.postRun&&(h.postRun=[h.postRun]);h.postRun.length;){var t=h.postRun.shift();ot.unshift(t)}yt(ot)}}if(!(0 */ +var i=r("b639"),n=i.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(o(i,e),e.Buffer=a),a.prototype=Object.create(n.prototype),o(n,a),a.from=function(t,e,r){if("number"===typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},a.alloc=function(t,e,r){if("number"!==typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"===typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},a.allocUnsafe=function(t){if("number"!==typeof t)throw new TypeError("Argument must be a number");return n(t)},a.allocUnsafeSlow=function(t){if("number"!==typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},"06cf":function(t,e,r){var i=r("83ab"),n=r("d1e7"),o=r("5c6c"),a=r("fc6a"),s=r("c04e"),u=r("5135"),h=r("0cfb"),f=Object.getOwnPropertyDescriptor;e.f=i?f:function(t,e){if(t=a(t),e=s(e,!0),h)try{return f(t,e)}catch(r){}if(u(t,e))return o(!n.f.call(t,e),t[e])}},"0706":function(module,exports){var indexOf=function(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0;r>>27}function f(t){return t<<30|t>>>2}function l(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}i(u,n),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e=this._w,r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,u=0;u<16;++u)e[u]=t.readInt32BE(4*u);for(;u<80;++u)e[u]=e[u-3]^e[u-8]^e[u-14]^e[u-16];for(var c=0;c<80;++c){var d=~~(c/20),p=h(r)+l(d,i,n,o)+s+e[c]+a[d]|0;s=o,o=n,n=f(i),i=r,r=p}this._a=r+this._a|0,this._b=i+this._b|0,this._c=n+this._c|0,this._d=o+this._d|0,this._e=s+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},"0960":function(t,e,r){t.exports=r("b19a")},"09dc":function(t,e,r){"use strict";t.exports=f;var i=r("9d8a").codes,n=i.ERR_METHOD_NOT_IMPLEMENTED,o=i.ERR_MULTIPLE_CALLBACK,a=i.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=i.ERR_TRANSFORM_WITH_LENGTH_0,u=r("e666");function h(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(null===i)return this.emit("error",new o);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length=e.length){o++;break}var a=e.slice(2,n-1);if(("0002"!==i.toString("hex")&&!r||"0001"!==i.toString("hex")&&r)&&o++,a.length<8&&o++,o)throw new Error("decryption error");return e.slice(n)}function d(t,e){t=f.from(t),e=f.from(e);var r=0,i=t.length;t.length!==e.length&&(r++,i=Math.min(t.length,e.length));var n=-1;while(++nd||new a(e).cmp(u.modulus)>=0)throw new Error("decryption error");o=r?h(new a(e),u):s(e,u);var p=f.alloc(d-o.length);if(o=f.concat([p,o],d),4===n)return l(u,o);if(1===n)return c(u,o,r);if(3===n)return o;throw new Error("unknown padding")}},1:function(t,e){},10:function(t,e){},"10d1":function(t,e,r){"use strict";var i,n=r("da84"),o=r("e2cc"),a=r("f183"),s=r("6d61"),u=r("acac"),h=r("861d"),f=r("69f3").enforce,l=r("7f9a"),c=!n.ActiveXObject&&"ActiveXObject"in n,d=Object.isExtensible,p=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},m=t.exports=s("WeakMap",p,u);if(l&&c){i=u.getConstructor(p,"WeakMap",!0),a.REQUIRED=!0;var b=m.prototype,v=b["delete"],g=b.has,y=b.get,w=b.set;o(b,{delete:function(t){if(h(t)&&!d(t)){var e=f(this);return e.frozen||(e.frozen=new i),v.call(this,t)||e.frozen["delete"](t)}return v.call(this,t)},has:function(t){if(h(t)&&!d(t)){var e=f(this);return e.frozen||(e.frozen=new i),g.call(this,t)||e.frozen.has(t)}return g.call(this,t)},get:function(t){if(h(t)&&!d(t)){var e=f(this);return e.frozen||(e.frozen=new i),g.call(this,t)?y.call(this,t):e.frozen.get(t)}return y.call(this,t)},set:function(t,e){if(h(t)&&!d(t)){var r=f(this);r.frozen||(r.frozen=new i),g.call(this,t)?w.call(this,t,e):r.frozen.set(t,e)}else w.call(this,t,e);return this}})}},11:function(t,e){},"116d":function(t,e,r){t.exports=r("b4e8")},"11dc":function(t,e,r){"use strict";(function(e,i){var n=65536,o=4294967295;function a(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}var s=r("8707").Buffer,u=e.crypto||e.msCrypto;function h(t,e){if(t>o)throw new RangeError("requested too many random bytes");var r=s.allocUnsafe(t);if(t>0)if(t>n)for(var a=0;a1||"".split(/.?/).length?function(t,r){var i=String(a(this)),o=void 0===r?m:r>>>0;if(0===o)return[];if(void 0===t)return[i];if(!n(t))return e.call(i,t,o);var s,u,h,f=[],c=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),p=0,b=new RegExp(t.source,c+"g");while(s=l.call(b,i)){if(u=b.lastIndex,u>p&&(f.push(i.slice(p,s.index)),s.length>1&&s.index=o))break;b.lastIndex===s.index&&b.lastIndex++}return p===i.length?!h&&b.test("")||f.push(""):f.push(i.slice(p)),f.length>o?f.slice(0,o):f}:"0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:e.call(this,t,r)}:e,[function(e,r){var n=a(this),o=void 0==e?void 0:e[t];return void 0!==o?o.call(e,n,r):i.call(String(n),e,r)},function(t,n){var a=r(i,t,this,n,i!==e);if(a.done)return a.value;var l=o(t),c=String(this),d=s(l,RegExp),v=l.unicode,g=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(b?"y":"g"),y=new d(b?l:"^(?:"+l.source+")",g),w=void 0===n?m:n>>>0;if(0===w)return[];if(0===c.length)return null===f(y,c)?[c]:[];var M=0,_=0,S=[];while(_2?arguments[2]:void 0,l=a((void 0===f?s:n(f,s))-h,s-u),c=1;h0)h in r?r[u]=r[h]:delete r[u],u+=c,h+=c;return r}},"14c3":function(t,e,r){var i=r("c6b6"),n=r("9263");t.exports=function(t,e){var r=t.exec;if("function"===typeof r){var o=r.call(t,e);if("object"!==typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==i(t))throw TypeError("RegExp#exec called on incompatible receiver");return n.call(t,e)}},1545:function(t,e,r){"use strict";e.utils=r("5ee7"),e.Cipher=r("0184"),e.DES=r("4e2b"),e.CBC=r("0da4"),e.EDE=r("1fec")},"159b":function(t,e,r){var i=r("da84"),n=r("fdbc"),o=r("17c2"),a=r("9112");for(var s in n){var u=i[s],h=u&&u.prototype;if(h&&h.forEach!==o)try{a(h,"forEach",o)}catch(f){h.forEach=o}}},"170b":function(t,e,r){"use strict";var i=r("ebb5"),n=r("50c4"),o=r("23cb"),a=r("4840"),s=i.aTypedArray,u=i.exportTypedArrayMethod;u("subarray",(function(t,e){var r=s(this),i=r.length,u=o(t,i);return new(a(r,r.constructor))(r.buffer,r.byteOffset+u*r.BYTES_PER_ELEMENT,n((void 0===e?i:o(e,i))-u))}))},"17c2":function(t,e,r){"use strict";var i=r("b727").forEach,n=r("a640"),o=r("ae40"),a=n("forEach"),s=o("forEach");t.exports=a&&s?[].forEach:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}},"182d":function(t,e,r){var i=r("f8cd");t.exports=function(t,e){var r=i(t);if(r%e)throw RangeError("Wrong offset");return r}},"19aa":function(t,e){t.exports=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t}},"19ea":function(t,e,r){"use strict";(function(e,i){function n(t){var e=this;this.next=null,this.entry=null,this.finish=function(){W(e,t)}}var o;t.exports=R,R.WritableState=k;var a={deprecate:r("b7d1")},s=r("5bbb"),u=r("b639").Buffer,h=e.Uint8Array||function(){};function f(t){return u.from(t)}function l(t){return u.isBuffer(t)||t instanceof h}var c,d=r("493f"),p=r("b9b5"),m=p.getHighWaterMark,b=r("9d8a").codes,v=b.ERR_INVALID_ARG_TYPE,g=b.ERR_METHOD_NOT_IMPLEMENTED,y=b.ERR_MULTIPLE_CALLBACK,w=b.ERR_STREAM_CANNOT_PIPE,M=b.ERR_STREAM_DESTROYED,_=b.ERR_STREAM_NULL_VALUES,S=b.ERR_STREAM_WRITE_AFTER_END,E=b.ERR_UNKNOWN_ENCODING,A=d.errorOrDestroy;function x(){}function k(t,e,i){o=o||r("e666"),t=t||{},"boolean"!==typeof i&&(i=e instanceof o),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=m(this,t,"writableHighWaterMark",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===t.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){B(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function R(t){o=o||r("e666");var e=this instanceof o;if(!e&&!c.call(R,this))return new R(t);this._writableState=new k(t,this,e),this.writable=!0,t&&("function"===typeof t.write&&(this._write=t.write),"function"===typeof t.writev&&(this._writev=t.writev),"function"===typeof t.destroy&&(this._destroy=t.destroy),"function"===typeof t.final&&(this._final=t.final)),s.call(this)}function $(t,e){var r=new S;A(t,r),i.nextTick(e,r)}function T(t,e,r,n){var o;return null===r?o=new _:"string"===typeof r||e.objectMode||(o=new v("chunk",["string","Buffer"],r)),!o||(A(t,o),i.nextTick(n,o),!1)}function I(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!==typeof e||(e=u.from(e,r)),e}function O(t,e,r,i,n,o){if(!r){var a=I(e,i,n);i!==a&&(r=!0,n="buffer",i=a)}var s=e.objectMode?1:i.length;e.length+=s;var u=e.length-1))throw new E(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(R.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(R.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),R.prototype._write=function(t,e,r){r(new g("_write()"))},R.prototype._writev=null,R.prototype.end=function(t,e,r){var i=this._writableState;return"function"===typeof t?(r=t,t=null,e=null):"function"===typeof e&&(r=e,e=null),null!==t&&void 0!==t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||K(this,i,r),this},Object.defineProperty(R.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(R.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),R.prototype.destroy=d.destroy,R.prototype._undestroy=d.undestroy,R.prototype._destroy=function(t,e){e(t)}}).call(this,r("c8ba"),r("4362"))},"1a2a":function(t,e,r){"use strict";var i=r("3fb5"),n=r("d424"),o=r("6430"),a=r("8707").Buffer,s=r("5a76"),u=r("b5ca"),h=r("69f2"),f=a.alloc(128);function l(t,e){o.call(this,"digest"),"string"===typeof e&&(e=a.from(e));var r="sha512"===t||"sha384"===t?128:64;if(this._alg=t,this._key=e,e.length>r){var i="rmd160"===t?new u:h(t);e=i.update(e).digest()}else e.length=51||!i((function(){var e=[],r=e.constructor={};return r[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},"1e3c":function(t,e,r){var i=r("6430"),n=r("1545"),o=r("3fb5"),a=r("8707").Buffer,s={"des-ede3-cbc":n.CBC.instantiate(n.EDE),"des-ede3":n.EDE,"des-ede-cbc":n.CBC.instantiate(n.EDE),"des-ede":n.EDE,"des-cbc":n.CBC.instantiate(n.DES),"des-ecb":n.DES};function u(t){i.call(this);var e,r=t.mode.toLowerCase(),n=s[r];e=t.decrypt?"decrypt":"encrypt";var o=t.key;a.isBuffer(o)||(o=a.from(o)),"des-ede"!==r&&"des-ede-cbc"!==r||(o=a.concat([o,o.slice(0,8)]));var u=t.iv;a.isBuffer(u)||(u=a.from(u)),this._des=n.create({key:o,iv:u,type:e})}s.des=s["des-cbc"],s.des3=s["des-ede3-cbc"],t.exports=u,o(u,i),u.prototype._update=function(t){return a.from(this._des.update(t))},u.prototype._final=function(){return a.from(this._des.final())}},"1fb5":function(t,e,r){"use strict";e.byteLength=f,e.toByteArray=c,e.fromByteArray=m;for(var i=[],n=[],o="undefined"!==typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");-1===r&&(r=e);var i=r===e?0:4-r%4;return[r,i]}function f(t){var e=h(t),r=e[0],i=e[1];return 3*(r+i)/4-i}function l(t,e,r){return 3*(e+r)/4-r}function c(t){var e,r,i=h(t),a=i[0],s=i[1],u=new o(l(t,a,s)),f=0,c=s>0?a-4:a;for(r=0;r>16&255,u[f++]=e>>8&255,u[f++]=255&e;return 2===s&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[f++]=255&e),1===s&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[f++]=e>>8&255,u[f++]=255&e),u}function d(t){return i[t>>18&63]+i[t>>12&63]+i[t>>6&63]+i[63&t]}function p(t,e,r){for(var i,n=[],o=e;ou?u:s+a));return 1===n?(e=t[r-1],o.push(i[e>>2]+i[e<<4&63]+"==")):2===n&&(e=(t[r-2]<<8)+t[r-1],o.push(i[e>>10]+i[e>>4&63]+i[e<<2&63]+"=")),o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},"1fec":function(t,e,r){"use strict";var i=r("da3e"),n=r("3fb5"),o=r("0184"),a=r("4e2b");function s(t,e){i.equal(e.length,24,"Invalid key length");var r=e.slice(0,8),n=e.slice(8,16),o=e.slice(16,24);this.ciphers="encrypt"===t?[a.create({type:"encrypt",key:r}),a.create({type:"decrypt",key:n}),a.create({type:"encrypt",key:o})]:[a.create({type:"decrypt",key:o}),a.create({type:"encrypt",key:n}),a.create({type:"decrypt",key:r})]}function u(t){o.call(this,t);var e=new s(this.type,this.options.key);this._edeState=e}n(u,o),t.exports=u,u.create=function(t){return new u(t)},u.prototype._update=function(t,e,r,i){var n=this._edeState;n.ciphers[0]._update(t,e,r,i),n.ciphers[1]._update(r,i,r,i),n.ciphers[2]._update(r,i,r,i)},u.prototype._pad=a.prototype._pad,u.prototype._unpad=a.prototype._unpad},2:function(t,e){},"206d":function(t,e,r){(function(e,i){var n,o=r("8707").Buffer,a=r("7d2a"),s=r("9f9d"),u=r("e07b"),h=r("8be6"),f=e.crypto&&e.crypto.subtle,l={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},c=[];function d(t){if(e.process&&!e.process.browser)return Promise.resolve(!1);if(!f||!f.importKey||!f.deriveBits)return Promise.resolve(!1);if(void 0!==c[t])return c[t];n=n||o.alloc(8);var r=p(n,n,10,128,t).then((function(){return!0})).catch((function(){return!1}));return c[t]=r,r}function p(t,e,r,i,n){return f.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then((function(t){return f.deriveBits({name:"PBKDF2",salt:e,iterations:r,hash:{name:n}},t,i<<3)})).then((function(t){return o.from(t)}))}function m(t,e){t.then((function(t){i.nextTick((function(){e(null,t)}))}),(function(t){i.nextTick((function(){e(t)}))}))}t.exports=function(t,r,n,o,f,c){"function"===typeof f&&(c=f,f=void 0),f=f||"sha1";var b=l[f.toLowerCase()];if(!b||"function"!==typeof e.Promise)return i.nextTick((function(){var e;try{e=u(t,r,n,o,f)}catch(i){return c(i)}c(null,e)}));if(a(n,o),t=h(t,s,"Password"),r=h(r,s,"Salt"),"function"!==typeof c)throw new Error("No callback provided to pbkdf2");m(d(b).then((function(e){return e?p(t,r,n,o,b):u(t,r,n,o,f)})),c)}}).call(this,r("c8ba"),r("4362"))},"20f6":function(t,e,r){var i=e;i.der=r("cfbd"),i.pem=r("8df7")},2137:function(t,e,r){"use strict";var i=r("c3c0"),n=r("da3e");function o(t,e,r){if(!(this instanceof o))return new o(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(i.toArray(e,r))}t.exports=o,o.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),n(t.length<=this.blockSize);for(var e=t.length;ep;p++)if(b=f?y(i(g=t[p])[0],g[1]):y(t[p]),b&&b instanceof h)return b;return new h(!1)}c=d.call(t)}v=c.next;while(!(g=v.call(c)).done)if(b=u(c,y,g.value,f),"object"==typeof b&&b&&b instanceof h)return b;return new h(!1)};f.stop=function(t){return new h(!0,t)}},"22ab":function(t,e,r){"use strict";function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function n(t){for(var e=1;e0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";var e=this.head,r=""+e.data;while(e=e.next)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return f.alloc(0);var e=f.allocUnsafe(t>>>0),r=this.head,i=0;while(r)p(r.data,e,i),i+=r.data.length,r=r.next;return e}},{key:"consume",value:function(t,e){var r;return tn.length?n.length:t;if(o===n.length?i+=n:i+=n.slice(0,t),t-=o,0===t){o===n.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=n.slice(o));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(t){var e=f.allocUnsafe(t),r=this.head,i=1;r.data.copy(e),t-=r.data.length;while(r=r.next){var n=r.data,o=t>n.length?n.length:t;if(n.copy(e,e.length-t,0,o),t-=o,0===t){o===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(o));break}++i}return this.length-=i,e}},{key:d,value:function(t,e){return c(this,n({},e,{depth:0,customInspect:!1}))}}]),t}()},"23cb":function(t,e,r){var i=r("a691"),n=Math.max,o=Math.min;t.exports=function(t,e){var r=i(t);return r<0?n(r+e,0):o(r,e)}},"23e7":function(t,e,r){var i=r("da84"),n=r("06cf").f,o=r("9112"),a=r("6eeb"),s=r("ce4e"),u=r("e893"),h=r("94ca");t.exports=function(t,e){var r,f,l,c,d,p,m=t.target,b=t.global,v=t.stat;if(f=b?i:v?i[m]||s(m,{}):(i[m]||{}).prototype,f)for(l in e){if(d=e[l],t.noTargetGet?(p=n(f,l),c=p&&p.value):c=f[l],r=h(b?l:m+(v?".":"#")+l,t.forced),!r&&void 0!==c){if(typeof d===typeof c)continue;u(d,c)}(t.sham||c&&c.sham)&&o(d,"sham",!0),a(f,l,d,t)}}},"241c":function(t,e,r){var i=r("ca84"),n=r("7839"),o=n.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,o)}},2532:function(t,e,r){"use strict";var i=r("23e7"),n=r("5a34"),o=r("1d80"),a=r("ab13");i({target:"String",proto:!0,forced:!a("includes")},{includes:function(t){return!!~String(o(this)).indexOf(n(t),arguments.length>1?arguments[1]:void 0)}})},"25a1":function(t,e,r){"use strict";var i=r("ebb5"),n=r("d58f").right,o=i.aTypedArray,a=i.exportTypedArrayMethod;a("reduceRight",(function(t){return n(o(this),t,arguments.length,arguments.length>1?arguments[1]:void 0)}))},"25f0":function(t,e,r){"use strict";var i=r("6eeb"),n=r("825a"),o=r("d039"),a=r("ad6d"),s="toString",u=RegExp.prototype,h=u[s],f=o((function(){return"/a/b"!=h.call({source:"a",flags:"b"})})),l=h.name!=s;(f||l)&&i(RegExp.prototype,s,(function(){var t=n(this),e=String(t.source),r=t.flags,i=String(void 0===r&&t instanceof RegExp&&!("flags"in u)?a.call(t):r);return"/"+e+"/"+i}),{unsafe:!0})},2626:function(t,e,r){"use strict";var i=r("d066"),n=r("9bf2"),o=r("b622"),a=r("83ab"),s=o("species");t.exports=function(t){var e=i(t),r=n.f;a&&e&&!e[s]&&r(e,s,{configurable:!0,get:function(){return this}})}},"27bf":function(t,e,r){"use strict";t.exports=a;var i=r("b19a"),n=Object.create(r("3a7c"));function o(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(!i)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=e&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^1.4.3","coveralls":"^3.0.8","grunt":"^1.0.4","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.2","jscs":"^3.0.7","jshint":"^2.10.3","mocha":"^6.2.2"},"dependencies":{"bn.js":"^4.4.0","brorand":"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0","inherits":"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"}}')},2954:function(t,e,r){"use strict";var i=r("ebb5"),n=r("4840"),o=r("d039"),a=i.aTypedArray,s=i.aTypedArrayConstructor,u=i.exportTypedArrayMethod,h=[].slice,f=o((function(){new Int8Array(1).slice()}));u("slice",(function(t,e){var r=h.call(a(this),t,e),i=n(this,this.constructor),o=0,u=r.length,f=new(s(i))(u);while(u>o)f[o]=r[o++];return f}),f)},"2aee":function(t,e,r){var i=r("4111"),n=r("d70e"),o=r("4dd0"),a=r("fda6"),s=r("a099"),u=r("8707").Buffer;function h(t){var e;"object"!==typeof t||u.isBuffer(t)||(e=t.passphrase,t=t.key),"string"===typeof t&&(t=u.from(t));var r,n,a=o(t,e),s=a.tag,h=a.data;switch(s){case"CERTIFICATE":n=i.certificate.decode(h,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(n||(n=i.PublicKey.decode(h,"der")),r=n.algorithm.algorithm.join("."),r){case"1.2.840.113549.1.1.1":return i.RSAPublicKey.decode(n.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return n.subjectPrivateKey=n.subjectPublicKey,{type:"ec",data:n};case"1.2.840.10040.4.1":return n.algorithm.params.pub_key=i.DSAparam.decode(n.subjectPublicKey.data,"der"),{type:"dsa",data:n.algorithm.params};default:throw new Error("unknown key id "+r)}throw new Error("unknown key type "+s);case"ENCRYPTED PRIVATE KEY":h=i.EncryptedPrivateKey.decode(h,"der"),h=f(h,e);case"PRIVATE KEY":switch(n=i.PrivateKey.decode(h,"der"),r=n.algorithm.algorithm.join("."),r){case"1.2.840.113549.1.1.1":return i.RSAPrivateKey.decode(n.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:n.algorithm.curve,privateKey:i.ECPrivateKey.decode(n.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return n.algorithm.params.priv_key=i.DSAparam.decode(n.subjectPrivateKey,"der"),{type:"dsa",params:n.algorithm.params};default:throw new Error("unknown key id "+r)}throw new Error("unknown key type "+s);case"RSA PUBLIC KEY":return i.RSAPublicKey.decode(h,"der");case"RSA PRIVATE KEY":return i.RSAPrivateKey.decode(h,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:i.DSAPrivateKey.decode(h,"der")};case"EC PRIVATE KEY":return h=i.ECPrivateKey.decode(h,"der"),{curve:h.parameters.value,privateKey:h.privateKey};default:throw new Error("unknown key type "+s)}}function f(t,e){var r=t.algorithm.decrypt.kde.kdeparams.salt,i=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),o=n[t.algorithm.decrypt.cipher.algo.join(".")],h=t.algorithm.decrypt.cipher.iv,f=t.subjectPrivateKey,l=parseInt(o.split("-")[1],10)/8,c=s.pbkdf2Sync(e,r,i,l,"sha1"),d=a.createDecipheriv(o,c,h),p=[];return p.push(d.update(f)),p.push(d.final()),u.concat(p)}t.exports=h,h.signature=i.signature},"2c63":function(t,e,r){t.exports=r("dc14")},"2ca0":function(t,e,r){"use strict";var i=r("23e7"),n=r("06cf").f,o=r("50c4"),a=r("5a34"),s=r("1d80"),u=r("ab13"),h=r("c430"),f="".startsWith,l=Math.min,c=u("startsWith"),d=!h&&!c&&!!function(){var t=n(String.prototype,"startsWith");return t&&!t.writable}();i({target:"String",proto:!0,forced:!d&&!c},{startsWith:function(t){var e=String(s(this));a(t);var r=o(l(arguments.length>1?arguments[1]:void 0,e.length)),i=String(t);return f?f.call(e,i,r):e.slice(r,r+i.length)===i}})},"2d00":function(t,e,r){var i,n,o=r("da84"),a=r("342f"),s=o.process,u=s&&s.versions,h=u&&u.v8;h?(i=h.split("."),n=i[0]+i[1]):a&&(i=a.match(/Edge\/(\d+)/),(!i||i[1]>=74)&&(i=a.match(/Chrome\/(\d+)/),i&&(n=i[1]))),t.exports=n&&+n},3:function(t,e){},3280:function(t,e,r){"use strict";var i=r("ebb5"),n=r("e58c"),o=i.aTypedArray,a=i.exportTypedArrayMethod;a("lastIndexOf",(function(t){return n.apply(o(this),arguments)}))},3300:function(t,e,r){"use strict";var i=r("f3a3"),n=r("80af"),o=r("3fb5"),a=r("ea53"),s=i.assert;function u(t){a.call(this,"short",t),this.a=new n(t.a,16).toRed(this.red),this.b=new n(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function h(t,e,r,i){a.BasePoint.call(this,t,"affine"),null===e&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new n(e,16),this.y=new n(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function f(t,e,r,i){a.BasePoint.call(this,t,"jacobian"),null===e&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new n(0)):(this.x=new n(e,16),this.y=new n(r,16),this.z=new n(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(u,a),t.exports=u,u.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r,i;if(t.beta)e=new n(t.beta,16).toRed(this.red);else{var o=this._getEndoRoots(this.p);e=o[0].cmp(o[1])<0?o[0]:o[1],e=e.toRed(this.red)}if(t.lambda)r=new n(t.lambda,16);else{var a=this._getEndoRoots(this.n);0===this.g.mul(a[0]).x.cmp(this.g.x.redMul(e))?r=a[0]:(r=a[1],s(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return i=t.basis?t.basis.map((function(t){return{a:new n(t.a,16),b:new n(t.b,16)}})):this._getEndoBasis(r),{beta:e,lambda:r,basis:i}}},u.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:n.mont(t),r=new n(2).toRed(e).redInvm(),i=r.redNeg(),o=new n(3).toRed(e).redNeg().redSqrt().redMul(r),a=i.redAdd(o).fromRed(),s=i.redSub(o).fromRed();return[a,s]},u.prototype._getEndoBasis=function(t){var e,r,i,o,a,s,u,h,f,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),c=t,d=this.n.clone(),p=new n(1),m=new n(0),b=new n(0),v=new n(1),g=0;while(0!==c.cmpn(0)){var y=d.div(c);h=d.sub(y.mul(c)),f=b.sub(y.mul(p));var w=v.sub(y.mul(m));if(!i&&h.cmp(l)<0)e=u.neg(),r=p,i=h.neg(),o=f;else if(i&&2===++g)break;u=h,d=c,c=h,b=p,p=f,v=m,m=w}a=h.neg(),s=f;var M=i.sqr().add(o.sqr()),_=a.sqr().add(s.sqr());return _.cmp(M)>=0&&(a=e,s=r),i.negative&&(i=i.neg(),o=o.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:i,b:o},{a:a,b:s}]},u.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],i=e[1],n=i.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),a=n.mul(r.a),s=o.mul(i.a),u=n.mul(r.b),h=o.mul(i.b),f=t.sub(a).sub(s),l=u.add(h).neg();return{k1:f,k2:l}},u.prototype.pointFromX=function(t,e){t=new n(t,16),t.red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=i.fromRed().isOdd();return(e&&!o||!e&&o)&&(i=i.redNeg()),this.point(t,i)},u.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,i=this.a.redMul(e),n=e.redSqr().redMul(e).redIAdd(i).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},u.prototype._endoWnafMulAdd=function(t,e,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,o=0;o":""},h.prototype.isInfinity=function(){return this.inf},h.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),i=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},h.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),i=t.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(i),o=n.redSqr().redISub(this.x.redAdd(this.x)),a=n.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},h.prototype.getX=function(){return this.x.fromRed()},h.prototype.getY=function(){return this.y.fromRed()},h.prototype.mul=function(t){return t=new n(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},h.prototype.mulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},h.prototype.jmulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},h.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},h.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,i=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return e},h.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var t=this.curve.jpoint(this.x,this.y,this.curve.one);return t},o(f,a.BasePoint),u.prototype.jpoint=function(t,e,r){return new f(this,t,e,r)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),i=this.y.redMul(e).redMul(t);return this.curve.point(r,i)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(e),n=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),a=t.y.redMul(r.redMul(this.z)),s=i.redSub(n),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h=s.redSqr(),f=h.redMul(s),l=i.redMul(h),c=u.redSqr().redIAdd(f).redISub(l).redISub(l),d=u.redMul(l.redISub(c)).redISub(o.redMul(f)),p=this.z.redMul(t.z).redMul(s);return this.curve.jpoint(c,d,p)},f.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,i=t.x.redMul(e),n=this.y,o=t.y.redMul(e).redMul(this.z),a=r.redSub(i),s=n.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),h=u.redMul(a),f=r.redMul(u),l=s.redSqr().redIAdd(h).redISub(f).redISub(f),c=s.redMul(f.redISub(l)).redISub(n.redMul(h)),d=this.z.redMul(a);return this.curve.jpoint(l,c,d)},f.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var e=this,r=0;r=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},3337:function(t,e,r){"use strict";var i=e;i.version=r("2801").version,i.utils=r("f3a3"),i.rand=r("fdac"),i.curve=r("4136"),i.curves=r("0cbb"),i.ec=r("b9a8"),i.eddsa=r("945d")},"334a":function(t,e,r){e=t.exports=r("4250"),e.Stream=e,e.Readable=e,e.Writable=r("19ea"),e.Duplex=r("e666"),e.Transform=r("09dc"),e.PassThrough=r("0ae3"),e.finished=r("ee93"),e.pipeline=r("fbd5")},"342f":function(t,e,r){var i=r("d066");t.exports=i("navigator","userAgent")||""},"343e":function(t,e,r){var i=e;i.der=r("3768"),i.pem=r("85b3")},"34d5":function(t,e,r){e=t.exports=r("cf35"),e.Stream=e,e.Readable=e,e.Writable=r("49ce"),e.Duplex=r("5e7d"),e.Transform=r("f1c8"),e.PassThrough=r("9d28"),e.finished=r("42a7"),e.pipeline=r("ac4f")},3505:function(t,e,r){var i=r("8707").Buffer,n=r("8c8a");function o(t,e,r){var o=e.length,a=n(e,t._cache);return t._cache=t._cache.slice(o),t._prev=i.concat([t._prev,r?e:a]),a}e.encrypt=function(t,e,r){var n,a=i.allocUnsafe(0);while(e.length){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=i.allocUnsafe(0)),!(t._cache.length<=e.length)){a=i.concat([a,o(t,e,r)]);break}n=t._cache.length,a=i.concat([a,o(t,e.slice(0,n),r)]),e=e.slice(n)}return a}},"35a1":function(t,e,r){var i=r("f5df"),n=r("3f8c"),o=r("b622"),a=o("iterator");t.exports=function(t){if(void 0!=t)return t[a]||t["@@iterator"]||n[i(t)]}},3768:function(t,e,r){var i=r("3fb5"),n=r("b639").Buffer,o=r("7f7a"),a=o.base,s=o.constants.der;function u(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new h,this.tree._init(t.body)}function h(t){a.Node.call(this,"der",t)}function f(t){return t<10?"0"+t:t}function l(t,e,r,i){var n;if("seqof"===t?t="seq":"setof"===t&&(t="set"),s.tagByName.hasOwnProperty(t))n=s.tagByName[t];else{if("number"!==typeof t||(0|t)!==t)return i.error("Unknown tag: "+t);n=t}return n>=31?i.error("Multi-octet tag encoding unsupported"):(e||(n|=32),n|=s.tagClassByName[r||"universal"]<<6,n)}t.exports=u,u.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},i(h,a.Node),h.prototype._encodeComposite=function(t,e,r,i){var o=l(t,e,r,this.reporter);if(i.length<128){var a=new n(2);return a[0]=o,a[1]=i.length,this._createEncoderBuffer([a,i])}for(var s=1,u=i.length;u>=256;u>>=8)s++;a=new n(2+s);a[0]=o,a[1]=128|s;u=1+s;for(var h=i.length;h>0;u--,h>>=8)a[u]=255&h;return this._createEncoderBuffer([a,i])},h.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){for(var r=new n(2*t.length),i=0;i=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}var o=0;for(i=0;i=128;a>>=7)o++}var s=new n(o),u=s.length-1;for(i=t.length-1;i>=0;i--){a=t[i];s[u--]=127&a;while((a>>=7)>0)s[u--]=128|127&a}return this._createEncoderBuffer(s)},h.prototype._encodeTime=function(t,e){var r,i=new Date(t);return"gentime"===e?r=[f(i.getFullYear()),f(i.getUTCMonth()+1),f(i.getUTCDate()),f(i.getUTCHours()),f(i.getUTCMinutes()),f(i.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[f(i.getFullYear()%100),f(i.getUTCMonth()+1),f(i.getUTCDate()),f(i.getUTCHours()),f(i.getUTCMinutes()),f(i.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},h.prototype._encodeNull=function(){return this._createEncoderBuffer("")},h.prototype._encodeInt=function(t,e){if("string"===typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!==typeof t&&!n.isBuffer(t)){var r=t.toArray();!t.sign&&128&r[0]&&r.unshift(0),t=new n(r)}if(n.isBuffer(t)){var i=t.length;0===t.length&&i++;var o=new n(i);return t.copy(o),0===t.length&&(o[0]=0),this._createEncoderBuffer(o)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);i=1;for(var a=t;a>=256;a>>=8)i++;for(o=new Array(i),a=o.length-1;a>=0;a--)o[a]=255&t,t>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new n(o))},h.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},h.prototype._use=function(t,e){return"function"===typeof t&&(t=t(e)),t._getEncoder("der").tree},h.prototype._skipDefault=function(t,e,r){var i,n=this._baseState;if(null===n["default"])return!1;var o=t.join();if(void 0===n.defaultBuffer&&(n.defaultBuffer=this._encodeValue(n["default"],e,r).join()),o.length!==n.defaultBuffer.length)return!1;for(i=0;i=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],x=8191&A,k=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,D=P>>>13,q=0|s[0],U=8191&q,F=q>>>13,z=0|s[1],K=8191&z,W=z>>>13,H=0|s[2],Z=8191&H,Y=H>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,W)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,W)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,W)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,W)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,W)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,W)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,W)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,U),n=Math.imul(x,F),n=n+Math.imul(k,U)|0,o=Math.imul(k,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,W)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(x,K)|0,n=n+Math.imul(x,W)|0,n=n+Math.imul(k,K)|0,o=o+Math.imul(k,W)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,W)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,W)|0,i=i+Math.imul(x,Z)|0,n=n+Math.imul(x,Y)|0,n=n+Math.imul(k,Z)|0,o=o+Math.imul(k,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,W)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(x,G)|0,n=n+Math.imul(x,X)|0,n=n+Math.imul(k,G)|0,o=o+Math.imul(k,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(D,U)|0,o=Math.imul(D,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,W)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,W)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(x,Q)|0,n=n+Math.imul(x,tt)|0,n=n+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,W),n=n+Math.imul(D,K)|0,o=Math.imul(D,W),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(x,rt)|0,n=n+Math.imul(x,it)|0,n=n+Math.imul(k,rt)|0,o=o+Math.imul(k,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(D,Z)|0,o=Math.imul(D,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(x,ot)|0,n=n+Math.imul(x,at)|0,n=n+Math.imul(k,ot)|0,o=o+Math.imul(k,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(D,G)|0,o=Math.imul(D,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(x,ut)|0,n=n+Math.imul(x,ht)|0,n=n+Math.imul(k,ut)|0,o=o+Math.imul(k,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(D,Q)|0,o=Math.imul(D,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(x,lt)|0,n=n+Math.imul(x,ct)|0,n=n+Math.imul(k,lt)|0,o=o+Math.imul(k,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(D,rt)|0,o=Math.imul(D,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(x,pt)|0,n=n+Math.imul(x,mt)|0,n=n+Math.imul(k,pt)|0,o=o+Math.imul(k,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(D,ot)|0,o=Math.imul(D,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(D,ut)|0,o=Math.imul(D,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(D,lt)|0,o=Math.imul(D,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(D,pt)|0,o=Math.imul(D,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=xt,u[11]=kt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},"37e8":function(t,e,r){var i=r("83ab"),n=r("9bf2"),o=r("825a"),a=r("df75");t.exports=i?Object.defineProperties:function(t,e){o(t);var r,i=a(e),s=i.length,u=0;while(s>u)n.f(t,r=i[u++],e[r]);return t}},"380f":function(t,e,r){"use strict";var i=r("f3a3"),n=i.assert,o=i.parseBytes,a=i.cachedProperty;function s(t,e){this.eddsa=t,this._secret=o(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=o(e.pub)}s.fromPublic=function(t,e){return e instanceof s?e:new s(t,{pub:e})},s.fromSecret=function(t,e){return e instanceof s?e:new s(t,{secret:e})},s.prototype.secret=function(){return this._secret},a(s,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),a(s,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),a(s,"privBytes",(function(){var t=this.eddsa,e=this.hash(),r=t.encodingLength-1,i=e.slice(0,t.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i})),a(s,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),a(s,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),a(s,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),s.prototype.sign=function(t){return n(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},s.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},s.prototype.getSecret=function(t){return n(this._secret,"KeyPair is public only"),i.encode(this.secret(),t)},s.prototype.getPublic=function(t){return i.encode(this.pubBytes(),t)},t.exports=s},"399f":function(t,e,r){(function(t){(function(t,e){"use strict";function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var a;"object"===typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{a=r(11).Buffer}catch($){}function s(t,e,r){for(var n=0,o=Math.min(t.length,r),a=0,s=e;s=49&&h<=54?h-49+10:h>=17&&h<=22?h-17+10:h,n|=u,a|=u}return i(!(240&a),"Invalid character in "+t),n}function u(t,e,r,n){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u=49?h-49+10:h>=17?h-17+10:h,i(h>=0&&a"}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this._strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this._strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this._strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!==typeof Symbol&&"function"===typeof Symbol.for?o.prototype[Symbol.for("nodejs.util.inspect.custom")]=f:o.prototype.inspect=f;var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?l[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var h=c[t],f=d[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modrn(f).toString(t);p=p.idivn(f),r=p.isZero()?m+r:l[h-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16,2)},a&&(o.prototype.toBuffer=function(t,e){return this.toArrayLike(a,t,e)}),o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};var p=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)};function m(t){for(var e=new Array(t.bitLength()),r=0;r>>n&1}return e}function b(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r._strip()}o.prototype.toArrayLike=function(t,e,r){this._strip();var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0");var a=p(t,o),s="le"===e?"LE":"BE";return this["_toArrayLike"+s](a,n),a},o.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,o=0;n>8&255),r>16&255),6===o?(r>24&255),i=0,o=0):(i=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),i=0,o=0):(i=a>>>24,o+=2)}if(r>=0){t[r--]=i;while(r>=0)t[r--]=0}},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],x=8191&A,k=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,D=P>>>13,q=0|s[0],U=8191&q,F=q>>>13,z=0|s[1],K=8191&z,W=z>>>13,H=0|s[2],Z=8191&H,Y=H>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,W)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,W)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,W)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,W)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,W)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,W)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,W)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,U),n=Math.imul(x,F),n=n+Math.imul(k,U)|0,o=Math.imul(k,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,W)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(x,K)|0,n=n+Math.imul(x,W)|0,n=n+Math.imul(k,K)|0,o=o+Math.imul(k,W)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,W)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,W)|0,i=i+Math.imul(x,Z)|0,n=n+Math.imul(x,Y)|0,n=n+Math.imul(k,Z)|0,o=o+Math.imul(k,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,W)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(x,G)|0,n=n+Math.imul(x,X)|0,n=n+Math.imul(k,G)|0,o=o+Math.imul(k,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(D,U)|0,o=Math.imul(D,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,W)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,W)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(x,Q)|0,n=n+Math.imul(x,tt)|0,n=n+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,W),n=n+Math.imul(D,K)|0,o=Math.imul(D,W),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(x,rt)|0,n=n+Math.imul(x,it)|0,n=n+Math.imul(k,rt)|0,o=o+Math.imul(k,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(D,Z)|0,o=Math.imul(D,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(x,ot)|0,n=n+Math.imul(x,at)|0,n=n+Math.imul(k,ot)|0,o=o+Math.imul(k,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(D,G)|0,o=Math.imul(D,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(x,ut)|0,n=n+Math.imul(x,ht)|0,n=n+Math.imul(k,ut)|0,o=o+Math.imul(k,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(D,Q)|0,o=Math.imul(D,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(x,lt)|0,n=n+Math.imul(x,ct)|0,n=n+Math.imul(k,lt)|0,o=o+Math.imul(k,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(D,rt)|0,o=Math.imul(D,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(x,pt)|0,n=n+Math.imul(x,mt)|0,n=n+Math.imul(k,pt)|0,o=o+Math.imul(k,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(D,ot)|0,o=Math.imul(D,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(D,ut)|0,o=Math.imul(D,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(D,lt)|0,o=Math.imul(D,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(D,pt)|0,o=Math.imul(D,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=xt,u[11]=kt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r._strip()}function y(t,e,r){return g(t,e,r)}function w(t,e){this.x=t,this.y=e}Math.imul||(v=b),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?v(this,t,e):i<63?b(this,t,e):i<1024?g(this,t,e):y(this,t,e),r},w.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},w.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[n]=67108863&a}return 0!==r&&(this.words[n]=r,this.length++),e?this.ineg():this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=m(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this._strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modrn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modrn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%t;return e?-n:n},o.prototype.modn=function(t){return this.modrn(t)},o.prototype.idivn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new k(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var M={k256:null,p224:null,p192:null,p25519:null};function _(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function S(){_.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function E(){_.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){_.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){_.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function k(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function R(t){k.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}_.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},_.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},_.prototype.split=function(t,e){t.iushrn(this.n,0,e)},_.prototype.imulK=function(t){return t.imul(this.k)},n(S,_),S.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},S.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(M[t])return M[t];var e;if("k256"===t)e=new S;else if("p224"===t)e=new E;else if("p192"===t)e=new A;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return M[t]=e,e},k.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},k.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},k.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},k.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},k.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},k.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},k.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},k.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},k.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},k.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},k.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},k.prototype.isqr=function(t){return this.imul(t,t.clone())},k.prototype.sqr=function(t){return this.mul(t,t)},k.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},k.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},k.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new R(t)},n(R,k),R.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},R.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},R.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},R.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},R.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},"39a9":function(t,e,r){ +/*! safe-buffer. MIT License. Feross Aboukhadijeh */ +var i=r("b639"),n=i.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(o(i,e),e.Buffer=a),a.prototype=Object.create(n.prototype),o(n,a),a.from=function(t,e,r){if("number"===typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},a.alloc=function(t,e,r){if("number"!==typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"===typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},a.allocUnsafe=function(t){if("number"!==typeof t)throw new TypeError("Argument must be a number");return n(t)},a.allocUnsafeSlow=function(t){if("number"!==typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},"39f5":function(t,e,r){var i=r("8707").Buffer;function n(t){i.isBuffer(t)||(t=i.from(t));for(var e=t.length/4|0,r=new Array(e),n=0;n>>24]^f[p>>>16&255]^l[m>>>8&255]^c[255&b]^e[v++],a=h[p>>>24]^f[m>>>16&255]^l[b>>>8&255]^c[255&d]^e[v++],s=h[m>>>24]^f[b>>>16&255]^l[d>>>8&255]^c[255&p]^e[v++],u=h[b>>>24]^f[d>>>16&255]^l[p>>>8&255]^c[255&m]^e[v++],d=o,p=a,m=s,b=u;return o=(i[d>>>24]<<24|i[p>>>16&255]<<16|i[m>>>8&255]<<8|i[255&b])^e[v++],a=(i[p>>>24]<<24|i[m>>>16&255]<<16|i[b>>>8&255]<<8|i[255&d])^e[v++],s=(i[m>>>24]<<24|i[b>>>16&255]<<16|i[d>>>8&255]<<8|i[255&p])^e[v++],u=(i[b>>>24]<<24|i[d>>>16&255]<<16|i[p>>>8&255]<<8|i[255&m])^e[v++],o>>>=0,a>>>=0,s>>>=0,u>>>=0,[o,a,s,u]}var s=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],i=[],n=[[],[],[],[]],o=[[],[],[],[]],a=0,s=0,u=0;u<256;++u){var h=s^s<<1^s<<2^s<<3^s<<4;h=h>>>8^255&h^99,r[a]=h,i[h]=a;var f=t[a],l=t[f],c=t[l],d=257*t[h]^16843008*h;n[0][a]=d<<24|d>>>8,n[1][a]=d<<16|d>>>16,n[2][a]=d<<8|d>>>24,n[3][a]=d,d=16843009*c^65537*l^257*f^16843008*a,o[0][h]=d<<24|d>>>8,o[1][h]=d<<16|d>>>16,o[2][h]=d<<8|d>>>24,o[3][h]=d,0===a?a=s=1:(a=f^t[t[t[c^f]]],s^=t[t[s]])}return{SBOX:r,INV_SBOX:i,SUB_MIX:n,INV_SUB_MIX:o}}();function h(t){this._key=n(t),this._reset()}h.blockSize=16,h.keySize=32,h.prototype.blockSize=h.blockSize,h.prototype.keySize=h.keySize,h.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,i=4*(r+1),n=[],o=0;o>>24,a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a],a^=s[o/e|0]<<24):e>6&&o%e===4&&(a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a]),n[o]=n[o-e]^a}for(var h=[],f=0;f>>24]]^u.INV_SUB_MIX[1][u.SBOX[c>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[c>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&c]]}this._nRounds=r,this._keySchedule=n,this._invKeySchedule=h},h.prototype.encryptBlockRaw=function(t){return t=n(t),a(t,this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},h.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=i.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},h.prototype.decryptBlock=function(t){t=n(t);var e=t[1];t[1]=t[3],t[3]=e;var r=a(t,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),o=i.allocUnsafe(16);return o.writeUInt32BE(r[0],0),o.writeUInt32BE(r[3],4),o.writeUInt32BE(r[2],8),o.writeUInt32BE(r[1],12),o},h.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},t.exports.AES=h},"3a7b":function(t,e,r){"use strict";var i=r("ebb5"),n=r("b727").findIndex,o=i.aTypedArray,a=i.exportTypedArrayMethod;a("findIndex",(function(t){return n(o(this),t,arguments.length>1?arguments[1]:void 0)}))},"3a7c":function(t,e,r){(function(t){function r(t){return Array.isArray?Array.isArray(t):"[object Array]"===b(t)}function i(t){return"boolean"===typeof t}function n(t){return null===t}function o(t){return null==t}function a(t){return"number"===typeof t}function s(t){return"string"===typeof t}function u(t){return"symbol"===typeof t}function h(t){return void 0===t}function f(t){return"[object RegExp]"===b(t)}function l(t){return"object"===typeof t&&null!==t}function c(t){return"[object Date]"===b(t)}function d(t){return"[object Error]"===b(t)||t instanceof Error}function p(t){return"function"===typeof t}function m(t){return null===t||"boolean"===typeof t||"number"===typeof t||"string"===typeof t||"symbol"===typeof t||"undefined"===typeof t}function b(t){return Object.prototype.toString.call(t)}e.isArray=r,e.isBoolean=i,e.isNull=n,e.isNullOrUndefined=o,e.isNumber=a,e.isString=s,e.isSymbol=u,e.isUndefined=h,e.isRegExp=f,e.isObject=l,e.isDate=c,e.isError=d,e.isFunction=p,e.isPrimitive=m,e.isBuffer=t.isBuffer}).call(this,r("b639").Buffer)},"3bbe":function(t,e,r){var i=r("861d");t.exports=function(t){if(!i(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3c5d":function(t,e,r){"use strict";var i=r("ebb5"),n=r("50c4"),o=r("182d"),a=r("7b0b"),s=r("d039"),u=i.aTypedArray,h=i.exportTypedArrayMethod,f=s((function(){new Int8Array(1).set({})}));h("set",(function(t){u(this);var e=o(arguments.length>1?arguments[1]:void 0,1),r=this.length,i=a(t),s=n(i.length),h=0;if(s+e>r)throw RangeError("Wrong length");while(h=r.length?{value:void 0,done:!0}:(t=i(r,n),e.index+=t.length,{value:t,done:!1})}))},"3daf":function(t,e,r){"use strict";var i=r("f3a3"),n=r("80af"),o=r("3fb5"),a=r("ea53"),s=i.assert;function u(t){this.twisted=1!==(0|t.a),this.mOneA=this.twisted&&-1===(0|t.a),this.extended=this.mOneA,a.call(this,"edwards",t),this.a=new n(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new n(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new n(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),s(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1===(0|t.c)}function h(t,e,r,i,o){a.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new n(e,16),this.y=new n(r,16),this.z=i?new n(i,16):this.curve.one,this.t=o&&new n(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(u,a),t.exports=u,u.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},u.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},u.prototype.jpoint=function(t,e,r,i){return this.point(t,e,r,i)},u.prototype.pointFromX=function(t,e){t=new n(t,16),t.red||(t=t.toRed(this.red));var r=t.redSqr(),i=this.c2.redSub(this.a.redMul(r)),o=this.one.redSub(this.c2.redMul(this.d).redMul(r)),a=i.redMul(o.redInvm()),s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");var u=s.fromRed().isOdd();return(e&&!u||!e&&u)&&(s=s.redNeg()),this.point(t,s)},u.prototype.pointFromY=function(t,e){t=new n(t,16),t.red||(t=t.toRed(this.red));var r=t.redSqr(),i=r.redSub(this.c2),o=r.redMul(this.d).redMul(this.c2).redSub(this.a),a=i.redMul(o.redInvm());if(0===a.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==e&&(s=s.redNeg()),this.point(s,t)},u.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),i=e.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===i.cmp(n)},o(h,a.BasePoint),u.prototype.pointFromJSON=function(t){return h.fromJSON(this,t)},u.prototype.point=function(t,e,r,i){return new h(this,t,e,r,i)},h.fromJSON=function(t,e){return new h(t,e[0],e[1],e[2])},h.prototype.inspect=function(){return this.isInfinity()?"":""},h.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},h.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(t),n=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=i.redAdd(e),a=o.redSub(r),s=i.redSub(e),u=n.redMul(a),h=o.redMul(s),f=n.redMul(s),l=a.redMul(o);return this.curve.point(u,h,l,f)},h.prototype._projDbl=function(){var t,e,r,i=this.x.redAdd(this.y).redSqr(),n=this.x.redSqr(),o=this.y.redSqr();if(this.curve.twisted){var a=this.curve._mulA(n),s=a.redAdd(o);if(this.zOne)t=i.redSub(n).redSub(o).redMul(s.redSub(this.curve.two)),e=s.redMul(a.redSub(o)),r=s.redSqr().redSub(s).redSub(s);else{var u=this.z.redSqr(),h=s.redSub(u).redISub(u);t=i.redSub(n).redISub(o).redMul(h),e=s.redMul(a.redSub(o)),r=s.redMul(h)}}else{a=n.redAdd(o),u=this.curve._mulC(this.z).redSqr(),h=a.redSub(u).redSub(u);t=this.curve._mulC(i.redISub(a)).redMul(h),e=this.curve._mulC(a).redMul(n.redISub(o)),r=a.redMul(h)}return this.curve.point(t,e,r)},h.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},h.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),i=this.t.redMul(this.curve.dd).redMul(t.t),n=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),a=n.redSub(i),s=n.redAdd(i),u=r.redAdd(e),h=o.redMul(a),f=s.redMul(u),l=o.redMul(u),c=a.redMul(s);return this.curve.point(h,f,c,l)},h.prototype._projAdd=function(t){var e,r,i=this.z.redMul(t.z),n=i.redSqr(),o=this.x.redMul(t.x),a=this.y.redMul(t.y),s=this.curve.d.redMul(o).redMul(a),u=n.redSub(s),h=n.redAdd(s),f=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(a),l=i.redMul(u).redMul(f);return this.curve.twisted?(e=i.redMul(h).redMul(a.redSub(this.curve._mulA(o))),r=u.redMul(h)):(e=i.redMul(h).redMul(a.redSub(o)),r=this.curve._mulC(u).redMul(h)),this.curve.point(l,e,r)},h.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},h.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},h.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},h.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},h.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},h.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},h.prototype.getX=function(){return this.normalize(),this.x.fromRed()},h.prototype.getY=function(){return this.normalize(),this.y.fromRed()},h.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},h.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(i),0===this.x.cmp(e))return!0}},h.prototype.toP=h.prototype.normalize,h.prototype.mixedAdd=h.prototype.add},"3e8f":function(t,e){},"3f62":function(t,e,r){var i=r("8707").Buffer,n=i.alloc(16,0);function o(t){return[t.readUInt32BE(0),t.readUInt32BE(4),t.readUInt32BE(8),t.readUInt32BE(12)]}function a(t){var e=i.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function s(t){this.h=t,this.state=i.alloc(16,0),this.cache=i.allocUnsafe(0)}s.prototype.ghash=function(t){var e=-1;while(++e0;t--)i[t]=i[t]>>>1|(1&i[t-1])<<31;i[0]=i[0]>>>1,r&&(i[0]=i[0]^225<<24)}this.state=a(n)},s.prototype.update=function(t){var e;this.cache=i.concat([this.cache,t]);while(this.cache.length>=16)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},s.prototype.final=function(t,e){return this.cache.length&&this.ghash(i.concat([this.cache,n],16)),this.ghash(a([0,t,0,e])),this.state},t.exports=s},"3f8c":function(t,e){t.exports={}},"3fb5":function(t,e){"function"===typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},"3fcc":function(t,e,r){"use strict";var i=r("ebb5"),n=r("b727").map,o=r("4840"),a=i.aTypedArray,s=i.aTypedArrayConstructor,u=i.exportTypedArrayMethod;u("map",(function(t){return n(a(this),t,arguments.length>1?arguments[1]:void 0,(function(t,e){return new(s(o(t,t.constructor)))(e)}))}))},4:function(t,e){},"409b":function(t,e){t.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},4111:function(t,e,r){"use strict";var i=r("7f7a");e.certificate=r("56b5");var n=i.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));e.RSAPrivateKey=n;var o=i.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));e.RSAPublicKey=o;var a=i.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())}));e.PublicKey=a;var s=i.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),u=i.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(s),this.key("subjectPrivateKey").octstr())}));e.PrivateKey=u;var h=i.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));e.EncryptedPrivateKey=h;var f=i.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));e.DSAPrivateKey=f,e.DSAparam=i.define("DSAparam",(function(){this.int()}));var l=i.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(c),this.key("publicKey").optional().explicit(1).bitstr())}));e.ECPrivateKey=l;var c=i.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));e.signature=i.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},4136:function(t,e,r){"use strict";var i=e;i.base=r("ea53"),i.short=r("3300"),i.mont=r("676f"),i.edwards=r("3daf")},4186:function(t,e,r){"use strict";(function(e){var i;function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r("ee93"),a=Symbol("lastResolve"),s=Symbol("lastReject"),u=Symbol("error"),h=Symbol("ended"),f=Symbol("lastPromise"),l=Symbol("handlePromise"),c=Symbol("stream");function d(t,e){return{value:t,done:e}}function p(t){var e=t[a];if(null!==e){var r=t[c].read();null!==r&&(t[f]=null,t[a]=null,t[s]=null,e(d(r,!1)))}}function m(t){e.nextTick(p,t)}function b(t,e){return function(r,i){t.then((function(){e[h]?r(d(void 0,!0)):e[l](r,i)}),i)}}var v=Object.getPrototypeOf((function(){})),g=Object.setPrototypeOf((i={get stream(){return this[c]},next:function(){var t=this,r=this[u];if(null!==r)return Promise.reject(r);if(this[h])return Promise.resolve(d(void 0,!0));if(this[c].destroyed)return new Promise((function(r,i){e.nextTick((function(){t[u]?i(t[u]):r(d(void 0,!0))}))}));var i,n=this[f];if(n)i=new Promise(b(n,this));else{var o=this[c].read();if(null!==o)return Promise.resolve(d(o,!1));i=new Promise(this[l])}return this[f]=i,i}},n(i,Symbol.asyncIterator,(function(){return this})),n(i,"return",(function(){var t=this;return new Promise((function(e,r){t[c].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),i),v),y=function(t){var e,r=Object.create(g,(e={},n(e,c,{value:t,writable:!0}),n(e,a,{value:null,writable:!0}),n(e,s,{value:null,writable:!0}),n(e,u,{value:null,writable:!0}),n(e,h,{value:t._readableState.endEmitted,writable:!0}),n(e,l,{value:function(t,e){var i=r[c].read();i?(r[f]=null,r[a]=null,r[s]=null,t(d(i,!1))):(r[a]=t,r[s]=e)},writable:!0}),e));return r[f]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[s];return null!==e&&(r[f]=null,r[a]=null,r[s]=null,e(t)),void(r[u]=t)}var i=r[a];null!==i&&(r[f]=null,r[a]=null,r[s]=null,i(d(void 0,!0))),r[h]=!0})),t.on("readable",m.bind(null,r)),r};t.exports=y}).call(this,r("4362"))},"41df":function(t,e,r){var i=e;i.Reporter=r("d1c8").Reporter,i.DecoderBuffer=r("6283").DecoderBuffer,i.EncoderBuffer=r("6283").EncoderBuffer,i.Node=r("8360")},4228:function(t,e,r){var i=r("82f0"),n=r("8707").Buffer,o=r("bac2"),a=r("09f5"),s=r("6430"),u=r("39f5"),h=r("ae84"),f=r("3fb5");function l(t,e,r){s.call(this),this._cache=new c,this._last=void 0,this._cipher=new u.AES(e),this._prev=n.from(r),this._mode=t,this._autopadding=!0}function c(){this.cache=n.allocUnsafe(0)}function d(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");var r=-1;while(++r16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},c.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=m,e.createDecipheriv=p},4250:function(t,e,r){"use strict";(function(e,i){var n;t.exports=$,$.ReadableState=R;r("faa1").EventEmitter;var o=function(t,e){return t.listeners(e).length},a=r("5bbb"),s=r("b639").Buffer,u=e.Uint8Array||function(){};function h(t){return s.from(t)}function f(t){return s.isBuffer(t)||t instanceof u}var l,c=r(0);l=c&&c.debuglog?c.debuglog("stream"):function(){};var d,p,m,b=r("96a5"),v=r("493f"),g=r("b9b5"),y=g.getHighWaterMark,w=r("9d8a").codes,M=w.ERR_INVALID_ARG_TYPE,_=w.ERR_STREAM_PUSH_AFTER_EOF,S=w.ERR_METHOD_NOT_IMPLEMENTED,E=w.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r("3fb5")($,a);var A=v.errorOrDestroy,x=["error","close","destroy","pause","resume"];function k(t,e,r){if("function"===typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}function R(t,e,i){n=n||r("e666"),t=t||{},"boolean"!==typeof i&&(i=e instanceof n),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=y(this,t,"readableHighWaterMark",i),this.buffer=new b,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(d||(d=r("7d72").StringDecoder),this.decoder=new d(t.encoding),this.encoding=t.encoding)}function $(t){if(n=n||r("e666"),!(this instanceof $))return new $(t);var e=this instanceof n;this._readableState=new R(t,this,e),this.readable=!0,t&&("function"===typeof t.read&&(this._read=t.read),"function"===typeof t.destroy&&(this._destroy=t.destroy)),a.call(this)}function T(t,e,r,i,n){l("readableAddChunk",e);var o,a=t._readableState;if(null===e)a.reading=!1,B(t,a);else if(n||(o=O(a,e)),o)A(t,o);else if(a.objectMode||e&&e.length>0)if("string"===typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=h(e)),i)a.endEmitted?A(t,new E):I(t,a,e,!0);else if(a.ended)A(t,new _);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?I(t,a,e,!1):D(t,a)):I(t,a,e,!1)}else i||(a.reading=!1,D(t,a));return!a.ended&&(a.length=C?t=C:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function N(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=L(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function B(t,e){if(l("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?P(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,j(t)))}}function P(t){var e=t._readableState;l("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(l("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(j,t))}function j(t){var e=t._readableState;l("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,H(t)}function D(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(q,t,e))}function q(t,e){while(!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function z(t){l("readable nexttick read 0"),t.read(0)}function K(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(W,t,e))}function W(t,e){l("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),H(t),e.flowing&&!e.reading&&t.read(0)}function H(t){var e=t._readableState;l("flow",e.flowing);while(e.flowing&&null!==t.read());}function Z(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function Y(t){var e=t._readableState;l("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(V,e,t))}function V(t,e){if(l("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function G(t,e){for(var r=0,i=t.length;r=e.highWaterMark:e.length>0)||e.ended))return l("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?Y(this):P(this),null;if(t=N(t,e),0===t&&e.ended)return 0===e.length&&Y(this),null;var i,n=e.needReadable;return l("need readable",n),(0===e.length||e.length-t0?Z(t,e):null,null===i?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Y(this)),null!==i&&this.emit("data",i),i},$.prototype._read=function(t){A(this,new S("_read()"))},$.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t);break}n.pipesCount+=1,l("pipe count=%d opts=%j",n.pipesCount,e);var a=(!e||!1!==e.end)&&t!==i.stdout&&t!==i.stderr,s=a?h:g;function u(t,e){l("onunpipe"),t===r&&e&&!1===e.hasUnpiped&&(e.hasUnpiped=!0,d())}function h(){l("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",u);var f=U(r);t.on("drain",f);var c=!1;function d(){l("cleanup"),t.removeListener("close",b),t.removeListener("finish",v),t.removeListener("drain",f),t.removeListener("error",m),t.removeListener("unpipe",u),r.removeListener("end",h),r.removeListener("end",g),r.removeListener("data",p),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||f()}function p(e){l("ondata");var i=t.write(e);l("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==G(n.pipes,t))&&!c&&(l("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function m(e){l("onerror",e),g(),t.removeListener("error",m),0===o(t,"error")&&A(t,e)}function b(){t.removeListener("finish",v),g()}function v(){l("onfinish"),t.removeListener("close",b),g()}function g(){l("unpipe"),r.unpipe(t)}return r.on("data",p),k(t,"error",m),t.once("close",b),t.once("finish",v),t.emit("pipe",r),n.flowing||(l("pipe resume"),r.resume()),t},$.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,l("on readable",n.length,n.reading),n.length?P(this):n.reading||i.nextTick(z,this))),r},$.prototype.addListener=$.prototype.on,$.prototype.removeListener=function(t,e){var r=a.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(F,this),r},$.prototype.removeAllListeners=function(t){var e=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(F,this),e},$.prototype.resume=function(){var t=this._readableState;return t.flowing||(l("resume"),t.flowing=!t.readableListening,K(this,t)),t.paused=!1,this},$.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},$.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;for(var n in t.on("end",(function(){if(l("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(n){if(l("wrapped data"),r.decoder&&(n=r.decoder.write(n)),(!r.objectMode||null!==n&&void 0!==n)&&(r.objectMode||n&&n.length)){var o=e.push(n);o||(i=!0,t.pause())}})),t)void 0===this[n]&&"function"===typeof t[n]&&(this[n]=function(e){return function(){return t[e].apply(t,arguments)}}(n));for(var o=0;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],x=8191&A,k=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,D=P>>>13,q=0|s[0],U=8191&q,F=q>>>13,z=0|s[1],K=8191&z,W=z>>>13,H=0|s[2],Z=8191&H,Y=H>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,W)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,W)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,W)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,W)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,W)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,W)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,W)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,U),n=Math.imul(x,F),n=n+Math.imul(k,U)|0,o=Math.imul(k,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,W)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(x,K)|0,n=n+Math.imul(x,W)|0,n=n+Math.imul(k,K)|0,o=o+Math.imul(k,W)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,W)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,W)|0,i=i+Math.imul(x,Z)|0,n=n+Math.imul(x,Y)|0,n=n+Math.imul(k,Z)|0,o=o+Math.imul(k,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,W)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(x,G)|0,n=n+Math.imul(x,X)|0,n=n+Math.imul(k,G)|0,o=o+Math.imul(k,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(D,U)|0,o=Math.imul(D,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,W)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,W)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(x,Q)|0,n=n+Math.imul(x,tt)|0,n=n+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,W),n=n+Math.imul(D,K)|0,o=Math.imul(D,W),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(x,rt)|0,n=n+Math.imul(x,it)|0,n=n+Math.imul(k,rt)|0,o=o+Math.imul(k,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(D,Z)|0,o=Math.imul(D,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(x,ot)|0,n=n+Math.imul(x,at)|0,n=n+Math.imul(k,ot)|0,o=o+Math.imul(k,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(D,G)|0,o=Math.imul(D,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(x,ut)|0,n=n+Math.imul(x,ht)|0,n=n+Math.imul(k,ut)|0,o=o+Math.imul(k,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(D,Q)|0,o=Math.imul(D,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(x,lt)|0,n=n+Math.imul(x,ct)|0,n=n+Math.imul(k,lt)|0,o=o+Math.imul(k,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(D,rt)|0,o=Math.imul(D,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(x,pt)|0,n=n+Math.imul(x,mt)|0,n=n+Math.imul(k,pt)|0,o=o+Math.imul(k,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(D,ot)|0,o=Math.imul(D,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(D,ut)|0,o=Math.imul(D,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(D,lt)|0,o=Math.imul(D,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(D,pt)|0,o=Math.imul(D,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=xt,u[11]=kt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},4930:function(t,e,r){var i=r("d039");t.exports=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())}))},"493f":function(t,e,r){"use strict";(function(e){function r(t,r){var o=this,s=this._readableState&&this._readableState.destroyed,u=this._writableState&&this._writableState.destroyed;return s||u?(r?r(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,e.nextTick(a,this,t)):e.nextTick(a,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!r&&t?o._writableState?o._writableState.errorEmitted?e.nextTick(n,o):(o._writableState.errorEmitted=!0,e.nextTick(i,o,t)):e.nextTick(i,o,t):r?(e.nextTick(n,o),r(t)):e.nextTick(n,o)})),this)}function i(t,e){a(t,e),n(t)}function n(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function o(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function a(t,e){t.emit("error",e)}function s(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}t.exports={destroy:r,undestroy:o,errorOrDestroy:s}}).call(this,r("4362"))},"49ce":function(t,e,r){"use strict";(function(e,i){function n(t){var e=this;this.next=null,this.entry=null,this.finish=function(){W(e,t)}}var o;t.exports=R,R.WritableState=k;var a={deprecate:r("b7d1")},s=r("f12a"),u=r("b639").Buffer,h=e.Uint8Array||function(){};function f(t){return u.from(t)}function l(t){return u.isBuffer(t)||t instanceof h}var c,d=r("9019"),p=r("05f0"),m=p.getHighWaterMark,b=r("d113").codes,v=b.ERR_INVALID_ARG_TYPE,g=b.ERR_METHOD_NOT_IMPLEMENTED,y=b.ERR_MULTIPLE_CALLBACK,w=b.ERR_STREAM_CANNOT_PIPE,M=b.ERR_STREAM_DESTROYED,_=b.ERR_STREAM_NULL_VALUES,S=b.ERR_STREAM_WRITE_AFTER_END,E=b.ERR_UNKNOWN_ENCODING,A=d.errorOrDestroy;function x(){}function k(t,e,i){o=o||r("5e7d"),t=t||{},"boolean"!==typeof i&&(i=e instanceof o),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=m(this,t,"writableHighWaterMark",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===t.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){B(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function R(t){o=o||r("5e7d");var e=this instanceof o;if(!e&&!c.call(R,this))return new R(t);this._writableState=new k(t,this,e),this.writable=!0,t&&("function"===typeof t.write&&(this._write=t.write),"function"===typeof t.writev&&(this._writev=t.writev),"function"===typeof t.destroy&&(this._destroy=t.destroy),"function"===typeof t.final&&(this._final=t.final)),s.call(this)}function $(t,e){var r=new S;A(t,r),i.nextTick(e,r)}function T(t,e,r,n){var o;return null===r?o=new _:"string"===typeof r||e.objectMode||(o=new v("chunk",["string","Buffer"],r)),!o||(A(t,o),i.nextTick(n,o),!1)}function I(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!==typeof e||(e=u.from(e,r)),e}function O(t,e,r,i,n,o){if(!r){var a=I(e,i,n);i!==a&&(r=!0,n="buffer",i=a)}var s=e.objectMode?1:i.length;e.length+=s;var u=e.length-1))throw new E(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(R.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(R.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),R.prototype._write=function(t,e,r){r(new g("_write()"))},R.prototype._writev=null,R.prototype.end=function(t,e,r){var i=this._writableState;return"function"===typeof t?(r=t,t=null,e=null):"function"===typeof e&&(r=e,e=null),null!==t&&void 0!==t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||K(this,i,r),this},Object.defineProperty(R.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(R.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),R.prototype.destroy=d.destroy,R.prototype._undestroy=d.undestroy,R.prototype._destroy=function(t,e){e(t)}}).call(this,r("c8ba"),r("4362"))},"4a9b":function(t,e,r){var i=r("74e8");i("Float64",(function(t){return function(e,r,i){return t(this,e,r,i)}}))},"4d64":function(t,e,r){var i=r("fc6a"),n=r("50c4"),o=r("23cb"),a=function(t){return function(e,r,a){var s,u=i(e),h=n(u.length),f=o(a,h);if(t&&r!=r){while(h>f)if(s=u[f++],s!=s)return!0}else for(;h>f;f++)if((t||f in u)&&u[f]===r)return t||f||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},"4dd0":function(t,e,r){var i=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m,n=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m,a=r("ae84"),s=r("fda6"),u=r("8707").Buffer;t.exports=function(t,e){var r,h=t.toString(),f=h.match(i);if(f){var l="aes"+f[1],c=u.from(f[2],"hex"),d=u.from(f[3].replace(/[\r\n]/g,""),"base64"),p=a(e,c.slice(0,8),parseInt(f[1],10)).key,m=[],b=s.createDecipheriv(l,p,c);m.push(b.update(d)),m.push(b.final()),r=u.concat(m)}else{var v=h.match(o);r=new u(v[2].replace(/[\r\n]/g,""),"base64")}var g=h.match(n)[1];return{tag:g,data:r}}},"4de4":function(t,e,r){"use strict";var i=r("23e7"),n=r("b727").filter,o=r("1dde"),a=r("ae40"),s=o("filter"),u=a("filter");i({target:"Array",proto:!0,forced:!s||!u},{filter:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(t,e,r){"use strict";var i=r("0366"),n=r("7b0b"),o=r("9bdd"),a=r("e95a"),s=r("50c4"),u=r("8418"),h=r("35a1");t.exports=function(t){var e,r,f,l,c,d,p=n(t),m="function"==typeof this?this:Array,b=arguments.length,v=b>1?arguments[1]:void 0,g=void 0!==v,y=h(p),w=0;if(g&&(v=i(v,b>2?arguments[2]:void 0,2)),void 0==y||m==Array&&a(y))for(e=s(p.length),r=new m(e);e>w;w++)d=g?v(p[w],w):p[w],u(r,w,d);else for(l=y.call(p),c=l.next,r=new m;!(f=c.call(l)).done;w++)d=g?o(l,v,[f.value,w],!0):f.value,u(r,w,d);return r.length=w,r}},"4e2b":function(t,e,r){"use strict";var i=r("da3e"),n=r("3fb5"),o=r("5ee7"),a=r("0184");function s(){this.tmp=new Array(2),this.keys=null}function u(t){a.call(this,t);var e=new s;this._desState=e,this.deriveKeys(e,t.key)}n(u,a),t.exports=u,u.create=function(t){return new u(t)};var h=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];u.prototype.deriveKeys=function(t,e){t.keys=new Array(32),i.equal(e.length,this.blockSize,"Invalid key length");var r=o.readUInt32BE(e,0),n=o.readUInt32BE(e,4);o.pc1(r,n,t.tmp,0),r=t.tmp[0],n=t.tmp[1];for(var a=0;a>>1];r=o.r28shl(r,s),n=o.r28shl(n,s),o.pc2(r,n,t.keys,a)}},u.prototype._update=function(t,e,r,i){var n=this._desState,a=o.readUInt32BE(t,e),s=o.readUInt32BE(t,e+4);o.ip(a,s,n.tmp,0),a=n.tmp[0],s=n.tmp[1],"encrypt"===this.type?this._encrypt(n,a,s,n.tmp,0):this._decrypt(n,a,s,n.tmp,0),a=n.tmp[0],s=n.tmp[1],o.writeUInt32BE(r,a,i),o.writeUInt32BE(r,s,i+4)},u.prototype._pad=function(t,e){for(var r=t.length-e,i=e;i>>0,a=d}o.rip(s,a,i,n)},u.prototype._decrypt=function(t,e,r,i,n){for(var a=r,s=e,u=t.keys.length-2;u>=0;u-=2){var h=t.keys[u],f=t.keys[u+1];o.expand(a,t.tmp,0),h^=t.tmp[0],f^=t.tmp[1];var l=o.substitute(h,f),c=o.permute(l),d=a;a=(s^c)>>>0,s=d}o.rip(a,s,i,n)}},"4ef2":function(t,e,r){"use strict";r.r(e);var i=r("a692"),n=r.n(i);r("a4d3"),r("e01a"),r("d3b7"),r("d28b"),r("3ca3"),r("ddb0"),r("fb6a"),r("b0c0"),r("a630");function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,o=t},f:function(){try{s||null==r["return"]||r["return"]()}finally{if(u)throw o}}}}function u(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function h(t,e){for(var r=0;r5&&void 0!==arguments[5]?arguments[5]:1500;null===this.db&&this.createDb(),this.db.exec(b.getCreateStatement(t,e,r));var a=b.generateChunks(r,o),u=Math.ceil(r.length/o),h=0,f=b.getInsertStmt(t,e),l=this.db.prepare(f);n({progress:0,id:i});var c,d=s(a);try{for(d.s();!(c=d.n()).done;){var p=c.value;this.db.exec("BEGIN");var m,v=s(p);try{for(v.s();!(m=v.n()).done;){var g=m.value;l.run(g)}}catch(y){v.e(y)}finally{v.f()}this.db.exec("COMMIT"),h++,n({progress:h/u*100,id:i})}}catch(y){d.e(y)}finally{d.f()}return{finish:!0}}},{key:"export",value:function(){return this.db.export()}},{key:"close",value:function(){return this.db&&this.db.close(),{finished:!0}}}],[{key:"build",value:function(){return g.then((function(){return new t}))}}]),t}();const w=y.build();function M(t){const e=this;switch(e&&e.action){case"open":return t.open(e.buffer);case"reopen":return t.open(t.export());case"exec":return t.exec(e.sql,e.params);case"import":return t.import(e.tabName,e.columns,e.values,e.progressCounterId,postMessage);case"export":return t.export();case"close":return t.close();default:throw new Error("Invalid action : "+(e&&e.action))}}function _(t){return{error:t.message}}n()(t=>w.then(M.bind(t)).catch(_))},"4fd1":function(t,e,r){var i=r("3fb5"),n=r("b672"),o=r("8707").Buffer,a=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function u(){this.init(),this._w=s,n.call(this,128,112)}function h(t,e,r){return r^t&(e^r)}function f(t,e,r){return t&e|r&(t|e)}function l(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function c(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function d(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function m(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function b(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function v(t,e){return t>>>0>>0?1:0}i(u,n),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(t){for(var e=this._w,r=0|this._ah,i=0|this._bh,n=0|this._ch,o=0|this._dh,s=0|this._eh,u=0|this._fh,g=0|this._gh,y=0|this._hh,w=0|this._al,M=0|this._bl,_=0|this._cl,S=0|this._dl,E=0|this._el,A=0|this._fl,x=0|this._gl,k=0|this._hl,R=0;R<32;R+=2)e[R]=t.readInt32BE(4*R),e[R+1]=t.readInt32BE(4*R+4);for(;R<160;R+=2){var $=e[R-30],T=e[R-30+1],I=d($,T),O=p(T,$);$=e[R-4],T=e[R-4+1];var C=m($,T),L=b(T,$),N=e[R-14],B=e[R-14+1],P=e[R-32],j=e[R-32+1],D=O+B|0,q=I+N+v(D,O)|0;D=D+L|0,q=q+C+v(D,L)|0,D=D+j|0,q=q+P+v(D,j)|0,e[R]=q,e[R+1]=D}for(var U=0;U<160;U+=2){q=e[U],D=e[U+1];var F=f(r,i,n),z=f(w,M,_),K=l(r,w),W=l(w,r),H=c(s,E),Z=c(E,s),Y=a[U],V=a[U+1],G=h(s,u,g),X=h(E,A,x),J=k+Z|0,Q=y+H+v(J,k)|0;J=J+X|0,Q=Q+G+v(J,X)|0,J=J+V|0,Q=Q+Y+v(J,V)|0,J=J+D|0,Q=Q+q+v(J,D)|0;var tt=W+z|0,et=K+F+v(tt,W)|0;y=g,k=x,g=u,x=A,u=s,A=E,E=S+J|0,s=o+Q+v(E,S)|0,o=n,S=_,n=i,_=M,i=r,M=w,w=J+tt|0,r=Q+et+v(w,J)|0}this._al=this._al+w|0,this._bl=this._bl+M|0,this._cl=this._cl+_|0,this._dl=this._dl+S|0,this._el=this._el+E|0,this._fl=this._fl+A|0,this._gl=this._gl+x|0,this._hl=this._hl+k|0,this._ah=this._ah+r+v(this._al,w)|0,this._bh=this._bh+i+v(this._bl,M)|0,this._ch=this._ch+n+v(this._cl,_)|0,this._dh=this._dh+o+v(this._dl,S)|0,this._eh=this._eh+s+v(this._el,E)|0,this._fh=this._fh+u+v(this._fl,A)|0,this._gh=this._gh+g+v(this._gl,x)|0,this._hh=this._hh+y+v(this._hl,k)|0},u.prototype._hash=function(){var t=o.allocUnsafe(64);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=u},5:function(t,e){},"50c4":function(t,e,r){var i=r("a691"),n=Math.min;t.exports=function(t){return t>0?n(i(t),9007199254740991):0}},5135:function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},5165:function(t,e,r){(function(t){var i=r("8c8a");function n(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}e.encrypt=function(e,r){while(e._cache.length>s%8,t._prev=o(t._prev,r?n:a);return h}function o(t,e){var r=t.length,n=-1,o=i.allocUnsafe(t.length);t=i.concat([t,i.from([e])]);while(++n>7;return o}e.encrypt=function(t,e,r){var o=e.length,a=i.allocUnsafe(o),s=-1;while(++s]*>)/g,m=/\$([$&'`]|\d\d?)/g,b=function(t){return void 0===t?t:String(t)};i("replace",2,(function(t,e,r,i){var v=i.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,g=i.REPLACE_KEEPS_$0,y=v?"$":"$0";return[function(r,i){var n=u(this),o=void 0==r?void 0:r[t];return void 0!==o?o.call(r,n,i):e.call(String(n),r,i)},function(t,i){if(!v&&g||"string"===typeof i&&-1===i.indexOf(y)){var o=r(e,t,this,i);if(o.done)return o.value}var u=n(t),d=String(this),p="function"===typeof i;p||(i=String(i));var m=u.global;if(m){var M=u.unicode;u.lastIndex=0}var _=[];while(1){var S=f(u,d);if(null===S)break;if(_.push(S),!m)break;var E=String(S[0]);""===E&&(u.lastIndex=h(d,a(u.lastIndex),M))}for(var A="",x=0,k=0;k<_.length;k++){S=_[k];for(var R=String(S[0]),$=l(c(s(S.index),d.length),0),T=[],I=1;I=x&&(A+=d.slice(x,$)+L,x=$+R.length)}return A+d.slice(x)}];function w(t,r,i,n,a,s){var u=i+t.length,h=n.length,f=m;return void 0!==a&&(a=o(a),f=p),e.call(s,f,(function(e,o){var s;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,i);case"'":return r.slice(u);case"<":s=a[o.slice(1,-1)];break;default:var f=+o;if(0===f)return e;if(f>h){var l=d(f/10);return 0===l?e:l<=h?void 0===n[l-1]?o.charAt(1):n[l-1]+o.charAt(1):e}s=n[f-1]}return void 0===s?"":s}))}}))},5377:function(t,e,r){var i=r("83ab"),n=r("9bf2"),o=r("ad6d"),a=r("9f7f").UNSUPPORTED_Y;i&&("g"!=/./g.flags||a)&&n.f(RegExp.prototype,"flags",{configurable:!0,get:o})},"561d":function(t,e,r){(function(e){var i=r("48e6"),n=r("7a10"),o=new n,a=new i(24),s=new i(11),u=new i(10),h=new i(3),f=new i(7),l=r("58a2"),c=r("11dc");function d(t,r){return r=r||"utf8",e.isBuffer(t)||(t=new e(t,r)),this._pub=new i(t),this}function p(t,r){return r=r||"utf8",e.isBuffer(t)||(t=new e(t,r)),this._priv=new i(t),this}t.exports=v;var m={};function b(t,e){var r=e.toString("hex"),i=[r,t.toString(16)].join("_");if(i in m)return m[i];var n,c=0;if(t.isEven()||!l.simpleSieve||!l.fermatTest(t)||!o.test(t))return c+=1,c+="02"===r||"05"===r?8:4,m[i]=c,c;switch(o.test(t.shrn(1))||(c+=2),r){case"02":t.mod(a).cmp(s)&&(c+=8);break;case"05":n=t.mod(u),n.cmp(h)&&n.cmp(f)&&(c+=8);break;default:c+=4}return m[i]=c,c}function v(t,e,r){this.setGenerator(e),this.__prime=new i(t),this._prime=i.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=d,this.setPrivateKey=p):this._primeCode=8}function g(t,r){var i=new e(t.toArray());return r?i.toString(r):i}Object.defineProperty(v.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!==typeof this._primeCode&&(this._primeCode=b(this.__prime,this.__gen)),this._primeCode}}),v.prototype.generateKeys=function(){return this._priv||(this._priv=new i(c(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},v.prototype.computeSecret=function(t){t=new i(t),t=t.toRed(this._prime);var r=t.redPow(this._priv).fromRed(),n=new e(r.toArray()),o=this.getPrime();if(n.lengtht)r.ishrn(1);if(r.isEven()&&r.iadd(u),r.testn(1)||r.iadd(h),e.cmp(h)){if(!e.cmp(f))while(r.mod(l).cmp(c))r.iadd(p)}else while(r.mod(o).cmp(d))r.iadd(p);if(a=r.shrn(1),v(a)&&v(r)&&g(a)&&g(r)&&s.test(a)&&s.test(r))return r}}},"58a8":function(t,e,r){var i=r("1d80"),n=r("5899"),o="["+n+"]",a=RegExp("^"+o+o+"*"),s=RegExp(o+o+"*$"),u=function(t){return function(e){var r=String(i(e));return 1&t&&(r=r.replace(a,"")),2&t&&(r=r.replace(s,"")),r}};t.exports={start:u(1),end:u(2),trim:u(3)}},5919:function(t,e,r){"use strict";e.sha1=r("13e2"),e.sha224=r("07f2"),e.sha256=r("6eed"),e.sha384=r("8b95"),e.sha512=r("b525")},"5a34":function(t,e,r){var i=r("44e7");t.exports=function(t){if(i(t))throw TypeError("The method doesn't accept regular expressions");return t}},"5a76":function(t,e,r){var i=r("f576");t.exports=function(t){return(new i).update(t).digest()}},"5bbb":function(t,e,r){t.exports=r("faa1").EventEmitter},"5c6c":function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"5cc6":function(t,e,r){var i=r("74e8");i("Uint8",(function(t){return function(e,r,i){return t(this,e,r,i)}}))},"5e1a":function(t,e,r){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var n=r("8707").Buffer,o=r(3);function a(t,e,r){t.copy(e,r)}t.exports=function(){function t(){i(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";var e=this.head,r=""+e.data;while(e=e.next)r+=t+e.data;return r},t.prototype.concat=function(t){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;var e=n.allocUnsafe(t>>>0),r=this.head,i=0;while(r)a(r.data,e,i),i+=r.data.length,r=r.next;return e},t}(),o&&o.inspect&&o.inspect.custom&&(t.exports.prototype[o.inspect.custom]=function(){var t=o.inspect({length:this.length});return this.constructor.name+" "+t})},"5e7d":function(t,e,r){"use strict";(function(e){var i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=h;var n=r("cf35"),o=r("49ce");r("3fb5")(h,n);for(var a=i(o.prototype),s=0;s>>0},e.writeUInt32BE=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},e.ip=function(t,e,r,i){for(var n=0,o=0,a=6;a>=0;a-=2){for(var s=0;s<=24;s+=8)n<<=1,n|=e>>>s+a&1;for(s=0;s<=24;s+=8)n<<=1,n|=t>>>s+a&1}for(a=6;a>=0;a-=2){for(s=1;s<=25;s+=8)o<<=1,o|=e>>>s+a&1;for(s=1;s<=25;s+=8)o<<=1,o|=t>>>s+a&1}r[i+0]=n>>>0,r[i+1]=o>>>0},e.rip=function(t,e,r,i){for(var n=0,o=0,a=0;a<4;a++)for(var s=24;s>=0;s-=8)n<<=1,n|=e>>>s+a&1,n<<=1,n|=t>>>s+a&1;for(a=4;a<8;a++)for(s=24;s>=0;s-=8)o<<=1,o|=e>>>s+a&1,o<<=1,o|=t>>>s+a&1;r[i+0]=n>>>0,r[i+1]=o>>>0},e.pc1=function(t,e,r,i){for(var n=0,o=0,a=7;a>=5;a--){for(var s=0;s<=24;s+=8)n<<=1,n|=e>>s+a&1;for(s=0;s<=24;s+=8)n<<=1,n|=t>>s+a&1}for(s=0;s<=24;s+=8)n<<=1,n|=e>>s+a&1;for(a=1;a<=3;a++){for(s=0;s<=24;s+=8)o<<=1,o|=e>>s+a&1;for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1}for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1;r[i+0]=n>>>0,r[i+1]=o>>>0},e.r28shl=function(t,e){return t<>>28-e};var i=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,r,n){for(var o=0,a=0,s=i.length>>>1,u=0;u>>i[u]&1;for(u=s;u>>i[u]&1;r[n+0]=o>>>0,r[n+1]=a>>>0},e.expand=function(t,e,r){var i=0,n=0;i=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)i<<=6,i|=t>>>o&63;for(o=11;o>=3;o-=4)n|=t>>>o&63,n<<=6;n|=(31&t)<<1|t>>>31,e[r+0]=i>>>0,e[r+1]=n>>>0};var n=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var r=0,i=0;i<4;i++){var o=t>>>18-6*i&63,a=n[64*i+o];r<<=4,r|=a}for(i=0;i<4;i++){o=e>>>18-6*i&63,a=n[256+64*i+o];r<<=4,r|=a}return r>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,r=0;r>>o[r]&1;return e>>>0},e.padSplit=function(t,e,r){var i=t.toString(2);while(i.length>8&255]},j=function(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]},D=function(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]},q=function(t){return L(t,23,4)},U=function(t){return L(t,52,8)},F=function(t,e){v(t[A],e,{get:function(){return M(this)[e]}})},z=function(t,e,r,i){var n=c(r),o=M(t);if(n+e>o.byteLength)throw C(k);var a=M(o.buffer).bytes,s=n+o.byteOffset,u=a.slice(s,s+e);return i?u:u.reverse()},K=function(t,e,r,i,n,o){var a=c(r),s=M(t);if(a+e>s.byteLength)throw C(k);for(var u=M(s.buffer).bytes,h=a+s.byteOffset,f=i(+n),l=0;lY;)(W=Z[Y++])in $||a($,W,R[W]);H.constructor=$}m&&p(I)!==O&&m(I,O);var V=new T(new $(2)),G=I.setInt8;V.setInt8(0,2147483648),V.setInt8(1,2147483649),!V.getInt8(0)&&V.getInt8(1)||s(I,{setInt8:function(t,e){G.call(this,t,e<<24>>24)},setUint8:function(t,e){G.call(this,t,e<<24>>24)}},{unsafe:!0})}else $=function(t){h(this,$,S);var e=c(t);_(this,{bytes:g.call(new Array(e),0),byteLength:e}),n||(this.byteLength=e)},T=function(t,e,r){h(this,T,E),h(t,$,E);var i=M(t).byteLength,o=f(e);if(o<0||o>i)throw C("Wrong offset");if(r=void 0===r?i-o:l(r),o+r>i)throw C(x);_(this,{buffer:t,byteLength:r,byteOffset:o}),n||(this.buffer=t,this.byteLength=r,this.byteOffset=o)},n&&(F($,"byteLength"),F(T,"buffer"),F(T,"byteLength"),F(T,"byteOffset")),s(T[A],{getInt8:function(t){return z(this,1,t)[0]<<24>>24},getUint8:function(t){return z(this,1,t)[0]},getInt16:function(t){var e=z(this,2,t,arguments.length>1?arguments[1]:void 0);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=z(this,2,t,arguments.length>1?arguments[1]:void 0);return e[1]<<8|e[0]},getInt32:function(t){return D(z(this,4,t,arguments.length>1?arguments[1]:void 0))},getUint32:function(t){return D(z(this,4,t,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(t){return N(z(this,4,t,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(t){return N(z(this,8,t,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(t,e){K(this,1,t,B,e)},setUint8:function(t,e){K(this,1,t,B,e)},setInt16:function(t,e){K(this,2,t,P,e,arguments.length>2?arguments[2]:void 0)},setUint16:function(t,e){K(this,2,t,P,e,arguments.length>2?arguments[2]:void 0)},setInt32:function(t,e){K(this,4,t,j,e,arguments.length>2?arguments[2]:void 0)},setUint32:function(t,e){K(this,4,t,j,e,arguments.length>2?arguments[2]:void 0)},setFloat32:function(t,e){K(this,4,t,q,e,arguments.length>2?arguments[2]:void 0)},setFloat64:function(t,e){K(this,8,t,U,e,arguments.length>2?arguments[2]:void 0)}});y($,S),y(T,E),t.exports={ArrayBuffer:$,DataView:T}},6283:function(t,e,r){var i=r("3fb5"),n=r("41df").Reporter,o=r("b639").Buffer;function a(t,e){n.call(this,e),o.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function s(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return t instanceof s||(t=new s(t,e)),this.length+=t.length,t}),this);else if("number"===typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"===typeof t)this.value=t,this.length=o.byteLength(t);else{if(!o.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}i(a,n),e.DecoderBuffer=a,a.prototype.save=function(){return{offset:this.offset,reporter:n.prototype.save.call(this)}},a.prototype.restore=function(t){var e=new a(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,n.prototype.restore.call(this,t.reporter),e},a.prototype.isEmpty=function(){return this.offset===this.length},a.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},a.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");var r=new a(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},a.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},e.EncoderBuffer=s,s.prototype.join=function(t,e){return t||(t=new o(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"===typeof this.value?t[e]=this.value:"string"===typeof this.value?t.write(this.value,e):o.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}},62831:function(t,e,r){var i; +/*! + * sqlite-parser - v1.0.1 + * @copyright 2015-2017 Code School (http://codeschool.com) + * @author Nick Wronski + */ +(function(e){t.exports=e()})((function(){return function t(e,r,n){function o(s,u){if(!r[s]){if(!e[s]){var h="function"==typeof i&&i;if(!u&&h)return i(s,!0);if(a)return a(s,!0);var f=new Error("Cannot find module '"+s+"'");throw f.code="MODULE_NOT_FOUND",f}var l=r[s]={exports:{}};e[s][0].call(l.exports,(function(t){var r=e[s][1][t];return o(r||t)}),l,l.exports,t,e,r,n)}return r[s].exports}for(var a="function"==typeof i&&i,s=0;s0},function(t,e){return{args:Object.assign(e,t)}},function(t){return{filter:q(t)}},E("Error Message"),function(t){return t},E("Statement"),function(t,e){return Object.assign(e,t)},E("QUERY PLAN"),function(t,e){return{explain:O(t)}},E("QUERY PLAN Keyword"),function(t,e){return N([t,e])},E("END Transaction Statement"),function(t,e){return{type:"statement",variant:"transaction",action:"commit"}},E("BEGIN Transaction Statement"),function(t,e,r,i){return Object.assign({type:"statement",variant:"transaction",action:"begin"},e,i)},function(t){return t},function(t){return{defer:q(t)}},E("ROLLBACK Statement"),function(t,e){return Object.assign({type:"statement",variant:"transaction",action:"rollback"},e)},E("TO Clause"),function(t){return{savepoint:t}},function(t){return q(t)},E("SAVEPOINT Statement"),function(t,e){return{type:"statement",variant:t,target:e}},E("RELEASE Statement"),function(t,e,r){return{type:"statement",variant:q(t),target:r}},E("ALTER TABLE Statement"),function(t,e,r){return Object.assign({type:"statement",variant:q(t),target:e},r)},E("ALTER TABLE Keyword"),function(t,e){return N([t,e])},E("RENAME TO Keyword"),function(t,e){return{action:q(t),name:e}},E("ADD COLUMN Keyword"),function(t,e){return{action:q(t),definition:e}},function(t,e){return Object.assign(e,t)},E("WITH Clause"),function(t,e,r){var i={variant:O(e)?"recursive":"common"};return U(r)&&(r=r.map((function(t){return Object.assign(t,i)}))),{with:r}},function(t,e){return B([t,e])},E("Common Table Expression"),function(t,e){return Object.assign({type:"expression",format:"table",variant:"common",target:t},e)},function(t){return{expression:t}},function(t,e){return Object.assign(e,t)},E("ATTACH Statement"),function(t,e,r,i){return{type:"statement",variant:q(t),target:i,attach:r}},E("DETACH Statement"),function(t,e,r){return{type:"statement",variant:q(t),target:r}},E("VACUUM Statement"),function(t,e){return Object.assign({type:"statement",variant:"vacuum"},e)},function(t){return{target:t}},E("ANALYZE Statement"),function(t,e){return Object.assign({type:"statement",variant:q(t)},e)},function(t){return{target:t["name"]}},E("REINDEX Statement"),function(t){return{target:t["name"]}},E("PRAGMA Statement"),function(t,e,r){return{type:"statement",variant:q(t),target:e,args:{type:"expression",variant:"list",expression:r}}},function(t){return t},function(t){return/^(yes|no|on|off|false|true|0|1)$/i.test(t)},function(t){return{type:"literal",variant:"boolean",normalized:/^(yes|on|true|1)$/i.test(t)?"1":"0",value:t}},function(t){return q(t)},function(t){return{type:"identifier",variant:"name",name:t}},E("SELECT Statement"),function(t,e,r){return Object.assign(t,e,r)},E("ORDER BY Clause"),function(t){return{order:t["result"]}},E("LIMIT Clause"),function(t,e,r){return{limit:Object.assign({type:"expression",variant:"limit",start:e},r)}},E("OFFSET Clause"),function(t,e){return{offset:e}},function(t,e){return U(e)?{type:"statement",variant:"compound",statement:t,compound:e}:t},E("Union Operation"),function(t,e){return{type:"compound",variant:t,statement:e}},function(t,e,r,i){return Object.assign({type:"statement",variant:"select"},t,e,r,i)},E("SELECT Results Clause"),function(t,e){return Object.assign({result:e},t)},E("SELECT Results Modifier"),function(t){return{distinct:!0}},function(t){return{}},E("FROM Clause"),function(t,e){return{from:e}},E("WHERE Clause"),function(t,e){return{where:I(e)}},E("GROUP BY Clause"),function(t,e,r){return Object.assign({group:e},r)},E("HAVING Clause"),function(t,e){return{having:e}},function(t,e){return{type:"identifier",variant:"star",name:L([t,e])}},function(t,e){return L([t,e])},function(t,e){return Object.assign(t,e)},function(t,e){return U(e)?{type:"map",variant:"join",source:t,map:e}:t},function(t,e){return Object.assign(t,e)},E("CROSS JOIN Operation"),function(t){return{type:"join",variant:"cross join",source:t}},E("JOIN Operation"),function(t,e){return{type:"join",variant:q(t),source:e}},function(t,e,r){return Object.assign({type:"function",variant:"table",name:t,args:e},r)},E("Qualified Table"),function(t,e){return Object.assign(t,e)},E("Qualified Table Identifier"),function(t,e){return Object.assign(t,e)},E("Qualfied Table Index"),function(t,e){return{index:e}},function(t,e){return{index:N([t,e])}},E("SELECT Source"),function(t,e){return Object.assign(t,e)},E("Subquery"),function(t,e){return Object.assign(t,e)},E("Alias"),function(t,e){return{alias:e}},E("JOIN Operator"),function(t,e,r){return N([t,e,r])},function(t,e){return N([t,e])},function(t){return q(t)},E("JOIN Constraint"),function(t){return{constraint:Object.assign({type:"constraint",variant:"join"},t)}},E("Join ON Clause"),function(t,e){return{format:q(t),on:e}},E("Join USING Clause"),function(t,e){return{format:q(t),using:e}},E("VALUES Clause"),function(t,e){return{type:"statement",variant:"select",result:e}},function(t,e){return{result:B([t,e])}},function(t){return t},E("Ordering Expression"),function(t,e){return O(e)?Object.assign({type:"expression",variant:"order",expression:t},e):t},E("Star"),E("Fallback Type"),E("INSERT Statement"),function(t,e){return Object.assign({type:"statement",variant:"insert"},t,e)},E("INSERT Keyword"),function(t,e){return Object.assign({action:q(t)},e)},E("REPLACE Keyword"),function(t){return{action:q(t)}},E("INSERT OR Modifier"),function(t,e){return{or:q(e)}},function(t,e){return Object.assign({into:t},e)},E("INTO Clause"),function(t,e){return e},E("INTO Keyword"),function(t){return{result:t}},E("Column List"),function(t,e){return{columns:B([t,e])}},function(t){return t},E("Column Name"),function(t){return{type:"identifier",variant:"column",name:t}},function(t,e){return e},E("VALUES Keyword"),function(t,e){return B([t,e])},E("Wrapped Expression List"),function(t){return t},E("DEFAULT VALUES Clause"),function(t,e){return{type:"values",variant:"default"}},E("Compound Operator"),E("UNION Operator"),function(t,e){return N([t,e])},function(t){return t},E("UPDATE Statement"),function(t,e,r,i,n,o,a){return Object.assign({type:"statement",variant:t,into:r},e,i,n,o,a)},E("UPDATE Keyword"),E("UPDATE OR Modifier"),function(t){return{or:q(t)}},E("SET Clause"),function(t){return{set:t}},E("Column Assignment"),function(t,e){return{type:"assignment",target:t,value:e}},E("DELETE Statement"),function(t,e,r,i,n){return Object.assign({type:"statement",variant:t,from:e},r,i,n)},E("DELETE Keyword"),E("CREATE Statement"),E("CREATE TABLE Statement"),function(t,e,r,i){return Object.assign({type:"statement",name:r},t,i,e)},function(t,e,r){return Object.assign({variant:t,format:q(r)},e)},function(t){return{temporary:O(t)}},E("IF NOT EXISTS Modifier"),function(t,e,r){return{condition:I({type:"condition",variant:q(t),condition:{type:"expression",variant:q(r),operator:N([e,r])}})}},E("Table Definition"),function(t,e,r){return Object.assign({definition:B([t,e])},r)},function(t,e){return{optimization:[{type:"optimization",value:N([t,e])}]}},function(t){return t},E("Column Definition"),function(t,e,r){return Object.assign({type:"definition",variant:"column",name:t,definition:O(r)?r:[]},e)},E("Column Datatype"),function(t){return{datatype:t}},E("Column Constraint"),function(t,e,r){return Object.assign(e,t)},function(t){return t[t.length-1]},E("CONSTRAINT Name"),function(t){return{name:t}},E("FOREIGN KEY Column Constraint"),function(t){return Object.assign({variant:"foreign key"},t)},E("PRIMARY KEY Column Constraint"),function(t,e,r,i){return Object.assign(t,r,e,i)},E("PRIMARY KEY Keyword"),function(t,e){return{type:"constraint",variant:N([t,e])}},E("AUTOINCREMENT Keyword"),function(t){return{autoIncrement:!0}},function(t,e){return Object.assign({type:"constraint",variant:t},e)},E("UNIQUE Column Constraint"),E("NULL Column Constraint"),function(t,e){return N([t,e])},E("CHECK Column Constraint"),E("DEFAULT Column Constraint"),function(t,e){return{type:"constraint",variant:q(t),value:e}},E("COLLATE Column Constraint"),function(t){return{type:"constraint",variant:"collate",collate:t}},E("Table Constraint"),function(t,e,r){return Object.assign({type:"definition",variant:"constraint"},e,t)},E("CHECK Table Constraint"),function(t){return{definition:I(t)}},E("PRIMARY KEY Table Constraint"),function(t,e,r){return{definition:I(Object.assign(t,r,e[1])),columns:e[0]}},function(t){return{type:"constraint",variant:q(t)}},function(t,e){return N([t,e])},E("UNIQUE Keyword"),function(t){return q(t)},function(t,e){return[t].concat(e)},function(t){return t.map((function(t){var e=i(t,1),r=e[0];return r}))},function(t){var e=t.find((function(t){var e=i(t,2),r=(e[0],e[1]);return O(r)}));return[t.map((function(t){var e=i(t,2),r=e[0];e[1];return r})),e?e[1]:null]},E("Indexed Column"),function(t,e,r){var i=t;return O(e)&&(i=Object.assign({type:"expression",variant:"order",expression:t},e)),[i,r]},E("Collation"),function(t){return{collate:I(t)}},E("Column Direction"),function(t){return{direction:q(t)}},function(t,e){return{conflict:q(e)}},E("ON CONFLICT Keyword"),function(t,e){return N([t,e])},function(t,e){return{type:"constraint",variant:q(t),expression:e}},E("FOREIGN KEY Table Constraint"),function(t,e,r){return Object.assign({definition:I(Object.assign(t,r))},e)},E("FOREIGN KEY Keyword"),function(t,e){return{type:"constraint",variant:N([t,e])}},function(t,e,r){return Object.assign({type:"constraint"},t,e,r)},E("REFERENCES Clause"),function(t,e){return{references:e}},function(t,e){return{action:B([t,e])}},E("FOREIGN KEY Action Clause"),function(t,e,r){return{type:"action",variant:q(t),action:q(r)}},E("FOREIGN KEY Action"),function(t,e){return N([t,e])},function(t){return q(t)},function(t,e){return N([t,e])},function(t,e){return{type:"action",variant:q(t),action:e}},E("DEFERRABLE Clause"),function(t,e,r){return{defer:N([t,e,r])}},function(t,e){return N([t,e])},function(t){return{definition:I(t)}},E("CREATE INDEX Statement"),function(t,e,r,i,n){return Object.assign({type:"statement",target:r,on:i},t,e,n)},function(t,e,r){return Object.assign({variant:q(t),format:q(r)},e)},function(t){return{unique:!0}},E("ON Clause"),function(t,e,r){return{type:"identifier",variant:"expression",format:"table",name:e["name"],columns:r}},E("CREATE TRIGGER Statement"),function(t,e,r,i,n,o,a,s){return Object.assign({type:"statement",target:r,on:n,event:i,by:O(o)?o:"row",action:I(s)},t,e,a)},function(t,e,r){return Object.assign({variant:q(t),format:q(r)},e)},E("Conditional Clause"),function(t,e){return Object.assign({type:"event"},t,e)},function(t){return{occurs:q(t)}},function(t,e){return N([t,e])},E("Conditional Action"),function(t){return{event:q(t)}},function(t,e){return{event:q(t),of:e}},function(t,e){return e},"statement",w("STATEMENT",!0),function(t,e,r){return q(r)},function(t,e){return{when:e}},E("Actions Clause"),function(t,e,r){return e},function(t){return t},E("CREATE VIEW Statement"),function(t,e,r,i){return Object.assign({type:"statement",target:r,result:i},t,e)},function(t,e){return Object.assign({type:"identifier",variant:"expression",format:"view",name:t["name"],columns:[]},e)},function(t,e,r){return Object.assign({variant:q(t),format:q(r)},e)},E("CREATE VIRTUAL TABLE Statement"),function(t,e,r,i){return Object.assign({type:"statement",target:r,result:i},t,e)},function(t,e,r){return{variant:q(t),format:q(e)}},function(t,e){return Object.assign({type:"module",variant:"virtual",name:t},e)},E("Module Arguments"),function(t){return{args:{type:"expression",variant:"list",expression:O(t)?t:[]}}},function(t,e){return B([t,e]).filter((function(t){return O(t)}))},function(t){return t},E("DROP Statement"),function(t,e){return Object.assign({type:"statement",target:Object.assign(e,{variant:t["format"]})},t)},E("DROP Keyword"),function(t,e,r){return Object.assign({variant:q(t),format:e,condition:[]},r)},E("DROP Type"),E("IF EXISTS Keyword"),function(t,e){return{condition:[{type:"condition",variant:q(t),condition:{type:"expression",variant:q(e),operator:q(e)}}]}},E("Or"),E("Add"),E("Subtract"),E("Multiply"),E("Divide"),E("Modulo"),E("Shift Left"),E("Shift Right"),E("Logical AND"),E("Logical OR"),E("Less Than"),E("Greater Than"),E("Less Than Or Equal"),E("Greater Than Or Equal"),E("Equal"),E("Not Equal"),E("IS"),function(t,e){return N([t,e])},E("Identifier"),E("Database Identifier"),function(t){return{type:"identifier",variant:"database",name:t}},E("Function Identifier"),function(t,e){return{type:"identifier",variant:"function",name:L([t,e])}},E("Table Identifier"),function(t,e){return{type:"identifier",variant:"table",name:L([t,e])}},function(t,e){return L([t,e])},E("Column Identifier"),function(t,e){return{type:"identifier",variant:"column",name:L([t,e])}},function(){return""},function(t,e){return L([t,e])},E("Collation Identifier"),function(t){return{type:"identifier",variant:"collation",name:t}},E("Savepoint Identifier"),function(t){return{type:"identifier",variant:"savepoint",name:t}},E("Index Identifier"),function(t,e){return{type:"identifier",variant:"index",name:L([t,e])}},E("Trigger Identifier"),function(t,e){return{type:"identifier",variant:"trigger",name:L([t,e])}},E("View Identifier"),function(t,e){return{type:"identifier",variant:"view",name:L([t,e])}},E("Pragma Identifier"),function(t,e){return{type:"identifier",variant:"pragma",name:L([t,e])}},E("CTE Identifier"),function(t){return t},function(t,e){return Object.assign({type:"identifier",variant:"expression",format:"table",name:t["name"],columns:[]},e)},E("Table Constraint Identifier"),function(t){return{type:"identifier",variant:"constraint",format:"table",name:t}},E("Column Constraint Identifier"),function(t){return{type:"identifier",variant:"constraint",format:"column",name:t}},E("Datatype Name"),function(t){return[t,"text"]},function(t){return[t,"real"]},function(t){return[t,"numeric"]},function(t){return[t,"integer"]},function(t){return[t,"none"]},E("TEXT Datatype Name"),"n",w("N",!0),"var",w("VAR",!0),"char",w("CHAR",!0),"tiny",w("TINY",!0),"medium",w("MEDIUM",!0),"long",w("LONG",!0),"text",w("TEXT",!0),"clob",w("CLOB",!0),E("REAL Datatype Name"),"float",w("FLOAT",!0),"real",w("REAL",!0),E("DOUBLE Datatype Name"),"double",w("DOUBLE",!0),"precision",w("PRECISION",!0),function(t,e){return L([t,e])},E("NUMERIC Datatype Name"),"numeric",w("NUMERIC",!0),"decimal",w("DECIMAL",!0),"boolean",w("BOOLEAN",!0),"date",w("DATE",!0),"time",w("TIME",!0),"stamp",w("STAMP",!0),"string",w("STRING",!0),E("INTEGER Datatype Name"),"int",w("INT",!0),"2",w("2",!1),"4",w("4",!1),"8",w("8",!1),"eger",w("EGER",!0),"big",w("BIG",!0),"small",w("SMALL",!0),"floating",w("FLOATING",!0),"point",w("POINT",!0),function(t,e){return L([t,e])},E("BLOB Datatype Name"),"blob",w("BLOB",!0),/^[a-z0-9$_]/i,M([["a","z"],["0","9"],"$","_"],!1,!0),"\\u",w("\\u",!1),/^[a-f0-9]/i,M([["a","f"],["0","9"]],!1,!0),function(t,e){return L([t,e]).toLowerCase()},function(t){return q(t)},_(),function(t){return D(t)},/^[ \t]/,M([" ","\t"],!1,!1),'"',w('"',!1),'""',w('""',!1),/^[^"]/,M(['"'],!0,!1),function(t){return P(t,'"')},"'",w("'",!1),function(t){return P(t,"'")},"`",w("`",!1),"``",w("``",!1),/^[^`]/,M(["`"],!0,!1),function(t){return P(t,"`")},E("Open Bracket"),"[",w("[",!1),E("Close Bracket"),"]",w("]",!1),E("Open Parenthesis"),"(",w("(",!1),E("Close Parenthesis"),")",w(")",!1),E("Comma"),",",w(",",!1),E("Period"),".",w(".",!1),E("Asterisk"),"*",w("*",!1),E("Question Mark"),"?",w("?",!1),E("Single Quote"),E("Double Quote"),E("Backtick"),E("Tilde"),"~",w("~",!1),E("Plus"),"+",w("+",!1),E("Minus"),"-",w("-",!1),"=",w("=",!1),E("Ampersand"),"&",w("&",!1),E("Pipe"),"|",w("|",!1),"%",w("%",!1),"<",w("<",!1),">",w(">",!1),E("Exclamation"),"!",w("!",!1),E("Semicolon"),";",w(";",!1),E("Colon"),E("Forward Slash"),"/",w("/",!1),E("Backslash"),"\\",w("\\",!1),"abort",w("ABORT",!0),"action",w("ACTION",!0),"add",w("ADD",!0),"after",w("AFTER",!0),"all",w("ALL",!0),"alter",w("ALTER",!0),"analyze",w("ANALYZE",!0),"and",w("AND",!0),"as",w("AS",!0),"asc",w("ASC",!0),"attach",w("ATTACH",!0),"autoincrement",w("AUTOINCREMENT",!0),"before",w("BEFORE",!0),"begin",w("BEGIN",!0),"between",w("BETWEEN",!0),"by",w("BY",!0),"cascade",w("CASCADE",!0),"case",w("CASE",!0),"cast",w("CAST",!0),"check",w("CHECK",!0),"collate",w("COLLATE",!0),"column",w("COLUMN",!0),"commit",w("COMMIT",!0),"conflict",w("CONFLICT",!0),"constraint",w("CONSTRAINT",!0),"create",w("CREATE",!0),"cross",w("CROSS",!0),"current_date",w("CURRENT_DATE",!0),"current_time",w("CURRENT_TIME",!0),"current_timestamp",w("CURRENT_TIMESTAMP",!0),"database",w("DATABASE",!0),"default",w("DEFAULT",!0),"deferrable",w("DEFERRABLE",!0),"deferred",w("DEFERRED",!0),"delete",w("DELETE",!0),"desc",w("DESC",!0),"detach",w("DETACH",!0),"distinct",w("DISTINCT",!0),"drop",w("DROP",!0),"each",w("EACH",!0),"else",w("ELSE",!0),"end",w("END",!0),"escape",w("ESCAPE",!0),"except",w("EXCEPT",!0),"exclusive",w("EXCLUSIVE",!0),"exists",w("EXISTS",!0),"explain",w("EXPLAIN",!0),"fail",w("FAIL",!0),"for",w("FOR",!0),"foreign",w("FOREIGN",!0),"from",w("FROM",!0),"full",w("FULL",!0),"glob",w("GLOB",!0),"group",w("GROUP",!0),"having",w("HAVING",!0),"if",w("IF",!0),"ignore",w("IGNORE",!0),"immediate",w("IMMEDIATE",!0),"in",w("IN",!0),"index",w("INDEX",!0),"indexed",w("INDEXED",!0),"initially",w("INITIALLY",!0),"inner",w("INNER",!0),"insert",w("INSERT",!0),"instead",w("INSTEAD",!0),"intersect",w("INTERSECT",!0),"into",w("INTO",!0),"is",w("IS",!0),"isnull",w("ISNULL",!0),"join",w("JOIN",!0),"key",w("KEY",!0),"left",w("LEFT",!0),"like",w("LIKE",!0),"limit",w("LIMIT",!0),"match",w("MATCH",!0),"natural",w("NATURAL",!0),"no",w("NO",!0),"not",w("NOT",!0),"notnull",w("NOTNULL",!0),"of",w("OF",!0),"offset",w("OFFSET",!0),"on",w("ON",!0),"or",w("OR",!0),"order",w("ORDER",!0),"outer",w("OUTER",!0),"plan",w("PLAN",!0),"pragma",w("PRAGMA",!0),"primary",w("PRIMARY",!0),"query",w("QUERY",!0),"raise",w("RAISE",!0),"recursive",w("RECURSIVE",!0),"references",w("REFERENCES",!0),"regexp",w("REGEXP",!0),"reindex",w("REINDEX",!0),"release",w("RELEASE",!0),"rename",w("RENAME",!0),"replace",w("REPLACE",!0),"restrict",w("RESTRICT",!0),"right",w("RIGHT",!0),"rollback",w("ROLLBACK",!0),"row",w("ROW",!0),"rowid",w("ROWID",!0),"savepoint",w("SAVEPOINT",!0),"select",w("SELECT",!0),"set",w("SET",!0),"table",w("TABLE",!0),"temp",w("TEMP",!0),"temporary",w("TEMPORARY",!0),"then",w("THEN",!0),"to",w("TO",!0),"transaction",w("TRANSACTION",!0),"trigger",w("TRIGGER",!0),"union",w("UNION",!0),"unique",w("UNIQUE",!0),"update",w("UPDATE",!0),"using",w("USING",!0),"vacuum",w("VACUUM",!0),"values",w("VALUES",!0),"view",w("VIEW",!0),"virtual",w("VIRTUAL",!0),"when",w("WHEN",!0),"where",w("WHERE",!0),"with",w("WITH",!0),"without",w("WITHOUT",!0),function(t){return q(t)},function(){return null},E("Line Comment"),"--",w("--",!1),/^[\n\v\f\r]/,M(["\n","\v","\f","\r"],!1,!1),E("Block Comment"),"/*",w("/*",!1),"*/",w("*/",!1),/^[\n\v\f\r\t ]/,M(["\n","\v","\f","\r","\t"," "],!1,!1),E("Whitespace"),"__TODO__",w("__TODO__",!1)],f=[$("%;ȿ/H#;#/?$;\".\" &\"/1$;#/($8$: $!!)($'#(#'#(\"'#&'#"),$("%;ȿ/C#;#/:$;x/1$;#/($8$: $!!)($'#(#'#(\"'#&'#"),$("%;x/B#;ȿ/9$$;%0#*;%&/)$8#:!#\"\" )(#'#(\"'#&'#"),$("$;Ƴ0#*;Ƴ&"),$("$;Ƴ/�#*;Ƴ&&&#"),$("%;$/:#;x/1$;ȿ/($8#:\"#!!)(#'#(\"'#&'#"),$('<%;\'.# &;(/@#;ȿ/7$;*." &"/)$8#:$#"" )(#\'#("\'#&\'#=." 7#'),$("%;Ƌ/' 8!:%!! )"),$('<%;ƕ/9#$;)0#*;)&/)$8":\'""! )("\'#&\'#=." 7&'),$('%4(""5!7)/1#;Ɨ/($8":*"! )("\'#&\'#'),$("<%;Ơ/R#;5/I$;ȿ/@$;+.\" &\"/2$;ơ/)$8%:,%\"#!)(%'#($'#(#'#(\"'#&'#=.\" 7+"),$("%;Ƣ/C#;ȿ/:$;5/1$;ȿ/($8$:-$!!)($'#(#'#(\"'#&'#"),$(";5.; &;6.5 &;2./ &;-.) &;..# &;/"),$('<%;Ȇ/1#;ȿ/($8":/"!!)("\'#&\'#=." 7.'),$('<%;ǒ.) &;ǔ.# &;Ǔ/1#;ȿ/($8":1"!!)("\'#&\'#=." 70'),$('<%;4." &"/2#;0/)$8":3""! )("\'#&\'#=." 72'),$("<%;Ʀ/A#$;10#*;1&/1$;Ʀ/($8#:5#!!)(#'#(\"'#&'#=.\" 74"),$('26""6677.) &48""5!79'),$('<%4;""5!7!! )"),$('<%;ƪ.# &;ƫ/\' 8!:"!! )=." 7?'),$('%;4." &"/2#;6/)$8":@""! )("\'#&\'#'),$(";<.# &;7"),$('%;8/7#;;." &"/)$8":A""! )("\'#&\'#'),$('<;9.# &;:=." 7B'),$('%$;>/�#*;>&&&#/7#;:." &"/)$8":C""! )("\'#&\'#'),$('%;ƣ/9#$;>0#*;>&/)$8":D""! )("\'#&\'#'),$('<%3F""5!7G/T#4H""5!7I." &"/@$$;>/�#*;>&&&#/*$8#:J##"! )(#\'#("\'#&\'#=." 7E'),$('<%3L""5"7M/?#$;=/�#*;=&&&#/)$8":N""! )("\'#&\'#=." 7K'),$('4O""5!7P'),$('4Q""5!7R'),$("<%;@.) &;B.# &;C/' 8!:T!! )=.\" 7S"),$('<%;ƥ/@#;A." &"/2$;ȿ/)$8#:V#""!)(#\'#("\'#&\'#=." 7U'),$('%4W""5!7X/9#$;>0#*;>&/)$8":Y""! )("\'#&\'#'),$('<%4[""5!7\\/H#$;Ɠ/�#*;Ɠ&&&#/2$;ȿ/)$8#:]#""!)(#\'#("\'#&\'#=." 7Z'),$('<%2_""6_7`/o#$;Ɠ.) &2a""6a7b/2#0/*;Ɠ.) &2a""6a7b&&&#/A$;ȿ/8$;D." &"/*$8$:c$##" )($\'#(#\'#("\'#&\'#=." 7^'),$('%;ƛ/1#;ȿ/($8":d"!!)("\'#&\'#'),$('<%;F." &"/;#;ȿ/2$;”/)$8#:f#"" )(#\'#("\'#&\'#=." 7e'),$('<%;k." &"/;#;Ǥ/2$;ȿ/)$8#:h#""!)(#\'#("\'#&\'#=." 7g'),$("<%;ȑ/_#;ȿ/V$;Ơ/M$;ȿ/D$;H/;$;ȿ/2$;ơ/)$8':j'\"&\")(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7i"),$("<%;I.# &;J/' 8!:l!! )=.\" 7k"),$("<%;ǯ/' 8!:n!! )=.\" 7m"),$("%;ț.) &;Ʒ.# &;Ǧ/M#;ȿ/D$;Ƣ/;$;ȿ/2$;w/)$8%:o%\"$ )(%'#($'#(#'#(\"'#&'#"),$(";?./ &;t.) &;,.# &;Ž"),$("%;Ơ/L#;ȿ/C$;p/:$;ȿ/1$;ơ/($8%:p%!\")(%'#($'#(#'#(\"'#&'#"),$(";L.; &;E.5 &;_./ &;a.) &;G.# &;K"),$("%;M/;#;ȿ/2$;Q/)$8#:q#\"\" )(#'#(\"'#&'#.# &;M"),$("%;P/A#;ȿ/8$;N.# &;p/)$8#:r#\"\" )(#'#(\"'#&'#.# &;N"),$(";Ʃ.U &;ƫ.O &;ƪ.I &%%;k/8#%<;Ǥ=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),$("<%;ĭ/' 8!:t!! )=.\" 7s"),$("%;O/ƒ#$%;ȿ/>#;Ŧ/5$;ȿ/,$;O/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;Ŧ/5$;ȿ/,$;O/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$("%;R/ƒ#$%;ȿ/>#;T/5$;ȿ/,$;R/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;T/5$;ȿ/,$;R/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$(";ũ.) &;Ū.# &;ū"),$("%;S/ƒ#$%;ȿ/>#;V/5$;ȿ/,$;S/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;V/5$;ȿ/,$;S/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$(";ŧ.# &;Ũ"),$("%;U/ƒ#$%;ȿ/>#;X/5$;ȿ/,$;U/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;X/5$;ȿ/,$;U/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$(";Ŭ.U &;ŭ.O &;Ů.I &%%;ů/8#%<;ů=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),$("%;W/ƒ#$%;ȿ/>#;Z/5$;ȿ/,$;W/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;Z/5$;ȿ/,$;W/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$(";Ų.{ &;ų.u &%%;Ű/8#%<;X=.##&&!&'#/#$+\")(\"'#&'#/\"!&,).I &%%;ű/8#%<;X=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),$('%;Y/9#$;\\0#*;\\&/)$8":u""! )("\'#&\'#'),$("%;ȿ/1#;]/($8\":v\"! )(\"'#&'#.H &%;ȿ/>#;^/5$;ȿ/,$;Y/#$+$)($'#(#'#(\"'#&'#"),$('%3w""5$7x/?#;ȿ/6$3y""5$7z/\'$8#:{# )(#\'#("\'#&\'#.? &%;ǻ/& 8!:|! ).. &%;ȅ/& 8!:{! )'),$(";ŷ./ &;ŵ.) &;Ŷ.# &;Ŵ"),$("<%;lj/i#;ȿ/`$;Ơ/W$;p/N$;ȿ/E$;`/<$;ȿ/3$;ơ/*$8(:~(#'$\")(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7}"),$("<%;ƿ/:#;ȿ/1$;&/($8#:€#! )(#'#(\"'#&'#=.\" 7"),$("<%;Lj/“#;ȿ/Š$;b.\" &\"/|$;ȿ/s$$;c/�#*;c&&&#/]$;ȿ/T$;d.\" &\"/F$;ȿ/=$;Ǡ/4$;ȿ/+$8*:‚*$)'%#)(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7"),$("%%<;Ȱ=.##&&!&'#/1#;p/($8\":ƒ\"! )(\"'#&'#"),$("<%;Ȱ/i#;ȿ/`$;p/W$;ȿ/N$;Ȥ/E$;ȿ/<$;p/3$;ȿ/*$8(:…(#'%!)(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7„"),$("<%;ǟ/D#;ȿ/;$;p/2$;ȿ/)$8$:‡$\"#!)($'#(#'#(\"'#&'#=.\" 7†"),$("%;[/;#;ȿ/2$;f/)$8#:ˆ#\"\" )(#'#(\"'#&'#.# &;["),$(";l.) &;i.# &;g"),$('<%;k." &"/o#;ǿ./ &;ǫ.) &;Ȕ.# &;ȁ/T$;ȿ/K$;p/B$;ȿ/9$;h." &"/+$8&:Š&$%$" )(&\'#(%\'#($\'#(#\'#("\'#&\'#=." 7‰'),$("<%;ǡ/D#;ȿ/;$;p/2$;ȿ/)$8$:Œ$\"#!)($'#(#'#(\"'#&'#=.\" 7‹"),$('<%;k." &"/E#;Dž/<$;ȿ/3$;j/*$8$:Ž$##" )($\'#(#\'#("\'#&\'#=." 7'),$("%;e/W#%;ȿ/>#;ƾ/5$;ȿ/,$;e/#$+$)($'#(#'#(\"'#&'#/)$8\":\"\"! )(\"'#&'#"),$('%;Ȅ/1#;ȿ/($8":"!!)("\'#&\'#'),$('<%;k." &"/E#;DZ/<$;ȿ/3$;m/*$8$:’$##" )($\'#(#\'#("\'#&\'#=." 7‘'),$(";n.# &;Ż"),$("%;Ơ/I#;•.# &;q/:$;ȿ/1$;ơ/($8$:“$!\")($'#(#'#(\"'#&'#"),$("%;e/ƒ#$%;ȿ/>#;ƾ/5$;ȿ/,$;e/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;ƾ/5$;ȿ/,$;e/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$("%;o/ƒ#$%;ȿ/>#;Ȋ/5$;ȿ/,$;o/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;Ȋ/5$;ȿ/,$;o/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),$('<%;r." &"/1#;ȿ/($8":•"!!)("\'#&\'#=." 7”'),$("%;p/B#;ȿ/9$$;s0#*;s&/)$8#:–#\"\" )(#'#(\"'#&'#"),$("%;Ƣ/:#;p/1$;ȿ/($8#:“#!!)(#'#(\"'#&'#"),$("<%;ź/[#;ȿ/R$;Ơ/I$;u.\" &\"/;$;ȿ/2$;ơ/)$8&:˜&\"%\")(&'#(%'#($'#(#'#(\"'#&'#=.\" 7—"),$('<%;Û/\' 8!:š!! ).V &%;v." &"/G#;q/>$9:› "! -""&!&#/)$8#:œ#""!)(#\'#("\'#&\'#=." 7™'),$('%;ǜ.# &;ƻ/1#;ȿ/($8":"!!)("\'#&\'#'),$("<%;//' 8!:Ÿ!! )=.\" 7ž"),$('<%;y." &"/;#;{/2$;ȿ/)$8#:¡#""!)(#\'#("\'#&\'#=." 7 '),$('<%;ǥ/@#;ȿ/7$;z." &"/)$8#:£#"" )(#\'#("\'#&\'#=." 7¢'),$("<%;Ȑ/D#;ȿ/;$;ȍ/2$;ȿ/)$8$:¥$\"#!)($'#(#'#(\"'#&'#=.\" 7¤"),$(";Œ.S &;û.M &;Ţ.G &;}.A &;|.; &;†.5 &;€./ &;„.) &;….# &;–"),$('<%;Ǎ.# &;Ǡ/@#;ȿ/7$;~." &"/)$8#:§#"" )(#\'#("\'#&\'#=." 7¦'),$('<%;DŽ/^#;ȿ/U$;." &"/G$;~." &"/9$;‚." &"/+$8%:©%$$"! )(%\'#($\'#(#\'#("\'#&\'#=." 7¨'),$('%;Ȧ/1#;ȿ/($8":ª"!!)("\'#&\'#'),$('%;ǘ.) &;ǰ.# &;ǣ/1#;ȿ/($8":«"!!)("\'#&\'#'),$('<%;ț/N#;ȿ/E$;~." &"/7$;." &"/)$8$:­$"# )($\'#(#\'#("\'#&\'#=." 7¬'),$('<%%;ȥ/,#;ȿ/#$+")("\'#&\'#." &"/?#;ƒ." &"/1$;‚/($8#:p#! )(#\'#("\'#&\'#=." 7®'),$('%;Ƃ/1#;ȿ/($8":¯"!!)("\'#&\'#'),$('%;Ȟ/1#;ȿ/($8":°"!!)("\'#&\'#'),$('<%;ƒ/2#;‚/)$8":²""! )("\'#&\'#=." 7±'),$("<%;Ȗ/J#;ȿ/A$;ƒ.\" &\"/3$;‚/*$8$:´$##! )($'#(#'#(\"'#&'#=.\" 7³"),$("<%;‡/N#;Ż/E$;ȿ/<$;ˆ/3$;ȿ/*$8%:¶%#$#!)(%'#($'#(#'#(\"'#&'#=.\" 7µ"),$("<%;Ƽ/D#;ȿ/;$;ȡ/2$;ȿ/)$8$:¸$\"#!)($'#(#'#(\"'#&'#=.\" 7·"),$(";‰.# &;Š"),$("<%;ȗ/M#;ȿ/D$;ȥ/;$;ȿ/2$;Ż/)$8%:º%\"$ )(%'#($'#(#'#(\"'#&'#=.\" 7¹"),$('<%;ƹ/I#;ȿ/@$;‹." &"/2$;Č/)$8$:¼$"# )($\'#(#\'#("\'#&\'#=." 7»'),$('%;nj/1#;ȿ/($8":°"!!)("\'#&\'#'),$('%;/2#;§/)$8":½""! )("\'#&\'#'),$('<%;Ž." &"/1#;ȿ/($8":*"!!)("\'#&\'#=." 7¾'),$("%;Ȳ/J#;ȿ/A$;.\" &\"/3$;/*$8$:¿$##! )($'#(#'#(\"'#&'#"),$('%;Ȓ/1#;ȿ/($8":°"!!)("\'#&\'#'),$("%;’/B#;ȿ/9$$;‘0#*;‘&/)$8#:À#\"\" )(#'#(\"'#&'#"),$("%;Ƣ/:#;’/1$;ȿ/($8#:“#!!)(#'#(\"'#&'#"),$('<%;Ƈ/2#;“/)$8":Â""! )("\'#&\'#=." 7Á'),$("%;ƿ/:#;ȿ/1$;”/($8#:Ã#! )(#'#(\"'#&'#"),$("%;Ơ/C#;•/:$;ȿ/1$;ơ/($8$: $!\")($'#(#'#(\"'#&'#"),$('%;/2#;¨/)$8":Ä""! )("\'#&\'#'),$(";—.; &;™.5 &;š./ &;œ.) &;ž.# &; "),$("<%;ǁ/‹#;ȿ/‚$%;Ǖ/,#;ȿ/#$+\")(\"'#&'#.\" &\"/a$;p/X$;ȿ/O$;ƿ/F$;ȿ/=$;˜/4$;ȿ/+$8):Æ)$(&%!)()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Å"),$(";Ź.) &;-.# &;?"),$("<%;Ǜ/f#;ȿ/]$%;Ǖ/,#;ȿ/#$+\")(\"'#&'#.\" &\"/<$;˜/3$;ȿ/*$8%:È%#$\"!)(%'#($'#(#'#(\"'#&'#=.\" 7Ç"),$('<%;Ȭ/@#;ȿ/7$;›." &"/)$8#:Ê#"" )(#\'#("\'#&\'#=." 7É'),$('%;Ź/1#;ȿ/($8":Ë"!!)("\'#&\'#'),$('<%;ƽ/@#;ȿ/7$;." &"/)$8#:Í#"" )(#\'#("\'#&\'#=." 7Ì'),$('%;Ż.) &;ƃ.# &;Ź/1#;ȿ/($8":Î"!!)("\'#&\'#'),$('<%;ȕ/I#;ȿ/@$;Ÿ." &"/2$;ȿ/)$8$:Í$"#!)($\'#(#\'#("\'#&\'#=." 7Ï'),$('%;Ż.) &;ƃ.# &;Ɓ/1#;ȿ/($8":Ð"!!)("\'#&\'#'),$("<%;Ȏ/S#;ȿ/J$;Ɔ/A$;ȿ/8$;¡.\" &\"/*$8%:Ò%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ñ"),$("%;Ơ/C#;¢/:$;ȿ/1$;ơ/($8$:Ó$!\")($'#(#'#(\"'#&'#.D &%;Ƭ/:#;¢/1$;ȿ/($8#:Ó#!!)(#'#(\"'#&'#"),$(";¤.) &;£.# &;¦"),$(";5.) &;/.# &;3"),$('%;¥/<#9:Ô ! -""&!&#/($8":Õ"!!)("\'#&\'#'),$("%$;Ɠ/�#*;Ɠ&&&#/' 8!:Ö!! )"),$("%;¥/' 8!:×!! )"),$(";¨./ &;Ý.) &;ò.# &;ù"),$('<%;®/X#;ȿ/O$;©." &"/A$;ȿ/8$;ª." &"/*$8%:Ù%#$" )(%\'#($\'#(#\'#("\'#&\'#=." 7Ø'),$("<%;ȋ/L#;ȿ/C$;dž/:$;ȿ/1$;Ø/($8%:Û%! )(%'#($'#(#'#(\"'#&'#=.\" 7Ú"),$("<%;Ȁ/S#;ȿ/J$;p/A$;ȿ/8$;«.\" &\"/*$8%:Ý%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ü"),$('<%;¬/2#;p/)$8":ß""! )("\'#&\'#=." 7Þ'),$(";­.# &;Ƣ"),$('%;Ȉ/1#;ȿ/($8":°"!!)("\'#&\'#'),$("%;°/B#;ȿ/9$$;¯0#*;¯&/)$8#:à#\"\" )(#'#(\"'#&'#"),$("<%;ï/D#;ȿ/;$;°/2$;ȿ/)$8$:â$\"#!)($'#(#'#(\"'#&'#=.\" 7á"),$(";±.# &;×"),$('%;²/U#;¸." &"/G$;¹." &"/9$;º." &"/+$8$:ã$$#"! )($\'#(#\'#("\'#&\'#'),$('<%;ȟ/R#;ȿ/I$;³." &"/;$;ȿ/2$;¶/)$8%:å%"" )(%\'#($\'#(#\'#("\'#&\'#=." 7ä'),$('<;´.# &;µ=." 7æ'),$('%;ǜ/1#;ȿ/($8":ç"!!)("\'#&\'#'),$('%;ƻ/1#;ȿ/($8":è"!!)("\'#&\'#'),$("%;¼/B#;ȿ/9$$;·0#*;·&/)$8#:À#\"\" )(#'#(\"'#&'#"),$("%;Ƣ/:#;¼/1$;ȿ/($8#:-#!!)(#'#(\"'#&'#"),$("<%;ǩ/D#;ȿ/;$;À/2$;ȿ/)$8$:ê$\"#!)($'#(#'#(\"'#&'#=.\" 7é"),$("<%;ȱ/D#;ȿ/;$;p/2$;ȿ/)$8$:ì$\"#!)($'#(#'#(\"'#&'#=.\" 7ë"),$("<%;Ǭ/e#;ȿ/\\$;dž/S$;ȿ/J$;q/A$;ȿ/8$;».\" &\"/*$8':î'#&\" )(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7í"),$("<%;ǭ/D#;ȿ/;$;p/2$;ȿ/)$8$:ð$\"#!)($'#(#'#(\"'#&'#=.\" 7ï"),$(";½.# &;¿"),$('%;¾." &"/2#;Û/)$8":ñ""! )("\'#&\'#'),$('%;ƕ/2#;ƣ/)$8":ò""! )("\'#&\'#'),$('%;p/@#;ȿ/7$;Í." &"/)$8#:ó#"" )(#\'#("\'#&\'#'),$("%;Ä/B#;ȿ/9$$;Á0#*;Á&/)$8#:ô#\"\" )(#'#(\"'#&'#"),$('%;Â.# &;Ã/7#;Ô." &"/)$8":õ""! )("\'#&\'#'),$("<%;Ƣ/:#;Ä/1$;ȿ/($8#:÷#!!)(#'#(\"'#&'#=.\" 7ö"),$("<%;Î/D#;ȿ/;$;Ä/2$;ȿ/)$8$:ù$\"#!)($'#(#'#(\"'#&'#=.\" 7ø"),$(";Ë.5 &;?./ &;Å.) &;Æ.# &;Ì"),$("%;ź/S#;ȿ/J$;í/A$;ȿ/8$;Í.\" &\"/*$8%:ú%#$\" )(%'#($'#(#'#(\"'#&'#"),$('<%;Ç/@#;ȿ/7$;È." &"/)$8#:ü#"" )(#\'#("\'#&\'#=." 7û'),$('<%;Ż/@#;ȿ/7$;Í." &"/)$8#:þ#"" )(#\'#("\'#&\'#=." 7ý'),$('<;É.# &;Ê=." 7ÿ'),$("%;dz/V#;ȿ/M$;dž/D$;ȿ/;$;ƃ/2$;ȿ/)$8&:Ā&\"%!)(&'#(%'#($'#(#'#(\"'#&'#"),$("%;k/;#;dz/2$;ȿ/)$8#:ā#\"\"!)(#'#(\"'#&'#"),$("<%;Ơ/R#;À/I$;ȿ/@$;ơ/7$;Í.\" &\"/)$8%:ă%\"# )(%'#($'#(#'#(\"'#&'#=.\" 7Ă"),$('<%;”/7#;Í." &"/)$8":ą""! )("\'#&\'#=." 7Ą'),$('<%%;ƿ/Q#%%<;Ɠ.# &;ȶ=.##&&!&\'#/,#;ȿ/#$+")("\'#&\'#/#$+")("\'#&\'#." &"/;#;ƕ/2$;ȿ/)$8#:ć#""!)(#\'#("\'#&\'#=." 7Ć'),$('<%;Ï." &"/J#;ȿ/A$;Ð." &"/3$;Ǽ/*$8$:ĉ$##! )($\'#(#\'#("\'#&\'#=." 7Ĉ'),$('%;Ȃ/1#;ȿ/($8":"!!)("\'#&\'#'),$(";Ñ.# &;Ó"),$('%;Ǿ.) &;Ț.# &;Ǫ/@#;ȿ/7$;Ò." &"/)$8#:Ċ#"" )(#\'#("\'#&\'#'),$('%;Ȍ/1#;ȿ/($8":ċ"!!)("\'#&\'#'),$('%;ǵ.# &;Ǒ/1#;ȿ/($8":ċ"!!)("\'#&\'#'),$('<%;Õ.# &;Ö/1#;ȿ/($8":č"!!)("\'#&\'#=." 7Č'),$('<%;ȉ/;#;ȿ/2$;p/)$8#:ď#"" )(#\'#("\'#&\'#=." 7Ď'),$('<%;ȫ/;#;ȿ/2$;æ/)$8#:đ#"" )(#\'#("\'#&\'#=." 7Đ'),$('<%;ȭ/;#;ȿ/2$;ë/)$8#:ē#"" )(#\'#("\'#&\'#=." 7Ē'),$("%;Ú/B#;ȿ/9$$;Ù0#*;Ù&/)$8#:Ĕ#\"\" )(#'#(\"'#&'#"),$("%;Ƣ/:#;Ú/1$;ȿ/($8#:ĕ#!!)(#'#(\"'#&'#"),$('<%;p/@#;ȿ/7$;į." &"/)$8#:ė#"" )(#\'#("\'#&\'#=." 7Ė'),$('<;Ƥ=." 7Ę'),$('<;Ș.5 &;ț./ &;Ʒ.) &;Ǧ.# &;ǯ=." 7ę'),$('<%;Þ/;#;ȿ/2$;â/)$8#:ě#"" )(#\'#("\'#&\'#=." 7Ě'),$(";ß.# &;à"),$('<%;Ƕ/@#;ȿ/7$;á." &"/)$8#:ĝ#"" )(#\'#("\'#&\'#=." 7Ĝ'),$('<%;Ș/1#;ȿ/($8":ğ"!!)("\'#&\'#=." 7Ğ'),$('<%;Ȋ/;#;ȿ/2$;Ü/)$8#:ġ#"" )(#\'#("\'#&\'#=." 7Ġ'),$('%;ã/2#;å/)$8":Ģ""! )("\'#&\'#'),$('<%;ä/2#;Ƈ/)$8":Ĥ""! )("\'#&\'#=." 7ģ'),$('<%;ǹ/,#;ȿ/#$+")("\'#&\'#=." 7ĥ'),$('<%;é.) &;•.# &;î/1#;ȿ/($8":Ħ"!!)("\'#&\'#=." 7Ē'),$("<%;Ơ/T#;è/K$;ȿ/B$$;ç0#*;ç&/2$;ơ/)$8%:Ĩ%\"#!)(%'#($'#(#'#(\"'#&'#=.\" 7ħ"),$("%;Ƣ/:#;è/1$;ȿ/($8#:ĩ#!!)(#'#(\"'#&'#"),$("<%;Ÿ/' 8!:ī!! )=.\" 7Ī"),$('<%;ê/2#;ë/)$8":Ĭ""! )("\'#&\'#=." 7Ē'),$('<%;ȭ/1#;ȿ/($8":°"!!)("\'#&\'#=." 7ĭ'),$("%;í/B#;ȿ/9$$;ì0#*;ì&/)$8#:Į#\"\" )(#'#(\"'#&'#"),$("%;Ƣ/:#;í/1$;ȿ/($8#:“#!!)(#'#(\"'#&'#"),$("<%;Ơ/C#;q/:$;ȿ/1$;ơ/($8$:İ$!\")($'#(#'#(\"'#&'#=.\" 7į"),$('<%;ǖ/;#;ȿ/2$;ȭ/)$8#:IJ#"" )(#\'#("\'#&\'#=." 7ı'),$("<%;ð.) &;Ǹ.# &;Ǣ/' 8!:°!! )=.\" 7ij"),$('<%;Ȩ/@#;ȿ/7$;ñ." &"/)$8#:ĵ#"" )(#\'#("\'#&\'#=." 7Ĵ'),$('%;ƻ/1#;ȿ/($8":Ķ"!!)("\'#&\'#'),$("<%;ó/Š#;ô.\" &\"/|$;Æ/s$;ȿ/j$;õ/a$;¹.\" &\"/S$;©.\" &\"/E$;ȿ/<$;ª.\" &\"/.$8):ĸ)'('&$#\" )()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7ķ"),$('<%;Ȫ/1#;ȿ/($8":°"!!)("\'#&\'#=." 7Ĺ'),$("<%;Ȋ/C#;ȿ/:$;Ü/1$;ȿ/($8$:Ļ$!!)($'#(#'#(\"'#&'#=.\" 7ĺ"),$("<%;Ƞ/C#;ȿ/:$;ö/1$;ȿ/($8$:Ľ$!!)($'#(#'#(\"'#&'#=.\" 7ļ"),$('%;ø/9#$;÷0#*;÷&/)$8":Į""! )("\'#&\'#'),$("%;ȿ/:#;Ƣ/1$;ø/($8#:ĩ#! )(#'#(\"'#&'#"),$("<%;Ž/M#;ȿ/D$;Ƭ/;$;p/2$;ȿ/)$8%:Ŀ%\"$!)(%'#($'#(#'#(\"'#&'#=.\" 7ľ"),$('<%;ú/h#;Æ/_$;ȿ/V$;¹." &"/H$;©." &"/:$;ª." &"/,$8&:Ł&%%$"! )(&\'#(%\'#($\'#(#\'#("\'#&\'#=." 7ŀ'),$("<%;Ǚ/C#;ȿ/:$;ǩ/1$;ȿ/($8$:°$!#)($'#(#'#(\"'#&'#=.\" 7ł"),$('<;ý.5 &;þ./ &;ÿ.) &;Ā.# &;ā=." 7Ń'),$('%;ǐ/1#;ȿ/($8":°"!!)("\'#&\'#'),$("%%<%;ü/>#;Dz./ &;ȧ.) &;Ȯ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ă/($8\":ĩ\"! )(\"'#&'#"),$("%%<%;ü/>#;ȡ./ &;ȧ.) &;Ȯ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ń/($8\":ĩ\"! )(\"'#&'#"),$("%%<%;ü/>#;ȡ./ &;Dz.) &;Ȯ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ň/($8\":ĩ\"! )(\"'#&'#"),$("%%<%;ü/>#;ȡ./ &;Dz.) &;ȧ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ŗ/($8\":ĩ\"! )(\"'#&'#"),$("%%<%;ü/>#;ȡ./ &;Dz.) &;ȧ.# &;Ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ś/($8\":ĩ\"! )(\"'#&'#"),$("<%;ă/T#;ą.\" &\"/F$;Ż/=$;ȿ/4$;Ć/+$8%:Ņ%$$#\" )(%'#($'#(#'#(\"'#&'#=.\" 7ń"),$("%;ü/J#;Ą.\" &\"/<$;ȡ/3$;ȿ/*$8$:ņ$##\"!)($'#(#'#(\"'#&'#"),$('%;ȣ.# &;Ȣ/1#;ȿ/($8":Ň"!!)("\'#&\'#'),$("<%;Ǯ/N#;ȿ/E$;k/<$;Ǥ/3$;ȿ/*$8%:ʼn%#$\"!)(%'#($'#(#'#(\"'#&'#=.\" 7ň"),$(";ć.# &;ł"),$("<%;Ơ/Z#;ĉ/Q$$;ċ0#*;ċ&/A$;ơ/8$;Ĉ.\" &\"/*$8%:ŋ%##\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ŋ"),$("%;ȳ/D#;ȿ/;$;ȝ/2$;ȿ/)$8$:Ō$\"#!)($'#(#'#(\"'#&'#"),$("%;Č/B#;ȿ/9$$;Ċ0#*;Ċ&/)$8#:Į#\"\" )(#'#(\"'#&'#"),$("%;Ƣ/:#;Č/1$;ȿ/($8#:ª#!!)(#'#(\"'#&'#"),$('%;Ƣ." &"/1#;Ġ/($8":ō"! )("\'#&\'#'),$('<%;č/O#;ȿ/F$;Ď." &"/8$;ď." &"/*$8$:ŏ$##! )($\'#(#\'#("\'#&\'#=." 7Ŏ'),$("%;ƕ/=#%<;ȿ=/##&'!&&#/($8\":p\"!!)(\"'#&'#.\\ &%%<;Ď.) &;đ.# &;Ġ=.##&&!&'#/:#;ȿ/1$;Ƙ/($8#:p#! )(#'#(\"'#&'#"),$('<%;&/1#;ȿ/($8":ő"!!)("\'#&\'#=." 7Ő'),$("%;đ/B#$;Đ0#*;Đ&/2$;ȿ/)$8#:Į#\"\"!)(#'#(\"'#&'#"),$('%;ȿ/1#;đ/($8":ĩ"! )("\'#&\'#'),$('<%;Ē." &"/A#;Ĕ/8$;Ē." &"/*$8#:œ##"! )(#\'#("\'#&\'#=." 7Œ'),$("%$;ē/�#*;ē&&&#/' 8!:Ŕ!! )"),$("<%;Ǐ/C#;ȿ/:$;ƕ/1$;ȿ/($8$:Ŗ$!!)($'#(#'#(\"'#&'#=.\" 7ŕ"),$(";Ė.; &;ę.5 &;Ĝ./ &;ĝ.) &;ğ.# &;ĕ"),$("<%;ĵ/' 8!:Ř!! )=.\" 7ŗ"),$('<%;ė/U#;į." &"/G$;İ." &"/9$;Ę." &"/+$8$:Ś$$#"! )($\'#(#\'#("\'#&\'#=." 7ř'),$("<%;ȏ.# &;Ȏ/D#;ȿ/;$;ǽ/2$;ȿ/)$8$:Ŝ$\"#!)($'#(#'#(\"'#&'#=.\" 7ś"),$('<%;ǂ/1#;ȿ/($8":Ş"!!)("\'#&\'#=." 7ŝ'),$('%;Ě/@#;İ." &"/2$;ȿ/)$8#:ş#""!)(#\'#("\'#&\'#'),$('<%;ě.# &;ȩ/1#;ȿ/($8":ċ"!!)("\'#&\'#=." 7Š'),$('<%;k." &"/2#;Ȇ/)$8":Ţ""! )("\'#&\'#=." 7š'),$('<;IJ=." 7ţ'),$("<%;ǖ/D#;ȿ/;$;Ğ/2$;ȿ/)$8$:ť$\"#!)($'#(#'#(\"'#&'#=.\" 7Ť"),$(";L./ &;5.) &;,.# &;3"),$("<%;ĭ/' 8!:ŧ!! )=.\" 7Ŧ"),$('<%;Ē." &"/J#;ġ/A$;ȿ/8$;Ē." &"/*$8$:ũ$##" )($\'#(#\'#("\'#&\'#=." 7Ũ'),$(";ij.) &;ģ.# &;Ģ"),$("<%;IJ/' 8!:ū!! )=.\" 7Ū"),$("<%;Ĥ/J#;ȿ/A$;ĩ/8$;İ.\" &\"/*$8$:ŭ$##! )($'#(#'#(\"'#&'#=.\" 7Ŭ"),$('%;ĥ.# &;Ħ/1#;ȿ/($8":Ů"!!)("\'#&\'#'),$('<%;ȏ/;#;ȿ/2$;ǽ/)$8#:ů#"" )(#\'#("\'#&\'#=." 7ś'),$("<%;ȩ/' 8!:ű!! )=.\" 7Ű"),$("%;Ơ/T#;ī/K$;ȿ/B$$;Ī0#*;Ī&/2$;ơ/)$8%:Ų%\"#!)(%'#($'#(#'#(\"'#&'#"),$("%;ħ/' 8!:ų!! )"),$("%;ħ/' 8!:Ŵ!! )"),$("%;Ƣ/:#;ī/1$;ȿ/($8#:ĩ#!!)(#'#(\"'#&'#"),$('<%;Ĭ/O#;ȿ/F$;į." &"/8$;Ę." &"/*$8$:Ŷ$##! )($\'#(#\'#("\'#&\'#=." 7ŵ'),$("%;è/\\#%<%;ȿ/8#;Ƴ.) &;ơ.# &;į/#$+\")(\"'#&'#=/##&'!&&#/($8\":p\"!!)(\"'#&'#.# &;p"),$("<%$;Į/�#*;Į&&&#/' 8!:Ÿ!! )=.\" 7ŷ"),$("%;Nj/C#;ȿ/:$;Ɓ/1$;ȿ/($8$:p$!!)($'#(#'#(\"'#&'#"),$('<%;ǀ.# &;ǚ/1#;ȿ/($8":ź"!!)("\'#&\'#=." 7Ź'),$("%;ı/;#;Ü/2$;ȿ/)$8#:Ż#\"\"!)(#'#(\"'#&'#"),$("<%;ȉ/D#;ȿ/;$;ǎ/2$;ȿ/)$8$:Ž$\"#!)($'#(#'#(\"'#&'#=.\" 7ż"),$("%;NJ/;#;ȿ/2$;L/)$8#:ž#\"\" )(#'#(\"'#&'#"),$("<%;Ĵ/E#;æ/<$;ĵ/3$;ȿ/*$8$:ƀ$##\"!)($'#(#'#(\"'#&'#=.\" 7ſ"),$("<%;Ǩ/D#;ȿ/;$;ǽ/2$;ȿ/)$8$:Ƃ$\"#!)($'#(#'#(\"'#&'#=.\" 7Ɓ"),$('%;Ķ/F#;ķ." &"/8$;ŀ." &"/*$8#:ƃ##"! )(#\'#("\'#&\'#'),$("<%;ȓ/D#;ȿ/;$;Ƈ/2$;ȿ/)$8$:ƅ$\"#!)($'#(#'#(\"'#&'#=.\" 7Ƅ"),$("%;Ĺ/B#;ȿ/9$$;ĸ0#*;ĸ&/)$8#:Ɔ#\"\" )(#'#(\"'#&'#"),$('%;Ĺ/1#;ȿ/($8":Ķ"!!)("\'#&\'#'),$('<;ĺ.# &;Ŀ=." 7Ƈ'),$("%;ȉ/T#;ȿ/K$;Ǚ.# &;Ȫ/<$;ȿ/3$;Ļ/*$8%:ƈ%#$\" )(%'#($'#(#'#(\"'#&'#"),$('<;ļ.) &;Ľ.# &;ľ=." 7Ɖ'),$("%;Ƞ/J#;ȿ/A$;Ȇ.# &;ǖ/2$;ȿ/)$8$:Ɗ$\"#!)($'#(#'#(\"'#&'#"),$('%;LJ.# &;ș/1#;ȿ/($8":Ƌ"!!)("\'#&\'#'),$("%;ȃ/D#;ȿ/;$;Ƹ/2$;ȿ/)$8$:ƌ$\"#!)($'#(#'#(\"'#&'#"),$("%;ȁ/D#;ȿ/;$;ƕ/2$;ȿ/)$8$:ƍ$\"#!)($'#(#'#(\"'#&'#"),$('<%;k." &"/J#;Ǘ/A$;ȿ/8$;Ł." &"/*$8$:Ə$##" )($\'#(#\'#("\'#&\'#=." 7Ǝ'),$("%;Ǵ/J#;ȿ/A$;ǘ.# &;ǰ/2$;ȿ/)$8$:Ɛ$\"#!)($'#(#'#(\"'#&'#"),$("%;ř/' 8!:Ƒ!! )"),$("<%;ń/c#;ą.\" &\"/U$;ƃ/L$;ȿ/C$;ņ/:$;¹.\" &\"/,$8&:Ɠ&%%$#! )(&'#(%'#($'#(#'#(\"'#&'#=.\" 7ƒ"),$("%;ü/J#;Ņ.\" &\"/<$;Dz/3$;ȿ/*$8$:Ɣ$##\"!)($'#(#'#(\"'#&'#"),$('%;ȩ/1#;ȿ/($8":ƕ"!!)("\'#&\'#'),$("<%;ȉ/N#;ȿ/E$;Ż/<$;ȿ/3$;Ĩ/*$8%:Ɨ%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ɩ"),$("<%;ň/¦#;ą.\" &\"/˜$;Ƅ.\" &\"/Š$;ȿ/$;ʼn/x$;ȉ/o$;ȿ/f$;Ż/]$;ȿ/T$;ő.\" &\"/F$;Œ.\" &\"/8$;œ//$8,:ƙ,(+*)'$\"! )(,'#(+'#(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ƙ"),$("%;ü/J#;Ą.\" &\"/<$;ȧ/3$;ȿ/*$8$:ƚ$##\"!)($'#(#'#(\"'#&'#"),$('<%;Ŋ." &"/2#;Ō/)$8":Ɯ""! )("\'#&\'#=." 7ƛ'),$('%;ǃ.) &;ƺ.# &;ŋ/1#;ȿ/($8":Ɲ"!!)("\'#&\'#'),$("%;Ƿ/;#;ȿ/2$;ȇ/)$8#:ƞ#\"\" )(#'#(\"'#&'#"),$('<;ō.# &;Ŏ=." 7Ɵ'),$('%;Ǚ.# &;Ƕ/1#;ȿ/($8":Ơ"!!)("\'#&\'#'),$('%;Ȫ/@#;ȿ/7$;ŏ." &"/)$8#:ơ#"" )(#\'#("\'#&\'#'),$("%;ȇ/;#;ȿ/2$;Ő/)$8#:Ƣ#\"\" )(#'#(\"'#&'#"),$("%;è/B#;ȿ/9$$;ç0#*;ç&/)$8#:Į#\"\" )(#'#(\"'#&'#"),$("%;ǧ/c#;ȿ/Z$;Ǟ/Q$;ȿ/H$;Ȝ.) &3ƣ\"\"5)7Ƥ/3$;ȿ/*$8&:ƥ&#%#!)(&'#(%'#($'#(#'#(\"'#&'#"),$("<%;Ȱ/D#;ȿ/;$;p/2$;ȿ/)$8$:Ʀ$\"#!)($'#(#'#(\"'#&'#=.\" 7„"),$("<%;DŽ/W#;ȿ/N$;Ŕ/E$;ȿ/<$;Ǡ/3$;ȿ/*$8&:ƨ&#%#!)(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ƨ"),$("%$;ŕ/�#*;ŕ&&&#/' 8!:Ʃ!! )"),$("%;Œ/:#;ȿ/1$;$/($8#:\"#!\")(#'#(\"'#&'#"),$("<%;Ř/T#;ą.\" &\"/F$;ŗ/=$;ȿ/4$;ř/+$8%:ƫ%$$#\" )(%'#($'#(#'#(\"'#&'#=.\" 7ƪ"),$("%;ƅ/;#;ȿ/2$;æ/)$8#:Ƭ#\"\" )(#'#(\"'#&'#.# &;ƅ"),$("%;ü/J#;Ą.\" &\"/<$;Ȯ/3$;ȿ/*$8$:ƭ$##\"!)($'#(#'#(\"'#&'#"),$("%;ƿ/D#;ȿ/;$;¨/2$;ȿ/)$8$:Ĭ$\"#!)($'#(#'#(\"'#&'#"),$("<%;ś/f#;ą.\" &\"/X$;Ż/O$;ȿ/F$;ȫ/=$;ȿ/4$;Ŝ/+$8':Ư'$&%$ )(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ʈ"),$("%;ü/N#;ȯ/E$;ȿ/<$;ȡ/3$;ȿ/*$8%:ư%#$#!)(%'#($'#(#'#(\"'#&'#"),$('%;Ɨ/@#;ȿ/7$;ŝ." &"/)$8#:Ʊ#"" )(#\'#("\'#&\'#'),$("<%;Ơ/Z#;ȿ/Q$;Ş.\" &\"/C$;ȿ/:$;ơ/1$;ȿ/($8&:Ƴ&!#)(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ʋ"),$('%;Š/9#$;ş0#*;ş&/)$8":ƴ""! )("\'#&\'#'),$("%;ȿ/H#;Ƣ/?$;ȿ/6$;Š.\" &\"/($8$:Ƶ$! )($'#(#'#(\"'#&'#"),$("%%<%;ƕ/;#;ȿ/2$;&.# &;đ/#$+#)(#'#(\"'#&'#=.##&&!&'#/:#;p/1$;ȿ/($8#:İ#!!)(#'#(\"'#&'#.x &%;š/n#%%<;Ɠ=.##&&!&'#/,#;ȿ/#$+\")(\"'#&'#/F$;Ď.\" &\"/8$;ď.\" &\"/*$8$:ŏ$##! )($'#(#'#(\"'#&'#"),$(";ƕ.# &;Ƙ"),$('<%;ţ/;#;Ż/2$;ȿ/)$8#:Ʒ#""!)(#\'#("\'#&\'#=." 7ƶ'),$("<%;ǝ/J#;ȿ/A$;Ť/8$;ť.\" &\"/*$8$:ƹ$##! )($'#(#'#(\"'#&'#=.\" 7Ƹ"),$('<%;ȡ./ &;Dz.) &;ȧ.# &;Ȯ/1#;ȿ/($8":ċ"!!)("\'#&\'#=." 7ƺ'),$("<%;Ǯ/D#;ȿ/;$;Ǥ/2$;ȿ/)$8$:Ƽ$\"#!)($'#(#'#(\"'#&'#=.\" 7ƻ"),$('<%;Ʈ/,#;Ʈ/#$+")("\'#&\'#=." 7ƽ'),$('<;ƪ=." 7ƾ'),$('<;ƫ=." 7ƿ'),$('<;Ƥ=." 7ǀ'),$('<;Ƶ=." 7ǁ'),$('<;Ư=." 7ǂ'),$('<%;ư/,#;ư/#$+")("\'#&\'#=." 7ǃ'),$('<%;Ʊ/,#;Ʊ/#$+")("\'#&\'#=." 7DŽ'),$('<;ƭ=." 7Dž'),$('<;Ʈ=." 7dž'),$('<;ư=." 7LJ'),$('<;Ʊ=." 7Lj'),$('<%;ư/,#;Ƭ/#$+")("\'#&\'#=." 7lj'),$('<%;Ʊ/,#;Ƭ/#$+")("\'#&\'#=." 7NJ'),$('<%;Ƭ/1#;Ƭ." &"/#$+")("\'#&\'#=." 7Nj'),$('<%;Ʋ/,#;Ƭ/#$+")("\'#&\'#=." 7nj'),$('<%;ư/,#;Ʊ/#$+")("\'#&\'#=." 7nj'),$('<%;Ǻ/@#;ȿ/7$;k." &"/)$8#:ǎ#"" )(#\'#("\'#&\'#=." 7Ǎ'),$('<;ƕ.# &;Ƙ=." 7Ǐ'),$("<%;Ÿ/' 8!:Ǒ!! )=.\" 7ǐ"),$('<%;ż." &"/2#;Ÿ/)$8":Ǔ""! )("\'#&\'#=." 7ǒ'),$('<%;ż." &"/2#;Ÿ/)$8":Ǖ""! )("\'#&\'#=." 7ǔ'),$('%;Ÿ/2#;ƣ/)$8":ǖ""! )("\'#&\'#'),$('<%;ſ.) &;ƀ.# &;ž/2#;Ÿ/)$8":ǘ""! )("\'#&\'#=." 7Ǘ'),$("%;ȿ/& 8!:Ǚ! )"),$('%;ż/2#;ƀ/)$8":ǚ""! )("\'#&\'#'),$('%;Ÿ/2#;ƣ/)$8":D""! )("\'#&\'#'),$("<%;Ÿ/' 8!:ǜ!! )=.\" 7Ǜ"),$("<%;Ÿ/' 8!:Ǟ!! )=.\" 7ǝ"),$('<%;ż." &"/2#;Ÿ/)$8":Ǡ""! )("\'#&\'#=." 7ǟ'),$('<%;ż." &"/2#;Ÿ/)$8":Ǣ""! )("\'#&\'#=." 7ǡ'),$('<%;ż." &"/2#;Ÿ/)$8":Ǥ""! )("\'#&\'#=." 7ǣ'),$('<%;ż." &"/2#;Ÿ/)$8":Ǧ""! )("\'#&\'#=." 7ǥ'),$('<%;ƈ.# &;Ż/1#;ȿ/($8":Ǩ"!!)("\'#&\'#=." 7ǧ'),$("%;Ż/;#;ȿ/2$;æ/)$8#:ǩ#\"\" )(#'#(\"'#&'#"),$("<%;Ÿ/' 8!:ǫ!! )=.\" 7Ǫ"),$("<%;Ÿ/' 8!:ǭ!! )=.\" 7Ǭ"),$('<%;ƌ/=#%<;Ɠ=.##&&!&\'#/($8":ǯ"!!)("\'#&\'#.Å &%;ƍ/=#%<;Ɠ=.##&&!&\'#/($8":ǰ"!!)("\'#&\'#.› &%;Ə/=#%<;Ɠ=.##&&!&\'#/($8":DZ"!!)("\'#&\'#.q &%;Ɛ/=#%<;Ɠ=.##&&!&\'#/($8":Dz"!!)("\'#&\'#.G &%;ƒ/=#%<;Ɠ=.##&&!&\'#/($8":dz"!!)("\'#&\'#=." 7Ǯ'),$('<%%3ǵ""5!7Ƕ." &"/F#3Ƿ""5#7Ǹ." &"/2$3ǹ""5$7Ǻ/#$+#)(#\'#("\'#&\'#.k &%3ǻ""5$7Ǽ.5 &3ǽ""5&7Ǿ.) &3ǿ""5$7Ȁ." &"/2#3ȁ""5$7Ȃ/#$+")("\'#&\'#.) &3ȃ""5$7Ȅ/\' 8!:ċ!! )=." 7Ǵ'),$('<%;Ǝ.5 &3Ȇ""5%7ȇ.) &3Ȉ""5$7ȉ/\' 8!:ċ!! )=." 7ȅ'),$('<%3ȋ""5&7Ȍ/i#%$4(""5!7)/,#0)*4(""5!7)&&&#/2#3ȍ""5)7Ȏ/#$+")("\'#&\'#." &"/)$8":ȏ""! )("\'#&\'#=." 7Ȋ'),$('<%3ȑ""5\'7Ȓ.• &3ȓ""5\'7Ȕ.‰ &3ȕ""5\'7Ȗ.} &%3ȗ""5$7Ș/7#3ș""5$7Ț." &"/#$+")("\'#&\'#.S &%3ș""5$7Ț/7#3ț""5%7Ȝ." &"/#$+")("\'#&\'#.) &3ȝ""5&7Ȟ/\' 8!:ċ!! )=." 7Ȑ'),$('<%%3Ƞ""5#7ȡ/V#2Ȣ""6Ȣ7ȣ.A &2Ȥ""6Ȥ7ȥ.5 &2Ȧ""6Ȧ7ȧ.) &3Ȩ""5$7ȩ/#$+")("\'#&\'#.q &%3Ȫ""5#7ȫ.A &3ǽ""5&7Ǿ.5 &3Ȭ""5%7ȭ.) &3ǻ""5$7Ǽ." &"/2#3Ƞ""5#7ȡ/#$+")("\'#&\'#.# &;Ƒ/\' 8!:ċ!! )=." 7ȟ'),$('%3Ȯ""5(7ȯ/d#%$4(""5!7)/,#0)*4(""5!7)&&&#/2#3Ȱ""5%7ȱ/#$+")("\'#&\'#/)$8":Ȳ""! )("\'#&\'#'),$('<%3ȴ""5$7ȵ/\' 8!:ċ!! )=." 7ȳ'),$('4ȶ""5!7ȷ'),$('%2ȸ""6ȸ7ȹ/K#$4Ⱥ""5!7Ȼ/,#0)*4Ⱥ""5!7Ȼ&&&#/)$8":ȼ""! )("\'#&\'#'),$(";Ɩ.# &;Ɨ"),$(";ƙ./ &;Ɲ.) &;ƛ.# &;Ɯ"),$("%%<;ȴ.# &;>=.##&&!&'#/J#$;Ɣ.# &;Ɠ/,#0)*;Ɣ.# &;Ɠ&&&#/($8\":Ö\"! )(\"'#&'#"),$("%%<;ȶ.# &;>=.##&&!&'#/J#$;Ɣ.# &;Ɠ/,#0)*;Ɣ.# &;Ɠ&&&#/($8\":Ƚ\"! )(\"'#&'#"),$("%;ƞ/™#;ȿ/$%$%%<;ƚ=.##&&!&'#/1#1\"\"5!7Ⱦ/#$+\")(\"'#&'#0G*%%<;ƚ=.##&&!&'#/1#1\"\"5!7Ⱦ/#$+\")(\"'#&'#&/\"!&,)/1$;ƚ/($8$:ȿ$!!)($'#(#'#(\"'#&'#"),$('%$4ɀ""5!7Ɂ0)*4ɀ""5!7Ɂ&/5#;Ɵ/,$;ȿ/#$+#)(#\'#("\'#&\'#'),$('%2ɂ""6ɂ7Ƀ/k#$2Ʉ""6Ʉ7Ʌ.) &4Ɇ""5!7ɇ05*2Ʉ""6Ʉ7Ʌ.) &4Ɇ""5!7ɇ&/7$2ɂ""6ɂ7Ƀ/($8#:Ɉ#!!)(#\'#("\'#&\'#'),$('%2ɉ""6ɉ7Ɋ/k#$26""6677.) &48""5!7905*26""6677.) &48""5!79&/7$2ɉ""6ɉ7Ɋ/($8#:ɋ#!!)(#\'#("\'#&\'#'),$('%2Ɍ""6Ɍ7ɍ/k#$2Ɏ""6Ɏ7ɏ.) &4ɐ""5!7ɑ05*2Ɏ""6Ɏ7ɏ.) &4ɐ""5!7ɑ&/7$2Ɍ""6Ɍ7ɍ/($8#:ɒ#!!)(#\'#("\'#&\'#'),$('<%2ɔ""6ɔ7ɕ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɓ'),$('<%2ɗ""6ɗ7ɘ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɖ'),$('<%2ɚ""6ɚ7ɛ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ə'),$('<%2ɝ""6ɝ7ɞ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɜ'),$('<%2ɠ""6ɠ7ɡ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɟ'),$('<%2ɣ""6ɣ7ɤ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɢ'),$('<%2ɦ""6ɦ7ɧ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɥ'),$('<%2ɩ""6ɩ7ɪ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɨ'),$('<%2ɉ""6ɉ7Ɋ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɫ'),$('<%2ɂ""6ɂ7Ƀ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɬ'),$('<%2Ɍ""6Ɍ7ɍ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɭ'),$('<%2ɯ""6ɯ7ɰ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɮ'),$('<%2ɲ""6ɲ7ɳ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɱ'),$('<%2ɵ""6ɵ7ɶ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɴ'),$('<%2ɷ""6ɷ7ɸ/1#;ȿ/($8":""!!)("\'#&\'#=." 7Nj'),$('<%2ɺ""6ɺ7ɻ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɹ'),$('<%2ɽ""6ɽ7ɾ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɼ'),$('<%2ɿ""6ɿ7ʀ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ǂ'),$('<%2ʁ""6ʁ7ʂ/1#;ȿ/($8":""!!)("\'#&\'#=." 7LJ'),$('<%2ʃ""6ʃ7ʄ/1#;ȿ/($8":""!!)("\'#&\'#=." 7Lj'),$('<%2ʆ""6ʆ7ʇ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʅ'),$('<%2ʉ""6ʉ7ʊ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʈ'),$('<%2a""6a7b/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʋ'),$('<%2ʍ""6ʍ7ʎ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʌ'),$('<%2ʐ""6ʐ7ʑ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʏ'),$('%3ʒ""5%7ʓ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʔ""5&7ʕ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʖ""5#7ʗ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʘ""5%7ʙ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʚ""5#7ʛ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʜ""5%7ʝ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3ʞ\"\"5'7ʟ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3ʠ""5#7ʡ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʢ""5"7ʣ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʤ""5#7ʥ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʦ""5&7ʧ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʨ""5-7ʩ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʪ""5&7ʫ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʬ""5%7ʭ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3ʮ\"\"5'7ʯ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3ʰ""5"7ʱ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3ʲ\"\"5'7ʳ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3ʴ""5$7ʵ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʶ""5$7ʷ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʸ""5%7ʹ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3ʺ\"\"5'7ʻ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3ʼ""5&7ʽ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʾ""5&7ʿ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˀ""5(7ˁ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˂""5*7˃/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˄""5&7˅/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˆ""5%7ˇ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˈ""5,7ˉ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˊ""5,7ˋ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˌ""517ˍ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˎ""5(7ˏ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3ː\"\"5'7ˑ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3˒""5*7˓/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˔""5(7˕/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˖""5&7˗/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˘""5$7˙/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˚""5&7˛/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˜""5(7˝/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˞""5$7˟/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˠ""5$7ˡ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˢ""5$7ˣ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˤ""5#7˥/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˦""5&7˧/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˨""5&7˩/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˪""5)7˫/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ˬ""5&7˭/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3ˮ\"\"5'7˯/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3˰""5$7˱/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˲""5#7˳/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3˴\"\"5'7˵/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3˶""5$7˷/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˸""5$7˹/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˺""5$7˻/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˼""5%7˽/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3˾""5&7˿/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̀""5"7́/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̂""5&7̃/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̄""5)7̅/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̆""5"7̇/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̈""5%7̉/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3̊\"\"5'7̋/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3̌""5)7̍/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̎""5%7̏/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̐""5&7̑/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3̒\"\"5'7̓/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3̔""5)7̕/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̖""5$7̗/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̘""5"7̙/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̚""5&7̛/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̜""5$7̝/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̞""5#7̟/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̠""5$7̡/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̢""5$7̣/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̤""5%7̥/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̦""5%7̧/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3̨\"\"5'7̩/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3̪""5"7̫/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̬""5#7̭/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3̮\"\"5'7̯/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3y""5$7z/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̰""5"7̱/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̲""5&7̳/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̴""5"7̵/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̶""5"7̷/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̸""5%7̹/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̺""5%7̻/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̼""5$7̽/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̾""5&7̿/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3̀\"\"5'7́/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3͂""5%7̓/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3̈́""5%7ͅ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͆""5)7͇/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͈""5*7͉/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͊""5&7͋/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3͌\"\"5'7͍/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$("%3͎\"\"5'7͏/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3͐""5&7͑/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3͒\"\"5'7͓/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3͔""5(7͕/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͖""5%7͗/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͘""5(7͙/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͚""5#7͛/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͜""5%7͝/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͞""5)7͟/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͠""5&7͡/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͢""5#7ͣ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͤ""5%7ͥ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͦ""5$7ͧ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͨ""5)7ͩ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͪ""5$7ͫ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͬ""5"7ͭ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͮ""5+7ͯ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3Ͱ\"\"5'7ͱ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3Ͳ""5%7ͳ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ʹ""5&7͵/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3Ͷ""5&7ͷ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3͸""5%7͹/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͺ""5&7ͻ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3ͼ""5&7ͽ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3;""5$7Ϳ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3΀\"\"5'7΁/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$('%3΂""5$7΃/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3΄""5%7΅/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$('%3Ά""5$7·/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),$("%3Έ\"\"5'7Ή/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),$("%;ȵ/' 8!:Ί!! )"),$(";Ʒ.˹ &;Ƹ.˳ &;ƹ.˭ &;ƺ.˧ &;ƻ.ˡ &;Ƽ.˛ &;ƽ.˕ &;ƾ.ˏ &;ƿ.ˉ &;ǀ.˃ &;ǁ.ʽ &;ǂ.ʷ &;ǃ.ʱ &;DŽ.ʫ &;Dž.ʥ &;dž.ʟ &;LJ.ʙ &;Lj.ʓ &;lj.ʍ &;NJ.ʇ &;Nj.ʁ &;nj.ɻ &;Ǎ.ɵ &;ǎ.ɯ &;Ǐ.ɩ &;ǐ.ɣ &;Ǒ.ɝ &;ǒ.ɗ &;Ǔ.ɑ &;ǔ.ɋ &;Ǖ.Ʌ &;ǖ.ȿ &;Ǘ.ȹ &;ǘ.ȳ &;Ǚ.ȭ &;ǚ.ȧ &;Ǜ.ȡ &;ǜ.ț &;ǝ.ȕ &;Ǟ.ȏ &;ǟ.ȉ &;Ǡ.ȃ &;ǡ.ǽ &;Ǣ.Ƿ &;ǣ.DZ &;Ǥ.ǫ &;ǥ.ǥ &;Ǧ.ǟ &;ǧ.Ǚ &;Ǩ.Ǔ &;ǩ.Ǎ &;Ǫ.LJ &;ǫ.ǁ &;Ǭ.ƻ &;ǭ.Ƶ &;Ǯ.Ư &;ǯ.Ʃ &;ǰ.ƣ &;DZ.Ɲ &;Dz.Ɨ &;dz.Ƒ &;Ǵ.Ƌ &;ǵ.ƅ &;Ƕ.ſ &;Ƿ.Ź &;Ǹ.ų &;ǹ.ŭ &;Ǻ.ŧ &;ǻ.š &;Ǽ.ś &;ǽ.ŕ &;Ǿ.ŏ &;ǿ.ʼn &;Ȁ.Ń &;ȁ.Ľ &;Ȃ.ķ &;ȃ.ı &;Ȅ.ī &;ȅ.ĥ &;Ȇ.ğ &;ȇ.ę &;Ȉ.ē &;ȉ.č &;Ȋ.ć &;ȋ.ā &;Ȍ.û &;ȍ.õ &;Ȏ.ï &;ȏ.é &;Ȑ.ã &;ȑ.Ý &;Ȓ.× &;ȓ.Ñ &;Ȕ.Ë &;ȕ.Å &;Ȗ.¿ &;ȗ.¹ &;Ș.³ &;ș.­ &;Ț.§ &;ț.¡ &;Ȝ.› &;Ȟ.• &;ȟ. &;Ƞ.‰ &;ȡ.ƒ &;ȣ.} &;Ȥ.w &;ȥ.q &;Ȧ.k &;ȧ.e &;Ȩ._ &;ȩ.Y &;Ȫ.S &;ȫ.M &;Ȭ.G &;ȭ.A &;Ȯ.; &;ȯ.5 &;Ȱ./ &;ȱ.) &;Ȳ.# &;ȳ"),$(";ƹ.ŧ &;ƻ.š &;Ƽ.ś &;ƾ.ŕ &;ƿ.ŏ &;ǂ.ʼn &;Dž.Ń &;Lj.Ľ &;NJ.ķ &;Nj.ı &;Ǎ.ī &;Ǐ.ĥ &;ǐ.ğ &;ǖ.ę &;Ǘ.ē &;Ǚ.č &;ǜ.ć &;ǝ.ā &;ǟ.û &;ǡ.õ &;Ǣ.ï &;Ǥ.é &;Ǩ.ã &;ǩ.Ý &;Ǭ.× &;ǭ.Ñ &;DZ.Ë &;Dz.Å &;Ƕ.¿ &;Ǹ.¹ &;ǹ.³ &;Ǻ.­ &;ǻ.§ &;Ǽ.¡ &;Ȁ.› &;Ȅ.• &;ȅ. &;Ȇ.‰ &;ȉ.ƒ &;Ȋ.} &;ȋ.w &;ȏ.q &;ȓ.k &;ȟ.e &;Ƞ._ &;ȡ.Y &;Ȥ.S &;ȥ.M &;Ȧ.G &;Ȩ.A &;ȩ.; &;Ȫ.5 &;ȫ./ &;ȭ.) &;Ȱ.# &;ȱ"),$(";ȸ.. &%;ȹ/& 8!:΋! )"),$('<%2΍""6΍7Ύ/‡#$%%<4Ώ""5!7ΐ=.##&&!&\'#/1#1""5!7Ⱦ/#$+")("\'#&\'#0M*%%<4Ώ""5!7ΐ=.##&&!&\'#/1#1""5!7Ⱦ/#$+")("\'#&\'#&/#$+")("\'#&\'#=." 7Ό'),$("<%;Ⱥ/5#;Ⱦ/,$;Ȼ/#$+#)(#'#(\"'#&'#=.\" 7Α"),$('2Β""6Β7Γ'),$('2Δ""6Δ7Ε'),$('$%%<;Ȼ.# &;Ⱥ=.##&&!&\'#/1#1""5!7Ⱦ/#$+")("\'#&\'#/P#0M*%%<;Ȼ.# &;Ⱥ=.##&&!&\'#/1#1""5!7Ⱦ/#$+")("\'#&\'#&&&#'),$(";ȼ.# &;ȹ"),$('%;Ƚ/K#$4Ζ""5!7Η.# &;Ƚ0/*4Ζ""5!7Η.# &;Ƚ&/#$+")("\'#&\'#'),$('<%$4Ζ""5!7Η.# &;ȷ0/*4Ζ""5!7Η.# &;ȷ&/\' 8!:-!! )=." 7Θ'),$('2Ι""6Ι7Κ')],l=0,c=[{line:1,column:1}],d=0,p=[],m=0,b={},v=["start","start_streaming","stmt_list","semi_optional","semi_required","stmt_list_tail","type_definition","type_definition_types","datatype_custom","datatype_word_tail","type_definition_args","definition_args_loop","literal_value","literal_null","literal_date","literal_string","literal_string_single","literal_string_schar","literal_blob","literal_text","number_sign","literal_number_signed","literal_number","literal_number_decimal","number_decimal_node","number_decimal_full","number_decimal_fraction","number_decimal_exponent","literal_number_hex","number_hex","number_digit","bind_parameter","bind_parameter_numbered","bind_number_id","bind_parameter_named","bind_parameter_tcl","tcl_suffix","expression_exists","expression_exists_ne","expression_raise","expression_raise_args","raise_args_ignore","raise_args_message","expression_root","expression_wrapped","expression_recur","expression_unary_collate","expression_unary","expression_unary_op","expression_collate","expression_concat","expression_multiply","expression_multiply_op","expression_add","expression_add_op","expression_shift","expression_shift_op","expression_compare","expression_compare_op","expression_equiv","expression_equiv_tails","expression_equiv_null_op","expression_equiv_op","expression_cast","type_alias","expression_case","case_expression","expression_case_when","expression_case_else","expression_postfix","expression_postfix_tail","expression_like","expression_escape","expression_between","expression_between_tail","expression_is_not","expression_in","expression_in_target","expression_list_or_select","expression_and","expression","expression_list","expression_list_loop","expression_list_rest","function_call","function_call_args","args_list_distinct","error_message","stmt","stmt_modifier","modifier_query","stmt_nodes","stmt_commit","stmt_begin","commit_transaction","stmt_begin_modifier","stmt_rollback","rollback_savepoint","savepoint_name","savepoint_alt","stmt_savepoint","stmt_release","stmt_alter","alter_start","alter_action","alter_action_rename","alter_action_add","action_add_modifier","stmt_crud","stmt_core_with","clause_with","clause_with_recursive","clause_with_tables","clause_with_loop","expression_cte","select_alias","select_wrapped","stmt_select_full","stmt_sqlite","stmt_attach","attach_arg","stmt_detach","stmt_vacuum","vacuum_target","stmt_analyze","analyze_arg","stmt_reindex","reindex_arg","stmt_pragma","pragma_expression","pragma_value","pragma_value_literal","pragma_value_bool","pragma_bool_id","pragma_value_name","stmt_crud_types","stmt_select","stmt_core_order","stmt_core_limit","stmt_core_limit_offset","limit_offset_variant","limit_offset_variant_name","select_loop","select_loop_union","select_parts","select_parts_core","select_core_select","select_modifier","select_modifier_distinct","select_modifier_all","select_target","select_target_loop","select_core_from","stmt_core_where","select_core_group","select_core_having","select_node","select_node_star","select_node_star_qualified","select_node_aliased","select_source","source_loop_tail","select_cross_clause","select_join_clause","table_or_sub","table_or_sub_func","table_qualified","table_qualified_id","table_or_sub_index_node","index_node_indexed","index_node_none","table_or_sub_sub","table_or_sub_select","alias","join_operator","join_operator_natural","join_operator_types","operator_types_hand","types_hand_outer","operator_types_misc","join_condition","join_condition_on","join_condition_using","select_parts_values","stmt_core_order_list","stmt_core_order_list_loop","stmt_core_order_list_item","select_star","stmt_fallback_types","stmt_insert","insert_keyword","insert_keyword_ins","insert_keyword_repl","insert_keyword_mod","insert_target","insert_into","insert_into_start","insert_results","loop_columns","loop_column_tail","loop_name","insert_value","insert_value_start","insert_values_list","insert_values_loop","expression_list_wrapped","insert_default","operator_compound","compound_union","compound_union_all","stmt_update","update_start","update_fallback","update_set","update_columns","update_columns_tail","update_column","stmt_delete","delete_start","stmt_create","create_start","create_table_only","create_index_only","create_trigger_only","create_view_only","create_virtual_only","create_table","create_table_start","create_core_tmp","create_core_ine","create_table_source","table_source_def","source_def_rowid","source_def_loop","source_def_tail","source_tbl_loop","source_def_column","source_def_name","column_type","column_constraints","column_constraint_tail","column_constraint","constraint_name","constraint_name_loop","column_constraint_types","column_constraint_foreign","column_constraint_primary","col_primary_start","col_primary_auto","column_constraint_null","constraint_null_types","constraint_null_value","column_constraint_check","column_constraint_default","column_default_values","column_constraint_collate","table_constraint","table_constraint_types","table_constraint_check","table_constraint_primary","primary_start","primary_start_normal","primary_start_unique","primary_columns","primary_columns_index","primary_columns_table","primary_column_tail","primary_column","primary_column_types","column_collate","column_collate_loop","primary_column_dir","primary_conflict","primary_conflict_start","constraint_check","table_constraint_foreign","foreign_start","foreign_clause","foreign_references","foreign_actions","foreign_actions_tail","foreign_action","foreign_action_on","action_on_action","on_action_set","on_action_cascade","on_action_none","foreign_action_match","foreign_deferrable","deferrable_initially","table_source_select","create_index","create_index_start","index_unique","index_on","create_trigger","create_trigger_start","trigger_conditions","trigger_apply_mods","trigger_apply_instead","trigger_do","trigger_do_on","trigger_do_update","do_update_of","do_update_columns","trigger_foreach","trigger_when","trigger_action","action_loop","action_loop_stmt","create_view","id_view_expression","create_view_start","create_as_select","create_virtual","create_virtual_start","virtual_module","virtual_args","virtual_args_loop","virtual_args_tail","virtual_arg_types","virtual_column_name","stmt_drop","drop_start","drop_types","drop_ie","binary_concat","binary_plus","binary_minus","binary_multiply","binary_divide","binary_mod","binary_left","binary_right","binary_and","binary_or","binary_lt","binary_gt","binary_lte","binary_gte","binary_equal","binary_notequal_a","binary_notequal_b","binary_lang_isnt","id_name","id_database","id_function","id_table","id_table_qualified","id_column","column_unqualified","column_qualifiers","id_column_qualified","id_collation","id_savepoint","id_index","id_trigger","id_view","id_pragma","id_cte","id_table_expression","id_constraint_table","id_constraint_column","datatype_types","datatype_text","datatype_real","datatype_real_double","datatype_numeric","datatype_integer","datatype_integer_fp","datatype_none","name_char","unicode_char","name","name_quoted","name_unquoted","name_reserved","name_bracketed","bracket_terminator","name_dblquoted","name_sglquoted","name_backticked","sym_bopen","sym_bclose","sym_popen","sym_pclose","sym_comma","sym_dot","sym_star","sym_quest","sym_sglquote","sym_dblquote","sym_backtick","sym_tilde","sym_plus","sym_minus","sym_equal","sym_amp","sym_pipe","sym_mod","sym_lt","sym_gt","sym_excl","sym_semi","sym_colon","sym_fslash","sym_bslash","ABORT","ACTION","ADD","AFTER","ALL","ALTER","ANALYZE","AND","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FOR","FOREIGN","FROM","FULL","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LEFT","LIKE","LIMIT","MATCH","NATURAL","NO","NOT","NOTNULL","NULL","OF","OFFSET","ON","OR","ORDER","OUTER","PLAN","PRAGMA","PRIMARY","QUERY","RAISE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RIGHT","ROLLBACK","ROW","ROWID","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TO","TRANSACTION","TRIGGER","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WITH","WITHOUT","reserved_words","reserved_word_list","reserved_critical_list","comment","comment_line","comment_block","comment_block_start","comment_block_end","comment_block_body","block_body_nodes","comment_block_feed","o","_TODO_"],g=[null,null,null,null,null,null,"Type Definition",null,"Custom Datatype Name",null,"Type Definition Arguments",null,null,"Null Literal","Date Literal","String Literal","Single-quoted String Literal",null,"Blob Literal",null,"Number Sign",null,null,null,"Decimal Literal",null,null,"Decimal Literal Exponent","Hexidecimal Literal",null,null,"Bind Parameter","Numbered Bind Parameter",null,"Named Bind Parameter","TCL Bind Parameter",null,"EXISTS Expression","EXISTS Keyword","RAISE Expression","RAISE Expression Arguments","IGNORE Keyword",null,null,null,null,null,null,null,"COLLATE Expression",null,null,null,null,null,null,null,null,null,null,null,null,null,"CAST Expression","Type Alias","CASE Expression",null,"WHEN Clause","ELSE Clause",null,null,"Comparison Expression","ESCAPE Expression","BETWEEN Expression",null,null,"IN Expression",null,null,null,null,"Expression List",null,null,"Function Call","Function Call Arguments",null,"Error Message","Statement","QUERY PLAN","QUERY PLAN Keyword",null,"END Transaction Statement","BEGIN Transaction Statement",null,null,"ROLLBACK Statement","TO Clause",null,null,"SAVEPOINT Statement","RELEASE Statement","ALTER TABLE Statement","ALTER TABLE Keyword",null,"RENAME TO Keyword","ADD COLUMN Keyword",null,null,"WITH Clause",null,null,null,null,"Common Table Expression",null,null,null,null,"ATTACH Statement",null,"DETACH Statement","VACUUM Statement",null,"ANALYZE Statement",null,"REINDEX Statement",null,"PRAGMA Statement",null,null,null,null,null,null,null,"SELECT Statement","ORDER BY Clause","LIMIT Clause","OFFSET Clause",null,null,null,"Union Operation",null,null,"SELECT Results Clause","SELECT Results Modifier",null,null,null,null,"FROM Clause","WHERE Clause","GROUP BY Clause","HAVING Clause",null,null,null,null,null,null,"CROSS JOIN Operation","JOIN Operation",null,null,"Qualified Table","Qualified Table Identifier","Qualfied Table Index",null,null,"SELECT Source","Subquery","Alias","JOIN Operator",null,null,null,null,null,"JOIN Constraint","Join ON Clause","Join USING Clause","VALUES Clause",null,null,"Ordering Expression","Star","Fallback Type","INSERT Statement",null,"INSERT Keyword","REPLACE Keyword","INSERT OR Modifier",null,"INTO Clause","INTO Keyword","VALUES Clause","Column List",null,"Column Name","VALUES Clause","VALUES Keyword",null,null,"Wrapped Expression List","DEFAULT VALUES Clause","Compound Operator","UNION Operator",null,"UPDATE Statement","UPDATE Keyword","UPDATE OR Modifier","SET Clause",null,null,"Column Assignment","DELETE Statement","DELETE Keyword","CREATE Statement",null,null,null,null,null,null,"CREATE TABLE Statement",null,null,"IF NOT EXISTS Modifier",null,"Table Definition",null,null,null,null,"Column Definition",null,"Column Datatype",null,null,"Column Constraint",null,"CONSTRAINT Name",null,"FOREIGN KEY Column Constraint","PRIMARY KEY Column Constraint","PRIMARY KEY Keyword","AUTOINCREMENT Keyword",null,"UNIQUE Column Constraint","NULL Column Constraint","CHECK Column Constraint","DEFAULT Column Constraint",null,"COLLATE Column Constraint","Table Constraint",null,"CHECK Table Constraint","PRIMARY KEY Table Constraint",null,"PRIMARY KEY Keyword","UNIQUE Keyword",null,null,null,null,"Indexed Column",null,"Collation",null,"Column Direction",null,"ON CONFLICT Keyword",null,"FOREIGN KEY Table Constraint","FOREIGN KEY Keyword",null,"REFERENCES Clause",null,null,"FOREIGN KEY Action Clause",null,"FOREIGN KEY Action",null,null,null,null,"DEFERRABLE Clause",null,null,"CREATE INDEX Statement",null,null,"ON Clause","CREATE TRIGGER Statement",null,"Conditional Clause",null,null,"Conditional Action",null,null,null,null,null,"WHEN Clause","Actions Clause",null,null,"CREATE VIEW Statement",null,null,null,"CREATE VIRTUAL TABLE Statement",null,null,"Module Arguments",null,null,null,null,"DROP Statement","DROP Keyword","DROP Type","IF EXISTS Keyword","Or","Add","Subtract","Multiply","Divide","Modulo","Shift Left","Shift Right","Logical AND","Logical OR","Less Than","Greater Than","Less Than Or Equal","Greater Than Or Equal","Equal","Not Equal","Not Equal","IS","Identifier","Database Identifier","Function Identifier","Table Identifier",null,"Column Identifier",null,null,null,"Collation Identifier","Savepoint Identifier","Index Identifier","Trigger Identifier","View Identifier","Pragma Identifier","CTE Identifier",null,"Table Constraint Identifier","Column Constraint Identifier","Datatype Name","TEXT Datatype Name","REAL Datatype Name","DOUBLE Datatype Name","NUMERIC Datatype Name","INTEGER Datatype Name",null,"BLOB Datatype Name",null,null,null,null,null,null,null,null,null,null,null,"Open Bracket","Close Bracket","Open Parenthesis","Close Parenthesis","Comma","Period","Asterisk","Question Mark","Single Quote","Double Quote","Backtick","Tilde","Plus","Minus","Equal","Ampersand","Pipe","Modulo","Less Than","Greater Than","Exclamation","Semicolon","Colon","Forward Slash","Backslash",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Line Comment","Block Comment",null,null,null,null,null,"Whitespace",null],y="tracer"in e?e.tracer:new s;if("startRule"in e){if(!(e.startRule in o))throw new Error("Can't start parsing from rule \""+e.startRule+'".');u=o[e.startRule]}function w(t,e){return{type:"literal",text:t,ignoreCase:e}}function M(t,e,r){return{type:"class",parts:t,inverted:e,ignoreCase:r}}function _(){return{type:"any"}}function S(){return{type:"end"}}function E(t){return{type:"other",description:t}}function A(e){var r,i=c[e];if(i)return i;r=e-1;while(!c[r])r--;i=c[r],i={line:i.line,column:i.column};while(rd&&(d=l,p=[]),p.push(t))}function R(t,e,r){return new a(a.buildMessage(t,e),t,e,r)}function $(t){return t.split("").map((function(t){return t.charCodeAt(0)-32}))}function T(e){var r,i=f[e],o=0,a=[],s=i.length,u=[],c=[],d=l;y.trace({type:"rule.enter",rule:v[e],description:g[e],location:x(d,d)});var p=545*l+e,w=b[p];if(w)return l=w.nextPos,w.result!==n?y.trace({type:"rule.match",rule:v[e],description:g[e],result:w.result,location:x(d,l)}):y.trace({type:"rule.fail",rule:v[e],description:g[e],location:x(d,d)}),w.result;while(1){while(ol?(s=o+3+i[o+1],o+=3):(s=o+3+i[o+1]+i[o+2],o+=3+i[o+1]);break;case 18:u.push(s),a.push(o+4+i[o+2]+i[o+3]),t.substr(l,h[i[o+1]].length)===h[i[o+1]]?(s=o+4+i[o+2],o+=4):(s=o+4+i[o+2]+i[o+3],o+=4+i[o+2]);break;case 19:u.push(s),a.push(o+4+i[o+2]+i[o+3]),t.substr(l,h[i[o+1]].length).toLowerCase()===h[i[o+1]]?(s=o+4+i[o+2],o+=4):(s=o+4+i[o+2]+i[o+3],o+=4+i[o+2]);break;case 20:u.push(s),a.push(o+4+i[o+2]+i[o+3]),h[i[o+1]].test(t.charAt(l))?(s=o+4+i[o+2],o+=4):(s=o+4+i[o+2]+i[o+3],o+=4+i[o+2]);break;case 21:c.push(t.substr(l,i[o+1])),l+=i[o+1],o+=2;break;case 22:c.push(h[i[o+1]]),l+=h[i[o+1]].length,o+=2;break;case 23:c.push(n),0===m&&k(h[i[o+1]]),o+=2;break;case 24:c[c.length-1-i[o+1]],o+=2;break;case 25:l,o++;break;case 26:r=i.slice(o+4,o+4+i[o+3]).map((function(t){return c[c.length-1-t]})),c.splice(c.length-i[o+2],i[o+2],h[i[o+1]].apply(null,r)),o+=4+i[o+3];break;case 27:c.push(T(i[o+1])),o+=2;break;case 28:m++,o++;break;case 29:m--,o++;break;default:throw new Error("Invalid opcode: "+i[o]+".")}if(!(u.length>0))break;s=u.pop(),o=a.pop()}return b[p]={nextPos:l,result:c[0]},c[0]!==n?y.trace({type:"rule.match",rule:v[e],description:g[e],result:c[0],location:x(d,l)}):y.trace({type:"rule.fail",rule:v[e],description:g[e],location:x(d,d)}),c[0]}function I(t){return O(t)?Array.isArray(t)?t:[t]:[]}function O(t){return null!=t}function C(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ",r=t.filter((function(t){return O(t)})).reduce((function(t,r){return""+t+j(r)+e}),"");return r.trim()}function L(t){return C(t,"")}function N(t){return C(t).toLowerCase()}function B(t){return t.filter((function(t){return O(t)})).reduce((function(t,e){return t.concat(e)}),[])}function P(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"'",r=new RegExp(e+"{2}","g");return j(t).replace(r,e)}function j(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return I(t).join("")}function D(t){return j(t).trim()}function q(t){return D(t).toLowerCase()}function U(t){return Array.isArray(t)&&t.length>0&&O(t[0])}function F(t,e){return e.reduce((function(t,e){var r=i(e,4),n=(r[0],r[1]),o=(r[2],r[3]);return{type:"expression",format:"binary",variant:"operation",operation:q(n),left:t,right:o}}),t)}if(r=T(u),r!==n&&l===t.length)return r;throw r!==n&&l0){for(e=1,r=1;e=0;r-=1)if(e(t[r]))return r;return-1}function n(t,e){for(var r=t.length,i=0;i1)return!1;if(h){if(/^(stmt)$/i.test(t.rule))return h=!0,!0}else t.indentation>u.indentation?u=t:h=!0;return!0})),i.length&&(r=u.location,a=i.find((function(t){return s.firstNodeRule.test(t.description)&&t.description!==u.description&&t.indentation!==u.indentation})),o=null!=a?this.statementRule.test(u.description)&&this.statementRule.test(a.description)?a.description:u.description+" ("+a.description+")":u.description,e="Syntax error found near "+o,Object.assign(t,{message:e,location:r})),t},t}()},{}]},{},[1])(1)}))},"62c9":function(t,e,r){var i=r("8707").Buffer;function n(t,e,r){var n=t._cipher.encryptBlock(t._prev),o=n[0]^e;return t._prev=i.concat([t._prev.slice(1),i.from([r?e:o])]),o}e.encrypt=function(t,e,r){var o=e.length,a=i.allocUnsafe(o),s=-1;while(++s1?arguments[1]:void 0)}))},6547:function(t,e,r){var i=r("a691"),n=r("1d80"),o=function(t){return function(e,r){var o,a,s=String(n(e)),u=i(r),h=s.length;return u<0||u>=h?t?"":void 0:(o=s.charCodeAt(u),o<55296||o>56319||u+1===h||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536)}};t.exports={codeAt:o(!1),charAt:o(!0)}},"65f0":function(t,e,r){var i=r("861d"),n=r("e8b5"),o=r("b622"),a=o("species");t.exports=function(t,e){var r;return n(t)&&(r=t.constructor,"function"!=typeof r||r!==Array&&!n(r.prototype)?i(r)&&(r=r[a],null===r&&(r=void 0)):r=void 0),new(void 0===r?Array:r)(0===e?0:e)}},"676f":function(t,e,r){"use strict";var i=r("80af"),n=r("3fb5"),o=r("ea53"),a=r("f3a3");function s(t){o.call(this,"mont",t),this.a=new i(t.a,16).toRed(this.red),this.b=new i(t.b,16).toRed(this.red),this.i4=new i(4).toRed(this.red).redInvm(),this.two=new i(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function u(t,e,r){o.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new i(e,16),this.z=new i(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}n(s,o),t.exports=s,s.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),i=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e),n=i.redSqrt();return 0===n.redSqr().cmp(i)},n(u,o.BasePoint),s.prototype.decodePoint=function(t,e){return this.point(a.toArray(t,e),1)},s.prototype.point=function(t,e){return new u(this,t,e)},s.prototype.pointFromJSON=function(t){return u.fromJSON(this,t)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(t,e){return new u(t,e[0],e[1]||t.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var t=this.x.redAdd(this.z),e=t.redSqr(),r=this.x.redSub(this.z),i=r.redSqr(),n=e.redSub(i),o=e.redMul(i),a=n.redMul(i.redAdd(this.curve.a24.redMul(n)));return this.curve.point(o,a)},u.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=t.x.redAdd(t.z),o=t.x.redSub(t.z),a=o.redMul(r),s=n.redMul(i),u=e.z.redMul(a.redAdd(s).redSqr()),h=e.x.redMul(a.redISub(s).redSqr());return this.curve.point(u,h)},u.prototype.mul=function(t){for(var e=t.clone(),r=this,i=this.curve.point(null,null),n=this,o=[];0!==e.cmpn(0);e.iushrn(1))o.push(e.andln(1));for(var a=o.length-1;a>=0;a--)0===o[a]?(r=r.diffAdd(i,n),i=i.dbl()):(i=r.diffAdd(i,n),r=r.dbl());return i},u.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},u.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},"69f2":function(t,e,r){e=t.exports=function(t){t=t.toLowerCase();var r=e[t];if(!r)throw new Error(t+" is not supported (we accept pull requests)");return new r};e.sha=r("087f"),e.sha1=r("7e78"),e.sha224=r("72aa"),e.sha256=r("a255"),e.sha384=r("b837"),e.sha512=r("4fd1")},"69f3":function(t,e,r){var i,n,o,a=r("7f9a"),s=r("da84"),u=r("861d"),h=r("9112"),f=r("5135"),l=r("f772"),c=r("d012"),d=s.WeakMap,p=function(t){return o(t)?n(t):i(t,{})},m=function(t){return function(e){var r;if(!u(e)||(r=n(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}};if(a){var b=new d,v=b.get,g=b.has,y=b.set;i=function(t,e){return y.call(b,t,e),e},n=function(t){return v.call(b,t)||{}},o=function(t){return g.call(b,t)}}else{var w=l("state");c[w]=!0,i=function(t,e){return h(t,w,e),e},n=function(t){return f(t,w)?t[w]:{}},o=function(t){return f(t,w)}}t.exports={set:i,get:n,has:o,enforce:p,getterFor:m}},"6aa2":function(t,e,r){"use strict";var i=r("7d92"),n=r("7658"),o=r("da3e");function a(t){if(!(this instanceof a))return new a(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=n.toArray(t.entropy,t.entropyEnc||"hex"),r=n.toArray(t.nonce,t.nonceEnc||"hex"),i=n.toArray(t.pers,t.persEnc||"hex");o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,i)}t.exports=a,a.prototype._init=function(t,e,r){var i=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},a.prototype.generate=function(t,e,r,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!==typeof e&&(i=r,r=e,e=null),r&&(r=n.toArray(r,i||"hex"),this._update(r));var o=[];while(o.lengthf)r=u[f++],i&&!a.call(s,r)||l.push(t?[r,s[r]]:s[r]);return l}};t.exports={entries:s(!0),values:s(!1)}},"6fe7":function(t,e,r){var i=r("39a9").Buffer,n=r("1a2a"),o=r("a958"),a=r("3337").ec,s=r("399f"),u=r("2aee"),h=r("cd91");function f(t,e,r,n,a){var s=u(e);if(s.curve){if("ecdsa"!==n&&"ecdsa/rsa"!==n)throw new Error("wrong private key type");return l(t,s)}if("dsa"===s.type){if("dsa"!==n)throw new Error("wrong private key type");return c(t,s,r)}if("rsa"!==n&&"ecdsa/rsa"!==n)throw new Error("wrong private key type");t=i.concat([a,t]);var h=s.modulus.byteLength(),f=[0,1];while(t.length+f.length+10&&r.ishrn(i),r}function b(t,e){t=m(t,e),t=t.mod(e);var r=i.from(t.toArray());if(r.lengthr)n[r]=e[r++];return n},H=function(t,e){I(t,e,{get:function(){return $(this)[e]}})},Z=function(t){var e;return t instanceof N||"ArrayBuffer"==(e=v(t))||"SharedArrayBuffer"==e},Y=function(t,e){return F(t)&&"symbol"!=typeof e&&e in t&&String(+e)==String(e)},V=function(t,e){return Y(t,e=m(e,!0))?f(2,t[e]):O(t,e)},G=function(t,e,r){return!(Y(t,e=m(e,!0))&&g(r)&&b(r,"value"))||b(r,"get")||b(r,"set")||r.configurable||b(r,"writable")&&!r.writable||b(r,"enumerable")&&!r.enumerable?I(t,e,r):(t[e]=r.value,t)};o?(P||(x.f=V,A.f=G,H(q,"buffer"),H(q,"byteOffset"),H(q,"byteLength"),H(q,"length")),i({target:"Object",stat:!0,forced:!P},{getOwnPropertyDescriptor:V,defineProperty:G}),t.exports=function(t,e,r){var o=t.match(/\d+$/)[0]/8,s=t+(r?"Clamped":"")+"Array",u="get"+t,f="set"+t,m=n[s],b=m,v=b&&b.prototype,A={},x=function(t,e){var r=$(t);return r.view[u](e*o+r.byteOffset,!0)},k=function(t,e,i){var n=$(t);r&&(i=(i=C(i))<0?0:i>255?255:255&i),n.view[f](e*o+n.byteOffset,i,!0)},O=function(t,e){I(t,e,{get:function(){return x(this,e)},set:function(t){return k(this,e,t)},enumerable:!0})};P?a&&(b=e((function(t,e,r,i){return h(t,b,s),R(function(){return g(e)?Z(e)?void 0!==i?new m(e,p(r,o),i):void 0!==r?new m(e,p(r,o)):new m(e):F(e)?W(b,e):_.call(b,e):new m(d(e))}(),t,b)})),w&&w(b,D),S(M(m),(function(t){t in b||l(b,t,m[t])})),b.prototype=v):(b=e((function(t,e,r,i){h(t,b,s);var n,a,u,f=0,l=0;if(g(e)){if(!Z(e))return F(e)?W(b,e):_.call(b,e);n=e,l=p(r,o);var m=e.byteLength;if(void 0===i){if(m%o)throw L(K);if(a=m-l,a<0)throw L(K)}else if(a=c(i)*o,a+l>m)throw L(K);u=a/o}else u=d(e),a=u*o,n=new N(a);T(t,{buffer:n,byteOffset:l,byteLength:a,length:u,view:new B(n)});while(ff||t<0)throw new TypeError("offset must be a uint32");if(t>u||t>e)throw new RangeError("offset out of range")}function c(t,e,r){if("number"!==typeof t||t!==t)throw new TypeError("size must be a number");if(t>f||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>u)throw new RangeError("buffer too small")}function d(e,r,i,n){if(!s.isBuffer(e)&&!(e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"===typeof r)n=r,r=0,i=e.length;else if("function"===typeof i)n=i,i=e.length-r;else if("function"!==typeof n)throw new TypeError('"cb" argument must be a function');return l(r,e.length),c(i,r,e.length),p(e,r,i,n)}function p(t,e,r,n){if(i.browser){var o=t.buffer,s=new Uint8Array(o,e,r);return h.getRandomValues(s),n?void i.nextTick((function(){n(null,t)})):t}if(!n){var u=a(r);return u.copy(t,e),t}a(r,(function(r,i){if(r)return n(r);i.copy(t,e),n(null,t)}))}function m(e,r,i){if("undefined"===typeof r&&(r=0),!s.isBuffer(e)&&!(e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return l(r,e.length),void 0===i&&(i=e.length-r),c(i,r,e.length),p(e,r,i)}h&&h.getRandomValues||!i.browser?(e.randomFill=d,e.randomFillSync=m):(e.randomFill=n,e.randomFillSync=n)}).call(this,r("c8ba"),r("4362"))},7658:function(t,e,r){"use strict";var i=e;function n(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"!==typeof t){for(var i=0;i>8,a=255&n;o?r.push(o,a):r.push(a)}return r}function o(t){return 1===t.length?"0"+t:t}function a(t){for(var e="",r=0;r>1,b=23===e?n(2,-24)-n(2,-77):0,v=t<0||0===t&&1/t<0?1:0,g=0;for(t=i(t),t!=t||t===r?(f=t!=t?1:0,h=p):(h=o(a(t)/s),t*(l=n(2,-h))<1&&(h--,l*=2),t+=h+m>=1?b/l:b*n(2,1-m),t*l>=2&&(h++,l/=2),h+m>=p?(f=0,h=p):h+m>=1?(f=(t*l-1)*n(2,e),h+=m):(f=t*n(2,m-1)*n(2,e),h=0));e>=8;c[g++]=255&f,f/=256,e-=8);for(h=h<0;c[g++]=255&h,h/=256,d-=8);return c[--g]|=128*v,c},h=function(t,e){var i,o=t.length,a=8*o-e-1,s=(1<>1,h=a-7,f=o-1,l=t[f--],c=127&l;for(l>>=7;h>0;c=256*c+t[f],f--,h-=8);for(i=c&(1<<-h)-1,c>>=-h,h+=e;h>0;i=256*i+t[f],f--,h-=8);if(0===c)c=1-u;else{if(c===s)return i?NaN:l?-r:r;i+=n(2,e),c-=u}return(l?-1:1)*i*n(2,c-e)};t.exports={pack:u,unpack:h}},"780f":function(t,e,r){"use strict";t.exports=o;var i=r("27bf"),n=Object.create(r("3a7c"));function o(t){if(!(this instanceof o))return new o(t);i.call(this,t)}n.inherits=r("3fb5"),n.inherits(o,i),o.prototype._transform=function(t,e,r){r(null,t)}},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7a10":function(t,e,r){var i=r("d0eb"),n=r("fdac");function o(t){this.rand=t||new n.Rand}t.exports=o,o.create=function(t){return new o(t)},o.prototype._randbelow=function(t){var e=t.bitLength(),r=Math.ceil(e/8);do{var n=new i(this.rand.generate(r))}while(n.cmp(t)>=0);return n},o.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},o.prototype.test=function(t,e,r){var n=t.bitLength(),o=i.mont(t),a=new i(1).toRed(o);e||(e=Math.max(1,n/48|0));for(var s=t.subn(1),u=0;!s.testn(u);u++);for(var h=t.shrn(u),f=s.toRed(o),l=!0;e>0;e--){var c=this._randrange(new i(2),s);r&&r(c);var d=c.toRed(o).redPow(h);if(0!==d.cmp(a)&&0!==d.cmp(f)){for(var p=1;p0;e--){var f=this._randrange(new i(2),a),l=t.gcd(f);if(0!==l.cmpn(1))return l;var c=f.toRed(n).redPow(u);if(0!==c.cmp(o)&&0!==c.cmp(h)){for(var d=1;d",c="<",d="prototype",p="script",m=f("IE_PROTO"),b=function(){},v=function(t){return c+p+l+t+c+"/"+p+l},g=function(t){t.write(v("")),t.close();var e=t.parentWindow.Object;return t=null,e},y=function(){var t,e=h("iframe"),r="java"+p+":";return e.style.display="none",u.appendChild(e),e.src=String(r),t=e.contentWindow.document,t.open(),t.write(v("document.F=Object")),t.close(),t.F},w=function(){try{i=document.domain&&new ActiveXObject("htmlfile")}catch(e){}w=i?g(i):y();var t=a.length;while(t--)delete w[d][a[t]];return w()};s[m]=!0,t.exports=Object.create||function(t,e){var r;return null!==t?(b[d]=n(t),r=new b,b[d]=null,r[m]=t):r=w(),void 0===e?r:o(r,e)}},"7d2a":function(t,e){var r=Math.pow(2,30)-1;t.exports=function(t,e){if("number"!==typeof t)throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");if("number"!==typeof e)throw new TypeError("Key length not a number");if(e<0||e>r||e!==e)throw new TypeError("Bad key length")}},"7d72":function(t,e,r){"use strict";var i=r("8707").Buffer,n=i.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){if(!t)return"utf8";var e;while(1)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function a(t){var e=o(t);if("string"!==typeof e&&(i.isEncoding===n||!n(t)))throw new Error("Unknown encoding: "+t);return e||t}function s(t){var e;switch(this.encoding=a(t),this.encoding){case"utf16le":this.text=p,this.end=m,e=4;break;case"utf8":this.fillLast=l,e=4;break;case"base64":this.text=b,this.end=v,e=3;break;default:return this.write=g,void(this.end=y)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(e)}function u(t){return t<=127?0:t>>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function h(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(2===n?n=0:t.lastNeed=n-3),n):0))}function f(t,e,r){if(128!==(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!==(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!==(192&e[2]))return t.lastNeed=2,"�"}}function l(t){var e=this.lastTotal-this.lastNeed,r=f(this,t,e);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function c(t,e){var r=h(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function d(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function p(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function m(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function b(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function v(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function g(t){return t.toString(this.encoding)}function y(t){return t&&t.length?this.write(t):""}e.StringDecoder=s,s.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),void 0===e)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>>31}function f(t){return t<<5|t>>>27}function l(t){return t<<30|t>>>2}function c(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}i(u,n),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e=this._w,r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,u=0;u<16;++u)e[u]=t.readInt32BE(4*u);for(;u<80;++u)e[u]=h(e[u-3]^e[u-8]^e[u-14]^e[u-16]);for(var d=0;d<80;++d){var p=~~(d/20),m=f(r)+c(p,i,n,o)+s+e[d]+a[p]|0;s=o,o=n,n=l(i),i=r,r=m}this._a=r+this._a|0,this._b=i+this._b|0,this._c=n+this._c|0,this._d=o+this._d|0,this._e=s+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},"7f7a":function(t,e,r){var i=e;i.bignum=r("bc12"),i.define=r("ef3a").define,i.base=r("41df"),i.constants=r("0211"),i.decoders=r("20f6"),i.encoders=r("343e")},"7f9a":function(t,e,r){var i=r("da84"),n=r("8925"),o=i.WeakMap;t.exports="function"===typeof o&&/native code/.test(n(o))},8:function(t,e){},"80af":function(t,e,r){(function(t){(function(t,e){"use strict";function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var a;"object"===typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{a=r(10).Buffer}catch(x){}function s(t,e,r){for(var i=0,n=Math.min(t.length,r),o=e;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],x=8191&A,k=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,D=P>>>13,q=0|s[0],U=8191&q,F=q>>>13,z=0|s[1],K=8191&z,W=z>>>13,H=0|s[2],Z=8191&H,Y=H>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,W)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,W)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,W)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,W)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,W)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,W)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,W)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,U),n=Math.imul(x,F),n=n+Math.imul(k,U)|0,o=Math.imul(k,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,W)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(x,K)|0,n=n+Math.imul(x,W)|0,n=n+Math.imul(k,K)|0,o=o+Math.imul(k,W)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,W)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,W)|0,i=i+Math.imul(x,Z)|0,n=n+Math.imul(x,Y)|0,n=n+Math.imul(k,Z)|0,o=o+Math.imul(k,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,W)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(x,G)|0,n=n+Math.imul(x,X)|0,n=n+Math.imul(k,G)|0,o=o+Math.imul(k,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(D,U)|0,o=Math.imul(D,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,W)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,W)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(x,Q)|0,n=n+Math.imul(x,tt)|0,n=n+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,W),n=n+Math.imul(D,K)|0,o=Math.imul(D,W),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(x,rt)|0,n=n+Math.imul(x,it)|0,n=n+Math.imul(k,rt)|0,o=o+Math.imul(k,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(D,Z)|0,o=Math.imul(D,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(x,ot)|0,n=n+Math.imul(x,at)|0,n=n+Math.imul(k,ot)|0,o=o+Math.imul(k,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(D,G)|0,o=Math.imul(D,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(x,ut)|0,n=n+Math.imul(x,ht)|0,n=n+Math.imul(k,ut)|0,o=o+Math.imul(k,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(D,Q)|0,o=Math.imul(D,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(x,lt)|0,n=n+Math.imul(x,ct)|0,n=n+Math.imul(k,lt)|0,o=o+Math.imul(k,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(D,rt)|0,o=Math.imul(D,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(x,pt)|0,n=n+Math.imul(x,mt)|0,n=n+Math.imul(k,pt)|0,o=o+Math.imul(k,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(D,ot)|0,o=Math.imul(D,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(D,ut)|0,o=Math.imul(D,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(D,lt)|0,o=Math.imul(D,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(D,pt)|0,o=Math.imul(D,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=xt,u[11]=kt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},"81d5":function(t,e,r){"use strict";var i=r("7b0b"),n=r("23cb"),o=r("50c4");t.exports=function(t){var e=i(this),r=o(e.length),a=arguments.length,s=n(a>1?arguments[1]:void 0,r),u=a>2?arguments[2]:void 0,h=void 0===u?r:n(u,r);while(h>s)e[s++]=t;return e}},"825a":function(t,e,r){var i=r("861d");t.exports=function(t){if(!i(t))throw TypeError(String(t)+" is not an object");return t}},"82f0":function(t,e,r){var i=r("39f5"),n=r("8707").Buffer,o=r("6430"),a=r("3fb5"),s=r("3f62"),u=r("8c8a"),h=r("bd9d");function f(t,e){var r=0;t.length!==e.length&&r++;for(var i=Math.min(t.length,e.length),n=0;n1?arguments[1]:void 0)}))},8360:function(t,e,r){var i=r("41df").Reporter,n=r("41df").EncoderBuffer,o=r("41df").DecoderBuffer,a=r("da3e"),s=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],u=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(s),h=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function f(t,e){var r={};this._baseState=r,r.enc=t,r.parent=e||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r["default"]=null,r.explicit=null,r.implicit=null,r.contains=null,r.parent||(r.children=[],this._wrap())}t.exports=f;var l=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];f.prototype.clone=function(){var t=this._baseState,e={};l.forEach((function(r){e[r]=t[r]}));var r=new this.constructor(e.parent);return r._baseState=e,r},f.prototype._wrap=function(){var t=this._baseState;u.forEach((function(e){this[e]=function(){var r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},f.prototype._init=function(t){var e=this._baseState;a(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),a.equal(e.children.length,1,"Root node can have only one child")},f.prototype._useArgs=function(t){var e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(a(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(a(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!==typeof t||t.constructor!==Object)return t;var e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);var i=t[r];e[i]=r})),e})))},h.forEach((function(t){f.prototype[t]=function(){var e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),s.forEach((function(t){f.prototype[t]=function(){var e=this._baseState,r=Array.prototype.slice.call(arguments);return a(null===e.tag),e.tag=t,this._useArgs(r),this}})),f.prototype.use=function(t){a(t);var e=this._baseState;return a(null===e.use),e.use=t,this},f.prototype.optional=function(){var t=this._baseState;return t.optional=!0,this},f.prototype.def=function(t){var e=this._baseState;return a(null===e["default"]),e["default"]=t,e.optional=!0,this},f.prototype.explicit=function(t){var e=this._baseState;return a(null===e.explicit&&null===e.implicit),e.explicit=t,this},f.prototype.implicit=function(t){var e=this._baseState;return a(null===e.explicit&&null===e.implicit),e.implicit=t,this},f.prototype.obj=function(){var t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},f.prototype.key=function(t){var e=this._baseState;return a(null===e.key),e.key=t,this},f.prototype.any=function(){var t=this._baseState;return t.any=!0,this},f.prototype.choice=function(t){var e=this._baseState;return a(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},f.prototype.contains=function(t){var e=this._baseState;return a(null===e.use),e.contains=t,this},f.prototype._decode=function(t,e){var r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));var i,n=r["default"],a=!0,s=null;if(null!==r.key&&(s=t.enterKey(r.key)),r.optional){var u=null;if(null!==r.explicit?u=r.explicit:null!==r.implicit?u=r.implicit:null!==r.tag&&(u=r.tag),null!==u||r.any){if(a=this._peekTag(t,u,r.any),t.isError(a))return a}else{var h=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),a=!0}catch(p){a=!1}t.restore(h)}}if(r.obj&&a&&(i=t.enterObject()),a){if(null!==r.explicit){var f=this._decodeTag(t,r.explicit);if(t.isError(f))return f;t=f}var l=t.offset;if(null===r.use&&null===r.choice){if(r.any)h=t.save();var c=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(c))return c;r.any?n=t.raw(h):t=c}if(e&&e.track&&null!==r.tag&&e.track(t.path(),l,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),n=r.any?n:null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),t.isError(n))return n;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var d=new o(n);n=this._getUse(r.contains,t._reporterState.obj)._decode(d,e)}}return r.obj&&a&&(n=t.leaveObject(i)),null===r.key||null===n&&!0!==a?null!==s&&t.exitKey(s):t.leaveKey(s,r.key,n),n},f.prototype._decodeGeneric=function(t,e,r){var i=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,i.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&i.args?this._decodeObjid(e,i.args[0],i.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,i.args&&i.args[0],r):null!==i.use?this._getUse(i.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},f.prototype._getUse=function(t,e){var r=this._baseState;return r.useDecoder=this._use(t,e),a(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},f.prototype._decodeChoice=function(t,e){var r=this._baseState,i=null,n=!1;return Object.keys(r.choice).some((function(o){var a=t.save(),s=r.choice[o];try{var u=s._decode(t,e);if(t.isError(u))return!1;i={type:o,value:u},n=!0}catch(h){return t.restore(a),!1}return!0}),this),n?i:t.error("Choice not matched")},f.prototype._createEncoderBuffer=function(t){return new n(t,this.reporter)},f.prototype._encode=function(t,e,r){var i=this._baseState;if(null===i["default"]||i["default"]!==t){var n=this._encodeValue(t,e,r);if(void 0!==n&&!this._skipDefault(n,e,r))return n}},f.prototype._encodeValue=function(t,e,r){var n=this._baseState;if(null===n.parent)return n.children[0]._encode(t,e||new i);var o=null;if(this.reporter=e,n.optional&&void 0===t){if(null===n["default"])return;t=n["default"]}var a=null,s=!1;if(n.any)o=this._createEncoderBuffer(t);else if(n.choice)o=this._encodeChoice(t,e);else if(n.contains)a=this._getUse(n.contains,r)._encode(t,e),s=!0;else if(n.children)a=n.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");var i=e.enterKey(r._baseState.key);if("object"!==typeof t)return e.error("Child expected, but input is not object");var n=r._encode(t[r._baseState.key],e,t);return e.leaveKey(i),n}),this).filter((function(t){return t})),a=this._createEncoderBuffer(a);else if("seqof"===n.tag||"setof"===n.tag){if(!n.args||1!==n.args.length)return e.error("Too many args for : "+n.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");var u=this.clone();u._baseState.implicit=null,a=this._createEncoderBuffer(t.map((function(r){var i=this._baseState;return this._getUse(i.args[0],t)._encode(r,e)}),u))}else null!==n.use?o=this._getUse(n.use,r)._encode(t,e):(a=this._encodePrimitive(n.tag,t),s=!0);if(!n.any&&null===n.choice){var h=null!==n.implicit?n.implicit:n.tag,f=null===n.implicit?"universal":"context";null===h?null===n.use&&e.error("Tag could be omitted only for .use()"):null===n.use&&(o=this._encodeComposite(h,s,f,a))}return null!==n.explicit&&(o=this._encodeComposite(n.explicit,!1,"context",o)),o},f.prototype._encodeChoice=function(t,e){var r=this._baseState,i=r.choice[t.type];return i||a(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),i._encode(t.value,e)},f.prototype._encodePrimitive=function(t,e){var r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},f.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},f.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(t)}},"83ab":function(t,e,r){var i=r("d039");t.exports=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},"83d5":function(t,e){t.exports=function(t,e){var r=t.length,i=-1;while(++i"+a+""}},"85b3":function(t,e,r){var i=r("3fb5"),n=r("3768");function o(t){n.call(this,t),this.enc="pem"}i(o,n),t.exports=o,o.prototype.encode=function(t,e){for(var r=n.prototype.encode.call(this,t),i=r.toString("base64"),o=["-----BEGIN "+e.label+"-----"],a=0;a15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},d.prototype.flush=function(){var t=16-this.cache.length,e=o.allocUnsafe(t),r=-1;while(++r>1,f=-7,l=r?n-1:0,c=r?-1:1,d=t[e+l];for(l+=c,o=d&(1<<-f)-1,d>>=-f,f+=s;f>0;o=256*o+t[e+l],l+=c,f-=8);for(a=o&(1<<-f)-1,o>>=-f,f+=i;f>0;a=256*a+t[e+l],l+=c,f-=8);if(0===o)o=1-h;else{if(o===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,i),o-=h}return(d?-1:1)*a*Math.pow(2,o-i)},e.write=function(t,e,r,i,n,o){var a,s,u,h=8*o-n-1,f=(1<>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:o-1,p=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=f):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),e+=a+l>=1?c/u:c*Math.pow(2,1-l),e*u>=2&&(a++,u/=2),a+l>=f?(s=0,a=f):a+l>=1?(s=(e*u-1)*Math.pow(2,n),a+=l):(s=e*Math.pow(2,l-1)*Math.pow(2,n),a=0));n>=8;t[r+d]=255&s,d+=p,s/=256,n-=8);for(a=a<0;t[r+d]=255&a,d+=p,a/=256,h-=8);t[r+d-p]|=128*m}},"919c":function(t,e){t.exports=function(){throw new Error("Readable.from is not available in the browser")}},9263:function(t,e,r){"use strict";var i=r("ad6d"),n=r("9f7f"),o=RegExp.prototype.exec,a=String.prototype.replace,s=o,u=function(){var t=/a/,e=/b*/g;return o.call(t,"a"),o.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),h=n.UNSUPPORTED_Y||n.BROKEN_CARET,f=void 0!==/()??/.exec("")[1],l=u||f||h;l&&(s=function(t){var e,r,n,s,l=this,c=h&&l.sticky,d=i.call(l),p=l.source,m=0,b=t;return c&&(d=d.replace("y",""),-1===d.indexOf("g")&&(d+="g"),b=String(t).slice(l.lastIndex),l.lastIndex>0&&(!l.multiline||l.multiline&&"\n"!==t[l.lastIndex-1])&&(p="(?: "+p+")",b=" "+b,m++),r=new RegExp("^(?:"+p+")",d)),f&&(r=new RegExp("^"+p+"$(?!\\s)",d)),u&&(e=l.lastIndex),n=o.call(c?r:l,b),c?n?(n.input=n.input.slice(m),n[0]=n[0].slice(m),n.index=l.lastIndex,l.lastIndex+=n[0].length):l.lastIndex=0:u&&n&&(l.lastIndex=l.global?n.index+n[0].length:e),f&&n&&n.length>1&&a.call(n[0],r,(function(){for(s=1;s=this._blockSize){for(var o=this._blockOffset;o0;++s)this._length[s]+=u,u=this._length[s]/4294967296|0,u>0&&(this._length[s]-=4294967296*u);return this},s.prototype._update=function(){throw new Error("_update is not implemented")},s.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},s.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=s},"945d":function(t,e,r){"use strict";var i=r("7d92"),n=r("0cbb"),o=r("f3a3"),a=o.assert,s=o.parseBytes,u=r("380f"),h=r("44a3");function f(t){if(a("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof f))return new f(t);t=n[t].curve;this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=i.sha512}t.exports=f,f.prototype.sign=function(t,e){t=s(t);var r=this.keyFromSecret(e),i=this.hashInt(r.messagePrefix(),t),n=this.g.mul(i),o=this.encodePoint(n),a=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),u=i.add(a).umod(this.curve.n);return this.makeSignature({R:n,S:u,Rencoded:o})},f.prototype.verify=function(t,e,r){t=s(t),e=this.makeSignature(e);var i=this.keyFromPublic(r),n=this.hashInt(e.Rencoded(),i.pubBytes(),t),o=this.g.mul(e.S()),a=e.R().add(i.pub().mul(n));return a.eq(o)},f.prototype.hashInt=function(){for(var t=this.hash(),e=0;e0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";var e=this.head,r=""+e.data;while(e=e.next)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return f.alloc(0);var e=f.allocUnsafe(t>>>0),r=this.head,i=0;while(r)p(r.data,e,i),i+=r.data.length,r=r.next;return e}},{key:"consume",value:function(t,e){var r;return tn.length?n.length:t;if(o===n.length?i+=n:i+=n.slice(0,t),t-=o,0===t){o===n.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=n.slice(o));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(t){var e=f.allocUnsafe(t),r=this.head,i=1;r.data.copy(e),t-=r.data.length;while(r=r.next){var n=r.data,o=t>n.length?n.length:t;if(n.copy(e,e.length-t,0,o),t-=o,0===t){o===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(o));break}++i}return this.length-=i,e}},{key:d,value:function(t,e){return c(this,n({},e,{depth:0,customInspect:!1}))}}]),t}()},"96cf":function(t,e,r){var i=function(t){"use strict";var e,r=Object.prototype,i=r.hasOwnProperty,n="function"===typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",a=n.asyncIterator||"@@asyncIterator",s=n.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(O){u=function(t,e,r){return t[e]=r}}function h(t,e,r,i){var n=e&&e.prototype instanceof b?e:b,o=Object.create(n.prototype),a=new $(i||[]);return o._invoke=A(t,r,a),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(O){return{type:"throw",arg:O}}}t.wrap=h;var l="suspendedStart",c="suspendedYield",d="executing",p="completed",m={};function b(){}function v(){}function g(){}var y={};y[o]=function(){return this};var w=Object.getPrototypeOf,M=w&&w(w(T([])));M&&M!==r&&i.call(M,o)&&(y=M);var _=g.prototype=b.prototype=Object.create(y);function S(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function E(t,e){function r(n,o,a,s){var u=f(t[n],t,o);if("throw"!==u.type){var h=u.arg,l=h.value;return l&&"object"===typeof l&&i.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(l).then((function(t){h.value=t,a(h)}),(function(t){return r("throw",t,a,s)}))}s(u.arg)}var n;function o(t,i){function o(){return new e((function(e,n){r(t,i,e,n)}))}return n=n?n.then(o,o):o()}this._invoke=o}function A(t,e,r){var i=l;return function(n,o){if(i===d)throw new Error("Generator is already running");if(i===p){if("throw"===n)throw o;return I()}r.method=n,r.arg=o;while(1){var a=r.delegate;if(a){var s=x(a,r);if(s){if(s===m)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===l)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=f(t,e,r);if("normal"===u.type){if(i=r.done?p:c,u.arg===m)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function x(t,r){var i=t.iterator[r.method];if(i===e){if(r.delegate=null,"throw"===r.method){if(t.iterator["return"]&&(r.method="return",r.arg=e,x(t,r),"throw"===r.method))return m;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var n=f(i,t.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,m;var o=n.arg;return o?o.done?(r[t.resultName]=o.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,m):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function k(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function R(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function $(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function T(t){if(t){var r=t[o];if(r)return r.call(t);if("function"===typeof t.next)return t;if(!isNaN(t.length)){var n=-1,a=function r(){while(++n=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=i.call(a,"catchLoc"),h=i.call(a,"finallyLoc");if(u&&h){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),R(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var n=i.arg;R(r)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,i){return this.delegate={iterator:T(t),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=e),m}},t}(t.exports);try{regeneratorRuntime=i}catch(n){Function("r","regeneratorRuntime = r")(i)}},"980c":function(t,e,r){var i=r("39a9").Buffer,n=r("399f"),o=r("3337").ec,a=r("2aee"),s=r("cd91");function u(t,e,r,o,s){var u=a(r);if("ec"===u.type){if("ecdsa"!==o&&"ecdsa/rsa"!==o)throw new Error("wrong public key type");return h(t,e,u)}if("dsa"===u.type){if("dsa"!==o)throw new Error("wrong public key type");return f(t,e,u)}if("rsa"!==o&&"ecdsa/rsa"!==o)throw new Error("wrong public key type");e=i.concat([s,e]);var l=u.modulus.byteLength(),c=[1],d=0;while(e.length+c.length+2=e)throw new Error("invalid sig")}t.exports=u},"98e6":function(t,e,r){"use strict";var i=r("3fb5"),n=r("f576"),o=r("b5ca"),a=r("69f2"),s=r("6430");function u(t){s.call(this,"digest"),this._hash=t}i(u,s),u.prototype._update=function(t){this._hash.update(t)},u.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return t=t.toLowerCase(),"md5"===t?new n:"rmd160"===t||"ripemd160"===t?new o:new u(a(t))}},9911:function(t,e,r){"use strict";var i=r("23e7"),n=r("857a"),o=r("af03");i({target:"String",proto:!0,forced:o("link")},{link:function(t){return n(this,"a","href",t)}})},"99af":function(t,e,r){"use strict";var i=r("23e7"),n=r("d039"),o=r("e8b5"),a=r("861d"),s=r("7b0b"),u=r("50c4"),h=r("8418"),f=r("65f0"),l=r("1dde"),c=r("b622"),d=r("2d00"),p=c("isConcatSpreadable"),m=9007199254740991,b="Maximum allowed index exceeded",v=d>=51||!n((function(){var t=[];return t[p]=!1,t.concat()[0]!==t})),g=l("concat"),y=function(t){if(!a(t))return!1;var e=t[p];return void 0!==e?!!e:o(t)},w=!v||!g;i({target:"Array",proto:!0,forced:w},{concat:function(t){var e,r,i,n,o,a=s(this),l=f(a,0),c=0;for(e=-1,i=arguments.length;em)throw TypeError(b);for(r=0;r=m)throw TypeError(b);h(l,c++,o)}return l.length=c,l}})},"9a8c":function(t,e,r){"use strict";var i=r("ebb5"),n=r("145e"),o=i.aTypedArray,a=i.exportTypedArrayMethod;a("copyWithin",(function(t,e){return n.call(o(this),t,e,arguments.length>2?arguments[2]:void 0)}))},"9bdd":function(t,e,r){var i=r("825a");t.exports=function(t,e,r,n){try{return n?e(i(r)[0],r[1]):e(r)}catch(a){var o=t["return"];throw void 0!==o&&i(o.call(t)),a}}},"9bf2":function(t,e,r){var i=r("83ab"),n=r("0cfb"),o=r("825a"),a=r("c04e"),s=Object.defineProperty;e.f=i?s:function(t,e,r){if(o(t),e=a(e,!0),o(r),n)try{return s(t,e,r)}catch(i){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},"9d28":function(t,e,r){"use strict";t.exports=n;var i=r("f1c8");function n(t){if(!(this instanceof n))return new n(t);i.call(this,t)}r("3fb5")(n,i),n.prototype._transform=function(t,e,r){r(null,t)}},"9d8a":function(t,e,r){"use strict";function i(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}var n={};function o(t,e,r){function o(t,r,i){return"string"===typeof e?e:e(t,r,i)}r||(r=Error);var a=function(t){function e(e,r,i){return t.call(this,o(e,r,i))||this}return i(e,t),e}(r);a.prototype.name=r.name,a.prototype.code=t,n[t]=a}function a(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}function s(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function u(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function h(t,e,r){return"number"!==typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}o("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),o("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,n;if("string"===typeof e&&s(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",u(t," argument"))n="The ".concat(t," ").concat(i," ").concat(a(e,"type"));else{var o=h(t,".")?"property":"argument";n='The "'.concat(t,'" ').concat(o," ").concat(i," ").concat(a(e,"type"))}return n+=". Received type ".concat(typeof r),n}),TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),o("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),o("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),o("ERR_STREAM_WRITE_AFTER_END","write after end"),o("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),o("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=n},"9ed3":function(t,e,r){"use strict";var i=r("ae93").IteratorPrototype,n=r("7c73"),o=r("5c6c"),a=r("d44e"),s=r("3f8c"),u=function(){return this};t.exports=function(t,e,r){var h=e+" Iterator";return t.prototype=n(i,{next:o(1,r)}),a(t,h,!1,!0),s[h]=u,t}},"9f7f":function(t,e,r){"use strict";var i=r("d039");function n(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=i((function(){var t=n("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=i((function(){var t=n("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},"9f9d":function(t,e,r){(function(e){var r;if(e.browser)r="utf-8";else if(e.version){var i=parseInt(e.version.split(".")[0].slice(1),10);r=i>=6?"utf-8":"binary"}else r="utf-8";t.exports=r}).call(this,r("4362"))},a078:function(t,e,r){var i=r("7b0b"),n=r("50c4"),o=r("35a1"),a=r("e95a"),s=r("0366"),u=r("ebb5").aTypedArrayConstructor;t.exports=function(t){var e,r,h,f,l,c,d=i(t),p=arguments.length,m=p>1?arguments[1]:void 0,b=void 0!==m,v=o(d);if(void 0!=v&&!a(v)){l=v.call(d),c=l.next,d=[];while(!(f=c.call(l)).done)d.push(f.value)}for(b&&p>2&&(m=s(m,arguments[2],2)),r=n(d.length),h=new(u(this))(r),e=0;r>e;e++)h[e]=b?m(d[e],e):d[e];return h}},a099:function(t,e,r){e.pbkdf2=r("206d"),e.pbkdf2Sync=r("e07b")},a15b:function(t,e,r){"use strict";var i=r("23e7"),n=r("44ad"),o=r("fc6a"),a=r("a640"),s=[].join,u=n!=Object,h=a("join",",");i({target:"Array",proto:!0,forced:u||!h},{join:function(t){return s.call(o(this),void 0===t?",":t)}})},a255:function(t,e,r){var i=r("3fb5"),n=r("b672"),o=r("8707").Buffer,a=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function u(){this.init(),this._w=s,n.call(this,64,56)}function h(t,e,r){return r^t&(e^r)}function f(t,e,r){return t&e|r&(t|e)}function l(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function c(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function d(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function p(t){return(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10}i(u,n),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(t){for(var e=this._w,r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,u=0|this._f,m=0|this._g,b=0|this._h,v=0;v<16;++v)e[v]=t.readInt32BE(4*v);for(;v<64;++v)e[v]=p(e[v-2])+e[v-7]+d(e[v-15])+e[v-16]|0;for(var g=0;g<64;++g){var y=b+c(s)+h(s,u,m)+a[g]+e[g]|0,w=l(r)+f(r,i,n)|0;b=m,m=u,u=s,s=o+y|0,o=n,n=i,i=r,r=y+w|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=n+this._c|0,this._d=o+this._d|0,this._e=s+this._e|0,this._f=u+this._f|0,this._g=m+this._g|0,this._h=b+this._h|0},u.prototype._hash=function(){var t=o.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=u},a25c:function(t,e,r){(function(t){(function(t,e){"use strict";function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var a;"object"===typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{a=r(9).Buffer}catch(x){}function s(t,e,r){for(var i=0,n=Math.min(t.length,r),o=e;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],x=8191&A,k=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,D=P>>>13,q=0|s[0],U=8191&q,F=q>>>13,z=0|s[1],K=8191&z,W=z>>>13,H=0|s[2],Z=8191&H,Y=H>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,W)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,W)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,W)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,W)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,W)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,W)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,W)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,U),n=Math.imul(x,F),n=n+Math.imul(k,U)|0,o=Math.imul(k,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,W)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(x,K)|0,n=n+Math.imul(x,W)|0,n=n+Math.imul(k,K)|0,o=o+Math.imul(k,W)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,W)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,W)|0,i=i+Math.imul(x,Z)|0,n=n+Math.imul(x,Y)|0,n=n+Math.imul(k,Z)|0,o=o+Math.imul(k,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,W)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(x,G)|0,n=n+Math.imul(x,X)|0,n=n+Math.imul(k,G)|0,o=o+Math.imul(k,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(D,U)|0,o=Math.imul(D,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,W)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,W)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(x,Q)|0,n=n+Math.imul(x,tt)|0,n=n+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,W),n=n+Math.imul(D,K)|0,o=Math.imul(D,W),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(x,rt)|0,n=n+Math.imul(x,it)|0,n=n+Math.imul(k,rt)|0,o=o+Math.imul(k,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(D,Z)|0,o=Math.imul(D,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(x,ot)|0,n=n+Math.imul(x,at)|0,n=n+Math.imul(k,ot)|0,o=o+Math.imul(k,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(D,G)|0,o=Math.imul(D,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(x,ut)|0,n=n+Math.imul(x,ht)|0,n=n+Math.imul(k,ut)|0,o=o+Math.imul(k,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(D,Q)|0,o=Math.imul(D,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(x,lt)|0,n=n+Math.imul(x,ct)|0,n=n+Math.imul(k,lt)|0,o=o+Math.imul(k,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(D,rt)|0,o=Math.imul(D,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(x,pt)|0,n=n+Math.imul(x,mt)|0,n=n+Math.imul(k,pt)|0,o=o+Math.imul(k,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(D,ot)|0,o=Math.imul(D,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(D,ut)|0,o=Math.imul(D,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(D,lt)|0,o=Math.imul(D,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(D,pt)|0,o=Math.imul(D,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=xt,u[11]=kt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},a434:function(t,e,r){"use strict";var i=r("23e7"),n=r("23cb"),o=r("a691"),a=r("50c4"),s=r("7b0b"),u=r("65f0"),h=r("8418"),f=r("1dde"),l=r("ae40"),c=f("splice"),d=l("splice",{ACCESSORS:!0,0:0,1:2}),p=Math.max,m=Math.min,b=9007199254740991,v="Maximum allowed length exceeded";i({target:"Array",proto:!0,forced:!c||!d},{splice:function(t,e){var r,i,f,l,c,d,g=s(this),y=a(g.length),w=n(t,y),M=arguments.length;if(0===M?r=i=0:1===M?(r=0,i=y-w):(r=M-2,i=m(p(o(e),0),y-w)),y+r-i>b)throw TypeError(v);for(f=u(g,i),l=0;ly-i+r;l--)delete g[l-1]}else if(r>i)for(l=y-i;l>w;l--)c=l+i-1,d=l+r-1,c in g?g[d]=g[c]:delete g[d];for(l=0;lo)n.push(arguments[o++]);if(i=e,(d(e)||void 0!==t)&&!st(t))return c(e)||(e=function(t,e){if("function"==typeof i&&(e=i.call(this,t,e)),!st(e))return e}),n[1]=e,Z.apply(null,n)}})}H[U][F]||k(H[U],F,H[U].valueOf),B(H,q),I[D]=!0},a630:function(t,e,r){var i=r("23e7"),n=r("4df4"),o=r("1c7e"),a=!o((function(t){Array.from(t)}));i({target:"Array",stat:!0,forced:a},{from:n})},a640:function(t,e,r){"use strict";var i=r("d039");t.exports=function(t,e){var r=[][t];return!!r&&i((function(){r.call(null,e||function(){throw 1},1)}))}},a691:function(t,e){var r=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:r)(t)}},a692:function(t,e,r){"use strict";function i(t){return!!t&&("object"===typeof t||"function"===typeof t)&&"function"===typeof t.then}function n(t){function e(t,e,r,i){function n(e){"function"!==typeof self.postMessage?t.ports[0].postMessage(e):self.postMessage(e)}r?("undefined"!==typeof console&&"error"in console&&console.error("Worker caught an error:",r),n([e,{message:r.message}])):n([e,null,i])}function r(t,e){try{return{res:t(e)}}catch(r){return{err:r}}}function n(t,n,o,a){var s=r(n,a);s.err?e(t,o,s.err):i(s.res)?s.res.then((function(r){e(t,o,null,r)}),(function(r){e(t,o,r)})):e(t,o,null,s.res)}function o(r){var i=r.data;if(Array.isArray(i)&&2===i.length){var o=i[0],a=i[1];"function"!==typeof t?e(r,o,new Error("Please pass a function into register().")):n(r,t,o,a)}}self.addEventListener("message",o)}t.exports=n},a874:function(t,e,r){var i=r("23e7"),n=r("145e"),o=r("44d2");i({target:"Array",proto:!0},{copyWithin:n}),o("copyWithin")},a958:function(t,e,r){(function(e){var i=r("a25c"),n=r("11dc");function o(t){var e=s(t),r=e.toRed(i.mont(t.modulus)).redPow(new i(t.publicExponent)).fromRed();return{blinder:r,unblinder:e.invm(t.modulus)}}function a(t,r){var n=o(r),a=r.modulus.byteLength(),s=(i.mont(r.modulus),new i(t).mul(n.blinder).umod(r.modulus)),u=s.toRed(i.mont(r.prime1)),h=s.toRed(i.mont(r.prime2)),f=r.coefficient,l=r.prime1,c=r.prime2,d=u.redPow(r.exponent1),p=h.redPow(r.exponent2);d=d.fromRed(),p=p.fromRed();var m=d.isub(p).imul(f).umod(l);return m.imul(c),p.iadd(m),new e(p.imul(n.unblinder).umod(r.modulus).toArray(!1,a))}function s(t){var e=t.modulus.byteLength(),r=new i(n(e));while(r.cmp(t.modulus)>=0||!r.umod(t.prime1)||!r.umod(t.prime2))r=new i(n(e));return r}t.exports=a,a.getr=s}).call(this,r("b639").Buffer)},a975:function(t,e,r){"use strict";var i=r("ebb5"),n=r("b727").every,o=i.aTypedArray,a=i.exportTypedArrayMethod;a("every",(function(t){return n(o(this),t,arguments.length>1?arguments[1]:void 0)}))},a981:function(t,e){t.exports="undefined"!==typeof ArrayBuffer&&"undefined"!==typeof DataView},a9e3:function(t,e,r){"use strict";var i=r("83ab"),n=r("da84"),o=r("94ca"),a=r("6eeb"),s=r("5135"),u=r("c6b6"),h=r("7156"),f=r("c04e"),l=r("d039"),c=r("7c73"),d=r("241c").f,p=r("06cf").f,m=r("9bf2").f,b=r("58a8").trim,v="Number",g=n[v],y=g.prototype,w=u(c(y))==v,M=function(t){var e,r,i,n,o,a,s,u,h=f(t,!1);if("string"==typeof h&&h.length>2)if(h=b(h),e=h.charCodeAt(0),43===e||45===e){if(r=h.charCodeAt(2),88===r||120===r)return NaN}else if(48===e){switch(h.charCodeAt(1)){case 66:case 98:i=2,n=49;break;case 79:case 111:i=8,n=55;break;default:return+h}for(o=h.slice(2),a=o.length,s=0;sn)return NaN;return parseInt(o,i)}return+h};if(o(v,!g(" 0o1")||!g("0b1")||g("+0x1"))){for(var _,S=function(t){var e=arguments.length<1?0:t,r=this;return r instanceof S&&(w?l((function(){y.valueOf.call(r)})):u(r)!=v)?h(new g(M(e)),r,S):M(e)},E=i?d(g):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),A=0;E.length>A;A++)s(g,_=E[A])&&!s(S,_)&&m(S,_,p(g,_));S.prototype=y,y.constructor=S,a(n,v,S)}},aa56:function(t,e,r){"use strict";var i=r("c3c0"),n=i.rotr32;function o(t,e,r,i){return 0===t?a(e,r,i):1===t||3===t?u(e,r,i):2===t?s(e,r,i):void 0}function a(t,e,r){return t&e^~t&r}function s(t,e,r){return t&e^t&r^e&r}function u(t,e,r){return t^e^r}function h(t){return n(t,2)^n(t,13)^n(t,22)}function f(t){return n(t,6)^n(t,11)^n(t,25)}function l(t){return n(t,7)^n(t,18)^t>>>3}function c(t){return n(t,17)^n(t,19)^t>>>10}e.ft_1=o,e.ch32=a,e.maj32=s,e.p32=u,e.s0_256=h,e.s1_256=f,e.g0_256=l,e.g1_256=c},ab13:function(t,e,r){var i=r("b622"),n=i("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[n]=!1,"/./"[t](e)}catch(i){}}return!1}},ac1f:function(t,e,r){"use strict";var i=r("23e7"),n=r("9263");i({target:"RegExp",proto:!0,forced:/./.exec!==n},{exec:n})},ac4f:function(t,e,r){"use strict";var i;function n(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var o=r("d113").codes,a=o.ERR_MISSING_ARGS,s=o.ERR_STREAM_DESTROYED;function u(t){if(t)throw t}function h(t){return t.setHeader&&"function"===typeof t.abort}function f(t,e,o,a){a=n(a);var u=!1;t.on("close",(function(){u=!0})),void 0===i&&(i=r("42a7")),i(t,{readable:e,writable:o},(function(t){if(t)return a(t);u=!0,a()}));var f=!1;return function(e){if(!u&&!f)return f=!0,h(t)?t.abort():"function"===typeof t.destroy?t.destroy():void a(e||new s("pipe"))}}function l(t){t()}function c(t,e){return t.pipe(e)}function d(t){return t.length?"function"!==typeof t[t.length-1]?u:t.pop():u}function p(){for(var t=arguments.length,e=new Array(t),r=0;r0;return f(t,a,s,(function(t){i||(i=t),t&&o.forEach(l),a||(o.forEach(l),n(i))}))}));return e.reduce(c)}t.exports=p},acac:function(t,e,r){"use strict";var i=r("e2cc"),n=r("f183").getWeakData,o=r("825a"),a=r("861d"),s=r("19aa"),u=r("2266"),h=r("b727"),f=r("5135"),l=r("69f3"),c=l.set,d=l.getterFor,p=h.find,m=h.findIndex,b=0,v=function(t){return t.frozen||(t.frozen=new g)},g=function(){this.entries=[]},y=function(t,e){return p(t.entries,(function(t){return t[0]===e}))};g.prototype={get:function(t){var e=y(this,t);if(e)return e[1]},has:function(t){return!!y(this,t)},set:function(t,e){var r=y(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=m(this.entries,(function(e){return e[0]===t}));return~e&&this.entries.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,r,h){var l=t((function(t,i){s(t,l,e),c(t,{type:e,id:b++,frozen:void 0}),void 0!=i&&u(i,t[h],t,r)})),p=d(e),m=function(t,e,r){var i=p(t),a=n(o(e),!0);return!0===a?v(i).set(e,r):a[i.id]=r,t};return i(l.prototype,{delete:function(t){var e=p(this);if(!a(t))return!1;var r=n(t);return!0===r?v(e)["delete"](t):r&&f(r,e.id)&&delete r[e.id]},has:function(t){var e=p(this);if(!a(t))return!1;var r=n(t);return!0===r?v(e).has(t):r&&f(r,e.id)}}),i(l.prototype,r?{get:function(t){var e=p(this);if(a(t)){var r=n(t);return!0===r?v(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return m(this,t,e)}}:{add:function(t){return m(this,t,!0)}}),l}}},ad25:function(t,e,r){var i=r("2aee"),n=r("11dc"),o=r("98e6"),a=r("f460"),s=r("83d5"),u=r("0106"),h=r("5291"),f=r("a958"),l=r("8707").Buffer;function c(t,e){var r=t.modulus.byteLength(),i=e.length,h=o("sha1").update(l.alloc(0)).digest(),f=h.length,c=2*f;if(i>r-c-2)throw new Error("message too long");var d=l.alloc(r-i-c-2),p=r-f-1,m=n(f),b=s(l.concat([h,d,l.alloc(1,1),e],p),a(m,p)),v=s(m,a(b,f));return new u(l.concat([l.alloc(1),v,b],r))}function d(t,e,r){var i,n=e.length,o=t.modulus.byteLength();if(n>o-11)throw new Error("message too long");return i=r?l.alloc(o-n-3,255):p(o-n-3),new u(l.concat([l.from([0,r?1:2]),i,l.alloc(1),e],o))}function p(t){var e,r=l.allocUnsafe(t),i=0,o=n(2*t),a=0;while(i=0)throw new Error("data too long for modulus")}return r?f(o,a):h(o,a)}},ad6d:function(t,e,r){"use strict";var i=r("825a");t.exports=function(){var t=i(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},ad71:function(t,e,r){"use strict";(function(e,i){var n=r("966d");t.exports=_;var o,a=r("e3db");_.ReadableState=M;r("faa1").EventEmitter;var s=function(t,e){return t.listeners(e).length},u=r("429b"),h=r("8707").Buffer,f=e.Uint8Array||function(){};function l(t){return h.from(t)}function c(t){return h.isBuffer(t)||t instanceof f}var d=Object.create(r("3a7c"));d.inherits=r("3fb5");var p=r(2),m=void 0;m=p&&p.debuglog?p.debuglog("stream"):function(){};var b,v=r("5e1a"),g=r("4681");d.inherits(_,u);var y=["error","close","destroy","pause","resume"];function w(t,e,r){if("function"===typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?a(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}function M(t,e){o=o||r("b19a"),t=t||{};var i=e instanceof o;this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var n=t.highWaterMark,a=t.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i&&(a||0===a)?a:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new v,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(b||(b=r("7d72").StringDecoder),this.decoder=new b(t.encoding),this.encoding=t.encoding)}function _(t){if(o=o||r("b19a"),!(this instanceof _))return new _(t);this._readableState=new M(t,this),this.readable=!0,t&&("function"===typeof t.read&&(this._read=t.read),"function"===typeof t.destroy&&(this._destroy=t.destroy)),u.call(this)}function S(t,e,r,i,n){var o,a=t._readableState;null===e?(a.reading=!1,T(t,a)):(n||(o=A(a,e)),o?t.emit("error",o):a.objectMode||e&&e.length>0?("string"===typeof e||a.objectMode||Object.getPrototypeOf(e)===h.prototype||(e=l(e)),i?a.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):E(t,a,e,!0):a.ended?t.emit("error",new Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?E(t,a,e,!1):C(t,a)):E(t,a,e,!1))):i||(a.reading=!1));return x(a)}function E(t,e,r,i){e.flowing&&0===e.length&&!e.sync?(t.emit("data",r),t.read(0)):(e.length+=e.objectMode?1:r.length,i?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&I(t)),C(t,e)}function A(t,e){var r;return c(e)||"string"===typeof e||void 0===e||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}function x(t){return!t.ended&&(t.needReadable||t.length=k?t=k:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function $(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=R(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function T(t,e){if(!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,I(t)}}function I(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(m("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?n.nextTick(O,t):O(t))}function O(t){m("emit readable"),t.emit("readable"),D(t)}function C(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(L,t,e))}function L(t,e){var r=e.length;while(!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):r=U(t,e.buffer,e.decoder),r);var r}function U(t,e,r){var i;return to.length?o.length:t;if(a===o.length?n+=o:n+=o.slice(0,t),t-=a,0===t){a===o.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(a));break}++i}return e.length-=i,n}function z(t,e){var r=h.allocUnsafe(t),i=e.head,n=1;i.data.copy(r),t-=i.data.length;while(i=i.next){var o=i.data,a=t>o.length?o.length:t;if(o.copy(r,r.length-t,0,a),t-=a,0===t){a===o.length?(++n,i.next?e.head=i.next:e.head=e.tail=null):(e.head=i,i.data=o.slice(a));break}++n}return e.length-=n,r}function K(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,n.nextTick(W,e,t))}function W(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function H(t,e){for(var r=0,i=t.length;r=e.highWaterMark||e.ended))return m("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?K(this):I(this),null;if(t=$(t,e),0===t&&e.ended)return 0===e.length&&K(this),null;var i,n=e.needReadable;return m("need readable",n),(0===e.length||e.length-t0?q(t,e):null,null===i?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&K(this)),null!==i&&this.emit("data",i),i},_.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},_.prototype.pipe=function(t,e){var r=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t);break}o.pipesCount+=1,m("pipe count=%d opts=%j",o.pipesCount,e);var a=(!e||!1!==e.end)&&t!==i.stdout&&t!==i.stderr,u=a?f:M;function h(t,e){m("onunpipe"),t===r&&e&&!1===e.hasUnpiped&&(e.hasUnpiped=!0,d())}function f(){m("onend"),t.end()}o.endEmitted?n.nextTick(u):r.once("end",u),t.on("unpipe",h);var l=N(r);t.on("drain",l);var c=!1;function d(){m("cleanup"),t.removeListener("close",g),t.removeListener("finish",y),t.removeListener("drain",l),t.removeListener("error",v),t.removeListener("unpipe",h),r.removeListener("end",f),r.removeListener("end",M),r.removeListener("data",b),c=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||l()}var p=!1;function b(e){m("ondata"),p=!1;var i=t.write(e);!1!==i||p||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==H(o.pipes,t))&&!c&&(m("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,p=!0),r.pause())}function v(e){m("onerror",e),M(),t.removeListener("error",v),0===s(t,"error")&&t.emit("error",e)}function g(){t.removeListener("finish",y),M()}function y(){m("onfinish"),t.removeListener("close",g),M()}function M(){m("unpipe"),r.unpipe(t)}return r.on("data",b),w(t,"error",v),t.once("close",g),t.once("finish",y),t.emit("pipe",r),o.flowing||(m("pipe resume"),r.resume()),t},_.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0||o>0){var f=new n;f.update(h),f.update(t),e&&f.update(e),h=f.digest();var l=0;if(a>0){var c=s.length-a;l=Math.min(a,h.length),h.copy(s,c,0,l),a-=l}if(l0){var d=u.length-o,p=Math.min(o,h.length-l);h.copy(u,d,l,l+p),o-=p}}return h.fill(0),{key:s,iv:u}}t.exports=o},ae93:function(t,e,r){"use strict";var i,n,o,a=r("e163"),s=r("9112"),u=r("5135"),h=r("b622"),f=r("c430"),l=h("iterator"),c=!1,d=function(){return this};[].keys&&(o=[].keys(),"next"in o?(n=a(a(o)),n!==Object.prototype&&(i=n)):c=!0),void 0==i&&(i={}),f||u(i,l)||s(i,l,d),t.exports={IteratorPrototype:i,BUGGY_SAFARI_ITERATORS:c}},af03:function(t,e,r){var i=r("d039");t.exports=function(t){return i((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}))}},b041:function(t,e,r){"use strict";var i=r("00ee"),n=r("f5df");t.exports=i?{}.toString:function(){return"[object "+n(this)+"]"}},b0c0:function(t,e,r){var i=r("83ab"),n=r("9bf2").f,o=Function.prototype,a=o.toString,s=/^\s*function ([^ (]*)/,u="name";i&&!(u in o)&&n(o,u,{configurable:!0,get:function(){try{return a.call(this).match(s)[1]}catch(t){return""}}})},b19a:function(t,e,r){"use strict";var i=r("966d"),n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=l;var o=Object.create(r("3a7c"));o.inherits=r("3fb5");var a=r("ad71"),s=r("dc14");o.inherits(l,a);for(var u=n(s.prototype),h=0;h>>32-e}function m(t,e,r,i,n,o,a,s){return p(t+(e^r^i)+o+a|0,s)+n|0}function b(t,e,r,i,n,o,a,s){return p(t+(e&r|~e&i)+o+a|0,s)+n|0}function v(t,e,r,i,n,o,a,s){return p(t+((e|~r)^i)+o+a|0,s)+n|0}function g(t,e,r,i,n,o,a,s){return p(t+(e&i|r&~i)+o+a|0,s)+n|0}function y(t,e,r,i,n,o,a,s){return p(t+(e^(r|~i))+o+a|0,s)+n|0}n(d,o),d.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,d=0|this._e,w=0|this._a,M=0|this._b,_=0|this._c,S=0|this._d,E=0|this._e,A=0;A<80;A+=1){var x,k;A<16?(x=m(r,i,n,o,d,t[s[A]],l[0],h[A]),k=y(w,M,_,S,E,t[u[A]],c[0],f[A])):A<32?(x=b(r,i,n,o,d,t[s[A]],l[1],h[A]),k=g(w,M,_,S,E,t[u[A]],c[1],f[A])):A<48?(x=v(r,i,n,o,d,t[s[A]],l[2],h[A]),k=v(w,M,_,S,E,t[u[A]],c[2],f[A])):A<64?(x=g(r,i,n,o,d,t[s[A]],l[3],h[A]),k=b(w,M,_,S,E,t[u[A]],c[3],f[A])):(x=y(r,i,n,o,d,t[s[A]],l[4],h[A]),k=m(w,M,_,S,E,t[u[A]],c[4],f[A])),r=d,d=o,o=p(n,10),n=i,i=x,w=E,E=S,S=p(_,10),_=M,M=k}var R=this._b+n+S|0;this._b=this._c+o+E|0,this._c=this._d+d+w|0,this._d=this._e+r+M|0,this._e=this._a+i+_|0,this._a=R},d.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=i.alloc?i.alloc(20):new i(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=d},b622:function(t,e,r){var i=r("da84"),n=r("5692"),o=r("5135"),a=r("90e3"),s=r("4930"),u=r("fdbf"),h=n("wks"),f=i.Symbol,l=u?f:f&&f.withoutSetter||a;t.exports=function(t){return o(h,t)||(s&&o(f,t)?h[t]=f[t]:h[t]=l("Symbol."+t)),h[t]}},b639:function(t,e,r){"use strict";(function(t){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +var i=r("1fb5"),n=r("9152"),o=r("e3db");function a(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"===typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(e){return!1}}function s(){return h.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function u(t,e){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function y(t){return+t!=t&&(t=0),h.alloc(+t)}function w(t,e){if(h.isBuffer(t))return t.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!==typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return G(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(t).length;default:if(i)return G(t).length;e=(""+e).toLowerCase(),i=!0}}function M(t,e,r){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,e>>>=0,r<=e)return"";t||(t="utf8");while(1)switch(t){case"hex":return P(this,e,r);case"utf8":case"utf-8":return O(this,e,r);case"ascii":return N(this,e,r);case"latin1":case"binary":return B(this,e,r);case"base64":return I(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function _(t,e,r){var i=t[e];t[e]=t[r],t[r]=i}function S(t,e,r,i,n){if(0===t.length)return-1;if("string"===typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"===typeof e&&(e=h.from(e,i)),h.isBuffer(e))return 0===e.length?-1:E(t,e,r,i,n);if("number"===typeof e)return e&=255,h.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):E(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function E(t,e,r,i,n){var o,a=1,s=t.length,u=e.length;if(void 0!==i&&(i=String(i).toLowerCase(),"ucs2"===i||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,r/=2}function h(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(n){var f=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){for(var l=!0,c=0;cn&&(i=n)):i=n;var o=e.length;if(o%2!==0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var a=0;a239?4:h>223?3:h>191?2:1;if(n+l<=r)switch(l){case 1:h<128&&(f=h);break;case 2:o=t[n+1],128===(192&o)&&(u=(31&h)<<6|63&o,u>127&&(f=u));break;case 3:o=t[n+1],a=t[n+2],128===(192&o)&&128===(192&a)&&(u=(15&h)<<12|(63&o)<<6|63&a,u>2047&&(u<55296||u>57343)&&(f=u));break;case 4:o=t[n+1],a=t[n+2],s=t[n+3],128===(192&o)&&128===(192&a)&&128===(192&s)&&(u=(15&h)<<18|(63&o)<<12|(63&a)<<6|63&s,u>65535&&u<1114112&&(f=u))}null===f?(f=65533,l=1):f>65535&&(f-=65536,i.push(f>>>10&1023|55296),f=56320|1023&f),i.push(f),n+=l}return L(i)}e.Buffer=h,e.SlowBuffer=y,e.INSPECT_MAX_BYTES=50,h.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:a(),e.kMaxLength=s(),h.poolSize=8192,h._augment=function(t){return t.__proto__=h.prototype,t},h.from=function(t,e,r){return f(null,t,e,r)},h.TYPED_ARRAY_SUPPORT&&(h.prototype.__proto__=Uint8Array.prototype,h.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&h[Symbol.species]===h&&Object.defineProperty(h,Symbol.species,{value:null,configurable:!0})),h.alloc=function(t,e,r){return c(null,t,e,r)},h.allocUnsafe=function(t){return d(null,t)},h.allocUnsafeSlow=function(t){return d(null,t)},h.isBuffer=function(t){return!(null==t||!t._isBuffer)},h.compare=function(t,e){if(!h.isBuffer(t)||!h.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,i=e.length,n=0,o=Math.min(r,i);n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},h.prototype.compare=function(t,e,r,i,n){if(!h.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,i>>>=0,n>>>=0,this===t)return 0;for(var o=n-i,a=r-e,s=Math.min(o,a),u=this.slice(i,n),f=t.slice(e,r),l=0;ln)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return A(this,t,e,r);case"utf8":case"utf-8":return x(this,t,e,r);case"ascii":return k(this,t,e,r);case"latin1":case"binary":return R(this,t,e,r);case"base64":return $(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function L(t){var e=t.length;if(e<=C)return String.fromCharCode.apply(String,t);var r="",i=0;while(ii)&&(r=i);for(var n="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function q(t,e,r,i,n,o){if(!h.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||et.length)throw new RangeError("Index out of range")}function U(t,e,r,i){e<0&&(e=65535+e+1);for(var n=0,o=Math.min(t.length-r,2);n>>8*(i?n:1-n)}function F(t,e,r,i){e<0&&(e=4294967295+e+1);for(var n=0,o=Math.min(t.length-r,4);n>>8*(i?n:3-n)&255}function z(t,e,r,i,n,o){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function K(t,e,r,i,o){return o||z(t,e,r,4,34028234663852886e22,-34028234663852886e22),n.write(t,e,r,i,23,4),r+4}function W(t,e,r,i,o){return o||z(t,e,r,8,17976931348623157e292,-17976931348623157e292),n.write(t,e,r,i,52,8),r+8}h.prototype.slice=function(t,e){var r,i=this.length;if(t=~~t,e=void 0===e?i:~~e,t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),e<0?(e+=i,e<0&&(e=0)):e>i&&(e=i),e0&&(n*=256))i+=this[t+--e]*n;return i},h.prototype.readUInt8=function(t,e){return e||D(t,1,this.length),this[t]},h.prototype.readUInt16LE=function(t,e){return e||D(t,2,this.length),this[t]|this[t+1]<<8},h.prototype.readUInt16BE=function(t,e){return e||D(t,2,this.length),this[t]<<8|this[t+1]},h.prototype.readUInt32LE=function(t,e){return e||D(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},h.prototype.readUInt32BE=function(t,e){return e||D(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},h.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||D(t,e,this.length);var i=this[t],n=1,o=0;while(++o=n&&(i-=Math.pow(2,8*e)),i},h.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||D(t,e,this.length);var i=e,n=1,o=this[t+--i];while(i>0&&(n*=256))o+=this[t+--i]*n;return n*=128,o>=n&&(o-=Math.pow(2,8*e)),o},h.prototype.readInt8=function(t,e){return e||D(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},h.prototype.readInt16LE=function(t,e){e||D(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt16BE=function(t,e){e||D(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt32LE=function(t,e){return e||D(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},h.prototype.readInt32BE=function(t,e){return e||D(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},h.prototype.readFloatLE=function(t,e){return e||D(t,4,this.length),n.read(this,t,!0,23,4)},h.prototype.readFloatBE=function(t,e){return e||D(t,4,this.length),n.read(this,t,!1,23,4)},h.prototype.readDoubleLE=function(t,e){return e||D(t,8,this.length),n.read(this,t,!0,52,8)},h.prototype.readDoubleBE=function(t,e){return e||D(t,8,this.length),n.read(this,t,!1,52,8)},h.prototype.writeUIntLE=function(t,e,r,i){if(t=+t,e|=0,r|=0,!i){var n=Math.pow(2,8*r)-1;q(this,t,e,r,n,0)}var o=1,a=0;this[e]=255&t;while(++a=0&&(a*=256))this[e+o]=t/a&255;return e+r},h.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||q(this,t,e,1,255,0),h.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},h.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||q(this,t,e,2,65535,0),h.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):U(this,t,e,!0),e+2},h.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||q(this,t,e,2,65535,0),h.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):U(this,t,e,!1),e+2},h.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||q(this,t,e,4,4294967295,0),h.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):F(this,t,e,!0),e+4},h.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||q(this,t,e,4,4294967295,0),h.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):F(this,t,e,!1),e+4},h.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e|=0,!i){var n=Math.pow(2,8*r-1);q(this,t,e,r,n-1,-n)}var o=0,a=1,s=0;this[e]=255&t;while(++o>0)-s&255;return e+r},h.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e|=0,!i){var n=Math.pow(2,8*r-1);q(this,t,e,r,n-1,-n)}var o=r-1,a=1,s=0;this[e+o]=255&t;while(--o>=0&&(a*=256))t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},h.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||q(this,t,e,1,127,-128),h.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},h.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||q(this,t,e,2,32767,-32768),h.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):U(this,t,e,!0),e+2},h.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||q(this,t,e,2,32767,-32768),h.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):U(this,t,e,!1),e+2},h.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||q(this,t,e,4,2147483647,-2147483648),h.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):F(this,t,e,!0),e+4},h.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||q(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),h.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):F(this,t,e,!1),e+4},h.prototype.writeFloatLE=function(t,e,r){return K(this,t,e,!0,r)},h.prototype.writeFloatBE=function(t,e,r){return K(this,t,e,!1,r)},h.prototype.writeDoubleLE=function(t,e,r){return W(this,t,e,!0,r)},h.prototype.writeDoubleBE=function(t,e,r){return W(this,t,e,!1,r)},h.prototype.copy=function(t,e,r,i){if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--n)t[n+e]=this[n+r];else if(o<1e3||!h.TYPED_ARRAY_SUPPORT)for(n=0;n>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"===typeof t)for(o=e;o55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function X(t){for(var e=[],r=0;r>8,n=r%256,o.push(n),o.push(i)}return o}function Q(t){return i.toByteArray(Z(t))}function tt(t,e,r,i){for(var n=0;n=e.length||n>=t.length)break;e[n+r]=t[n]}return n}function et(t){return t!==t}}).call(this,r("c8ba"))},b64b:function(t,e,r){var i=r("23e7"),n=r("7b0b"),o=r("df75"),a=r("d039"),s=a((function(){o(1)}));i({target:"Object",stat:!0,forced:s},{keys:function(t){return o(n(t))}})},b672:function(t,e,r){var i=r("8707").Buffer;function n(t,e){this._block=i.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}n.prototype.update=function(t,e){"string"===typeof t&&(e=e||"utf8",t=i.from(t,e));for(var r=this._block,n=this._blockSize,o=t.length,a=this._len,s=0;s=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var i=(4294967295&r)>>>0,n=(r-i)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8),this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},n.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=n},b692:function(t,e,r){var i=r("39a9").Buffer,n=r("98e6"),o=r("34d5"),a=r("3fb5"),s=r("6fe7"),u=r("980c"),h=r("b4e8");function f(t){o.Writable.call(this);var e=h[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=n(e.hash),this._tag=e.id,this._signType=e.sign}function l(t){o.Writable.call(this);var e=h[t];if(!e)throw new Error("Unknown message digest");this._hash=n(e.hash),this._tag=e.id,this._signType=e.sign}function c(t){return new f(t)}function d(t){return new l(t)}Object.keys(h).forEach((function(t){h[t].id=i.from(h[t].id,"hex"),h[t.toLowerCase()]=h[t]})),a(f,o.Writable),f.prototype._write=function(t,e,r){this._hash.update(t),r()},f.prototype.update=function(t,e){return"string"===typeof t&&(t=i.from(t,e)),this._hash.update(t),this},f.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),i=s(r,t,this._hashType,this._signType,this._tag);return e?i.toString(e):i},a(l,o.Writable),l.prototype._write=function(t,e,r){this._hash.update(t),r()},l.prototype.update=function(t,e){return"string"===typeof t&&(t=i.from(t,e)),this._hash.update(t),this},l.prototype.verify=function(t,e,r){"string"===typeof e&&(e=i.from(e,r)),this.end();var n=this._hash.digest();return u(e,n,t,this._signType,this._tag)},t.exports={Sign:c,Verify:d,createSign:c,createVerify:d}},b727:function(t,e,r){var i=r("0366"),n=r("44ad"),o=r("7b0b"),a=r("50c4"),s=r("65f0"),u=[].push,h=function(t){var e=1==t,r=2==t,h=3==t,f=4==t,l=6==t,c=5==t||l;return function(d,p,m,b){for(var v,g,y=o(d),w=n(y),M=i(p,m,3),_=a(w.length),S=0,E=b||s,A=e?E(d,_):r?E(d,0):void 0;_>S;S++)if((c||S in w)&&(v=w[S],g=M(v,S,y),t))if(e)A[S]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return S;case 2:u.call(A,v)}else if(f)return!1;return l?-1:h||f?f:A}};t.exports={forEach:h(0),map:h(1),filter:h(2),some:h(3),every:h(4),find:h(5),findIndex:h(6)}},b73f:function(t,e,r){"use strict";var i=r("80af"),n=r("f3a3"),o=n.assert;function a(t,e){if(t instanceof a)return t;this._importDER(t,e)||(o(t.r&&t.s,"Signature without r or s"),this.r=new i(t.r,16),this.s=new i(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function s(){this.place=0}function u(t,e){var r=t[e.place++];if(!(128&r))return r;var i=15&r;if(0===i||i>4)return!1;for(var n=0,o=0,a=e.place;o>>=0;return!(n<=127)&&(e.place=a,n)}function h(t){var e=0,r=t.length-1;while(!t[e]&&!(128&t[e+1])&&e>>3);t.push(128|r);while(--r)t.push(e>>>(r<<3)&255);t.push(e)}}t.exports=a,a.prototype._importDER=function(t,e){t=n.toArray(t,e);var r=new s;if(48!==t[r.place++])return!1;var o=u(t,r);if(!1===o)return!1;if(o+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var a=u(t,r);if(!1===a)return!1;var h=t.slice(r.place,a+r.place);if(r.place+=a,2!==t[r.place++])return!1;var f=u(t,r);if(!1===f)return!1;if(t.length!==f+r.place)return!1;var l=t.slice(r.place,f+r.place);if(0===h[0]){if(!(128&h[1]))return!1;h=h.slice(1)}if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}return this.r=new i(h),this.s=new i(l),this.recoveryParam=null,!0},a.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=h(e),r=h(r);while(!r[0]&&!(128&r[1]))r=r.slice(1);var i=[2];f(i,e.length),i=i.concat(e),i.push(2),f(i,r.length);var o=i.concat(r),a=[48];return f(a,o.length),a=a.concat(o),n.encode(a,t)}},b7d1:function(t,e,r){(function(e){function r(t,e){if(i("noDeprecation"))return t;var r=!1;function n(){if(!r){if(i("throwDeprecation"))throw new Error(e);i("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}return n}function i(t){try{if(!e.localStorage)return!1}catch(i){return!1}var r=e.localStorage[t];return null!=r&&"true"===String(r).toLowerCase()}t.exports=r}).call(this,r("c8ba"))},b837:function(t,e,r){var i=r("3fb5"),n=r("4fd1"),o=r("b672"),a=r("8707").Buffer,s=new Array(160);function u(){this.init(),this._w=s,o.call(this,128,112)}i(u,n),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var t=a.allocUnsafe(48);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=u},b9a8:function(t,e,r){"use strict";var i=r("80af"),n=r("6aa2"),o=r("f3a3"),a=r("0cbb"),s=r("fdac"),u=o.assert,h=r("bb34"),f=r("b73f");function l(t){if(!(this instanceof l))return new l(t);"string"===typeof t&&(u(a.hasOwnProperty(t),"Unknown curve "+t),t=a[t]),t instanceof a.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}t.exports=l,l.prototype.keyPair=function(t){return new h(this,t)},l.prototype.keyFromPrivate=function(t,e){return h.fromPrivate(this,t,e)},l.prototype.keyFromPublic=function(t,e){return h.fromPublic(this,t,e)},l.prototype.genKeyPair=function(t){t||(t={});var e=new n({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||s(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),o=this.n.sub(new i(2));do{var a=new i(e.generate(r));if(!(a.cmp(o)>0))return a.iaddn(1),this.keyFromPrivate(a)}while(1)},l.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},l.prototype.sign=function(t,e,r,o){"object"===typeof r&&(o=r,r=null),o||(o={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new i(t,16));for(var a=this.n.byteLength(),s=e.getPrivate().toArray("be",a),u=t.toArray("be",a),h=new n({hash:this.hash,entropy:s,nonce:u,pers:o.pers,persEnc:o.persEnc||"utf8"}),l=this.n.sub(new i(1)),c=0;1;c++){var d=o.k?o.k(c):new i(h.generate(this.n.byteLength()));if(d=this._truncateToN(d,!0),!(d.cmpn(1)<=0||d.cmp(l)>=0)){var p=this.g.mul(d);if(!p.isInfinity()){var m=p.getX(),b=m.umod(this.n);if(0!==b.cmpn(0)){var v=d.invm(this.n).mul(b.mul(e.getPrivate()).iadd(t));if(v=v.umod(this.n),0!==v.cmpn(0)){var g=(p.getY().isOdd()?1:0)|(0!==m.cmp(b)?2:0);return o.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),g^=1),new f({r:b,s:v,recoveryParam:g})}}}}}},l.prototype.verify=function(t,e,r,n){t=this._truncateToN(new i(t,16)),r=this.keyFromPublic(r,n),e=new f(e,"hex");var o=e.r,a=e.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var s=a.invm(this.n),u=s.mul(t).umod(this.n),h=s.mul(o).umod(this.n);if(!this.curve._maxwellTrick){var l=this.g.mulAdd(u,r.getPublic(),h);return!l.isInfinity()&&0===l.getX().umod(this.n).cmp(o)}l=this.g.jmulAdd(u,r.getPublic(),h);return!l.isInfinity()&&l.eqXToP(o)},l.prototype.recoverPubKey=function(t,e,r,n){u((3&r)===r,"The recovery param is more than two bits"),e=new f(e,n);var o=this.n,a=new i(t),s=e.r,h=e.s,l=1&r,c=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&c)throw new Error("Unable to find sencond key candinate");s=c?this.curve.pointFromX(s.add(this.curve.n),l):this.curve.pointFromX(s,l);var d=e.r.invm(o),p=o.sub(a).mul(d).umod(o),m=h.mul(d).umod(o);return this.g.mulAdd(p,s,m)},l.prototype.getKeyRecoveryParam=function(t,e,r,i){if(e=new f(e,i),null!==e.recoveryParam)return e.recoveryParam;for(var n=0;n<4;n++){var o;try{o=this.recoverPubKey(t,e,n)}catch(t){continue}if(o.eq(r))return n}throw new Error("Unable to find valid recovery factor")}},b9b5:function(t,e,r){"use strict";var i=r("9d8a").codes.ERR_INVALID_OPT_VALUE;function n(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}function o(t,e,r,o){var a=n(e,o,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0){var s=o?r:"highWaterMark";throw new i(s,a)}return Math.floor(a)}return t.objectMode?16:16384}t.exports={getHighWaterMark:o}},bac2:function(t,e,r){var i={ECB:r("0145"),CBC:r("c119"),CFB:r("3505"),CFB8:r("62c9"),CFB1:r("5239"),OFB:r("5165"),CTR:r("6ade"),GCM:r("6ade")},n=r("e85f");for(var o in n)n[o].module=i[n[o].mode];t.exports=n},bb2f:function(t,e,r){var i=r("d039");t.exports=!i((function(){return Object.isExtensible(Object.preventExtensions({}))}))},bb34:function(t,e,r){"use strict";var i=r("80af"),n=r("f3a3"),o=n.assert;function a(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}t.exports=a,a.fromPublic=function(t,e,r){return e instanceof a?e:new a(t,{pub:e,pubEnc:r})},a.fromPrivate=function(t,e,r){return e instanceof a?e:new a(t,{priv:e,privEnc:r})},a.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},a.prototype.getPublic=function(t,e){return"string"===typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},a.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},a.prototype._importPrivate=function(t,e){this.priv=new i(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},a.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?o(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||o(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},a.prototype.derive=function(t){return t.mul(this.priv).getX()},a.prototype.sign=function(t,e,r){return this.ec.sign(t,this,e,r)},a.prototype.verify=function(t,e){return this.ec.verify(t,e,this)},a.prototype.inspect=function(){return""}},bb44:function(t,e,r){"use strict";var i=r("c3c0"),n=r("edc9"),o=i.rotl32,a=i.sum32,s=i.sum32_3,u=i.sum32_4,h=n.BlockHash;function f(){if(!(this instanceof f))return new f;h.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function l(t,e,r,i){return t<=15?e^r^i:t<=31?e&r|~e&i:t<=47?(e|~r)^i:t<=63?e&i|r&~i:e^(r|~i)}function c(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function d(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}i.inherits(f,h),e.ripemd160=f,f.blockSize=512,f.outSize=160,f.hmacStrength=192,f.padLength=64,f.prototype._update=function(t,e){for(var r=this.h[0],i=this.h[1],n=this.h[2],h=this.h[3],f=this.h[4],g=r,y=i,w=n,M=h,_=f,S=0;S<80;S++){var E=a(o(u(r,l(S,i,n,h),t[p[S]+e],c(S)),b[S]),f);r=f,f=h,h=o(n,10),n=i,i=E,E=a(o(u(g,l(79-S,y,w,M),t[m[S]+e],d(S)),v[S]),_),g=_,_=M,M=o(w,10),w=y,y=E}E=s(this.h[1],n,M),this.h[1]=s(this.h[2],h,_),this.h[2]=s(this.h[3],f,g),this.h[3]=s(this.h[4],r,y),this.h[4]=s(this.h[0],i,w),this.h[0]=E},f.prototype._digest=function(t){return"hex"===t?i.toHex32(this.h,"little"):i.split32(this.h,"little")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],m=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],b=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],v=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},bc12:function(t,e,r){(function(t){(function(t,e){"use strict";function i(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var a;"object"===typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{a=r(12).Buffer}catch(x){}function s(t,e,r){for(var i=0,n=Math.min(t.length,r),o=e;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],x=8191&A,k=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,D=P>>>13,q=0|s[0],U=8191&q,F=q>>>13,z=0|s[1],K=8191&z,W=z>>>13,H=0|s[2],Z=8191&H,Y=H>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,W)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,W)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,W)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,W)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,W)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,W)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,W)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,U),n=Math.imul(x,F),n=n+Math.imul(k,U)|0,o=Math.imul(k,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,W)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(x,K)|0,n=n+Math.imul(x,W)|0,n=n+Math.imul(k,K)|0,o=o+Math.imul(k,W)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,W)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,W)|0,i=i+Math.imul(x,Z)|0,n=n+Math.imul(x,Y)|0,n=n+Math.imul(k,Z)|0,o=o+Math.imul(k,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,W)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(x,G)|0,n=n+Math.imul(x,X)|0,n=n+Math.imul(k,G)|0,o=o+Math.imul(k,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(D,U)|0,o=Math.imul(D,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,W)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,W)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(x,Q)|0,n=n+Math.imul(x,tt)|0,n=n+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,W),n=n+Math.imul(D,K)|0,o=Math.imul(D,W),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(x,rt)|0,n=n+Math.imul(x,it)|0,n=n+Math.imul(k,rt)|0,o=o+Math.imul(k,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(D,Z)|0,o=Math.imul(D,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(x,ot)|0,n=n+Math.imul(x,at)|0,n=n+Math.imul(k,ot)|0,o=o+Math.imul(k,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(D,G)|0,o=Math.imul(D,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(x,ut)|0,n=n+Math.imul(x,ht)|0,n=n+Math.imul(k,ut)|0,o=o+Math.imul(k,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(D,Q)|0,o=Math.imul(D,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(x,lt)|0,n=n+Math.imul(x,ct)|0,n=n+Math.imul(k,lt)|0,o=o+Math.imul(k,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(D,rt)|0,o=Math.imul(D,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(x,pt)|0,n=n+Math.imul(x,mt)|0,n=n+Math.imul(k,pt)|0,o=o+Math.imul(k,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(D,ot)|0,o=Math.imul(D,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(D,ut)|0,o=Math.imul(D,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(D,lt)|0,o=Math.imul(D,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(D,pt)|0,o=Math.imul(D,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=xt,u[11]=kt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},bd9d:function(t,e){function r(t){var e,r=t.length;while(r--){if(e=t.readUInt8(r),255!==e){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}}t.exports=r},c04e:function(t,e,r){var i=r("861d");t.exports=function(t,e){if(!i(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!i(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!i(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!i(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},c119:function(t,e,r){var i=r("8c8a");e.encrypt=function(t,e){var r=i(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},e.decrypt=function(t,e){var r=t._prev;t._prev=e;var n=t._cipher.decryptBlock(e);return i(n,r)}},c1ac:function(t,e,r){"use strict";var i=r("ebb5"),n=r("b727").filter,o=r("4840"),a=i.aTypedArray,s=i.aTypedArrayConstructor,u=i.exportTypedArrayMethod;u("filter",(function(t){var e=n(a(this),t,arguments.length>1?arguments[1]:void 0),r=o(this,this.constructor),i=0,u=e.length,h=new(s(r))(u);while(u>i)h[i]=e[i++];return h}))},c24d:function(t){t.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},c2ae:function(t,e,r){t.exports=r("e372").PassThrough},c3c0:function(t,e,r){"use strict";var i=r("da3e"),n=r("3fb5");function o(t,e){return 55296===(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320===(64512&t.charCodeAt(e+1)))}function a(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"===typeof t)if(e){if("hex"===e)for(t=t.replace(/[^a-z0-9]+/gi,""),t.length%2!==0&&(t="0"+t),n=0;n>6|192,r[i++]=63&a|128):o(t,n)?(a=65536+((1023&a)<<10)+(1023&t.charCodeAt(++n)),r[i++]=a>>18|240,r[i++]=a>>12&63|128,r[i++]=a>>6&63|128,r[i++]=63&a|128):(r[i++]=a>>12|224,r[i++]=a>>6&63|128,r[i++]=63&a|128)}else for(n=0;n>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24;return e>>>0}function h(t,e){for(var r="",i=0;i>>0}return a}function d(t,e){for(var r=new Array(4*t.length),i=0,n=0;i>>24,r[n+1]=o>>>16&255,r[n+2]=o>>>8&255,r[n+3]=255&o):(r[n+3]=o>>>24,r[n+2]=o>>>16&255,r[n+1]=o>>>8&255,r[n]=255&o)}return r}function p(t,e){return t>>>e|t<<32-e}function m(t,e){return t<>>32-e}function b(t,e){return t+e>>>0}function v(t,e,r){return t+e+r>>>0}function g(t,e,r,i){return t+e+r+i>>>0}function y(t,e,r,i,n){return t+e+r+i+n>>>0}function w(t,e,r,i){var n=t[e],o=t[e+1],a=i+o>>>0,s=(a>>0,t[e+1]=a}function M(t,e,r,i){var n=e+i>>>0,o=(n>>0}function _(t,e,r,i){var n=e+i;return n>>>0}function S(t,e,r,i,n,o,a,s){var u=0,h=e;h=h+i>>>0,u+=h>>0,u+=h>>0,u+=h>>0}function E(t,e,r,i,n,o,a,s){var u=e+i+o+s;return u>>>0}function A(t,e,r,i,n,o,a,s,u,h){var f=0,l=e;l=l+i>>>0,f+=l>>0,f+=l>>0,f+=l>>0,f+=l>>0}function x(t,e,r,i,n,o,a,s,u,h){var f=e+i+o+s+h;return f>>>0}function k(t,e,r){var i=e<<32-r|t>>>r;return i>>>0}function R(t,e,r){var i=t<<32-r|e>>>r;return i>>>0}function $(t,e,r){return t>>>r}function T(t,e,r){var i=t<<32-r|e>>>r;return i>>>0}e.inherits=n,e.toArray=a,e.toHex=s,e.htonl=u,e.toHex32=h,e.zero2=f,e.zero8=l,e.join32=c,e.split32=d,e.rotr32=p,e.rotl32=m,e.sum32=b,e.sum32_3=v,e.sum32_4=g,e.sum32_5=y,e.sum64=w,e.sum64_hi=M,e.sum64_lo=_,e.sum64_4_hi=S,e.sum64_4_lo=E,e.sum64_5_hi=A,e.sum64_5_lo=x,e.rotr64_hi=k,e.rotr64_lo=R,e.shr64_hi=$,e.shr64_lo=T},c430:function(t,e){t.exports=!1},c6b6:function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},c6cd:function(t,e,r){var i=r("da84"),n=r("ce4e"),o="__core-js_shared__",a=i[o]||n(o,{});t.exports=a},c8ba:function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(i){"object"===typeof window&&(r=window)}t.exports=r},ca84:function(t,e,r){var i=r("5135"),n=r("fc6a"),o=r("4d64").indexOf,a=r("d012");t.exports=function(t,e){var r,s=n(t),u=0,h=[];for(r in s)!i(a,r)&&i(s,r)&&h.push(r);while(e.length>u)i(s,r=e[u++])&&(~o(h,r)||h.push(r));return h}},ca91:function(t,e,r){"use strict";var i=r("ebb5"),n=r("d58f").left,o=i.aTypedArray,a=i.exportTypedArrayMethod;a("reduce",(function(t){return n(o(this),t,arguments.length,arguments.length>1?arguments[1]:void 0)}))},caad:function(t,e,r){"use strict";var i=r("23e7"),n=r("4d64").includes,o=r("44d2"),a=r("ae40"),s=a("indexOf",{ACCESSORS:!0,1:0});i({target:"Array",proto:!0,forced:!s},{includes:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}}),o("includes")},cc12:function(t,e,r){var i=r("da84"),n=r("861d"),o=i.document,a=n(o)&&n(o.createElement);t.exports=function(t){return a?o.createElement(t):{}}},cd26:function(t,e,r){"use strict";var i=r("ebb5"),n=i.aTypedArray,o=i.exportTypedArrayMethod,a=Math.floor;o("reverse",(function(){var t,e=this,r=n(e).length,i=a(r/2),o=0;while(o0)if("string"===typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=h(e)),i)a.endEmitted?A(t,new E):I(t,a,e,!0);else if(a.ended)A(t,new _);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?I(t,a,e,!1):D(t,a)):I(t,a,e,!1)}else i||(a.reading=!1,D(t,a));return!a.ended&&(a.length=C?t=C:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function N(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=L(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function B(t,e){if(l("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?P(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,j(t)))}}function P(t){var e=t._readableState;l("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(l("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(j,t))}function j(t){var e=t._readableState;l("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,H(t)}function D(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(q,t,e))}function q(t,e){while(!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function z(t){l("readable nexttick read 0"),t.read(0)}function K(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(W,t,e))}function W(t,e){l("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),H(t),e.flowing&&!e.reading&&t.read(0)}function H(t){var e=t._readableState;l("flow",e.flowing);while(e.flowing&&null!==t.read());}function Z(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function Y(t){var e=t._readableState;l("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(V,e,t))}function V(t,e){if(l("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function G(t,e){for(var r=0,i=t.length;r=e.highWaterMark:e.length>0)||e.ended))return l("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?Y(this):P(this),null;if(t=N(t,e),0===t&&e.ended)return 0===e.length&&Y(this),null;var i,n=e.needReadable;return l("need readable",n),(0===e.length||e.length-t0?Z(t,e):null,null===i?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Y(this)),null!==i&&this.emit("data",i),i},$.prototype._read=function(t){A(this,new S("_read()"))},$.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t);break}n.pipesCount+=1,l("pipe count=%d opts=%j",n.pipesCount,e);var a=(!e||!1!==e.end)&&t!==i.stdout&&t!==i.stderr,s=a?h:g;function u(t,e){l("onunpipe"),t===r&&e&&!1===e.hasUnpiped&&(e.hasUnpiped=!0,d())}function h(){l("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",u);var f=U(r);t.on("drain",f);var c=!1;function d(){l("cleanup"),t.removeListener("close",b),t.removeListener("finish",v),t.removeListener("drain",f),t.removeListener("error",m),t.removeListener("unpipe",u),r.removeListener("end",h),r.removeListener("end",g),r.removeListener("data",p),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||f()}function p(e){l("ondata");var i=t.write(e);l("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==G(n.pipes,t))&&!c&&(l("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function m(e){l("onerror",e),g(),t.removeListener("error",m),0===o(t,"error")&&A(t,e)}function b(){t.removeListener("finish",v),g()}function v(){l("onfinish"),t.removeListener("close",b),g()}function g(){l("unpipe"),r.unpipe(t)}return r.on("data",p),k(t,"error",m),t.once("close",b),t.once("finish",v),t.emit("pipe",r),n.flowing||(l("pipe resume"),r.resume()),t},$.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,l("on readable",n.length,n.reading),n.length?P(this):n.reading||i.nextTick(z,this))),r},$.prototype.addListener=$.prototype.on,$.prototype.removeListener=function(t,e){var r=a.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(F,this),r},$.prototype.removeAllListeners=function(t){var e=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(F,this),e},$.prototype.resume=function(){var t=this._readableState;return t.flowing||(l("resume"),t.flowing=!t.readableListening,K(this,t)),t.paused=!1,this},$.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},$.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;for(var n in t.on("end",(function(){if(l("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(n){if(l("wrapped data"),r.decoder&&(n=r.decoder.write(n)),(!r.objectMode||null!==n&&void 0!==n)&&(r.objectMode||n&&n.length)){var o=e.push(n);o||(i=!0,t.pause())}})),t)void 0===this[n]&&"function"===typeof t[n]&&(this[n]=function(e){return function(){return t[e].apply(t,arguments)}}(n));for(var o=0;o>6],n=0===(32&r);if(31===(31&r)){var o=r;r=0;while(128===(128&o)){if(o=t.readUInt8(e),t.isError(o))return o;r<<=7,r|=127&o}}else r&=31;var a=s.tag[r];return{cls:i,primitive:n,tag:r,tagStr:a}}function l(t,e,r){var i=t.readUInt8(r);if(t.isError(i))return i;if(!e&&128===i)return null;if(0===(128&i))return i;var n=127&i;if(n>4)return t.error("length octect is too long");i=0;for(var o=0;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return i}function u(t,e,r,i){for(var n=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return n}o.isBN=function(t){return t instanceof o||null!==t&&"object"===typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"===typeof t)return this._initNumber(t,e,r);if("object"===typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36),t=t.toString().replace(/\s+/g,"");var n=0;"-"===t[0]&&n++,16===e?this._parseHex(t,n):this._parseBase(t,e,n),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(i("number"===typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);else if("le"===r)for(n=0,o=0;n>>26-s&67108863,s+=24,s>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)n=s(t,r,r+6),this.words[i]|=n<>>26-o&4194303,o+=24,o>=26&&(o-=26,i++);r+6!==e&&(n=s(t,e,r+6),this.words[i]|=n<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,a=o%i,s=Math.min(o,o-a)+r,h=0,f=r;f1&&0===this.words[this.length-1])this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],a=n*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var h=1;h>>26,l=67108863&u,c=Math.min(h,e.length-1),d=Math.max(0,h-t.length+1);d<=c;d++){var p=h-d|0;n=0|t.words[p],o=0|e.words[d],a=n*o+l,f+=a/67108864|0,l=67108863&a}r.words[h]=0|l,u=0|f}return 0!==u?r.words[h]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var n=0,o=0,a=0;a>>24-n&16777215,r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r,n+=2,n>=26&&(n-=26,a--)}0!==o&&(r=o.toString(16)+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];r="";var p=this.clone();p.negative=0;while(!p.isZero()){var m=p.modn(d).toString(t);p=p.idivn(d),r=p.isZero()?m+r:h[c-m.length]+m+r}this.isZero()&&(r="0"+r);while(r.length%e!==0)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return i("undefined"!==typeof a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,"byte array longer than desired length"),i(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===e,h=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),h[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0===(8191&e)&&(r+=13,e>>>=13),0===(127&e)&&(r+=7,e>>>=7),0===(15&e)&&(r+=4,e>>>=4),0===(3&e)&&(r+=2,e>>>=2),0===(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){i("number"===typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){i("number"===typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,b=0|a[2],v=8191&b,g=b>>>13,y=0|a[3],w=8191&y,M=y>>>13,_=0|a[4],S=8191&_,E=_>>>13,A=0|a[5],x=8191&A,k=A>>>13,R=0|a[6],$=8191&R,T=R>>>13,I=0|a[7],O=8191&I,C=I>>>13,L=0|a[8],N=8191&L,B=L>>>13,P=0|a[9],j=8191&P,D=P>>>13,q=0|s[0],U=8191&q,F=q>>>13,z=0|s[1],K=8191&z,W=z>>>13,H=0|s[2],Z=8191&H,Y=H>>>13,V=0|s[3],G=8191&V,X=V>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,it=et>>>13,nt=0|s[6],ot=8191&nt,at=nt>>>13,st=0|s[7],ut=8191&st,ht=st>>>13,ft=0|s[8],lt=8191&ft,ct=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19,i=Math.imul(l,U),n=Math.imul(l,F),n=n+Math.imul(c,U)|0,o=Math.imul(c,F);var bt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(p,U),n=Math.imul(p,F),n=n+Math.imul(m,U)|0,o=Math.imul(m,F),i=i+Math.imul(l,K)|0,n=n+Math.imul(l,W)|0,n=n+Math.imul(c,K)|0,o=o+Math.imul(c,W)|0;var vt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,U),n=Math.imul(v,F),n=n+Math.imul(g,U)|0,o=Math.imul(g,F),i=i+Math.imul(p,K)|0,n=n+Math.imul(p,W)|0,n=n+Math.imul(m,K)|0,o=o+Math.imul(m,W)|0,i=i+Math.imul(l,Z)|0,n=n+Math.imul(l,Y)|0,n=n+Math.imul(c,Z)|0,o=o+Math.imul(c,Y)|0;var gt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(w,U),n=Math.imul(w,F),n=n+Math.imul(M,U)|0,o=Math.imul(M,F),i=i+Math.imul(v,K)|0,n=n+Math.imul(v,W)|0,n=n+Math.imul(g,K)|0,o=o+Math.imul(g,W)|0,i=i+Math.imul(p,Z)|0,n=n+Math.imul(p,Y)|0,n=n+Math.imul(m,Z)|0,o=o+Math.imul(m,Y)|0,i=i+Math.imul(l,G)|0,n=n+Math.imul(l,X)|0,n=n+Math.imul(c,G)|0,o=o+Math.imul(c,X)|0;var yt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(S,U),n=Math.imul(S,F),n=n+Math.imul(E,U)|0,o=Math.imul(E,F),i=i+Math.imul(w,K)|0,n=n+Math.imul(w,W)|0,n=n+Math.imul(M,K)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(v,Z)|0,n=n+Math.imul(v,Y)|0,n=n+Math.imul(g,Z)|0,o=o+Math.imul(g,Y)|0,i=i+Math.imul(p,G)|0,n=n+Math.imul(p,X)|0,n=n+Math.imul(m,G)|0,o=o+Math.imul(m,X)|0,i=i+Math.imul(l,Q)|0,n=n+Math.imul(l,tt)|0,n=n+Math.imul(c,Q)|0,o=o+Math.imul(c,tt)|0;var wt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(x,U),n=Math.imul(x,F),n=n+Math.imul(k,U)|0,o=Math.imul(k,F),i=i+Math.imul(S,K)|0,n=n+Math.imul(S,W)|0,n=n+Math.imul(E,K)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=n+Math.imul(w,Y)|0,n=n+Math.imul(M,Z)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(v,X)|0,n=n+Math.imul(g,G)|0,o=o+Math.imul(g,X)|0,i=i+Math.imul(p,Q)|0,n=n+Math.imul(p,tt)|0,n=n+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,i=i+Math.imul(l,rt)|0,n=n+Math.imul(l,it)|0,n=n+Math.imul(c,rt)|0,o=o+Math.imul(c,it)|0;var Mt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul($,U),n=Math.imul($,F),n=n+Math.imul(T,U)|0,o=Math.imul(T,F),i=i+Math.imul(x,K)|0,n=n+Math.imul(x,W)|0,n=n+Math.imul(k,K)|0,o=o+Math.imul(k,W)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(S,Y)|0,n=n+Math.imul(E,Z)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(w,X)|0,n=n+Math.imul(M,G)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=n+Math.imul(v,tt)|0,n=n+Math.imul(g,Q)|0,o=o+Math.imul(g,tt)|0,i=i+Math.imul(p,rt)|0,n=n+Math.imul(p,it)|0,n=n+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0,i=i+Math.imul(l,ot)|0,n=n+Math.imul(l,at)|0,n=n+Math.imul(c,ot)|0,o=o+Math.imul(c,at)|0;var _t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(O,U),n=Math.imul(O,F),n=n+Math.imul(C,U)|0,o=Math.imul(C,F),i=i+Math.imul($,K)|0,n=n+Math.imul($,W)|0,n=n+Math.imul(T,K)|0,o=o+Math.imul(T,W)|0,i=i+Math.imul(x,Z)|0,n=n+Math.imul(x,Y)|0,n=n+Math.imul(k,Z)|0,o=o+Math.imul(k,Y)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(S,X)|0,n=n+Math.imul(E,G)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=n+Math.imul(w,tt)|0,n=n+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=n+Math.imul(v,it)|0,n=n+Math.imul(g,rt)|0,o=o+Math.imul(g,it)|0,i=i+Math.imul(p,ot)|0,n=n+Math.imul(p,at)|0,n=n+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,i=i+Math.imul(l,ut)|0,n=n+Math.imul(l,ht)|0,n=n+Math.imul(c,ut)|0,o=o+Math.imul(c,ht)|0;var St=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(N,U),n=Math.imul(N,F),n=n+Math.imul(B,U)|0,o=Math.imul(B,F),i=i+Math.imul(O,K)|0,n=n+Math.imul(O,W)|0,n=n+Math.imul(C,K)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul($,Z)|0,n=n+Math.imul($,Y)|0,n=n+Math.imul(T,Z)|0,o=o+Math.imul(T,Y)|0,i=i+Math.imul(x,G)|0,n=n+Math.imul(x,X)|0,n=n+Math.imul(k,G)|0,o=o+Math.imul(k,X)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(S,tt)|0,n=n+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=n+Math.imul(w,it)|0,n=n+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=n+Math.imul(v,at)|0,n=n+Math.imul(g,ot)|0,o=o+Math.imul(g,at)|0,i=i+Math.imul(p,ut)|0,n=n+Math.imul(p,ht)|0,n=n+Math.imul(m,ut)|0,o=o+Math.imul(m,ht)|0,i=i+Math.imul(l,lt)|0,n=n+Math.imul(l,ct)|0,n=n+Math.imul(c,lt)|0,o=o+Math.imul(c,ct)|0;var Et=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(j,U),n=Math.imul(j,F),n=n+Math.imul(D,U)|0,o=Math.imul(D,F),i=i+Math.imul(N,K)|0,n=n+Math.imul(N,W)|0,n=n+Math.imul(B,K)|0,o=o+Math.imul(B,W)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(O,Y)|0,n=n+Math.imul(C,Z)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul($,G)|0,n=n+Math.imul($,X)|0,n=n+Math.imul(T,G)|0,o=o+Math.imul(T,X)|0,i=i+Math.imul(x,Q)|0,n=n+Math.imul(x,tt)|0,n=n+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,i=i+Math.imul(S,rt)|0,n=n+Math.imul(S,it)|0,n=n+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=n+Math.imul(w,at)|0,n=n+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,i=i+Math.imul(v,ut)|0,n=n+Math.imul(v,ht)|0,n=n+Math.imul(g,ut)|0,o=o+Math.imul(g,ht)|0,i=i+Math.imul(p,lt)|0,n=n+Math.imul(p,ct)|0,n=n+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0,i=i+Math.imul(l,pt)|0,n=n+Math.imul(l,mt)|0,n=n+Math.imul(c,pt)|0,o=o+Math.imul(c,mt)|0;var At=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(j,K),n=Math.imul(j,W),n=n+Math.imul(D,K)|0,o=Math.imul(D,W),i=i+Math.imul(N,Z)|0,n=n+Math.imul(N,Y)|0,n=n+Math.imul(B,Z)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(O,X)|0,n=n+Math.imul(C,G)|0,o=o+Math.imul(C,X)|0,i=i+Math.imul($,Q)|0,n=n+Math.imul($,tt)|0,n=n+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,i=i+Math.imul(x,rt)|0,n=n+Math.imul(x,it)|0,n=n+Math.imul(k,rt)|0,o=o+Math.imul(k,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(S,at)|0,n=n+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,i=i+Math.imul(w,ut)|0,n=n+Math.imul(w,ht)|0,n=n+Math.imul(M,ut)|0,o=o+Math.imul(M,ht)|0,i=i+Math.imul(v,lt)|0,n=n+Math.imul(v,ct)|0,n=n+Math.imul(g,lt)|0,o=o+Math.imul(g,ct)|0,i=i+Math.imul(p,pt)|0,n=n+Math.imul(p,mt)|0,n=n+Math.imul(m,pt)|0,o=o+Math.imul(m,mt)|0;var xt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(j,Z),n=Math.imul(j,Y),n=n+Math.imul(D,Z)|0,o=Math.imul(D,Y),i=i+Math.imul(N,G)|0,n=n+Math.imul(N,X)|0,n=n+Math.imul(B,G)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(O,Q)|0,n=n+Math.imul(O,tt)|0,n=n+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul($,rt)|0,n=n+Math.imul($,it)|0,n=n+Math.imul(T,rt)|0,o=o+Math.imul(T,it)|0,i=i+Math.imul(x,ot)|0,n=n+Math.imul(x,at)|0,n=n+Math.imul(k,ot)|0,o=o+Math.imul(k,at)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(S,ht)|0,n=n+Math.imul(E,ut)|0,o=o+Math.imul(E,ht)|0,i=i+Math.imul(w,lt)|0,n=n+Math.imul(w,ct)|0,n=n+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0,i=i+Math.imul(v,pt)|0,n=n+Math.imul(v,mt)|0,n=n+Math.imul(g,pt)|0,o=o+Math.imul(g,mt)|0;var kt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(j,G),n=Math.imul(j,X),n=n+Math.imul(D,G)|0,o=Math.imul(D,X),i=i+Math.imul(N,Q)|0,n=n+Math.imul(N,tt)|0,n=n+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(O,rt)|0,n=n+Math.imul(O,it)|0,n=n+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul($,ot)|0,n=n+Math.imul($,at)|0,n=n+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,i=i+Math.imul(x,ut)|0,n=n+Math.imul(x,ht)|0,n=n+Math.imul(k,ut)|0,o=o+Math.imul(k,ht)|0,i=i+Math.imul(S,lt)|0,n=n+Math.imul(S,ct)|0,n=n+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0,i=i+Math.imul(w,pt)|0,n=n+Math.imul(w,mt)|0,n=n+Math.imul(M,pt)|0,o=o+Math.imul(M,mt)|0;var Rt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(j,Q),n=Math.imul(j,tt),n=n+Math.imul(D,Q)|0,o=Math.imul(D,tt),i=i+Math.imul(N,rt)|0,n=n+Math.imul(N,it)|0,n=n+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(O,ot)|0,n=n+Math.imul(O,at)|0,n=n+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,i=i+Math.imul($,ut)|0,n=n+Math.imul($,ht)|0,n=n+Math.imul(T,ut)|0,o=o+Math.imul(T,ht)|0,i=i+Math.imul(x,lt)|0,n=n+Math.imul(x,ct)|0,n=n+Math.imul(k,lt)|0,o=o+Math.imul(k,ct)|0,i=i+Math.imul(S,pt)|0,n=n+Math.imul(S,mt)|0,n=n+Math.imul(E,pt)|0,o=o+Math.imul(E,mt)|0;var $t=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+($t>>>26)|0,$t&=67108863,i=Math.imul(j,rt),n=Math.imul(j,it),n=n+Math.imul(D,rt)|0,o=Math.imul(D,it),i=i+Math.imul(N,ot)|0,n=n+Math.imul(N,at)|0,n=n+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,i=i+Math.imul(O,ut)|0,n=n+Math.imul(O,ht)|0,n=n+Math.imul(C,ut)|0,o=o+Math.imul(C,ht)|0,i=i+Math.imul($,lt)|0,n=n+Math.imul($,ct)|0,n=n+Math.imul(T,lt)|0,o=o+Math.imul(T,ct)|0,i=i+Math.imul(x,pt)|0,n=n+Math.imul(x,mt)|0,n=n+Math.imul(k,pt)|0,o=o+Math.imul(k,mt)|0;var Tt=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(j,ot),n=Math.imul(j,at),n=n+Math.imul(D,ot)|0,o=Math.imul(D,at),i=i+Math.imul(N,ut)|0,n=n+Math.imul(N,ht)|0,n=n+Math.imul(B,ut)|0,o=o+Math.imul(B,ht)|0,i=i+Math.imul(O,lt)|0,n=n+Math.imul(O,ct)|0,n=n+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0,i=i+Math.imul($,pt)|0,n=n+Math.imul($,mt)|0,n=n+Math.imul(T,pt)|0,o=o+Math.imul(T,mt)|0;var It=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(j,ut),n=Math.imul(j,ht),n=n+Math.imul(D,ut)|0,o=Math.imul(D,ht),i=i+Math.imul(N,lt)|0,n=n+Math.imul(N,ct)|0,n=n+Math.imul(B,lt)|0,o=o+Math.imul(B,ct)|0,i=i+Math.imul(O,pt)|0,n=n+Math.imul(O,mt)|0,n=n+Math.imul(C,pt)|0,o=o+Math.imul(C,mt)|0;var Ot=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(j,lt),n=Math.imul(j,ct),n=n+Math.imul(D,lt)|0,o=Math.imul(D,ct),i=i+Math.imul(N,pt)|0,n=n+Math.imul(N,mt)|0,n=n+Math.imul(B,pt)|0,o=o+Math.imul(B,mt)|0;var Ct=(h+i|0)+((8191&n)<<13)|0;h=(o+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(j,pt),n=Math.imul(j,mt),n=n+Math.imul(D,pt)|0,o=Math.imul(D,mt);var Lt=(h+i|0)+((8191&n)<<13)|0;return h=(o+(n>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,u[0]=bt,u[1]=vt,u[2]=gt,u[3]=yt,u[4]=wt,u[5]=Mt,u[6]=_t,u[7]=St,u[8]=Et,u[9]=At,u[10]=xt,u[11]=kt,u[12]=Rt,u[13]=$t,u[14]=Tt,u[15]=It,u[16]=Ot,u[17]=Ct,u[18]=Lt,0!==h&&(u[19]=h,r.length++),r};function m(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0,n+=a>>>26,a&=67108863}r.words[o]=s,i=a,a=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}function b(t,e,r){var i=new v;return i.mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=d),o.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):i<63?d(this,t,e):i<1024?m(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,i=0;i>=1;return i},v.prototype.permute=function(t,e,r,i,n,o){for(var a=0;a>>=1)n++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=c(t);if(0===e.length)return new o(1);for(var r=this,i=0;i=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,h=0;h=0&&(0!==f||h>=n);h--){var l=0|this.words[h];this.words[h]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){i("number"===typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(i("number"===typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=this.length-t.length,i=this.clone(),n=t,a=0|n.words[n.length-1],s=this._countBits(a);r=26-s,0!==r&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var u,h=i.length-n.length;if("mod"!==e){u=new o(null),u.length=h+1,u.words=new Array(u.length);for(var f=0;f=0;c--){var d=67108864*(0|i.words[n.length+c])+(0|i.words[n.length+c-1]);d=Math.min(d/a|0,67108863),i._ishlnsubmul(n,d,c);while(0!==i.negative)d--,i.negative=0,i._ishlnsubmul(n,1,c),i.isZero()||(i.negative^=1);u&&(u.words[c]=d)}return u&&u.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:u||null,mod:i}},o.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(n=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:n,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!==(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},o.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n=new o(1),a=new o(0),s=new o(0),u=new o(1),h=0;while(e.isEven()&&r.isEven())e.iushrn(1),r.iushrn(1),++h;var f=r.clone(),l=e.clone();while(!e.isZero()){for(var c=0,d=1;0===(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0){e.iushrn(c);while(c-- >0)(n.isOdd()||a.isOdd())&&(n.iadd(f),a.isub(l)),n.iushrn(1),a.iushrn(1)}for(var p=0,m=1;0===(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0){r.iushrn(p);while(p-- >0)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1)}e.cmp(r)>=0?(e.isub(r),n.isub(s),a.isub(u)):(r.isub(e),s.isub(n),u.isub(a))}return{a:s,b:u,gcd:r.iushln(h)}},o.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();var n,a=new o(1),s=new o(0),u=r.clone();while(e.cmpn(1)>0&&r.cmpn(1)>0){for(var h=0,f=1;0===(e.words[0]&f)&&h<26;++h,f<<=1);if(h>0){e.iushrn(h);while(h-- >0)a.isOdd()&&a.iadd(u),a.iushrn(1)}for(var l=0,c=1;0===(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0){r.iushrn(l);while(l-- >0)s.isOdd()&&s.iadd(u),s.iushrn(1)}e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return n=0===e.cmpn(1)?a:s,n.cmpn(0)<0&&n.iadd(t),n},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);do{while(e.isEven())e.iushrn(1);while(r.isEven())r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}while(1);return r.iushln(i)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0===(1&this.words[0])},o.prototype.isOdd=function(){return 1===(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){i("number"===typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new E(t)},o.prototype.toRed=function(t){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return i(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return i(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"===typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),e=r.bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},n(w,y),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=a}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},E.prototype._verify1=function(t){i(0===t.negative,"red works only with positives"),i(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){i(0===(t.negative|e.negative),"red works only with positives"),i(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2===1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}var n=this.m.subn(1),a=0;while(!n.isZero()&&0===n.andln(1))a++,n.iushrn(1);i(!n.isZero());var s=new o(1).toRed(this),u=s.redNeg(),h=this.m.subn(1).iushrn(1),f=this.m.bitLength();f=new o(2*f*f).toRed(this);while(0!==this.pow(f,h).cmp(u))f.redIAdd(u);var l=this.pow(f,n),c=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=a;while(0!==d.cmp(s)){for(var m=d,b=0;0!==m.cmp(s);b++)m=m.redSqr();i(b=0;n--){for(var f=e.words[n],l=h-1;l>=0;l--){var c=f>>l&1;a!==i[0]&&(a=this.sqr(a)),0!==c||0!==s?(s<<=1,s|=c,u++,(u===r||0===n&&0===l)&&(a=this.mul(a,i[s]),u=0,s=0)):u=0}h=26}return a},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},n(A,E),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){var e=this.imod(t._invmp(this.m).mul(this.r2));return e._forceRed(this)}})(t,this)}).call(this,r("62e4")(t))},d113:function(t,e,r){"use strict";function i(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}var n={};function o(t,e,r){function o(t,r,i){return"string"===typeof e?e:e(t,r,i)}r||(r=Error);var a=function(t){function e(e,r,i){return t.call(this,o(e,r,i))||this}return i(e,t),e}(r);a.prototype.name=r.name,a.prototype.code=t,n[t]=a}function a(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}function s(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function u(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function h(t,e,r){return"number"!==typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}o("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),o("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,n;if("string"===typeof e&&s(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",u(t," argument"))n="The ".concat(t," ").concat(i," ").concat(a(e,"type"));else{var o=h(t,".")?"property":"argument";n='The "'.concat(t,'" ').concat(o," ").concat(i," ").concat(a(e,"type"))}return n+=". Received type ".concat(typeof r),n}),TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),o("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),o("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),o("ERR_STREAM_WRITE_AFTER_END","write after end"),o("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),o("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=n},d139:function(t,e,r){"use strict";var i=r("ebb5"),n=r("b727").find,o=i.aTypedArray,a=i.exportTypedArrayMethod;a("find",(function(t){return n(o(this),t,arguments.length>1?arguments[1]:void 0)}))},d17b:function(t,e,r){t.exports=r("e372").Transform},d1c8:function(t,e,r){var i=r("3fb5");function n(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function o(t,e){this.path=t,this.rethrow(e)}e.Reporter=n,n.prototype.isError=function(t){return t instanceof o},n.prototype.save=function(){var t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},n.prototype.restore=function(t){var e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},n.prototype.enterKey=function(t){return this._reporterState.path.push(t)},n.prototype.exitKey=function(t){var e=this._reporterState;e.path=e.path.slice(0,t-1)},n.prototype.leaveKey=function(t,e,r){var i=this._reporterState;this.exitKey(t),null!==i.obj&&(i.obj[e]=r)},n.prototype.path=function(){return this._reporterState.path.join("/")},n.prototype.enterObject=function(){var t=this._reporterState,e=t.obj;return t.obj={},e},n.prototype.leaveObject=function(t){var e=this._reporterState,r=e.obj;return e.obj=t,r},n.prototype.error=function(t){var e,r=this._reporterState,i=t instanceof o;if(e=i?t:new o(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return i||r.errors.push(e),e},n.prototype.wrapResult=function(t){var e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},i(o,Error),o.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},d1e7:function(t,e,r){"use strict";var i={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,o=n&&!i.call({1:2},1);e.f=o?function(t){var e=n(this,t);return!!e&&e.enumerable}:i},d28b:function(t,e,r){var i=r("746f");i("iterator")},d2bb:function(t,e,r){var i=r("825a"),n=r("3bbe");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,t.call(r,[]),e=r instanceof Array}catch(o){}return function(r,o){return i(r),n(o),e?t.call(r,o):r.__proto__=o,r}}():void 0)},d3b7:function(t,e,r){var i=r("00ee"),n=r("6eeb"),o=r("b041");i||n(Object.prototype,"toString",o,{unsafe:!0})},d424:function(t,e,r){"use strict";var i=r("3fb5"),n=r("8707").Buffer,o=r("6430"),a=n.alloc(128),s=64;function u(t,e){o.call(this,"digest"),"string"===typeof e&&(e=n.from(e)),this._alg=t,this._key=e,e.length>s?e=t(e):e.length=0:l>c;c+=d)c in f&&(u=r(u,f[c],c,h));return u}};t.exports={left:s(!1),right:s(!0)}},d5d6:function(t,e,r){"use strict";var i=r("ebb5"),n=r("b727").forEach,o=i.aTypedArray,a=i.exportTypedArrayMethod;a("forEach",(function(t){n(o(this),t,arguments.length>1?arguments[1]:void 0)}))},d70e:function(t){t.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},d784:function(t,e,r){"use strict";r("ac1f");var i=r("6eeb"),n=r("d039"),o=r("b622"),a=r("9263"),s=r("9112"),u=o("species"),h=!n((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),f=function(){return"$0"==="a".replace(/./,"$0")}(),l=o("replace"),c=function(){return!!/./[l]&&""===/./[l]("a","$0")}(),d=!n((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}));t.exports=function(t,e,r,l){var p=o(t),m=!n((function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})),b=m&&!n((function(){var e=!1,r=/a/;return"split"===t&&(r={},r.constructor={},r.constructor[u]=function(){return r},r.flags="",r[p]=/./[p]),r.exec=function(){return e=!0,null},r[p](""),!e}));if(!m||!b||"replace"===t&&(!h||!f||c)||"split"===t&&!d){var v=/./[p],g=r(p,""[t],(function(t,e,r,i,n){return e.exec===a?m&&!n?{done:!0,value:v.call(e,r,i)}:{done:!0,value:t.call(r,e,i)}:{done:!1}}),{REPLACE_KEEPS_$0:f,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:c}),y=g[0],w=g[1];i(String.prototype,t,y),i(RegExp.prototype,p,2==e?function(t,e){return w.call(t,this,e)}:function(t){return w.call(t,this)})}l&&s(RegExp.prototype[p],"sham",!0)}},d81d:function(t,e,r){"use strict";var i=r("23e7"),n=r("b727").map,o=r("1dde"),a=r("ae40"),s=o("map"),u=a("map");i({target:"Array",proto:!0,forced:!s||!u},{map:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}})},da3e:function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=r,r.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)}},da84:function(t,e,r){(function(e){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")()}).call(this,r("c8ba"))},dc14:function(t,e,r){"use strict";(function(e,i){var n=r("966d");function o(t){var e=this;this.next=null,this.entry=null,this.finish=function(){B(e,t)}}t.exports=y;var a,s=!e.browser&&["v0.10","v0.9."].indexOf(e.version.slice(0,5))>-1?setImmediate:n.nextTick;y.WritableState=g;var u=Object.create(r("3a7c"));u.inherits=r("3fb5");var h={deprecate:r("b7d1")},f=r("429b"),l=r("8707").Buffer,c=i.Uint8Array||function(){};function d(t){return l.from(t)}function p(t){return l.isBuffer(t)||t instanceof c}var m,b=r("4681");function v(){}function g(t,e){a=a||r("b19a"),t=t||{};var i=e instanceof a;this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var n=t.highWaterMark,s=t.writableHighWaterMark,u=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i&&(s||0===s)?s:u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===t.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){k(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function y(t){if(a=a||r("b19a"),!m.call(y,this)&&!(this instanceof a))return new y(t);this._writableState=new g(t,this),this.writable=!0,t&&("function"===typeof t.write&&(this._write=t.write),"function"===typeof t.writev&&(this._writev=t.writev),"function"===typeof t.destroy&&(this._destroy=t.destroy),"function"===typeof t.final&&(this._final=t.final)),f.call(this)}function w(t,e){var r=new Error("write after end");t.emit("error",r),n.nextTick(e,r)}function M(t,e,r,i){var o=!0,a=!1;return null===r?a=new TypeError("May not write null values to stream"):"string"===typeof r||void 0===r||e.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(t.emit("error",a),n.nextTick(i,a),o=!1),o}function _(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!==typeof e||(e=l.from(e,r)),e}function S(t,e,r,i,n,o){if(!r){var a=_(e,i,n);i!==a&&(r=!0,n="buffer",i=a)}var s=e.objectMode?1:i.length;e.length+=s;var u=e.length-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(t,e,r){r(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(t,e,r){var i=this._writableState;"function"===typeof t?(r=t,t=null,e=null):"function"===typeof e&&(r=e,e=null),null!==t&&void 0!==t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||N(this,i,r)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),y.prototype.destroy=b.destroy,y.prototype._undestroy=b.undestroy,y.prototype._destroy=function(t,e){this.end(),e(t)}}).call(this,r("4362"),r("c8ba"))},ddb0:function(t,e,r){var i=r("da84"),n=r("fdbc"),o=r("e260"),a=r("9112"),s=r("b622"),u=s("iterator"),h=s("toStringTag"),f=o.values;for(var l in n){var c=i[l],d=c&&c.prototype;if(d){if(d[u]!==f)try{a(d,u,f)}catch(m){d[u]=f}if(d[h]||a(d,h,l),n[l])for(var p in o)if(d[p]!==o[p])try{a(d,p,o[p])}catch(m){d[p]=o[p]}}}},df75:function(t,e,r){var i=r("ca84"),n=r("7839");t.exports=Object.keys||function(t){return i(t,n)}},df7c:function(t,e,r){(function(t){function r(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];"."===n?t.splice(i,1):".."===n?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r--;r)t.unshift("..");return t}function i(t){"string"!==typeof t&&(t+="");var e,r=0,i=-1,n=!0;for(e=t.length-1;e>=0;--e)if(47===t.charCodeAt(e)){if(!n){r=e+1;break}}else-1===i&&(n=!1,i=e+1);return-1===i?"":t.slice(r,i)}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],i=0;i=-1&&!i;o--){var a=o>=0?arguments[o]:t.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(e=a+"/"+e,i="/"===a.charAt(0))}return e=r(n(e.split("/"),(function(t){return!!t})),!i).join("/"),(i?"/":"")+e||"."},e.normalize=function(t){var i=e.isAbsolute(t),a="/"===o(t,-1);return t=r(n(t.split("/"),(function(t){return!!t})),!i).join("/"),t||i||(t="."),t&&a&&(t+="/"),(i?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(n(t,(function(t,e){if("string"!==typeof t)throw new TypeError("Arguments to path.join must be strings");return t})).join("/"))},e.relative=function(t,r){function i(t){for(var e=0;e=0;r--)if(""!==t[r])break;return e>r?[]:t.slice(e,r-e+1)}t=e.resolve(t).substr(1),r=e.resolve(r).substr(1);for(var n=i(t.split("/")),o=i(r.split("/")),a=Math.min(n.length,o.length),s=a,u=0;u=1;--o)if(e=t.charCodeAt(o),47===e){if(!n){i=o;break}}else n=!1;return-1===i?r?"/":".":r&&1===i?"/":t.slice(0,i)},e.basename=function(t,e){var r=i(t);return e&&r.substr(-1*e.length)===e&&(r=r.substr(0,r.length-e.length)),r},e.extname=function(t){"string"!==typeof t&&(t+="");for(var e=-1,r=0,i=-1,n=!0,o=0,a=t.length-1;a>=0;--a){var s=t.charCodeAt(a);if(47!==s)-1===i&&(n=!1,i=a+1),46===s?-1===e?e=a:1!==o&&(o=1):-1!==e&&(o=-1);else if(!n){r=a+1;break}}return-1===e||-1===i||0===o||1===o&&e===i-1&&e===r+1?"":t.slice(e,i)};var o="b"==="ab".substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e<0&&(e=t.length+e),t.substr(e,r)}}).call(this,r("4362"))},e01a:function(t,e,r){"use strict";var i=r("23e7"),n=r("83ab"),o=r("da84"),a=r("5135"),s=r("861d"),u=r("9bf2").f,h=r("e893"),f=o.Symbol;if(n&&"function"==typeof f&&(!("description"in f.prototype)||void 0!==f().description)){var l={},c=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof c?new f(t):void 0===t?f():f(t);return""===t&&(l[e]=!0),e};h(c,f);var d=c.prototype=f.prototype;d.constructor=c;var p=d.toString,m="Symbol(test)"==String(f("test")),b=/^Symbol\((.*)\)[^)]+$/;u(d,"description",{configurable:!0,get:function(){var t=s(this)?this.valueOf():this,e=p.call(t);if(a(l,t))return"";var r=m?e.slice(7,-1):e.replace(b,"$1");return""===r?void 0:r}}),i({global:!0,forced:!0},{Symbol:c})}},e07b:function(t,e,r){var i=r("5a76"),n=r("b5ca"),o=r("69f2"),a=r("8707").Buffer,s=r("7d2a"),u=r("9f9d"),h=r("8be6"),f=a.alloc(128),l={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function c(t,e,r){var i=d(t),n="sha512"===t||"sha384"===t?128:64;e.length>n?e=i(e):e.length=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:i,done:!1}:"values"==r?{value:e[i],done:!1}:{value:[i,e[i]],done:!1}}),"values"),o.Arguments=o.Array,n("keys"),n("values"),n("entries")},e2cc:function(t,e,r){var i=r("6eeb");t.exports=function(t,e,r){for(var n in e)i(t,n,e[n],r);return t}},e372:function(t,e,r){e=t.exports=r("ad71"),e.Stream=e,e.Readable=e,e.Writable=r("dc14"),e.Duplex=r("b19a"),e.Transform=r("27bf"),e.PassThrough=r("780f")},e3db:function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},e538:function(t,e,r){var i=r("b622");e.f=i},e58c:function(t,e,r){"use strict";var i=r("fc6a"),n=r("a691"),o=r("50c4"),a=r("a640"),s=r("ae40"),u=Math.min,h=[].lastIndexOf,f=!!h&&1/[1].lastIndexOf(1,-0)<0,l=a("lastIndexOf"),c=s("indexOf",{ACCESSORS:!0,1:0}),d=f||!l||!c;t.exports=d?function(t){if(f)return h.apply(this,arguments)||0;var e=i(this),r=o(e.length),a=r-1;for(arguments.length>1&&(a=u(a,n(arguments[1]))),a<0&&(a=r+a);a>=0;a--)if(a in e&&e[a]===t)return a||0;return-1}:h},e666:function(t,e,r){"use strict";(function(e){var i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=h;var n=r("4250"),o=r("19ea");r("3fb5")(h,n);for(var a=i(o.prototype),s=0;s1?arguments[1]:void 0)}))},e95a:function(t,e,r){var i=r("b622"),n=r("3f8c"),o=i("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(n.Array===t||a[o]===t)}},ea53:function(t,e,r){"use strict";var i=r("80af"),n=r("f3a3"),o=n.getNAF,a=n.getJSF,s=n.assert;function u(t,e){this.type=t,this.p=new i(e.p,16),this.red=e.prime?i.red(e.prime):i.mont(this.p),this.zero=new i(0).toRed(this.red),this.one=new i(1).toRed(this.red),this.two=new i(2).toRed(this.red),this.n=e.n&&new i(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function h(t,e){this.curve=t,this.type=e,this.precomputed=null}t.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(t,e){s(t.precomputed);var r=t._getDoubles(),i=o(e,1,this._bitLength),n=(1<=u;e--)h=(h<<1)+i[e];a.push(h)}for(var f=this.jpoint(null,null,null),l=this.jpoint(null,null,null),c=n;c>0;c--){for(u=0;u=0;h--){for(e=0;h>=0&&0===a[h];h--)e++;if(h>=0&&e++,u=u.dblp(e),h<0)break;var f=a[h];s(0!==f),u="affine"===t.type?f>0?u.mixedAdd(n[f-1>>1]):u.mixedAdd(n[-f-1>>1].neg()):f>0?u.add(n[f-1>>1]):u.add(n[-f-1>>1].neg())}return"affine"===t.type?u.toP():u},u.prototype._wnafMulAdd=function(t,e,r,i,n){for(var s=this._wnafT1,u=this._wnafT2,h=this._wnafT3,f=0,l=0;l=1;l-=2){var p=l-1,m=l;if(1===s[p]&&1===s[m]){var b=[e[p],null,null,e[m]];0===e[p].y.cmp(e[m].y)?(b[1]=e[p].add(e[m]),b[2]=e[p].toJ().mixedAdd(e[m].neg())):0===e[p].y.cmp(e[m].y.redNeg())?(b[1]=e[p].toJ().mixedAdd(e[m]),b[2]=e[p].add(e[m].neg())):(b[1]=e[p].toJ().mixedAdd(e[m]),b[2]=e[p].toJ().mixedAdd(e[m].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],g=a(r[p],r[m]);f=Math.max(g[0].length,f),h[p]=new Array(f),h[m]=new Array(f);for(var y=0;y=0;l--){var E=0;while(l>=0){var A=!0;for(y=0;y=0&&E++,_=_.dblp(E),l<0)break;for(y=0;y0?c=u[y][x-1>>1]:x<0&&(c=u[y][-x-1>>1].neg()),_="affine"===c.type?_.mixedAdd(c):_.add(c))}}for(l=0;l=Math.ceil((t.bitLength()+1)/e.step)},h.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n=this._delta8){t=this.pending;var r=t.length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=i.join32(t,0,t.length-r,this.endian);for(var n=0;n>>24&255,i[n++]=t>>>16&255,i[n++]=t>>>8&255,i[n++]=255&t}else for(i[n++]=255&t,i[n++]=t>>>8&255,i[n++]=t>>>16&255,i[n++]=t>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,o=8;o(n>>1)-1?(n>>1)-u:u,o.isubn(s)):s=0,i[a]=s,o.iushrn(1)}return i}function u(t,e){var r=[[],[]];t=t.clone(),e=e.clone();var i=0,n=0;while(t.cmpn(-i)>0||e.cmpn(-n)>0){var o,a,s=t.andln(3)+i&3,u=e.andln(3)+n&3;if(3===s&&(s=-1),3===u&&(u=-1),0===(1&s))o=0;else{var h=t.andln(7)+i&7;o=3!==h&&5!==h||2!==u?s:-s}if(r[0].push(o),0===(1&u))a=0;else{h=e.andln(7)+n&7;a=3!==h&&5!==h||2!==s?u:-u}r[1].push(a),2*i===o+1&&(i=1-i),2*n===a+1&&(n=1-n),t.iushrn(1),e.iushrn(1)}return r}function h(t,e,r){var i="_"+e;t.prototype[e]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}}function f(t){return"string"===typeof t?i.toArray(t,"hex"):t}function l(t){return new n(t,"hex","le")}i.assert=o,i.toArray=a.toArray,i.zero2=a.zero2,i.toHex=a.toHex,i.encode=a.encode,i.getNAF=s,i.getJSF=u,i.cachedProperty=h,i.parseBytes=f,i.intFromLE=l},f460:function(t,e,r){var i=r("98e6"),n=r("8707").Buffer;function o(t){var e=n.allocUnsafe(4);return e.writeUInt32BE(t,0),e}t.exports=function(t,e){var r,a=n.alloc(0),s=0;while(a.length>>32-e}function h(t,e,r,i,n,o,a){return u(t+(e&r|~e&i)+n+o|0,a)+e|0}function f(t,e,r,i,n,o,a){return u(t+(e&i|r&~i)+n+o|0,a)+e|0}function l(t,e,r,i,n,o,a){return u(t+(e^r^i)+n+o|0,a)+e|0}function c(t,e,r,i,n,o,a){return u(t+(r^(e|~i))+n+o|0,a)+e|0}i(s,n),s.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,i=this._b,n=this._c,o=this._d;r=h(r,i,n,o,t[0],3614090360,7),o=h(o,r,i,n,t[1],3905402710,12),n=h(n,o,r,i,t[2],606105819,17),i=h(i,n,o,r,t[3],3250441966,22),r=h(r,i,n,o,t[4],4118548399,7),o=h(o,r,i,n,t[5],1200080426,12),n=h(n,o,r,i,t[6],2821735955,17),i=h(i,n,o,r,t[7],4249261313,22),r=h(r,i,n,o,t[8],1770035416,7),o=h(o,r,i,n,t[9],2336552879,12),n=h(n,o,r,i,t[10],4294925233,17),i=h(i,n,o,r,t[11],2304563134,22),r=h(r,i,n,o,t[12],1804603682,7),o=h(o,r,i,n,t[13],4254626195,12),n=h(n,o,r,i,t[14],2792965006,17),i=h(i,n,o,r,t[15],1236535329,22),r=f(r,i,n,o,t[1],4129170786,5),o=f(o,r,i,n,t[6],3225465664,9),n=f(n,o,r,i,t[11],643717713,14),i=f(i,n,o,r,t[0],3921069994,20),r=f(r,i,n,o,t[5],3593408605,5),o=f(o,r,i,n,t[10],38016083,9),n=f(n,o,r,i,t[15],3634488961,14),i=f(i,n,o,r,t[4],3889429448,20),r=f(r,i,n,o,t[9],568446438,5),o=f(o,r,i,n,t[14],3275163606,9),n=f(n,o,r,i,t[3],4107603335,14),i=f(i,n,o,r,t[8],1163531501,20),r=f(r,i,n,o,t[13],2850285829,5),o=f(o,r,i,n,t[2],4243563512,9),n=f(n,o,r,i,t[7],1735328473,14),i=f(i,n,o,r,t[12],2368359562,20),r=l(r,i,n,o,t[5],4294588738,4),o=l(o,r,i,n,t[8],2272392833,11),n=l(n,o,r,i,t[11],1839030562,16),i=l(i,n,o,r,t[14],4259657740,23),r=l(r,i,n,o,t[1],2763975236,4),o=l(o,r,i,n,t[4],1272893353,11),n=l(n,o,r,i,t[7],4139469664,16),i=l(i,n,o,r,t[10],3200236656,23),r=l(r,i,n,o,t[13],681279174,4),o=l(o,r,i,n,t[0],3936430074,11),n=l(n,o,r,i,t[3],3572445317,16),i=l(i,n,o,r,t[6],76029189,23),r=l(r,i,n,o,t[9],3654602809,4),o=l(o,r,i,n,t[12],3873151461,11),n=l(n,o,r,i,t[15],530742520,16),i=l(i,n,o,r,t[2],3299628645,23),r=c(r,i,n,o,t[0],4096336452,6),o=c(o,r,i,n,t[7],1126891415,10),n=c(n,o,r,i,t[14],2878612391,15),i=c(i,n,o,r,t[5],4237533241,21),r=c(r,i,n,o,t[12],1700485571,6),o=c(o,r,i,n,t[3],2399980690,10),n=c(n,o,r,i,t[10],4293915773,15),i=c(i,n,o,r,t[1],2240044497,21),r=c(r,i,n,o,t[8],1873313359,6),o=c(o,r,i,n,t[15],4264355552,10),n=c(n,o,r,i,t[6],2734768916,15),i=c(i,n,o,r,t[13],1309151649,21),r=c(r,i,n,o,t[4],4149444226,6),o=c(o,r,i,n,t[11],3174756917,10),n=c(n,o,r,i,t[2],718787259,15),i=c(i,n,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+i|0,this._c=this._c+n|0,this._d=this._d+o|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=o.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=s},f5df:function(t,e,r){var i=r("00ee"),n=r("c6b6"),o=r("b622"),a=o("toStringTag"),s="Arguments"==n(function(){return arguments}()),u=function(t,e){try{return t[e]}catch(r){}};t.exports=i?n:function(t){var e,r,i;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=u(e=Object(t),a))?r:s?n(e):"Object"==(i=n(e))&&"function"==typeof e.callee?"Arguments":i}},f772:function(t,e,r){var i=r("5692"),n=r("90e3"),o=i("keys");t.exports=function(t){return o[t]||(o[t]=n(t))}},f83c:function(t,e){t.exports=function(){throw new Error("Readable.from is not available in the browser")}},f8cd:function(t,e,r){var i=r("a691");t.exports=function(t){var e=i(t);if(e<0)throw RangeError("The argument can't be less than 0");return e}},faa1:function(t,e,r){"use strict";var i,n="object"===typeof Reflect?Reflect:null,o=n&&"function"===typeof n.apply?n.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};function a(t){console&&console.warn&&console.warn(t)}i=n&&"function"===typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var s=Number.isNaN||function(t){return t!==t};function u(){u.init.call(this)}t.exports=u,t.exports.once=w,u.EventEmitter=u,u.prototype._events=void 0,u.prototype._eventsCount=0,u.prototype._maxListeners=void 0;var h=10;function f(t){if("function"!==typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function l(t){return void 0===t._maxListeners?u.defaultMaxListeners:t._maxListeners}function c(t,e,r,i){var n,o,s;if(f(r),o=t._events,void 0===o?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),void 0===s)s=o[e]=r,++t._eventsCount;else if("function"===typeof s?s=o[e]=i?[r,s]:[s,r]:i?s.unshift(r):s.push(r),n=l(t),n>0&&s.length>n&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=s.length,a(u)}return t}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,r){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},n=d.bind(i);return n.listener=r,i.wrapFn=n,n}function m(t,e,r){var i=t._events;if(void 0===i)return[];var n=i[e];return void 0===n?[]:"function"===typeof n?r?[n.listener||n]:[n]:r?y(n):v(n,n.length)}function b(t){var e=this._events;if(void 0!==e){var r=e[t];if("function"===typeof r)return 1;if(void 0!==r)return r.length}return 0}function v(t,e){for(var r=new Array(e),i=0;i0&&(a=e[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=n[t];if(void 0===u)return!1;if("function"===typeof u)o(u,this,e);else{var h=u.length,f=v(u,h);for(r=0;r=0;o--)if(r[o]===e||r[o].listener===e){a=r[o].listener,n=o;break}if(n<0)return this;0===n?r.shift():g(r,n),1===r.length&&(i[t]=r[0]),void 0!==i.removeListener&&this.emit("removeListener",t,a||e)}return this},u.prototype.off=u.prototype.removeListener,u.prototype.removeAllListeners=function(t){var e,r,i;if(r=this._events,void 0===r)return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0===--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var n,o=Object.keys(r);for(i=0;i=0;i--)this.removeListener(t,e[i]);return this},u.prototype.listeners=function(t){return m(this,t,!0)},u.prototype.rawListeners=function(t){return m(this,t,!1)},u.listenerCount=function(t,e){return"function"===typeof t.listenerCount?t.listenerCount(e):b.call(t,e)},u.prototype.listenerCount=b,u.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},fb2c:function(t,e,r){var i=r("74e8");i("Uint32",(function(t){return function(e,r,i){return t(this,e,r,i)}}))},fb6a:function(t,e,r){"use strict";var i=r("23e7"),n=r("861d"),o=r("e8b5"),a=r("23cb"),s=r("50c4"),u=r("fc6a"),h=r("8418"),f=r("b622"),l=r("1dde"),c=r("ae40"),d=l("slice"),p=c("slice",{ACCESSORS:!0,0:0,1:2}),m=f("species"),b=[].slice,v=Math.max;i({target:"Array",proto:!0,forced:!d||!p},{slice:function(t,e){var r,i,f,l=u(this),c=s(l.length),d=a(t,c),p=a(void 0===e?c:e,c);if(o(l)&&(r=l.constructor,"function"!=typeof r||r!==Array&&!o(r.prototype)?n(r)&&(r=r[m],null===r&&(r=void 0)):r=void 0,r===Array||void 0===r))return b.call(l,d,p);for(i=new(void 0===r?Array:r)(v(p-d,0)),f=0;d0;return f(t,a,s,(function(t){i||(i=t),t&&o.forEach(l),a||(o.forEach(l),n(i))}))}));return e.reduce(c)}t.exports=p},fc6a:function(t,e,r){var i=r("44ad"),n=r("1d80");t.exports=function(t){return i(n(t))}},fd87:function(t,e,r){var i=r("74e8");i("Int8",(function(t){return function(e,r,i){return t(this,e,r,i)}}))},fda6:function(t,e,r){var i=r("8947"),n=r("4228"),o=r("e85f");function a(){return Object.keys(o)}e.createCipher=e.Cipher=i.createCipher,e.createCipheriv=e.Cipheriv=i.createCipheriv,e.createDecipher=e.Decipher=n.createDecipher,e.createDecipheriv=e.Decipheriv=n.createDecipheriv,e.listCiphers=e.getCiphers=a},fdac:function(t,e,r){var i;function n(t){this.rand=t}if(t.exports=function(t){return i||(i=new n(null)),i.generate(t)},t.exports.Rand=n,n.prototype.generate=function(t){return this._rand(t)},n.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n","'use strict';\n\nvar assert = require('minimalistic-assert');\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n","var constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n var res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n var value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = require('./der');\n","\n// We are modularizing this manually because the current modularize setting in Emscripten has some issues:\n// https://github.com/kripken/emscripten/issues/5820\n// In addition, When you use emcc's modularization, it still expects to export a global object called `Module`,\n// which is able to be used/called before the WASM is loaded.\n// The modularization below exports a promise that loads and resolves to the actual sql.js module.\n// That way, this module can't be used before the WASM is finished loading.\n\n// We are going to define a function that a user will call to start loading initializing our Sql.js library\n// However, that function might be called multiple times, and on subsequent calls, we don't actually want it to instantiate a new instance of the Module\n// Instead, we want to return the previously loaded module\n\n// TODO: Make this not declare a global if used in the browser\nvar initSqlJsPromise = undefined;\n\nvar initSqlJs = function (moduleConfig) {\n\n if (initSqlJsPromise){\n return initSqlJsPromise;\n }\n // If we're here, we've never called this function before\n initSqlJsPromise = new Promise(function (resolveModule, reject) {\n\n // We are modularizing this manually because the current modularize setting in Emscripten has some issues:\n // https://github.com/kripken/emscripten/issues/5820\n\n // The way to affect the loading of emcc compiled modules is to create a variable called `Module` and add\n // properties to it, like `preRun`, `postRun`, etc\n // We are using that to get notified when the WASM has finished loading.\n // Only then will we return our promise\n\n // If they passed in a moduleConfig object, use that\n // Otherwise, initialize Module to the empty object\n var Module = typeof moduleConfig !== 'undefined' ? moduleConfig : {};\n\n // EMCC only allows for a single onAbort function (not an array of functions)\n // So if the user defined their own onAbort function, we remember it and call it\n var originalOnAbortFunction = Module['onAbort'];\n Module['onAbort'] = function (errorThatCausedAbort) {\n reject(new Error(errorThatCausedAbort));\n if (originalOnAbortFunction){\n originalOnAbortFunction(errorThatCausedAbort);\n }\n };\n\n Module['postRun'] = Module['postRun'] || [];\n Module['postRun'].push(function () {\n // When Emscripted calls postRun, this promise resolves with the built Module\n resolveModule(Module);\n });\n\n // There is a section of code in the emcc-generated code below that looks like this:\n // (Note that this is lowercase `module`)\n // if (typeof module !== 'undefined') {\n // module['exports'] = Module;\n // }\n // When that runs, it's going to overwrite our own modularization export efforts in shell-post.js!\n // The only way to tell emcc not to emit it is to pass the MODULARIZE=1 or MODULARIZE_INSTANCE=1 flags,\n // but that carries with it additional unnecessary baggage/bugs we don't want either.\n // So, we have three options:\n // 1) We undefine `module`\n // 2) We remember what `module['exports']` was at the beginning of this function and we restore it later\n // 3) We write a script to remove those lines of code as part of the Make process.\n //\n // Since those are the only lines of code that care about module, we will undefine it. It's the most straightforward\n // of the options, and has the side effect of reducing emcc's efforts to modify the module if its output were to change in the future.\n // That's a nice side effect since we're handling the modularization efforts ourselves\n module = undefined;\n\n // The emcc-generated code and shell-post.js code goes below,\n // meaning that all of it runs inside of this promise. If anything throws an exception, our promise will abort\n\nvar e;e||(e=typeof Module !== 'undefined' ? Module : {});null;\ne.onRuntimeInitialized=function(){function a(h,l){this.Ra=h;this.db=l;this.Qa=1;this.lb=[]}function b(h,l){this.db=l;l=ba(h)+1;this.eb=ca(l);if(null===this.eb)throw Error(\"Unable to allocate memory for the SQL string\");k(h,n,this.eb,l);this.jb=this.eb;this.$a=this.pb=null}function c(h){this.filename=\"dbfile_\"+(4294967295*Math.random()>>>0);if(null!=h){var l=this.filename,p=l?r(\"//\"+l):\"/\";l=da(!0,!0);p=ea(p,(void 0!==l?l:438)&4095|32768,0);if(h){if(\"string\"===typeof h){for(var q=Array(h.length),B=\n0,ha=h.length;Bc;++c)f.parameters.push(d[\"viii\"[c]]);\nc=new WebAssembly.Function(f,a)}else{d=[1,0,1,96];f={i:127,j:126,f:125,d:124};d.push(3);for(c=0;3>c;++c)d.push(f[\"iii\"[c]]);d.push(0);d[1]=d.length-2;c=new Uint8Array([0,97,115,109,1,0,0,0].concat(d,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0]));c=new WebAssembly.Module(c);c=(new WebAssembly.Instance(c,{e:{f:a}})).exports.f}K.set(b,c)}Ka.set(a,b);a=b}return a}var La;e.wasmBinary&&(La=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;\"object\"!==typeof WebAssembly&&I(\"no native wasm support detected\");\nfunction qa(a){var b=\"i32\";\"*\"===b.charAt(b.length-1)&&(b=\"i32\");switch(b){case \"i1\":z[a>>0]=0;break;case \"i8\":z[a>>0]=0;break;case \"i16\":Ma[a>>1]=0;break;case \"i32\":L[a>>2]=0;break;case \"i64\":M=[0,(N=0,1<=+Math.abs(N)?0>>0:~~+Math.ceil((N-+(~~N>>>0))/4294967296)>>>0:0)];L[a>>2]=M[0];L[a+4>>2]=M[1];break;case \"float\":Na[a>>2]=0;break;case \"double\":Oa[a>>3]=0;break;default:I(\"invalid type for setValue: \"+b)}}\nfunction x(a,b){b=b||\"i8\";\"*\"===b.charAt(b.length-1)&&(b=\"i32\");switch(b){case \"i1\":return z[a>>0];case \"i8\":return z[a>>0];case \"i16\":return Ma[a>>1];case \"i32\":return L[a>>2];case \"i64\":return L[a>>2];case \"float\":return Na[a>>2];case \"double\":return Oa[a>>3];default:I(\"invalid type for getValue: \"+b)}return null}var Pa,Qa=!1;function assert(a,b){a||I(\"Assertion failed: \"+b)}function Ra(a){var b=e[\"_\"+a];assert(b,\"Cannot call unknown function \"+a+\", make sure it is exported\");return b}\nfunction Sa(a,b,c,d){var f={string:function(u){var C=0;if(null!==u&&void 0!==u&&0!==u){var H=(u.length<<2)+1;C=y(H);k(u,n,C,H)}return C},array:function(u){var C=y(u.length);z.set(u,C);return C}},g=Ra(a),m=[];a=0;if(d)for(var t=0;t=d);)++c;if(16f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function A(a,b){return a?Wa(n,a,b):\"\"}\nfunction k(a,b,c,d){if(!(0=m){var t=a.charCodeAt(++g);m=65536+((m&1023)<<10)|t&1023}if(127>=m){if(c>=d)break;b[c++]=m}else{if(2047>=m){if(c+1>=d)break;b[c++]=192|m>>6}else{if(65535>=m){if(c+2>=d)break;b[c++]=224|m>>12}else{if(c+3>=d)break;b[c++]=240|m>>18;b[c++]=128|m>>12&63}b[c++]=128|m>>6&63}b[c++]=128|m&63}}b[c]=0;return c-f}\nfunction ba(a){for(var b=0,c=0;c=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}function Xa(a){var b=ba(a)+1,c=ca(b);c&&k(a,z,c,b);return c}var Ya,z,n,Ma,L,Na,Oa;\nfunction Za(){var a=Pa.buffer;Ya=a;e.HEAP8=z=new Int8Array(a);e.HEAP16=Ma=new Int16Array(a);e.HEAP32=L=new Int32Array(a);e.HEAPU8=n=new Uint8Array(a);e.HEAPU16=new Uint16Array(a);e.HEAPU32=new Uint32Array(a);e.HEAPF32=Na=new Float32Array(a);e.HEAPF64=Oa=new Float64Array(a)}var K,$a=[],ab=[],bb=[];function cb(){var a=e.preRun.shift();$a.unshift(a)}var db=0,eb=null,fb=null;e.preloadedImages={};e.preloadedAudios={};\nfunction I(a){if(e.onAbort)e.onAbort(a);J(a);Qa=!0;throw new WebAssembly.RuntimeError(\"abort(\"+a+\"). Build with -s ASSERTIONS=1 for more info.\");}function gb(){return O.startsWith(\"data:application/octet-stream;base64,\")}var O;O=\"sql-wasm.wasm\";if(!gb()){var hb=O;O=e.locateFile?e.locateFile(hb,G):G+hb}function ib(){var a=O;try{if(a==O&&La)return new Uint8Array(La);if(Fa)return Fa(a);throw\"both async and sync fetching of the wasm failed\";}catch(b){I(b)}}\nfunction jb(){if(!La&&(ya||za)){if(\"function\"===typeof fetch&&!O.startsWith(\"file://\"))return fetch(O,{credentials:\"same-origin\"}).then(function(a){if(!a.ok)throw\"failed to load wasm binary file at '\"+O+\"'\";return a.arrayBuffer()}).catch(function(){return ib()});if(Ea)return new Promise(function(a,b){Ea(O,function(c){a(new Uint8Array(c))},b)})}return Promise.resolve().then(function(){return ib()})}var N,M;\nfunction kb(a){for(;0>2]=60*g;L[pb()>>2]=Number(b!=f);c=a(c);d=a(d);c=Xa(c);d=Xa(d);f>2]=c,L[qb()+4>>2]=d):(L[qb()>>2]=d,L[qb()+4>>2]=c)}}var nb;\nfunction ub(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];\".\"===f?a.splice(d,1):\"..\"===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift(\"..\");return a}function r(a){var b=\"/\"===a.charAt(0),c=\"/\"===a.substr(-1);(a=ub(a.split(\"/\").filter(function(d){return!!d}),!b).join(\"/\"))||b||(a=\".\");a&&c&&(a+=\"/\");return(b?\"/\":\"\")+a}\nfunction vb(a){var b=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return\".\";b&&(b=b.substr(0,b.length-1));return a+b}function xb(a){if(\"/\"===a)return\"/\";a=r(a);a=a.replace(/\\/$/,\"\");var b=a.lastIndexOf(\"/\");return-1===b?a:a.substr(b+1)}\nfunction yb(){if(\"object\"===typeof crypto&&\"function\"===typeof crypto.getRandomValues){var a=new Uint8Array(1);return function(){crypto.getRandomValues(a);return a[0]}}if(Aa)try{var b=require(\"crypto\");return function(){return b.randomBytes(1)[0]}}catch(c){}return function(){I(\"randomDevice\")}}\nfunction zb(){for(var a=\"\",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:\"/\";if(\"string\"!==typeof b)throw new TypeError(\"Arguments to path.resolve must be strings\");if(!b)return\"\";a=b+\"/\"+a;b=\"/\"===b.charAt(0)}a=ub(a.split(\"/\").filter(function(d){return!!d}),!b).join(\"/\");return(b?\"/\":\"\")+a||\".\"}var Ab=[];function Bb(a,b){Ab[a]={input:[],output:[],cb:b};Cb(a,Db)}\nvar Db={open:function(a){var b=Ab[a.node.rdev];if(!b)throw new P(43);a.tty=b;a.seekable=!1},close:function(a){a.tty.cb.flush(a.tty)},flush:function(a){a.tty.cb.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.cb.xb)throw new P(60);for(var f=0,g=0;g=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Oa,a.Oa=new Uint8Array(b),0=a.node.Sa)return 0;a=Math.min(a.node.Sa-f,d);if(8b)throw new P(28);return b},sb:function(a,b,c){Q.vb(a.node,b+c);a.node.Sa=Math.max(a.node.Sa,b+c)},hb:function(a,b,c,d,f,g){if(0!==b)throw new P(28);if(32768!==(a.node.mode&61440))throw new P(43);a=a.node.Oa;if(g&2||a.buffer!==Ya){if(0>>0)%U.length}function Rb(a){var b=Qb(a.parent.id,a.name);if(U[b]===a)U[b]=a.bb;else for(b=U[b];b;){if(b.bb===a){b.bb=a.bb;break}b=b.bb}}\nfunction Jb(a,b){var c;if(c=(c=Sb(a,\"x\"))?c:a.Ma.lookup?0:2)throw new P(c,a);for(c=U[Qb(a.id,b)];c;c=c.bb){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.Ma.lookup(a,b)}function Hb(a,b,c,d){a=new Tb(a,b,c,d);b=Qb(a.parent.id,a.name);a.bb=U[b];return U[b]=a}function R(a){return 16384===(a&61440)}var Ub={r:0,\"r+\":2,w:577,\"w+\":578,a:1089,\"a+\":1090};function Vb(a){var b=[\"r\",\"w\",\"rw\"][a&3];a&512&&(b+=\"w\");return b}\nfunction Sb(a,b){if(Nb)return 0;if(!b.includes(\"r\")||a.mode&292){if(b.includes(\"w\")&&!(a.mode&146)||b.includes(\"x\")&&!(a.mode&73))return 2}else return 2;return 0}function Wb(a,b){try{return Jb(a,b),20}catch(c){}return Sb(a,\"wx\")}function Xb(a,b,c){try{var d=Jb(a,b)}catch(f){return f.Pa}if(a=Sb(a,\"wx\"))return a;if(c){if(!R(d.mode))return 54;if(d===d.parent||\"/\"===Pb(d))return 10}else if(R(d.mode))return 31;return 0}function Yb(a){var b=4096;for(a=a||0;a<=b;a++)if(!S[a])return a;throw new P(33);}\nfunction Zb(a,b){$b||($b=function(){},$b.prototype={});var c=new $b,d;for(d in a)c[d]=a[d];a=c;b=Yb(b);a.fd=b;return S[b]=a}var Gb={open:function(a){a.Na=Lb[a.node.rdev].Na;a.Na.open&&a.Na.open(a)},Za:function(){throw new P(70);}};function Cb(a,b){Lb[a]={Na:b}}\nfunction ac(a,b){var c=\"/\"===b,d=!b;if(c&&Kb)throw new P(10);if(!c&&!d){var f=W(b,{wb:!1});b=f.path;f=f.node;if(f.ab)throw new P(10);if(!R(f.mode))throw new P(54);}b={type:a,Tb:{},yb:b,Lb:[]};a=a.Wa(b);a.Wa=b;b.root=a;c?Kb=a:f&&(f.ab=b,f.Wa&&f.Wa.Lb.push(b))}function ea(a,b,c){var d=W(a,{parent:!0}).node;a=xb(a);if(!a||\".\"===a||\"..\"===a)throw new P(28);var f=Wb(d,a);if(f)throw new P(f);if(!d.Ma.gb)throw new P(63);return d.Ma.gb(d,a,b,c)}\nfunction X(a,b){return ea(a,(void 0!==b?b:511)&1023|16384,0)}function bc(a,b,c){\"undefined\"===typeof c&&(c=b,b=438);ea(a,b|8192,c)}function cc(a,b){if(!zb(a))throw new P(44);var c=W(b,{parent:!0}).node;if(!c)throw new P(44);b=xb(b);var d=Wb(c,b);if(d)throw new P(d);if(!c.Ma.symlink)throw new P(63);c.Ma.symlink(c,b,a)}\nfunction ua(a){var b=W(a,{parent:!0}).node,c=xb(a),d=Jb(b,c),f=Xb(b,c,!1);if(f)throw new P(f);if(!b.Ma.unlink)throw new P(63);if(d.ab)throw new P(10);try{V.willDeletePath&&V.willDeletePath(a)}catch(g){J(\"FS.trackingDelegate['willDeletePath']('\"+a+\"') threw an exception: \"+g.message)}b.Ma.unlink(b,c);Rb(d);try{if(V.onDeletePath)V.onDeletePath(a)}catch(g){J(\"FS.trackingDelegate['onDeletePath']('\"+a+\"') threw an exception: \"+g.message)}}\nfunction Ob(a){a=W(a).node;if(!a)throw new P(44);if(!a.Ma.readlink)throw new P(28);return zb(Pb(a.parent),a.Ma.readlink(a))}function dc(a,b){a=W(a,{Ya:!b}).node;if(!a)throw new P(44);if(!a.Ma.Ua)throw new P(63);return a.Ma.Ua(a)}function ec(a){return dc(a,!0)}function fa(a,b){a=\"string\"===typeof a?W(a,{Ya:!0}).node:a;if(!a.Ma.Ta)throw new P(63);a.Ma.Ta(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})}\nfunction fc(a){a=\"string\"===typeof a?W(a,{Ya:!0}).node:a;if(!a.Ma.Ta)throw new P(63);a.Ma.Ta(a,{timestamp:Date.now()})}function hc(a,b){if(0>b)throw new P(28);a=\"string\"===typeof a?W(a,{Ya:!0}).node:a;if(!a.Ma.Ta)throw new P(63);if(R(a.mode))throw new P(31);if(32768!==(a.mode&61440))throw new P(28);var c=Sb(a,\"w\");if(c)throw new P(c);a.Ma.Ta(a,{size:b,timestamp:Date.now()})}\nfunction v(a,b,c,d){if(\"\"===a)throw new P(44);if(\"string\"===typeof b){var f=Ub[b];if(\"undefined\"===typeof f)throw Error(\"Unknown file open mode: \"+b);b=f}c=b&64?(\"undefined\"===typeof c?438:c)&4095|32768:0;if(\"object\"===typeof a)var g=a;else{a=r(a);try{g=W(a,{Ya:!(b&131072)}).node}catch(m){}}f=!1;if(b&64)if(g){if(b&128)throw new P(20);}else g=ea(a,c,0),f=!0;if(!g)throw new P(44);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!R(g.mode))throw new P(54);if(!f&&(c=g?40960===(g.mode&61440)?32:R(g.mode)&&\n(\"r\"!==Vb(b)||b&512)?31:Sb(g,Vb(b)):44))throw new P(c);b&512&&hc(g,0);b&=-131713;d=Zb({node:g,path:Pb(g),flags:b,seekable:!0,position:0,Na:g.Na,Qb:[],error:!1},d);d.Na.open&&d.Na.open(d);!e.logReadFiles||b&1||(Kc||(Kc={}),a in Kc||(Kc[a]=1,J(\"FS.trackingDelegate error on read file: \"+a)));try{V.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),V.onOpenFile(a,g))}catch(m){J(\"FS.trackingDelegate['onOpenFile']('\"+a+\"', flags) threw an exception: \"+m.message)}return d}\nfunction la(a){if(null===a.fd)throw new P(8);a.ob&&(a.ob=null);try{a.Na.close&&a.Na.close(a)}catch(b){throw b;}finally{S[a.fd]=null}a.fd=null}function Lc(a,b,c){if(null===a.fd)throw new P(8);if(!a.seekable||!a.Na.Za)throw new P(70);if(0!=c&&1!=c&&2!=c)throw new P(28);a.position=a.Na.Za(a,b,c);a.Qb=[]}\nfunction Nc(a,b,c,d,f){if(0>d||0>f)throw new P(28);if(null===a.fd)throw new P(8);if(1===(a.flags&2097155))throw new P(8);if(R(a.node.mode))throw new P(31);if(!a.Na.read)throw new P(28);var g=\"undefined\"!==typeof f;if(!g)f=a.position;else if(!a.seekable)throw new P(70);b=a.Na.read(a,b,c,d,f);g||(a.position+=b);return b}\nfunction ka(a,b,c,d,f,g){if(0>d||0>f)throw new P(28);if(null===a.fd)throw new P(8);if(0===(a.flags&2097155))throw new P(8);if(R(a.node.mode))throw new P(31);if(!a.Na.write)throw new P(28);a.seekable&&a.flags&1024&&Lc(a,0,2);var m=\"undefined\"!==typeof f;if(!m)f=a.position;else if(!a.seekable)throw new P(70);b=a.Na.write(a,b,c,d,f,g);m||(a.position+=b);try{if(a.path&&V.onWriteToFile)V.onWriteToFile(a.path)}catch(t){J(\"FS.trackingDelegate['onWriteToFile']('\"+a.path+\"') threw an exception: \"+t.message)}return b}\nfunction ta(a){var b={encoding:\"binary\"};b=b||{};b.flags=b.flags||0;b.encoding=b.encoding||\"binary\";if(\"utf8\"!==b.encoding&&\"binary\"!==b.encoding)throw Error('Invalid encoding type \"'+b.encoding+'\"');var c,d=v(a,b.flags);a=dc(a).size;var f=new Uint8Array(a);Nc(d,f,0,a,0);\"utf8\"===b.encoding?c=Wa(f,0):\"binary\"===b.encoding&&(c=f);la(d);return c}\nfunction Oc(){P||(P=function(a,b){this.node=b;this.Pb=function(c){this.Pa=c};this.Pb(a);this.message=\"FS error\"},P.prototype=Error(),P.prototype.constructor=P,[44].forEach(function(a){Ib[a]=new P(a);Ib[a].stack=\"\"}))}var Pc;function da(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}\nfunction Qc(a,b,c){a=r(\"/dev/\"+a);var d=da(!!b,!!c);Rc||(Rc=64);var f=Rc++<<8|0;Cb(f,{open:function(g){g.seekable=!1},close:function(){c&&c.buffer&&c.buffer.length&&c(10)},read:function(g,m,t,w){for(var u=0,C=0;C>2]=d.dev;L[c+4>>2]=0;L[c+8>>2]=d.ino;L[c+12>>2]=d.mode;L[c+16>>2]=d.nlink;L[c+20>>2]=d.uid;L[c+24>>2]=d.gid;L[c+28>>2]=d.rdev;L[c+32>>2]=0;M=[d.size>>>0,(N=d.size,1<=+Math.abs(N)?0>>0:~~+Math.ceil((N-+(~~N>>>0))/4294967296)>>>0:0)];L[c+40>>2]=M[0];L[c+44>>2]=M[1];L[c+48>>2]=4096;L[c+52>>2]=d.blocks;L[c+56>>2]=d.atime.getTime()/1E3|0;L[c+60>>2]=\n0;L[c+64>>2]=d.mtime.getTime()/1E3|0;L[c+68>>2]=0;L[c+72>>2]=d.ctime.getTime()/1E3|0;L[c+76>>2]=0;M=[d.ino>>>0,(N=d.ino,1<=+Math.abs(N)?0>>0:~~+Math.ceil((N-+(~~N>>>0))/4294967296)>>>0:0)];L[c+80>>2]=M[0];L[c+84>>2]=M[1];return 0}var Uc=void 0;function Vc(){Uc+=4;return L[Uc-4>>2]}function Z(a){a=S[a];if(!a)throw new P(8);return a}var Wc;\nAa?Wc=function(){var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:\"undefined\"!==typeof dateNow?Wc=dateNow:Wc=function(){return performance.now()};var Xc={};function Yc(){if(!Zc){var a={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\",_:xa||\"./this.program\"},b;for(b in Xc)void 0===Xc[b]?delete a[b]:a[b]=Xc[b];var c=[];for(b in a)c.push(b+\"=\"+a[b]);Zc=c}return Zc}var Zc;\nfunction Tb(a,b,c,d){a||(a=this);this.parent=a;this.Wa=a.Wa;this.ab=null;this.id=Mb++;this.name=b;this.mode=c;this.Ma={};this.Na={};this.rdev=d}Object.defineProperties(Tb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}}});Oc();U=Array(4096);ac(Q,\"/\");X(\"/tmp\");X(\"/home\");X(\"/home/web_user\");\n(function(){X(\"/dev\");Cb(259,{read:function(){return 0},write:function(b,c,d,f){return f}});bc(\"/dev/null\",259);Bb(1280,Eb);Bb(1536,Fb);bc(\"/dev/tty\",1280);bc(\"/dev/tty1\",1536);var a=yb();Qc(\"random\",a);Qc(\"urandom\",a);X(\"/dev/shm\");X(\"/dev/shm/tmp\")})();\n(function(){X(\"/proc\");var a=X(\"/proc/self\");X(\"/proc/self/fd\");ac({Wa:function(){var b=Hb(a,\"fd\",16895,73);b.Ma={lookup:function(c,d){var f=S[+d];if(!f)throw new P(8);c={parent:null,Wa:{yb:\"fake\"},Ma:{readlink:function(){return f.path}}};return c.parent=c}};return b}},\"/proc/self/fd\")})();function ma(a,b){var c=Array(ba(a)+1);a=k(a,c,0,c.length);b&&(c.length=a);return c}\nvar cd={a:function(a,b,c,d){I(\"Assertion failed: \"+A(a)+\", at: \"+[b?A(b):\"unknown filename\",c,d?A(d):\"unknown function\"])},s:function(a,b){mb();a=new Date(1E3*L[a>>2]);L[b>>2]=a.getSeconds();L[b+4>>2]=a.getMinutes();L[b+8>>2]=a.getHours();L[b+12>>2]=a.getDate();L[b+16>>2]=a.getMonth();L[b+20>>2]=a.getFullYear()-1900;L[b+24>>2]=a.getDay();var c=new Date(a.getFullYear(),0,1);L[b+28>>2]=(a.getTime()-c.getTime())/864E5|0;L[b+36>>2]=-(60*a.getTimezoneOffset());var d=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();\nc=c.getTimezoneOffset();a=(d!=c&&a.getTimezoneOffset()==Math.min(c,d))|0;L[b+32>>2]=a;a=L[qb()+(a?4:0)>>2];L[b+40>>2]=a;return b},F:function(a,b){try{a=A(a);if(b&-8)var c=-28;else{var d;(d=W(a,{Ya:!0}).node)?(a=\"\",b&4&&(a+=\"r\"),b&2&&(a+=\"w\"),b&1&&(a+=\"x\"),c=a&&Sb(d,a)?-2:0):c=-44}return c}catch(f){return\"undefined\"!==typeof Y&&f instanceof P||I(f),-f.Pa}},h:function(a,b){try{return a=A(a),fa(a,b),0}catch(c){return\"undefined\"!==typeof Y&&c instanceof P||I(c),-c.Pa}},y:function(a){try{return a=A(a),\nfc(a),0}catch(b){return\"undefined\"!==typeof Y&&b instanceof P||I(b),-b.Pa}},i:function(a,b){try{var c=S[a];if(!c)throw new P(8);fa(c.node,b);return 0}catch(d){return\"undefined\"!==typeof Y&&d instanceof P||I(d),-d.Pa}},z:function(a){try{var b=S[a];if(!b)throw new P(8);fc(b.node);return 0}catch(c){return\"undefined\"!==typeof Y&&c instanceof P||I(c),-c.Pa}},b:function(a,b,c){Uc=c;try{var d=Z(a);switch(b){case 0:var f=Vc();return 0>f?-28:v(d.path,d.flags,0,f).fd;case 1:case 2:return 0;case 3:return d.flags;\ncase 4:return f=Vc(),d.flags|=f,0;case 12:return f=Vc(),Ma[f+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return L[$c()>>2]=28,-1;default:return-28}}catch(g){return\"undefined\"!==typeof Y&&g instanceof P||I(g),-g.Pa}},j:function(a,b){try{var c=Z(a);return Tc(dc,c.path,b)}catch(d){return\"undefined\"!==typeof Y&&d instanceof P||I(d),-d.Pa}},E:function(a,b,c){try{var d=S[a];if(!d)throw new P(8);if(0===(d.flags&2097155))throw new P(28);hc(d.node,c);return 0}catch(f){return\"undefined\"!==\ntypeof Y&&f instanceof P||I(f),-f.Pa}},C:function(a,b){try{if(0===b)return-28;if(b=c)var d=-28;else{var f=\nOb(a),g=Math.min(c,ba(f)),m=z[b+g];k(f,n,b,c+1);z[b+g]=m;d=g}return d}catch(t){return\"undefined\"!==typeof Y&&t instanceof P||I(t),-t.Pa}},u:function(a){try{a=A(a);var b=W(a,{parent:!0}).node,c=xb(a),d=Jb(b,c),f=Xb(b,c,!0);if(f)throw new P(f);if(!b.Ma.rmdir)throw new P(63);if(d.ab)throw new P(10);try{V.willDeletePath&&V.willDeletePath(a)}catch(g){J(\"FS.trackingDelegate['willDeletePath']('\"+a+\"') threw an exception: \"+g.message)}b.Ma.rmdir(b,c);Rb(d);try{if(V.onDeletePath)V.onDeletePath(a)}catch(g){J(\"FS.trackingDelegate['onDeletePath']('\"+\na+\"') threw an exception: \"+g.message)}return 0}catch(g){return\"undefined\"!==typeof Y&&g instanceof P||I(g),-g.Pa}},e:function(a,b){try{return a=A(a),Tc(dc,a,b)}catch(c){return\"undefined\"!==typeof Y&&c instanceof P||I(c),-c.Pa}},w:function(a){try{return a=A(a),ua(a),0}catch(b){return\"undefined\"!==typeof Y&&b instanceof P||I(b),-b.Pa}},l:function(){return 2147483648},n:function(a,b,c){n.copyWithin(a,b,b+c)},c:function(a){var b=n.length;a>>>=0;if(2147483648=c;c*=2){var d=b*\n(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0>>16);Za();var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},r:function(a){for(var b=Wc();Wc()-b>2]=g;for(g=0;g>0]=d.charCodeAt(g);z[f>>0]=0;c+=d.length+1});return 0}catch(d){return\"undefined\"!==typeof Y&&d instanceof P||I(d),d.Pa}},q:function(a,b){try{var c=\nYc();L[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});L[b>>2]=d;return 0}catch(f){return\"undefined\"!==typeof Y&&f instanceof P||I(f),f.Pa}},f:function(a){try{var b=Z(a);la(b);return 0}catch(c){return\"undefined\"!==typeof Y&&c instanceof P||I(c),c.Pa}},o:function(a,b){try{var c=Z(a);z[b>>0]=c.tty?2:R(c.mode)?3:40960===(c.mode&61440)?7:4;return 0}catch(d){return\"undefined\"!==typeof Y&&d instanceof P||I(d),d.Pa}},t:function(a,b,c,d){try{a:{for(var f=Z(a),g=a=0;g>\n2],t=Nc(f,z,L[b+8*g>>2],m,void 0);if(0>t){var w=-1;break a}a+=t;if(t>2]=w;return 0}catch(u){return\"undefined\"!==typeof Y&&u instanceof P||I(u),u.Pa}},m:function(a,b,c,d,f){try{var g=Z(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;Lc(g,a,d);M=[g.position>>>0,(N=g.position,1<=+Math.abs(N)?0>>0:~~+Math.ceil((N-+(~~N>>>0))/4294967296)>>>0:0)];L[f>>2]=M[0];L[f+4>>2]=M[1];g.ob&&0===a&&0===d&&(g.ob=\nnull);return 0}catch(m){return\"undefined\"!==typeof Y&&m instanceof P||I(m),m.Pa}},D:function(a){try{var b=Z(a);return b.Na&&b.Na.fsync?-b.Na.fsync(b):0}catch(c){return\"undefined\"!==typeof Y&&c instanceof P||I(c),c.Pa}},v:function(a,b,c,d){try{a:{for(var f=Z(a),g=a=0;g>2],L[b+(8*g+4)>>2],void 0);if(0>m){var t=-1;break a}a+=m}t=a}L[d>>2]=t;return 0}catch(w){return\"undefined\"!==typeof Y&&w instanceof P||I(w),w.Pa}},g:function(a){var b=Date.now();L[a>>2]=b/1E3|0;L[a+4>>2]=\nb%1E3*1E3|0;return 0},K:function(a){var b=Date.now()/1E3|0;a&&(L[a>>2]=b);return b},B:function(a,b){if(b){var c=b+8;b=1E3*L[c>>2];b+=L[c+4>>2]/1E3}else b=Date.now();a=A(a);try{var d=W(a,{Ya:!0}).node;d.Ma.Ta(d,{timestamp:Math.max(b,b)});var f=0}catch(g){if(!(g instanceof P)){b:{f=Error();if(!f.stack){try{throw Error();}catch(m){f=m}if(!f.stack){f=\"(no stack trace available)\";break b}}f=f.stack.toString()}e.extraStackTrace&&(f+=\"\\n\"+e.extraStackTrace());f=lb(f);throw g+\" : \"+f;}f=g.Pa;L[$c()>>2]=f;\nf=-1}return f}};\n(function(){function a(f){e.asm=f.exports;Pa=e.asm.L;Za();K=e.asm.Da;ab.unshift(e.asm.M);db--;e.monitorRunDependencies&&e.monitorRunDependencies(db);0==db&&(null!==eb&&(clearInterval(eb),eb=null),fb&&(f=fb,fb=null,f()))}function b(f){a(f.instance)}function c(f){return jb().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){J(\"failed to asynchronously prepare wasm: \"+g);I(g)})}var d={a:cd};db++;e.monitorRunDependencies&&e.monitorRunDependencies(db);if(e.instantiateWasm)try{return e.instantiateWasm(d,a)}catch(f){return J(\"Module.instantiateWasm callback failed with error: \"+\nf),!1}(function(){return La||\"function\"!==typeof WebAssembly.instantiateStreaming||gb()||O.startsWith(\"file://\")||\"function\"!==typeof fetch?c(b):fetch(O,{credentials:\"same-origin\"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){J(\"wasm streaming compile failed: \"+g);J(\"falling back to ArrayBuffer instantiation\");return c(b)})})})();return{}})();e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.M).apply(null,arguments)};\nvar bd=e._memset=function(){return(bd=e._memset=e.asm.N).apply(null,arguments)};e._sqlite3_free=function(){return(e._sqlite3_free=e.asm.O).apply(null,arguments)};var $c=e.___errno_location=function(){return($c=e.___errno_location=e.asm.P).apply(null,arguments)};e._sqlite3_step=function(){return(e._sqlite3_step=e.asm.Q).apply(null,arguments)};e._sqlite3_finalize=function(){return(e._sqlite3_finalize=e.asm.R).apply(null,arguments)};\ne._sqlite3_prepare_v2=function(){return(e._sqlite3_prepare_v2=e.asm.S).apply(null,arguments)};e._sqlite3_reset=function(){return(e._sqlite3_reset=e.asm.T).apply(null,arguments)};e._sqlite3_clear_bindings=function(){return(e._sqlite3_clear_bindings=e.asm.U).apply(null,arguments)};e._sqlite3_value_blob=function(){return(e._sqlite3_value_blob=e.asm.V).apply(null,arguments)};e._sqlite3_value_text=function(){return(e._sqlite3_value_text=e.asm.W).apply(null,arguments)};\ne._sqlite3_value_bytes=function(){return(e._sqlite3_value_bytes=e.asm.X).apply(null,arguments)};e._sqlite3_value_double=function(){return(e._sqlite3_value_double=e.asm.Y).apply(null,arguments)};e._sqlite3_value_int=function(){return(e._sqlite3_value_int=e.asm.Z).apply(null,arguments)};e._sqlite3_value_type=function(){return(e._sqlite3_value_type=e.asm._).apply(null,arguments)};e._sqlite3_result_blob=function(){return(e._sqlite3_result_blob=e.asm.$).apply(null,arguments)};\ne._sqlite3_result_double=function(){return(e._sqlite3_result_double=e.asm.aa).apply(null,arguments)};e._sqlite3_result_error=function(){return(e._sqlite3_result_error=e.asm.ba).apply(null,arguments)};e._sqlite3_result_int=function(){return(e._sqlite3_result_int=e.asm.ca).apply(null,arguments)};e._sqlite3_result_int64=function(){return(e._sqlite3_result_int64=e.asm.da).apply(null,arguments)};e._sqlite3_result_null=function(){return(e._sqlite3_result_null=e.asm.ea).apply(null,arguments)};\ne._sqlite3_result_text=function(){return(e._sqlite3_result_text=e.asm.fa).apply(null,arguments)};e._sqlite3_column_count=function(){return(e._sqlite3_column_count=e.asm.ga).apply(null,arguments)};e._sqlite3_data_count=function(){return(e._sqlite3_data_count=e.asm.ha).apply(null,arguments)};e._sqlite3_column_blob=function(){return(e._sqlite3_column_blob=e.asm.ia).apply(null,arguments)};e._sqlite3_column_bytes=function(){return(e._sqlite3_column_bytes=e.asm.ja).apply(null,arguments)};\ne._sqlite3_column_double=function(){return(e._sqlite3_column_double=e.asm.ka).apply(null,arguments)};e._sqlite3_column_text=function(){return(e._sqlite3_column_text=e.asm.la).apply(null,arguments)};e._sqlite3_column_type=function(){return(e._sqlite3_column_type=e.asm.ma).apply(null,arguments)};e._sqlite3_column_name=function(){return(e._sqlite3_column_name=e.asm.na).apply(null,arguments)};e._sqlite3_bind_blob=function(){return(e._sqlite3_bind_blob=e.asm.oa).apply(null,arguments)};\ne._sqlite3_bind_double=function(){return(e._sqlite3_bind_double=e.asm.pa).apply(null,arguments)};e._sqlite3_bind_int=function(){return(e._sqlite3_bind_int=e.asm.qa).apply(null,arguments)};e._sqlite3_bind_text=function(){return(e._sqlite3_bind_text=e.asm.ra).apply(null,arguments)};e._sqlite3_bind_parameter_index=function(){return(e._sqlite3_bind_parameter_index=e.asm.sa).apply(null,arguments)};e._sqlite3_sql=function(){return(e._sqlite3_sql=e.asm.ta).apply(null,arguments)};\ne._sqlite3_normalized_sql=function(){return(e._sqlite3_normalized_sql=e.asm.ua).apply(null,arguments)};e._sqlite3_errmsg=function(){return(e._sqlite3_errmsg=e.asm.va).apply(null,arguments)};e._sqlite3_exec=function(){return(e._sqlite3_exec=e.asm.wa).apply(null,arguments)};e._sqlite3_changes=function(){return(e._sqlite3_changes=e.asm.xa).apply(null,arguments)};e._sqlite3_close_v2=function(){return(e._sqlite3_close_v2=e.asm.ya).apply(null,arguments)};\ne._sqlite3_create_function_v2=function(){return(e._sqlite3_create_function_v2=e.asm.za).apply(null,arguments)};e._sqlite3_open=function(){return(e._sqlite3_open=e.asm.Aa).apply(null,arguments)};var ca=e._malloc=function(){return(ca=e._malloc=e.asm.Ba).apply(null,arguments)},oa=e._free=function(){return(oa=e._free=e.asm.Ca).apply(null,arguments)};e._RegisterExtensionFunctions=function(){return(e._RegisterExtensionFunctions=e.asm.Ea).apply(null,arguments)};\nvar qb=e.__get_tzname=function(){return(qb=e.__get_tzname=e.asm.Fa).apply(null,arguments)},pb=e.__get_daylight=function(){return(pb=e.__get_daylight=e.asm.Ga).apply(null,arguments)},ob=e.__get_timezone=function(){return(ob=e.__get_timezone=e.asm.Ha).apply(null,arguments)},pa=e.stackSave=function(){return(pa=e.stackSave=e.asm.Ia).apply(null,arguments)},ra=e.stackRestore=function(){return(ra=e.stackRestore=e.asm.Ja).apply(null,arguments)},y=e.stackAlloc=function(){return(y=e.stackAlloc=e.asm.Ka).apply(null,\narguments)},ad=e._memalign=function(){return(ad=e._memalign=e.asm.La).apply(null,arguments)};e.cwrap=function(a,b,c,d){c=c||[];var f=c.every(function(g){return\"number\"===g});return\"string\"!==b&&f&&!d?Ra(a):function(){return Sa(a,b,c,arguments)}};e.UTF8ToString=A;e.stackSave=pa;e.stackRestore=ra;e.stackAlloc=y;var dd;fb=function ed(){dd||fd();dd||(fb=ed)};\nfunction fd(){function a(){if(!dd&&(dd=!0,e.calledRun=!0,!Qa)){e.noFSInit||Pc||(Pc=!0,Oc(),e.stdin=e.stdin,e.stdout=e.stdout,e.stderr=e.stderr,e.stdin?Qc(\"stdin\",e.stdin):cc(\"/dev/tty\",\"/dev/stdin\"),e.stdout?Qc(\"stdout\",null,e.stdout):cc(\"/dev/tty\",\"/dev/stdout\"),e.stderr?Qc(\"stderr\",null,e.stderr):cc(\"/dev/tty1\",\"/dev/stderr\"),v(\"/dev/stdin\",0),v(\"/dev/stdout\",1),v(\"/dev/stderr\",1));Nb=!1;kb(ab);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for(\"function\"==typeof e.postRun&&(e.postRun=\n[e.postRun]);e.postRun.length;){var b=e.postRun.shift();bb.unshift(b)}kb(bb)}}if(!(0 */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var indexOf = function (xs, item) {\n if (xs.indexOf) return xs.indexOf(item);\n else for (var i = 0; i < xs.length; i++) {\n if (xs[i] === item) return i;\n }\n return -1;\n};\nvar Object_keys = function (obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key)\n return res;\n }\n};\n\nvar forEach = function (xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n};\n\nvar defineProp = (function() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n })\n };\n } catch(e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}());\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'];\n\nfunction Context() {}\nContext.prototype = {};\n\nvar Script = exports.Script = function NodeScript (code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n};\n\nScript.prototype.runInContext = function (context) {\n if (!(context instanceof Context)) {\n throw new TypeError(\"needs a 'context' argument.\");\n }\n \n var iframe = document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n \n document.body.appendChild(iframe);\n \n var win = iframe.contentWindow;\n var wEval = win.eval, wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n \n forEach(Object_keys(context), function (key) {\n win[key] = context[key];\n });\n forEach(globals, function (key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n \n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n \n forEach(Object_keys(win), function (key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function (key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n \n document.body.removeChild(iframe);\n \n return res;\n};\n\nScript.prototype.runInThisContext = function () {\n return eval(this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function (context) {\n var ctx = Script.createContext(context);\n var res = this.runInContext(ctx);\n\n if (context) {\n forEach(Object_keys(ctx), function (key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nforEach(Object_keys(Script.prototype), function (name) {\n exports[name] = Script[name] = function (code) {\n var s = Script(code);\n return s[name].apply(s, [].slice.call(arguments, 1));\n };\n});\n\nexports.isContext = function (context) {\n return context instanceof Context;\n};\n\nexports.createScript = function (code) {\n return exports.Script(code);\n};\n\nexports.createContext = Script.createContext = function (context) {\n var copy = new Context();\n if(typeof context === 'object') {\n forEach(Object_keys(context), function (key) {\n copy[key] = context[key];\n });\n }\n return copy;\n};\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.github.io/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","'use strict';\n\nvar utils = require('../utils');\nvar SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","module.exports = require('./lib/_stream_duplex.js');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\n\n// `ToIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","exports['des-ecb'] = {\n key: 8,\n iv: 0\n}\nexports['des-cbc'] = exports.des = {\n key: 8,\n iv: 8\n}\nexports['des-ede3-cbc'] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports['des-ede3'] = {\n key: 24,\n iv: 0\n}\nexports['des-ede-cbc'] = {\n key: 16,\n iv: 8\n}\nexports['des-ede'] = {\n key: 16,\n iv: 0\n}\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve\n });\n return curve;\n }\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811'\n ]\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34'\n ]\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5'\n ]\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f'\n ]\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650'\n ]\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9'\n ]\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658'\n ]\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3'\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15'\n }\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre\n ]\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\n","var parseKeys = require('parse-asn1')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar crt = require('browserify-rsa')\nvar createHash = require('create-hash')\nvar withPublic = require('./withPublic')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function privateDecrypt (privateKey, enc, reverse) {\n var padding\n if (privateKey.padding) {\n padding = privateKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n\n var key = parseKeys(privateKey)\n var k = key.modulus.byteLength()\n if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) {\n throw new Error('decryption error')\n }\n var msg\n if (reverse) {\n msg = withPublic(new BN(enc), key)\n } else {\n msg = crt(enc, key)\n }\n var zBuffer = Buffer.alloc(k - msg.length)\n msg = Buffer.concat([zBuffer, msg], k)\n if (padding === 4) {\n return oaep(key, msg)\n } else if (padding === 1) {\n return pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n return msg\n } else {\n throw new Error('unknown padding')\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n if (msg[0] !== 0) {\n throw new Error('decryption error')\n }\n var maskedSeed = msg.slice(1, hLen + 1)\n var maskedDb = msg.slice(hLen + 1)\n var seed = xor(maskedSeed, mgf(maskedDb, hLen))\n var db = xor(maskedDb, mgf(seed, k - hLen - 1))\n if (compare(iHash, db.slice(0, hLen))) {\n throw new Error('decryption error')\n }\n var i = hLen\n while (db[i] === 0) {\n i++\n }\n if (db[i++] !== 1) {\n throw new Error('decryption error')\n }\n return db.slice(i)\n}\n\nfunction pkcs1 (key, msg, reverse) {\n var p1 = msg.slice(0, 2)\n var i = 2\n var status = 0\n while (msg[i++] !== 0) {\n if (i >= msg.length) {\n status++\n break\n }\n }\n var ps = msg.slice(2, i - 1)\n\n if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) {\n status++\n }\n if (ps.length < 8) {\n status++\n }\n if (status) {\n throw new Error('decryption error')\n }\n return msg.slice(i)\n}\nfunction compare (a, b) {\n a = Buffer.from(a)\n b = Buffer.from(b)\n var dif = 0\n var len = a.length\n if (a.length !== b.length) {\n dif++\n len = Math.min(a.length, b.length)\n }\n var i = -1\n while (++i < len) {\n dif += (a[i] ^ b[i])\n }\n return dif\n}\n","'use strict';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.github.io/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n } return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n } return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n } return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n","module.exports = require('./browser/algorithms.json')\n","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int32Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int32', function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\n\nexports.utils = require('./des/utils');\nexports.Cipher = require('./des/cipher');\nexports.DES = require('./des/des');\nexports.CBC = require('./des/cbc');\nexports.EDE = require('./des/ede');\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict'\nvar inherits = require('inherits')\nvar Legacy = require('./legacy')\nvar Base = require('cipher-base')\nvar Buffer = require('safe-buffer').Buffer\nvar md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\n\nvar sha = require('sha.js')\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","'use strict'\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes')\nexports.createHash = exports.Hash = require('create-hash')\nexports.createHmac = exports.Hmac = require('create-hmac')\n\nvar algos = require('browserify-sign/algos')\nvar algoKeys = Object.keys(algos)\nvar hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)\nexports.getHashes = function () {\n return hashes\n}\n\nvar p = require('pbkdf2')\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\n\nvar aes = require('browserify-cipher')\n\nexports.Cipher = aes.Cipher\nexports.createCipher = aes.createCipher\nexports.Cipheriv = aes.Cipheriv\nexports.createCipheriv = aes.createCipheriv\nexports.Decipher = aes.Decipher\nexports.createDecipher = aes.createDecipher\nexports.Decipheriv = aes.Decipheriv\nexports.createDecipheriv = aes.createDecipheriv\nexports.getCiphers = aes.getCiphers\nexports.listCiphers = aes.listCiphers\n\nvar dh = require('diffie-hellman')\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup\nexports.getDiffieHellman = dh.getDiffieHellman\nexports.createDiffieHellman = dh.createDiffieHellman\nexports.DiffieHellman = dh.DiffieHellman\n\nvar sign = require('browserify-sign')\n\nexports.createSign = sign.createSign\nexports.Sign = sign.Sign\nexports.createVerify = sign.createVerify\nexports.Verify = sign.Verify\n\nexports.createECDH = require('create-ecdh')\n\nvar publicEncrypt = require('public-encrypt')\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt\nexports.privateEncrypt = publicEncrypt.privateEncrypt\nexports.publicDecrypt = publicEncrypt.publicDecrypt\nexports.privateDecrypt = publicEncrypt.privateDecrypt\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// ;[\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error([\n// 'sorry, ' + name + ' is not implemented yet',\n// 'we accept pull requests',\n// 'https://github.com/crypto-browserify/crypto-browserify'\n// ].join('\\n'))\n// }\n// })\n\nvar rf = require('randomfill')\n\nexports.randomFill = rf.randomFill\nexports.randomFillSync = rf.randomFillSync\n\nexports.createCredentials = function () {\n throw new Error([\n 'sorry, createCredentials is not implemented yet',\n 'we accept pull requests',\n 'https://github.com/crypto-browserify/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.constants = {\n 'DH_CHECK_P_NOT_SAFE_PRIME': 2,\n 'DH_CHECK_P_NOT_PRIME': 1,\n 'DH_UNABLE_TO_CHECK_GENERATOR': 4,\n 'DH_NOT_SUITABLE_GENERATOR': 8,\n 'NPN_ENABLED': 1,\n 'ALPN_ENABLED': 1,\n 'RSA_PKCS1_PADDING': 1,\n 'RSA_SSLV23_PADDING': 2,\n 'RSA_NO_PADDING': 3,\n 'RSA_PKCS1_OAEP_PADDING': 4,\n 'RSA_X931_PADDING': 5,\n 'RSA_PKCS1_PSS_PADDING': 6,\n 'POINT_CONVERSION_COMPRESSED': 2,\n 'POINT_CONVERSION_UNCOMPRESSED': 4,\n 'POINT_CONVERSION_HYBRID': 6\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var CipherBase = require('cipher-base')\nvar des = require('des.js')\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar Cipher = require('./cipher');\nvar DES = require('./des');\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\n","var Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar sync = require('./sync')\nvar toBuffer = require('./to-buffer')\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n sha: 'SHA-1',\n 'sha-1': 'SHA-1',\n sha1: 'SHA-1',\n sha256: 'SHA-256',\n 'sha-256': 'SHA-256',\n sha384: 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n sha512: 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\n\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n process.nextTick(function () {\n callback(null, out)\n })\n }, function (e) {\n process.nextTick(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n return process.nextTick(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n }\n\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\n}\n","var decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","var asn1 = require('./asn1')\nvar aesid = require('./aesid.json')\nvar fixProc = require('./fixProc')\nvar ciphers = require('browserify-aes')\nvar compat = require('pbkdf2')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = parseKeys\n\nfunction parseKeys (buffer) {\n var password\n if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) {\n password = buffer.passphrase\n buffer = buffer.key\n }\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer)\n }\n\n var stripped = fixProc(buffer, password)\n\n var type = stripped.tag\n var data = stripped.data\n var subtype, ndata\n switch (type) {\n case 'CERTIFICATE':\n ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo\n // falls through\n case 'PUBLIC KEY':\n if (!ndata) {\n ndata = asn1.PublicKey.decode(data, 'der')\n }\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der')\n case '1.2.840.10045.2.1':\n ndata.subjectPrivateKey = ndata.subjectPublicKey\n return {\n type: 'ec',\n data: ndata\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der')\n return {\n type: 'dsa',\n data: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n throw new Error('unknown key type ' + type)\n case 'ENCRYPTED PRIVATE KEY':\n data = asn1.EncryptedPrivateKey.decode(data, 'der')\n data = decrypt(data, password)\n // falls through\n case 'PRIVATE KEY':\n ndata = asn1.PrivateKey.decode(data, 'der')\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der')\n case '1.2.840.10045.2.1':\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der')\n return {\n type: 'dsa',\n params: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n throw new Error('unknown key type ' + type)\n case 'RSA PUBLIC KEY':\n return asn1.RSAPublicKey.decode(data, 'der')\n case 'RSA PRIVATE KEY':\n return asn1.RSAPrivateKey.decode(data, 'der')\n case 'DSA PRIVATE KEY':\n return {\n type: 'dsa',\n params: asn1.DSAPrivateKey.decode(data, 'der')\n }\n case 'EC PRIVATE KEY':\n data = asn1.ECPrivateKey.decode(data, 'der')\n return {\n curve: data.parameters.value,\n privateKey: data.privateKey\n }\n default: throw new Error('unknown key type ' + type)\n }\n}\nparseKeys.signature = asn1.signature\nfunction decrypt (data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt\n var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10)\n var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')]\n var iv = data.algorithm.decrypt.cipher.iv\n var cipherText = data.subjectPrivateKey\n var keylen = parseInt(algo.split('-')[1], 10) / 8\n var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1')\n var cipher = ciphers.createDecipheriv(algo, key, iv)\n var out = []\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n return Buffer.concat(out)\n}\n","module.exports = require('./lib/_stream_writable.js');\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16)\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 }\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n};\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul)\n }\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1)\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1)\n }\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point))\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point))\n }\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate)\n }\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (var i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (var i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","var Buffer = require('safe-buffer').Buffer\nvar xor = require('buffer-xor')\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var inherits = require('inherits');\nvar Buffer = require('buffer').Buffer;\n\nvar asn1 = require('../../asn1');\nvar base = asn1.base;\n\n// Import DER constants\nvar der = asn1.constants.der;\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n};\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n var encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n var header = new Buffer(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n var lenOctets = 1;\n for (var i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n var header = new Buffer(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (var i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n var buf = new Buffer(str.length * 2);\n for (var i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s\\.]+/g);\n for (var i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (var i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n var size = 0;\n for (var i = 0; i < id.length; i++) {\n var ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n var objid = new Buffer(size);\n var offset = objid.length - 1;\n for (var i = id.length - 1; i >= 0; i--) {\n var ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n var str;\n var date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n var numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = new Buffer(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n var size = num.length;\n if (num.length === 0)\n size++;\n\n var out = new Buffer(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n var size = 1;\n for (var i = num; i >= 0x100; i >>= 8)\n size++;\n\n var out = new Array(size);\n for (var i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(new Buffer(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n var state = this._baseState;\n var i;\n if (state['default'] === null)\n return false;\n\n var data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n var res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this._strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n var z = 0;\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n var b;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n b = c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n\n r |= b;\n z |= b;\n }\n\n assert(!(z & 0xf0), 'Invalid character in ' + str);\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n if (this.curve.twisted) {\n // E = a * C\n var e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n var h = this.z.redSqr();\n // J = F - 2 * H\n var j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n var e = c.redAdd(d);\n // H = (c * Z1)^2\n var h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n var j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","var Buffer = require('safe-buffer').Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n","module.exports = {};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821'\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf'\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695'\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9'\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36'\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f'\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999'\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09'\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d'\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088'\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d'\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8'\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a'\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453'\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160'\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0'\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6'\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589'\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17'\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda'\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd'\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2'\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6'\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f'\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01'\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3'\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f'\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7'\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78'\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1'\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150'\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82'\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc'\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b'\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51'\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45'\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120'\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84'\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d'\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d'\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8'\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8'\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac'\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f'\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962'\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907'\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec'\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d'\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414'\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd'\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0'\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811'\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1'\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c'\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73'\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd'\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405'\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589'\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e'\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27'\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1'\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482'\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945'\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573'\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82'\n ]\n ]\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672'\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6'\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da'\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37'\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b'\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81'\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58'\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77'\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a'\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c'\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67'\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402'\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55'\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482'\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82'\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396'\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49'\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf'\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a'\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7'\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933'\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a'\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6'\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37'\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e'\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6'\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476'\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40'\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61'\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683'\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5'\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b'\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417'\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868'\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a'\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6'\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996'\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e'\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d'\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2'\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e'\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437'\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311'\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4'\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575'\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d'\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d'\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629'\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06'\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374'\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee'\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1'\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b'\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661'\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6'\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e'\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d'\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc'\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4'\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c'\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b'\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913'\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154'\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865'\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc'\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224'\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e'\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6'\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511'\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b'\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2'\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c'\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3'\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d'\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700'\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4'\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196'\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4'\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257'\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13'\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096'\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38'\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f'\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448'\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a'\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4'\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437'\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7'\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d'\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a'\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54'\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77'\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517'\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10'\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125'\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e'\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1'\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2'\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423'\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8'\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758'\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375'\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d'\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec'\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0'\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c'\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4'\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f'\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649'\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826'\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5'\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87'\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b'\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc'\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c'\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f'\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a'\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46'\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f'\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03'\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08'\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8'\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373'\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3'\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8'\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1'\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9'\n ]\n ]\n }\n};\n","// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js\n// Fedor, you are amazing.\n'use strict'\n\nvar asn1 = require('asn1.js')\n\nexports.certificate = require('./certificate')\n\nvar RSAPrivateKey = asn1.define('RSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('modulus').int(),\n this.key('publicExponent').int(),\n this.key('privateExponent').int(),\n this.key('prime1').int(),\n this.key('prime2').int(),\n this.key('exponent1').int(),\n this.key('exponent2').int(),\n this.key('coefficient').int()\n )\n})\nexports.RSAPrivateKey = RSAPrivateKey\n\nvar RSAPublicKey = asn1.define('RSAPublicKey', function () {\n this.seq().obj(\n this.key('modulus').int(),\n this.key('publicExponent').int()\n )\n})\nexports.RSAPublicKey = RSAPublicKey\n\nvar PublicKey = asn1.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\nexports.PublicKey = PublicKey\n\nvar AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('none').null_().optional(),\n this.key('curve').objid().optional(),\n this.key('params').seq().obj(\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int()\n ).optional()\n )\n})\n\nvar PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPrivateKey').octstr()\n )\n})\nexports.PrivateKey = PrivateKeyInfo\nvar EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').seq().obj(\n this.key('id').objid(),\n this.key('decrypt').seq().obj(\n this.key('kde').seq().obj(\n this.key('id').objid(),\n this.key('kdeparams').seq().obj(\n this.key('salt').octstr(),\n this.key('iters').int()\n )\n ),\n this.key('cipher').seq().obj(\n this.key('algo').objid(),\n this.key('iv').octstr()\n )\n )\n ),\n this.key('subjectPrivateKey').octstr()\n )\n})\n\nexports.EncryptedPrivateKey = EncryptedPrivateKeyInfo\n\nvar DSAPrivateKey = asn1.define('DSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int(),\n this.key('pub_key').int(),\n this.key('priv_key').int()\n )\n})\nexports.DSAPrivateKey = DSAPrivateKey\n\nexports.DSAparam = asn1.define('DSAparam', function () {\n this.int()\n})\n\nvar ECPrivateKey = asn1.define('ECPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('privateKey').octstr(),\n this.key('parameters').optional().explicit(0).use(ECParameters),\n this.key('publicKey').optional().explicit(1).bitstr()\n )\n})\nexports.ECPrivateKey = ECPrivateKey\n\nvar ECParameters = asn1.define('ECParameters', function () {\n this.choice({\n namedCurve: this.objid()\n })\n})\n\nexports.signature = asn1.define('signature', function () {\n this.seq().obj(\n this.key('r').int(),\n this.key('s').int()\n )\n})\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","var base = exports;\n\nbase.Reporter = require('./reporter').Reporter;\nbase.DecoderBuffer = require('./buffer').DecoderBuffer;\nbase.EncoderBuffer = require('./buffer').EncoderBuffer;\nbase.Node = require('./node');\n","var AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar MODES = require('./modes')\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = require('events').EventEmitter;\n","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength)\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float64Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float64', function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r\\+\\/\\=]+)[\\n\\r]+/m\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r\\+\\/\\=]+)-----END \\1-----$/m\nvar evp = require('evp_bytestokey')\nvar ciphers = require('browserify-aes')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = function (okey, password) {\n var key = okey.toString()\n var match = key.match(findProc)\n var decrypted\n if (!match) {\n var match2 = key.match(fullRegex)\n decrypted = new Buffer(match2[2].replace(/[\\r\\n]/g, ''), 'base64')\n } else {\n var suite = 'aes' + match[1]\n var iv = Buffer.from(match[2], 'hex')\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64')\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key\n var out = []\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n decrypted = Buffer.concat(out)\n }\n var tag = key.match(startRegex)[1]\n return {\n tag: tag,\n data: decrypted\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import sqliteParser from 'sqlite-parser'\n\nexport default {\n * generateChunks (arr, size) {\n const count = Math.ceil(arr.length / size)\n\n for (let i = 0; i <= count - 1; i++) {\n const start = size * i\n const end = start + size\n yield arr.slice(start, end)\n }\n },\n\n getInsertStmt (tabName, columns) {\n const colList = `\"${columns.join('\", \"')}\"`\n const params = columns.map(() => '?').join(', ')\n return `INSERT INTO \"${tabName}\" (${colList}) VALUES (${params});`\n },\n\n getCreateStatement (tabName, columns, values) {\n let result = `CREATE table \"${tabName}\"(`\n columns.forEach((col, index) => {\n // Get the first row of values to determine types\n const value = values[0][index]\n let type = ''\n switch (typeof value) {\n case 'number': {\n type = 'REAL'\n break\n }\n case 'boolean': {\n type = 'INTEGER'\n break\n }\n case 'string': {\n type = 'TEXT'\n break\n }\n default: type = 'TEXT'\n }\n result += `\"${col}\" ${type}, `\n })\n result = result.replace(/,\\s$/, ');')\n return result\n },\n\n getAst (sql) {\n // There is a bug is sqlite-parser\n // It throws an error if tokenizer has an arguments:\n // https://github.com/codeschool/sqlite-parser/issues/59\n const fixedSql = sql\n .replace(/(tokenize=[^,]+)\"tokenchars=.+?\"/, '$1')\n .replace(/(tokenize=[^,]+)\"remove_diacritics=.+?\"/, '$1')\n .replace(/(tokenize=[^,]+)\"separators=.+?\"/, '$1')\n .replace(/tokenize=.+?(,|\\))/, 'tokenize=unicode61$1')\n\n return sqliteParser(fixedSql)\n },\n\n /*\n * Return an array of columns with name and type. E.g.:\n * [\n * { name: 'id', type: 'INTEGER' },\n * { name: 'title', type: 'NVARCHAR(30)' },\n * ]\n */\n getColumns (sql) {\n const columns = []\n const ast = this.getAst(sql)\n\n const columnDefinition = ast.statement[0].format === 'table'\n ? ast.statement[0].definition\n : ast.statement[0].result.args.expression // virtual table\n\n columnDefinition.forEach(item => {\n if (item.variant === 'column' && ['identifier', 'definition'].includes(item.type)) {\n let type = item.datatype ? item.datatype.variant : 'N/A'\n if (item.datatype && item.datatype.args) {\n type = type + '(' + item.datatype.args.expression[0].value\n if (item.datatype.args.expression.length === 2) {\n type = type + ', ' + item.datatype.args.expression[1].value\n }\n type = type + ')'\n }\n columns.push({ name: item.name, type: type })\n }\n })\n return columns\n }\n}\n","import initSqlJs from 'sql.js/dist/sql-wasm.js'\nimport dbUtils from './_statements'\n\nlet SQL = null\nconst sqlModuleReady = initSqlJs().then(sqlModule => { SQL = sqlModule })\n\nexport default class Sql {\n constructor () {\n this.db = null\n }\n\n static build () {\n return sqlModuleReady\n .then(() => {\n return new Sql()\n })\n }\n\n createDb (buffer) {\n if (this.db != null) this.db.close()\n this.db = new SQL.Database(buffer)\n return this.db\n }\n\n open (buffer) {\n this.createDb(buffer && new Uint8Array(buffer))\n return {\n ready: true\n }\n }\n\n exec (sql, params) {\n if (this.db === null) {\n this.createDb()\n }\n if (!sql) {\n throw new Error('exec: Missing query string')\n }\n return this.db.exec(sql, params)\n }\n\n import (tabName, columns, values, progressCounterId, progressCallback, chunkSize = 1500) {\n if (this.db === null) {\n this.createDb()\n }\n this.db.exec(dbUtils.getCreateStatement(tabName, columns, values))\n const chunks = dbUtils.generateChunks(values, chunkSize)\n const chunksAmount = Math.ceil(values.length / chunkSize)\n let count = 0\n const insertStr = dbUtils.getInsertStmt(tabName, columns)\n const insertStmt = this.db.prepare(insertStr)\n\n progressCallback({ progress: 0, id: progressCounterId })\n for (const chunk of chunks) {\n this.db.exec('BEGIN')\n for (const row of chunk) {\n insertStmt.run(row)\n }\n this.db.exec('COMMIT')\n count++\n progressCallback({ progress: 100 * (count / chunksAmount), id: progressCounterId })\n }\n\n return {\n finish: true\n }\n }\n\n export () {\n return this.db.export()\n }\n\n close () {\n if (this.db) {\n this.db.close()\n }\n return {\n finished: true\n }\n }\n}\n","import registerPromiseWorker from 'promise-worker/register'\nimport Sql from './_sql'\n\nconst sqlReady = Sql.build()\n\nfunction processMsg (sql) {\n const data = this\n switch (data && data.action) {\n case 'open':\n return sql.open(data.buffer)\n case 'reopen':\n return sql.open(sql.export())\n case 'exec':\n return sql.exec(data.sql, data.params)\n case 'import':\n return sql.import(\n data.tabName,\n data.columns,\n data.values,\n data.progressCounterId,\n postMessage\n )\n case 'export':\n return sql.export()\n case 'close':\n return sql.close()\n default:\n throw new Error('Invalid action : ' + (data && data.action))\n }\n}\n\nfunction onError (error) {\n return {\n error: error.message\n }\n}\n\nregisterPromiseWorker(data => {\n return sqlReady\n .then(processMsg.bind(data))\n .catch(onError)\n})\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var xor = require('buffer-xor')\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var BN = require('bn.js')\nvar Buffer = require('safe-buffer').Buffer\n\nfunction withPublic (paddedMsg, key) {\n return Buffer.from(paddedMsg\n .toRed(BN.mont(key.modulus))\n .redPow(new BN(key.publicExponent))\n .fromRed()\n .toArray())\n}\n\nmodule.exports = withPublic\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModule = require('../internals/object-define-property');\nvar regExpFlags = require('../internals/regexp-flags');\nvar UNSUPPORTED_Y = require('../internals/regexp-sticky-helpers').UNSUPPORTED_Y;\n\n// `RegExp.prototype.flags` getter\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nif (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) {\n objectDefinePropertyModule.f(RegExp.prototype, 'flags', {\n configurable: true,\n get: regExpFlags\n });\n}\n","var BN = require('bn.js');\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = require('./generatePrime');\nvar randomBytes = require('randombytes');\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js\n// thanks to @Rantanen\n\n'use strict'\n\nvar asn = require('asn1.js')\n\nvar Time = asn.define('Time', function () {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n })\n})\n\nvar AttributeTypeValue = asn.define('AttributeTypeValue', function () {\n this.seq().obj(\n this.key('type').objid(),\n this.key('value').any()\n )\n})\n\nvar AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('parameters').optional(),\n this.key('curve').objid().optional()\n )\n})\n\nvar SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\n\nvar RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () {\n this.setof(AttributeTypeValue)\n})\n\nvar RDNSequence = asn.define('RDNSequence', function () {\n this.seqof(RelativeDistinguishedName)\n})\n\nvar Name = asn.define('Name', function () {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n })\n})\n\nvar Validity = asn.define('Validity', function () {\n this.seq().obj(\n this.key('notBefore').use(Time),\n this.key('notAfter').use(Time)\n )\n})\n\nvar Extension = asn.define('Extension', function () {\n this.seq().obj(\n this.key('extnID').objid(),\n this.key('critical').bool().def(false),\n this.key('extnValue').octstr()\n )\n})\n\nvar TBSCertificate = asn.define('TBSCertificate', function () {\n this.seq().obj(\n this.key('version').explicit(0).int().optional(),\n this.key('serialNumber').int(),\n this.key('signature').use(AlgorithmIdentifier),\n this.key('issuer').use(Name),\n this.key('validity').use(Validity),\n this.key('subject').use(Name),\n this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),\n this.key('issuerUniqueID').implicit(1).bitstr().optional(),\n this.key('subjectUniqueID').implicit(2).bitstr().optional(),\n this.key('extensions').explicit(3).seqof(Extension).optional()\n )\n})\n\nvar X509Certificate = asn.define('X509Certificate', function () {\n this.seq().obj(\n this.key('tbsCertificate').use(TBSCertificate),\n this.key('signatureAlgorithm').use(AlgorithmIdentifier),\n this.key('signatureValue').bitstr()\n )\n})\n\nmodule.exports = X509Certificate\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","module.exports = require('events').EventEmitter;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","'use strict';\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new NativeArrayBuffer(); // eslint-disable-line no-new\n new NativeArrayBuffer(1.5); // eslint-disable-line no-new\n new NativeArrayBuffer(NaN); // eslint-disable-line no-new\n return NativeArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var nativeSetInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","var inherits = require('inherits');\nvar Reporter = require('../base').Reporter;\nvar Buffer = require('buffer').Buffer;\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n var res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n}\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n var res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n}\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n}\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!(item instanceof EncoderBuffer))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = new Buffer(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n","/*!\n * sqlite-parser - v1.0.1\n * @copyright 2015-2017 Code School (http://codeschool.com)\n * @author Nick Wronski \n */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.sqliteParser = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o0){for(i=1,j=1;i0;},function(d,e){return{'args':Object.assign(e,d)};},function(s){return{'filter':keyNode(s)};},peg$otherExpectation(\"Error Message\"),function(m){return m;},peg$otherExpectation(\"Statement\"),function(m,s){return Object.assign(s,m);},peg$otherExpectation(\"QUERY PLAN\"),function(e,q){return{'explain':isOkay(e)};},peg$otherExpectation(\"QUERY PLAN Keyword\"),function(q,p){return foldStringKey([q,p]);},peg$otherExpectation(\"END Transaction Statement\"),function(s,t){return{'type':'statement','variant':'transaction','action':'commit'};},peg$otherExpectation(\"BEGIN Transaction Statement\"),function(s,m,t,n){return Object.assign({'type':'statement','variant':'transaction','action':'begin'},m,n);},function(t){return t;},function(m){return{'defer':keyNode(m)};},peg$otherExpectation(\"ROLLBACK Statement\"),function(s,n){return Object.assign({'type':'statement','variant':'transaction','action':'rollback'},n);},peg$otherExpectation(\"TO Clause\"),function(n){return{'savepoint':n};},function(s){return keyNode(s);},peg$otherExpectation(\"SAVEPOINT Statement\"),function(s,n){return{'type':'statement','variant':s,'target':n};},peg$otherExpectation(\"RELEASE Statement\"),function(s,a,n){return{'type':'statement','variant':keyNode(s),'target':n};},peg$otherExpectation(\"ALTER TABLE Statement\"),function(s,n,e){return Object.assign({'type':'statement','variant':keyNode(s),'target':n},e);},peg$otherExpectation(\"ALTER TABLE Keyword\"),function(a,t){return foldStringKey([a,t]);},peg$otherExpectation(\"RENAME TO Keyword\"),function(s,n){return{'action':keyNode(s),'name':n};},peg$otherExpectation(\"ADD COLUMN Keyword\"),function(s,d){return{'action':keyNode(s),'definition':d};},function(w,s){return Object.assign(s,w);},peg$otherExpectation(\"WITH Clause\"),function(s,v,t){var recursive={'variant':isOkay(v)?'recursive':'common'};if(isArrayOkay(t)){t=t.map(function(elem){return Object.assign(elem,recursive);});}return{'with':t};},function(f,r){return flattenAll([f,r]);},peg$otherExpectation(\"Common Table Expression\"),function(t,s){return Object.assign({'type':'expression','format':'table','variant':'common','target':t},s);},function(s){return{'expression':s};},function(w,s){return Object.assign(s,w);},peg$otherExpectation(\"ATTACH Statement\"),function(a,b,e,n){return{'type':'statement','variant':keyNode(a),'target':n,'attach':e};},peg$otherExpectation(\"DETACH Statement\"),function(d,b,n){return{'type':'statement','variant':keyNode(d),'target':n};},peg$otherExpectation(\"VACUUM Statement\"),function(v,t){return Object.assign({'type':'statement','variant':'vacuum'},t);},function(t){return{'target':t};},peg$otherExpectation(\"ANALYZE Statement\"),function(s,a){return Object.assign({'type':'statement','variant':keyNode(s)},a);},function(n){return{'target':n['name']};},peg$otherExpectation(\"REINDEX Statement\"),function(a){return{'target':a['name']};},peg$otherExpectation(\"PRAGMA Statement\"),function(s,n,v){return{'type':'statement','variant':keyNode(s),'target':n,'args':{'type':'expression','variant':'list','expression':v}};},function(v){return v;},function(v){return /^(yes|no|on|off|false|true|0|1)$/i.test(v);},function(v){return{'type':'literal','variant':'boolean','normalized':/^(yes|on|true|1)$/i.test(v)?'1':'0','value':v};},function(n){return keyNode(n);},function(n){return{'type':'identifier','variant':'name','name':n};},peg$otherExpectation(\"SELECT Statement\"),function(s,o,l){return Object.assign(s,o,l);},peg$otherExpectation(\"ORDER BY Clause\"),function(d){return{'order':d['result']};},peg$otherExpectation(\"LIMIT Clause\"),function(s,e,d){return{'limit':Object.assign({'type':'expression','variant':'limit','start':e},d)};},peg$otherExpectation(\"OFFSET Clause\"),function(o,e){return{'offset':e};},function(s,u){if(isArrayOkay(u)){return{'type':'statement','variant':'compound','statement':s,'compound':u};}else{return s;}},peg$otherExpectation(\"Union Operation\"),function(c,s){return{'type':'compound','variant':c,'statement':s};},function(s,f,w,g){return Object.assign({'type':'statement','variant':'select'},s,f,w,g);},peg$otherExpectation(\"SELECT Results Clause\"),function(d,t){return Object.assign({'result':t},d);},peg$otherExpectation(\"SELECT Results Modifier\"),function(s){return{'distinct':true};},function(s){return{};},peg$otherExpectation(\"FROM Clause\"),function(f,s){return{'from':s};},peg$otherExpectation(\"WHERE Clause\"),function(f,e){return{'where':makeArray(e)};},peg$otherExpectation(\"GROUP BY Clause\"),function(f,e,h){return Object.assign({'group':e},h);},peg$otherExpectation(\"HAVING Clause\"),function(f,e){return{'having':e};},function(q,s){return{'type':'identifier','variant':'star','name':foldStringWord([q,s])};},function(n,s){return foldStringWord([n,s]);},function(e,a){return Object.assign(e,a);},function(f,t){if(isArrayOkay(t)){return{'type':'map','variant':'join','source':f,'map':t};}return f;},function(cl,c){return Object.assign(cl,c);},peg$otherExpectation(\"CROSS JOIN Operation\"),function(n){return{'type':'join','variant':'cross join','source':n};},peg$otherExpectation(\"JOIN Operation\"),function(o,n){return{'type':'join','variant':keyNode(o),'source':n};},function(n,l,a){return Object.assign({'type':'function','variant':'table','name':n,'args':l},a);},peg$otherExpectation(\"Qualified Table\"),function(d,i){return Object.assign(d,i);},peg$otherExpectation(\"Qualified Table Identifier\"),function(n,a){return Object.assign(n,a);},peg$otherExpectation(\"Qualfied Table Index\"),function(s,n){return{'index':n};},function(n,i){return{'index':foldStringKey([n,i])};},peg$otherExpectation(\"SELECT Source\"),function(l,a){return Object.assign(l,a);},peg$otherExpectation(\"Subquery\"),function(s,a){return Object.assign(s,a);},peg$otherExpectation(\"Alias\"),function(a,n){return{'alias':n};},peg$otherExpectation(\"JOIN Operator\"),function(n,t,j){return foldStringKey([n,t,j]);},function(t,o){return foldStringKey([t,o]);},function(t){return keyNode(t);},peg$otherExpectation(\"JOIN Constraint\"),function(c){return{'constraint':Object.assign({'type':'constraint','variant':'join'},c)};},peg$otherExpectation(\"Join ON Clause\"),function(s,e){return{'format':keyNode(s),'on':e};},peg$otherExpectation(\"Join USING Clause\"),function(s,e){return{'format':keyNode(s),'using':e};},peg$otherExpectation(\"VALUES Clause\"),function(s,l){return{'type':'statement','variant':'select','result':l};},function(f,b){return{'result':flattenAll([f,b])};},function(i){return i;},peg$otherExpectation(\"Ordering Expression\"),function(e,d){if(isOkay(d)){return Object.assign({'type':'expression','variant':'order','expression':e},d);}return e;},peg$otherExpectation(\"Star\"),peg$otherExpectation(\"Fallback Type\"),peg$otherExpectation(\"INSERT Statement\"),function(k,t){return Object.assign({'type':'statement','variant':'insert'},k,t);},peg$otherExpectation(\"INSERT Keyword\"),function(a,m){return Object.assign({'action':keyNode(a)},m);},peg$otherExpectation(\"REPLACE Keyword\"),function(a){return{'action':keyNode(a)};},peg$otherExpectation(\"INSERT OR Modifier\"),function(s,m){return{'or':keyNode(m)};},function(i,r){return Object.assign({'into':i},r);},peg$otherExpectation(\"INTO Clause\"),function(s,t){return t;},peg$otherExpectation(\"INTO Keyword\"),function(r){return{'result':r};},peg$otherExpectation(\"Column List\"),function(f,b){return{'columns':flattenAll([f,b])};},function(c){return c;},peg$otherExpectation(\"Column Name\"),function(n){return{'type':'identifier','variant':'column','name':n};},function(s,r){return r;},peg$otherExpectation(\"VALUES Keyword\"),function(f,b){return flattenAll([f,b]);},peg$otherExpectation(\"Wrapped Expression List\"),function(e){return e;},peg$otherExpectation(\"DEFAULT VALUES Clause\"),function(d,v){return{'type':'values','variant':'default'};},peg$otherExpectation(\"Compound Operator\"),peg$otherExpectation(\"UNION Operator\"),function(s,a){return foldStringKey([s,a]);},function(a){return a;},peg$otherExpectation(\"UPDATE Statement\"),function(s,f,t,u,w,o,l){return Object.assign({'type':'statement','variant':s,'into':t},f,u,w,o,l);},peg$otherExpectation(\"UPDATE Keyword\"),peg$otherExpectation(\"UPDATE OR Modifier\"),function(t){return{'or':keyNode(t)};},peg$otherExpectation(\"SET Clause\"),function(c){return{'set':c};},peg$otherExpectation(\"Column Assignment\"),function(f,e){return{'type':'assignment','target':f,'value':e};},peg$otherExpectation(\"DELETE Statement\"),function(s,t,w,o,l){return Object.assign({'type':'statement','variant':s,'from':t},w,o,l);},peg$otherExpectation(\"DELETE Keyword\"),peg$otherExpectation(\"CREATE Statement\"),peg$otherExpectation(\"CREATE TABLE Statement\"),function(s,ne,id,r){return Object.assign({'type':'statement','name':id},s,r,ne);},function(s,tmp,t){return Object.assign({'variant':s,'format':keyNode(t)},tmp);},function(t){return{'temporary':isOkay(t)};},peg$otherExpectation(\"IF NOT EXISTS Modifier\"),function(i,n,e){return{'condition':makeArray({'type':'condition','variant':keyNode(i),'condition':{'type':'expression','variant':keyNode(e),'operator':foldStringKey([n,e])}})};},peg$otherExpectation(\"Table Definition\"),function(s,t,r){return Object.assign({'definition':flattenAll([s,t])},r);},function(r,w){return{'optimization':[{'type':'optimization','value':foldStringKey([r,w])}]};},function(f){return f;},peg$otherExpectation(\"Column Definition\"),function(n,t,c){return Object.assign({'type':'definition','variant':'column','name':n,'definition':isOkay(c)?c:[]},t);},peg$otherExpectation(\"Column Datatype\"),function(t){return{'datatype':t};},peg$otherExpectation(\"Column Constraint\"),function(n,c,ln){return Object.assign(c,n);},function(cl){return cl[cl.length-1];},peg$otherExpectation(\"CONSTRAINT Name\"),function(n){return{'name':n};},peg$otherExpectation(\"FOREIGN KEY Column Constraint\"),function(f){return Object.assign({'variant':'foreign key'},f);},peg$otherExpectation(\"PRIMARY KEY Column Constraint\"),function(p,d,c,a){return Object.assign(p,c,d,a);},peg$otherExpectation(\"PRIMARY KEY Keyword\"),function(s,k){return{'type':'constraint','variant':foldStringKey([s,k])};},peg$otherExpectation(\"AUTOINCREMENT Keyword\"),function(a){return{'autoIncrement':true};},function(s,c){return Object.assign({'type':'constraint','variant':s},c);},peg$otherExpectation(\"UNIQUE Column Constraint\"),peg$otherExpectation(\"NULL Column Constraint\"),function(n,l){return foldStringKey([n,l]);},peg$otherExpectation(\"CHECK Column Constraint\"),peg$otherExpectation(\"DEFAULT Column Constraint\"),function(s,v){return{'type':'constraint','variant':keyNode(s),'value':v};},peg$otherExpectation(\"COLLATE Column Constraint\"),function(c){return{'type':'constraint','variant':'collate','collate':c};},peg$otherExpectation(\"Table Constraint\"),function(n,c,nl){return Object.assign({'type':'definition','variant':'constraint'},c,n);},peg$otherExpectation(\"CHECK Table Constraint\"),function(c){return{'definition':makeArray(c)};},peg$otherExpectation(\"PRIMARY KEY Table Constraint\"),function(k,c,t){return{'definition':makeArray(Object.assign(k,t,c[1])),'columns':c[0]};},function(s){return{'type':'constraint','variant':keyNode(s)};},function(p,k){return foldStringKey([p,k]);},peg$otherExpectation(\"UNIQUE Keyword\"),function(u){return keyNode(u);},function(f,b){return[f].concat(b);},function(c){return c.map(function(_ref){var _ref2=_slicedToArray(_ref,1);var res=_ref2[0];return res;});},function(c){var auto=c.find(function(_ref3){var _ref4=_slicedToArray(_ref3,2);var res=_ref4[0];var a=_ref4[1];return isOkay(a);});return[c.map(function(_ref5){var _ref6=_slicedToArray(_ref5,2);var res=_ref6[0];var a=_ref6[1];return res;}),auto?auto[1]:null];},peg$otherExpectation(\"Indexed Column\"),function(e,d,a){var res=e;if(isOkay(d)){res=Object.assign({'type':'expression','variant':'order','expression':e},d);}return[res,a];},peg$otherExpectation(\"Collation\"),function(c){return{'collate':makeArray(c)};},peg$otherExpectation(\"Column Direction\"),function(t){return{'direction':keyNode(t)};},function(s,t){return{'conflict':keyNode(t)};},peg$otherExpectation(\"ON CONFLICT Keyword\"),function(o,c){return foldStringKey([o,c]);},function(k,c){return{'type':'constraint','variant':keyNode(k),'expression':c};},peg$otherExpectation(\"FOREIGN KEY Table Constraint\"),function(k,l,c){return Object.assign({'definition':makeArray(Object.assign(k,c))},l);},peg$otherExpectation(\"FOREIGN KEY Keyword\"),function(f,k){return{'type':'constraint','variant':foldStringKey([f,k])};},function(r,a,d){return Object.assign({'type':'constraint'},r,a,d);},peg$otherExpectation(\"REFERENCES Clause\"),function(s,t){return{'references':t};},function(f,b){return{'action':flattenAll([f,b])};},peg$otherExpectation(\"FOREIGN KEY Action Clause\"),function(m,a,n){return{'type':'action','variant':keyNode(m),'action':keyNode(n)};},peg$otherExpectation(\"FOREIGN KEY Action\"),function(s,v){return foldStringKey([s,v]);},function(c){return keyNode(c);},function(n,a){return foldStringKey([n,a]);},function(m,n){return{'type':'action','variant':keyNode(m),'action':n};},peg$otherExpectation(\"DEFERRABLE Clause\"),function(n,d,i){return{'defer':foldStringKey([n,d,i])};},function(i,d){return foldStringKey([i,d]);},function(s){return{'definition':makeArray(s)};},peg$otherExpectation(\"CREATE INDEX Statement\"),function(s,ne,n,o,w){return Object.assign({'type':'statement','target':n,'on':o},s,ne,w);},function(s,u,i){return Object.assign({'variant':keyNode(s),'format':keyNode(i)},u);},function(u){return{'unique':true};},peg$otherExpectation(\"ON Clause\"),function(o,t,c){return{'type':'identifier','variant':'expression','format':'table','name':t['name'],'columns':c};},peg$otherExpectation(\"CREATE TRIGGER Statement\"),function(s,ne,n,cd,o,me,wh,a){return Object.assign({'type':'statement','target':n,'on':o,'event':cd,'by':isOkay(me)?me:'row','action':makeArray(a)},s,ne,wh);},function(s,tmp,t){return Object.assign({'variant':keyNode(s),'format':keyNode(t)},tmp);},peg$otherExpectation(\"Conditional Clause\"),function(m,d){return Object.assign({'type':'event'},m,d);},function(m){return{'occurs':keyNode(m)};},function(i,o){return foldStringKey([i,o]);},peg$otherExpectation(\"Conditional Action\"),function(o){return{'event':keyNode(o)};},function(s,f){return{'event':keyNode(s),'of':f};},function(s,c){return c;},\"statement\",peg$literalExpectation(\"STATEMENT\",true),function(f,e,r){return keyNode(r);},function(w,e){return{'when':e};},peg$otherExpectation(\"Actions Clause\"),function(s,a,e){return a;},function(l){return l;},peg$otherExpectation(\"CREATE VIEW Statement\"),function(s,ne,n,r){return Object.assign({'type':'statement','target':n,'result':r},s,ne);},function(n,a){return Object.assign({'type':'identifier','variant':'expression','format':'view','name':n['name'],'columns':[]},a);},function(s,tmp,v){return Object.assign({'variant':keyNode(s),'format':keyNode(v)},tmp);},peg$otherExpectation(\"CREATE VIRTUAL TABLE Statement\"),function(s,ne,n,m){return Object.assign({'type':'statement','target':n,'result':m},s,ne);},function(s,v,t){return{'variant':keyNode(s),'format':keyNode(v)};},function(m,a){return Object.assign({'type':'module','variant':'virtual','name':m},a);},peg$otherExpectation(\"Module Arguments\"),function(l){return{'args':{'type':'expression','variant':'list','expression':isOkay(l)?l:[]}};},function(f,b){return flattenAll([f,b]).filter(function(arg){return isOkay(arg);});},function(a){return a;},peg$otherExpectation(\"DROP Statement\"),function(s,q){return Object.assign({'type':'statement','target':Object.assign(q,{'variant':s['format']})},s);},peg$otherExpectation(\"DROP Keyword\"),function(s,t,i){return Object.assign({'variant':keyNode(s),'format':t,'condition':[]},i);},peg$otherExpectation(\"DROP Type\"),peg$otherExpectation(\"IF EXISTS Keyword\"),function(i,e){return{'condition':[{'type':'condition','variant':keyNode(i),'condition':{'type':'expression','variant':keyNode(e),'operator':keyNode(e)}}]};},peg$otherExpectation(\"Or\"),peg$otherExpectation(\"Add\"),peg$otherExpectation(\"Subtract\"),peg$otherExpectation(\"Multiply\"),peg$otherExpectation(\"Divide\"),peg$otherExpectation(\"Modulo\"),peg$otherExpectation(\"Shift Left\"),peg$otherExpectation(\"Shift Right\"),peg$otherExpectation(\"Logical AND\"),peg$otherExpectation(\"Logical OR\"),peg$otherExpectation(\"Less Than\"),peg$otherExpectation(\"Greater Than\"),peg$otherExpectation(\"Less Than Or Equal\"),peg$otherExpectation(\"Greater Than Or Equal\"),peg$otherExpectation(\"Equal\"),peg$otherExpectation(\"Not Equal\"),peg$otherExpectation(\"IS\"),function(i,n){return foldStringKey([i,n]);},peg$otherExpectation(\"Identifier\"),peg$otherExpectation(\"Database Identifier\"),function(n){return{'type':'identifier','variant':'database','name':n};},peg$otherExpectation(\"Function Identifier\"),function(d,n){return{'type':'identifier','variant':'function','name':foldStringWord([d,n])};},peg$otherExpectation(\"Table Identifier\"),function(d,n){return{'type':'identifier','variant':'table','name':foldStringWord([d,n])};},function(n,d){return foldStringWord([n,d]);},peg$otherExpectation(\"Column Identifier\"),function(q,n){return{'type':'identifier','variant':'column','name':foldStringWord([q,n])};},function(){return'';},function(d,t){return foldStringWord([d,t]);},peg$otherExpectation(\"Collation Identifier\"),function(n){return{'type':'identifier','variant':'collation','name':n};},peg$otherExpectation(\"Savepoint Identifier\"),function(n){return{'type':'identifier','variant':'savepoint','name':n};},peg$otherExpectation(\"Index Identifier\"),function(d,n){return{'type':'identifier','variant':'index','name':foldStringWord([d,n])};},peg$otherExpectation(\"Trigger Identifier\"),function(d,n){return{'type':'identifier','variant':'trigger','name':foldStringWord([d,n])};},peg$otherExpectation(\"View Identifier\"),function(d,n){return{'type':'identifier','variant':'view','name':foldStringWord([d,n])};},peg$otherExpectation(\"Pragma Identifier\"),function(d,n){return{'type':'identifier','variant':'pragma','name':foldStringWord([d,n])};},peg$otherExpectation(\"CTE Identifier\"),function(d){return d;},function(n,a){return Object.assign({'type':'identifier','variant':'expression','format':'table','name':n['name'],'columns':[]},a);},peg$otherExpectation(\"Table Constraint Identifier\"),function(n){return{'type':'identifier','variant':'constraint','format':'table','name':n};},peg$otherExpectation(\"Column Constraint Identifier\"),function(n){return{'type':'identifier','variant':'constraint','format':'column','name':n};},peg$otherExpectation(\"Datatype Name\"),function(t){return[t,'text'];},function(t){return[t,'real'];},function(t){return[t,'numeric'];},function(t){return[t,'integer'];},function(t){return[t,'none'];},peg$otherExpectation(\"TEXT Datatype Name\"),\"n\",peg$literalExpectation(\"N\",true),\"var\",peg$literalExpectation(\"VAR\",true),\"char\",peg$literalExpectation(\"CHAR\",true),\"tiny\",peg$literalExpectation(\"TINY\",true),\"medium\",peg$literalExpectation(\"MEDIUM\",true),\"long\",peg$literalExpectation(\"LONG\",true),\"text\",peg$literalExpectation(\"TEXT\",true),\"clob\",peg$literalExpectation(\"CLOB\",true),peg$otherExpectation(\"REAL Datatype Name\"),\"float\",peg$literalExpectation(\"FLOAT\",true),\"real\",peg$literalExpectation(\"REAL\",true),peg$otherExpectation(\"DOUBLE Datatype Name\"),\"double\",peg$literalExpectation(\"DOUBLE\",true),\"precision\",peg$literalExpectation(\"PRECISION\",true),function(d,p){return foldStringWord([d,p]);},peg$otherExpectation(\"NUMERIC Datatype Name\"),\"numeric\",peg$literalExpectation(\"NUMERIC\",true),\"decimal\",peg$literalExpectation(\"DECIMAL\",true),\"boolean\",peg$literalExpectation(\"BOOLEAN\",true),\"date\",peg$literalExpectation(\"DATE\",true),\"time\",peg$literalExpectation(\"TIME\",true),\"stamp\",peg$literalExpectation(\"STAMP\",true),\"string\",peg$literalExpectation(\"STRING\",true),peg$otherExpectation(\"INTEGER Datatype Name\"),\"int\",peg$literalExpectation(\"INT\",true),\"2\",peg$literalExpectation(\"2\",false),\"4\",peg$literalExpectation(\"4\",false),\"8\",peg$literalExpectation(\"8\",false),\"eger\",peg$literalExpectation(\"EGER\",true),\"big\",peg$literalExpectation(\"BIG\",true),\"small\",peg$literalExpectation(\"SMALL\",true),\"floating\",peg$literalExpectation(\"FLOATING\",true),\"point\",peg$literalExpectation(\"POINT\",true),function(f,p){return foldStringWord([f,p]);},peg$otherExpectation(\"BLOB Datatype Name\"),\"blob\",peg$literalExpectation(\"BLOB\",true),/^[a-z0-9$_]/i,peg$classExpectation([[\"a\",\"z\"],[\"0\",\"9\"],\"$\",\"_\"],false,true),\"\\\\u\",peg$literalExpectation(\"\\\\u\",false),/^[a-f0-9]/i,peg$classExpectation([[\"a\",\"f\"],[\"0\",\"9\"]],false,true),function(u,s){return foldStringWord([u,s]).toLowerCase();},function(n){return keyNode(n);},peg$anyExpectation(),function(n){return textNode(n);},/^[ \\t]/,peg$classExpectation([\" \",\"\\t\"],false,false),\"\\\"\",peg$literalExpectation(\"\\\"\",false),\"\\\"\\\"\",peg$literalExpectation(\"\\\"\\\"\",false),/^[^\"]/,peg$classExpectation([\"\\\"\"],true,false),function(n){return unescape(n,'\"');},\"'\",peg$literalExpectation(\"'\",false),function(n){return unescape(n,\"'\");},\"`\",peg$literalExpectation(\"`\",false),\"``\",peg$literalExpectation(\"``\",false),/^[^`]/,peg$classExpectation([\"`\"],true,false),function(n){return unescape(n,'`');},peg$otherExpectation(\"Open Bracket\"),\"[\",peg$literalExpectation(\"[\",false),peg$otherExpectation(\"Close Bracket\"),\"]\",peg$literalExpectation(\"]\",false),peg$otherExpectation(\"Open Parenthesis\"),\"(\",peg$literalExpectation(\"(\",false),peg$otherExpectation(\"Close Parenthesis\"),\")\",peg$literalExpectation(\")\",false),peg$otherExpectation(\"Comma\"),\",\",peg$literalExpectation(\",\",false),peg$otherExpectation(\"Period\"),\".\",peg$literalExpectation(\".\",false),peg$otherExpectation(\"Asterisk\"),\"*\",peg$literalExpectation(\"*\",false),peg$otherExpectation(\"Question Mark\"),\"?\",peg$literalExpectation(\"?\",false),peg$otherExpectation(\"Single Quote\"),peg$otherExpectation(\"Double Quote\"),peg$otherExpectation(\"Backtick\"),peg$otherExpectation(\"Tilde\"),\"~\",peg$literalExpectation(\"~\",false),peg$otherExpectation(\"Plus\"),\"+\",peg$literalExpectation(\"+\",false),peg$otherExpectation(\"Minus\"),\"-\",peg$literalExpectation(\"-\",false),\"=\",peg$literalExpectation(\"=\",false),peg$otherExpectation(\"Ampersand\"),\"&\",peg$literalExpectation(\"&\",false),peg$otherExpectation(\"Pipe\"),\"|\",peg$literalExpectation(\"|\",false),\"%\",peg$literalExpectation(\"%\",false),\"<\",peg$literalExpectation(\"<\",false),\">\",peg$literalExpectation(\">\",false),peg$otherExpectation(\"Exclamation\"),\"!\",peg$literalExpectation(\"!\",false),peg$otherExpectation(\"Semicolon\"),\";\",peg$literalExpectation(\";\",false),peg$otherExpectation(\"Colon\"),peg$otherExpectation(\"Forward Slash\"),\"/\",peg$literalExpectation(\"/\",false),peg$otherExpectation(\"Backslash\"),\"\\\\\",peg$literalExpectation(\"\\\\\",false),\"abort\",peg$literalExpectation(\"ABORT\",true),\"action\",peg$literalExpectation(\"ACTION\",true),\"add\",peg$literalExpectation(\"ADD\",true),\"after\",peg$literalExpectation(\"AFTER\",true),\"all\",peg$literalExpectation(\"ALL\",true),\"alter\",peg$literalExpectation(\"ALTER\",true),\"analyze\",peg$literalExpectation(\"ANALYZE\",true),\"and\",peg$literalExpectation(\"AND\",true),\"as\",peg$literalExpectation(\"AS\",true),\"asc\",peg$literalExpectation(\"ASC\",true),\"attach\",peg$literalExpectation(\"ATTACH\",true),\"autoincrement\",peg$literalExpectation(\"AUTOINCREMENT\",true),\"before\",peg$literalExpectation(\"BEFORE\",true),\"begin\",peg$literalExpectation(\"BEGIN\",true),\"between\",peg$literalExpectation(\"BETWEEN\",true),\"by\",peg$literalExpectation(\"BY\",true),\"cascade\",peg$literalExpectation(\"CASCADE\",true),\"case\",peg$literalExpectation(\"CASE\",true),\"cast\",peg$literalExpectation(\"CAST\",true),\"check\",peg$literalExpectation(\"CHECK\",true),\"collate\",peg$literalExpectation(\"COLLATE\",true),\"column\",peg$literalExpectation(\"COLUMN\",true),\"commit\",peg$literalExpectation(\"COMMIT\",true),\"conflict\",peg$literalExpectation(\"CONFLICT\",true),\"constraint\",peg$literalExpectation(\"CONSTRAINT\",true),\"create\",peg$literalExpectation(\"CREATE\",true),\"cross\",peg$literalExpectation(\"CROSS\",true),\"current_date\",peg$literalExpectation(\"CURRENT_DATE\",true),\"current_time\",peg$literalExpectation(\"CURRENT_TIME\",true),\"current_timestamp\",peg$literalExpectation(\"CURRENT_TIMESTAMP\",true),\"database\",peg$literalExpectation(\"DATABASE\",true),\"default\",peg$literalExpectation(\"DEFAULT\",true),\"deferrable\",peg$literalExpectation(\"DEFERRABLE\",true),\"deferred\",peg$literalExpectation(\"DEFERRED\",true),\"delete\",peg$literalExpectation(\"DELETE\",true),\"desc\",peg$literalExpectation(\"DESC\",true),\"detach\",peg$literalExpectation(\"DETACH\",true),\"distinct\",peg$literalExpectation(\"DISTINCT\",true),\"drop\",peg$literalExpectation(\"DROP\",true),\"each\",peg$literalExpectation(\"EACH\",true),\"else\",peg$literalExpectation(\"ELSE\",true),\"end\",peg$literalExpectation(\"END\",true),\"escape\",peg$literalExpectation(\"ESCAPE\",true),\"except\",peg$literalExpectation(\"EXCEPT\",true),\"exclusive\",peg$literalExpectation(\"EXCLUSIVE\",true),\"exists\",peg$literalExpectation(\"EXISTS\",true),\"explain\",peg$literalExpectation(\"EXPLAIN\",true),\"fail\",peg$literalExpectation(\"FAIL\",true),\"for\",peg$literalExpectation(\"FOR\",true),\"foreign\",peg$literalExpectation(\"FOREIGN\",true),\"from\",peg$literalExpectation(\"FROM\",true),\"full\",peg$literalExpectation(\"FULL\",true),\"glob\",peg$literalExpectation(\"GLOB\",true),\"group\",peg$literalExpectation(\"GROUP\",true),\"having\",peg$literalExpectation(\"HAVING\",true),\"if\",peg$literalExpectation(\"IF\",true),\"ignore\",peg$literalExpectation(\"IGNORE\",true),\"immediate\",peg$literalExpectation(\"IMMEDIATE\",true),\"in\",peg$literalExpectation(\"IN\",true),\"index\",peg$literalExpectation(\"INDEX\",true),\"indexed\",peg$literalExpectation(\"INDEXED\",true),\"initially\",peg$literalExpectation(\"INITIALLY\",true),\"inner\",peg$literalExpectation(\"INNER\",true),\"insert\",peg$literalExpectation(\"INSERT\",true),\"instead\",peg$literalExpectation(\"INSTEAD\",true),\"intersect\",peg$literalExpectation(\"INTERSECT\",true),\"into\",peg$literalExpectation(\"INTO\",true),\"is\",peg$literalExpectation(\"IS\",true),\"isnull\",peg$literalExpectation(\"ISNULL\",true),\"join\",peg$literalExpectation(\"JOIN\",true),\"key\",peg$literalExpectation(\"KEY\",true),\"left\",peg$literalExpectation(\"LEFT\",true),\"like\",peg$literalExpectation(\"LIKE\",true),\"limit\",peg$literalExpectation(\"LIMIT\",true),\"match\",peg$literalExpectation(\"MATCH\",true),\"natural\",peg$literalExpectation(\"NATURAL\",true),\"no\",peg$literalExpectation(\"NO\",true),\"not\",peg$literalExpectation(\"NOT\",true),\"notnull\",peg$literalExpectation(\"NOTNULL\",true),\"of\",peg$literalExpectation(\"OF\",true),\"offset\",peg$literalExpectation(\"OFFSET\",true),\"on\",peg$literalExpectation(\"ON\",true),\"or\",peg$literalExpectation(\"OR\",true),\"order\",peg$literalExpectation(\"ORDER\",true),\"outer\",peg$literalExpectation(\"OUTER\",true),\"plan\",peg$literalExpectation(\"PLAN\",true),\"pragma\",peg$literalExpectation(\"PRAGMA\",true),\"primary\",peg$literalExpectation(\"PRIMARY\",true),\"query\",peg$literalExpectation(\"QUERY\",true),\"raise\",peg$literalExpectation(\"RAISE\",true),\"recursive\",peg$literalExpectation(\"RECURSIVE\",true),\"references\",peg$literalExpectation(\"REFERENCES\",true),\"regexp\",peg$literalExpectation(\"REGEXP\",true),\"reindex\",peg$literalExpectation(\"REINDEX\",true),\"release\",peg$literalExpectation(\"RELEASE\",true),\"rename\",peg$literalExpectation(\"RENAME\",true),\"replace\",peg$literalExpectation(\"REPLACE\",true),\"restrict\",peg$literalExpectation(\"RESTRICT\",true),\"right\",peg$literalExpectation(\"RIGHT\",true),\"rollback\",peg$literalExpectation(\"ROLLBACK\",true),\"row\",peg$literalExpectation(\"ROW\",true),\"rowid\",peg$literalExpectation(\"ROWID\",true),\"savepoint\",peg$literalExpectation(\"SAVEPOINT\",true),\"select\",peg$literalExpectation(\"SELECT\",true),\"set\",peg$literalExpectation(\"SET\",true),\"table\",peg$literalExpectation(\"TABLE\",true),\"temp\",peg$literalExpectation(\"TEMP\",true),\"temporary\",peg$literalExpectation(\"TEMPORARY\",true),\"then\",peg$literalExpectation(\"THEN\",true),\"to\",peg$literalExpectation(\"TO\",true),\"transaction\",peg$literalExpectation(\"TRANSACTION\",true),\"trigger\",peg$literalExpectation(\"TRIGGER\",true),\"union\",peg$literalExpectation(\"UNION\",true),\"unique\",peg$literalExpectation(\"UNIQUE\",true),\"update\",peg$literalExpectation(\"UPDATE\",true),\"using\",peg$literalExpectation(\"USING\",true),\"vacuum\",peg$literalExpectation(\"VACUUM\",true),\"values\",peg$literalExpectation(\"VALUES\",true),\"view\",peg$literalExpectation(\"VIEW\",true),\"virtual\",peg$literalExpectation(\"VIRTUAL\",true),\"when\",peg$literalExpectation(\"WHEN\",true),\"where\",peg$literalExpectation(\"WHERE\",true),\"with\",peg$literalExpectation(\"WITH\",true),\"without\",peg$literalExpectation(\"WITHOUT\",true),function(r){return keyNode(r);},function(){return null;},peg$otherExpectation(\"Line Comment\"),\"--\",peg$literalExpectation(\"--\",false),/^[\\n\\v\\f\\r]/,peg$classExpectation([\"\\n\",\"\\v\",\"\\f\",\"\\r\"],false,false),peg$otherExpectation(\"Block Comment\"),\"/*\",peg$literalExpectation(\"/*\",false),\"*/\",peg$literalExpectation(\"*/\",false),/^[\\n\\v\\f\\r\\t ]/,peg$classExpectation([\"\\n\",\"\\v\",\"\\f\",\"\\r\",\"\\t\",\" \"],false,false),peg$otherExpectation(\"Whitespace\"),\"__TODO__\",peg$literalExpectation(\"__TODO__\",false)];var peg$bytecode=[peg$decode(\"%;\\u023F/H#;#/?$;\\\".\\\" &\\\"/1$;#/($8$: $!!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u023F/C#;#/:$;x/1$;#/($8$: $!!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;x/B#;\\u023F/9$$;%0#*;%&/)$8#:!#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"$;\\u01B30#*;\\u01B3&\"),peg$decode(\"$;\\u01B3/�#*;\\u01B3&&&#\"),peg$decode(\"%;$/:#;x/1$;\\u023F/($8#:\\\"#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;'.# &;(/@#;\\u023F/7$;*.\\\" &\\\"/)$8#:$#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7#\"),peg$decode(\"%;\\u018B/' 8!:%!! )\"),peg$decode(\"<%;\\u0195/9#$;)0#*;)&/)$8\\\":'\\\"\\\"! )(\\\"'#&'#=.\\\" 7&\"),peg$decode(\"%4(\\\"\\\"5!7)/1#;\\u0197/($8\\\":*\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u01A0/R#;5/I$;\\u023F/@$;+.\\\" &\\\"/2$;\\u01A1/)$8%:,%\\\"#!)(%'#($'#(#'#(\\\"'#&'#=.\\\" 7+\"),peg$decode(\"%;\\u01A2/C#;\\u023F/:$;5/1$;\\u023F/($8$:-$!!)($'#(#'#(\\\"'#&'#\"),peg$decode(\";5.; &;6.5 &;2./ &;-.) &;..# &;/\"),peg$decode(\"<%;\\u0206/1#;\\u023F/($8\\\":/\\\"!!)(\\\"'#&'#=.\\\" 7.\"),peg$decode(\"<%;\\u01D2.) &;\\u01D4.# &;\\u01D3/1#;\\u023F/($8\\\":1\\\"!!)(\\\"'#&'#=.\\\" 70\"),peg$decode(\"<%;4.\\\" &\\\"/2#;0/)$8\\\":3\\\"\\\"! )(\\\"'#&'#=.\\\" 72\"),peg$decode(\"<%;\\u01A6/A#$;10#*;1&/1$;\\u01A6/($8#:5#!!)(#'#(\\\"'#&'#=.\\\" 74\"),peg$decode(\"26\\\"\\\"6677.) &48\\\"\\\"5!79\"),peg$decode(\"<%4;\\\"\\\"5!7!! )\"),peg$decode(\"<%;\\u01AA.# &;\\u01AB/' 8!:\\\"!! )=.\\\" 7?\"),peg$decode(\"%;4.\\\" &\\\"/2#;6/)$8\\\":@\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";<.# &;7\"),peg$decode(\"%;8/7#;;.\\\" &\\\"/)$8\\\":A\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<;9.# &;:=.\\\" 7B\"),peg$decode(\"%$;>/�#*;>&&&#/7#;:.\\\" &\\\"/)$8\\\":C\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u01A3/9#$;>0#*;>&/)$8\\\":D\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%3F\\\"\\\"5!7G/T#4H\\\"\\\"5!7I.\\\" &\\\"/@$$;>/�#*;>&&&#/*$8#:J##\\\"! )(#'#(\\\"'#&'#=.\\\" 7E\"),peg$decode(\"<%3L\\\"\\\"5\\\"7M/?#$;=/�#*;=&&&#/)$8\\\":N\\\"\\\"! )(\\\"'#&'#=.\\\" 7K\"),peg$decode(\"4O\\\"\\\"5!7P\"),peg$decode(\"4Q\\\"\\\"5!7R\"),peg$decode(\"<%;@.) &;B.# &;C/' 8!:T!! )=.\\\" 7S\"),peg$decode(\"<%;\\u01A5/@#;A.\\\" &\\\"/2$;\\u023F/)$8#:V#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7U\"),peg$decode(\"%4W\\\"\\\"5!7X/9#$;>0#*;>&/)$8\\\":Y\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%4[\\\"\\\"5!7\\\\/H#$;\\u0193/�#*;\\u0193&&&#/2$;\\u023F/)$8#:]#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7Z\"),peg$decode(\"<%2_\\\"\\\"6_7`/o#$;\\u0193.) &2a\\\"\\\"6a7b/2#0/*;\\u0193.) &2a\\\"\\\"6a7b&&&#/A$;\\u023F/8$;D.\\\" &\\\"/*$8$:c$##\\\" )($'#(#'#(\\\"'#&'#=.\\\" 7^\"),peg$decode(\"%;\\u019B/1#;\\u023F/($8\\\":d\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;F.\\\" &\\\"/;#;\\u023F/2$;\\x94/)$8#:f#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7e\"),peg$decode(\"<%;k.\\\" &\\\"/;#;\\u01E4/2$;\\u023F/)$8#:h#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7g\"),peg$decode(\"<%;\\u0211/_#;\\u023F/V$;\\u01A0/M$;\\u023F/D$;H/;$;\\u023F/2$;\\u01A1/)$8':j'\\\"&\\\")(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7i\"),peg$decode(\"<%;I.# &;J/' 8!:l!! )=.\\\" 7k\"),peg$decode(\"<%;\\u01EF/' 8!:n!! )=.\\\" 7m\"),peg$decode(\"%;\\u021B.) &;\\u01B7.# &;\\u01E6/M#;\\u023F/D$;\\u01A2/;$;\\u023F/2$;w/)$8%:o%\\\"$ )(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\";?./ &;t.) &;,.# &;\\u017D\"),peg$decode(\"%;\\u01A0/L#;\\u023F/C$;p/:$;\\u023F/1$;\\u01A1/($8%:p%!\\\")(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\";L.; &;E.5 &;_./ &;a.) &;G.# &;K\"),peg$decode(\"%;M/;#;\\u023F/2$;Q/)$8#:q#\\\"\\\" )(#'#(\\\"'#&'#.# &;M\"),peg$decode(\"%;P/A#;\\u023F/8$;N.# &;p/)$8#:r#\\\"\\\" )(#'#(\\\"'#&'#.# &;N\"),peg$decode(\";\\u01A9.U &;\\u01AB.O &;\\u01AA.I &%%;k/8#%<;\\u01E4=.##&&!&'#/#$+\\\")(\\\"'#&'#/\\\"!&,)\"),peg$decode(\"<%;\\u012D/' 8!:t!! )=.\\\" 7s\"),peg$decode(\"%;O/\\x83#$%;\\u023F/>#;\\u0166/5$;\\u023F/,$;O/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;\\u0166/5$;\\u023F/,$;O/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;R/\\x83#$%;\\u023F/>#;T/5$;\\u023F/,$;R/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;T/5$;\\u023F/,$;R/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";\\u0169.) &;\\u016A.# &;\\u016B\"),peg$decode(\"%;S/\\x83#$%;\\u023F/>#;V/5$;\\u023F/,$;S/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;V/5$;\\u023F/,$;S/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";\\u0167.# &;\\u0168\"),peg$decode(\"%;U/\\x83#$%;\\u023F/>#;X/5$;\\u023F/,$;U/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;X/5$;\\u023F/,$;U/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";\\u016C.U &;\\u016D.O &;\\u016E.I &%%;\\u016F/8#%<;\\u016F=.##&&!&'#/#$+\\\")(\\\"'#&'#/\\\"!&,)\"),peg$decode(\"%;W/\\x83#$%;\\u023F/>#;Z/5$;\\u023F/,$;W/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;Z/5$;\\u023F/,$;W/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";\\u0172.{ &;\\u0173.u &%%;\\u0170/8#%<;X=.##&&!&'#/#$+\\\")(\\\"'#&'#/\\\"!&,).I &%%;\\u0171/8#%<;X=.##&&!&'#/#$+\\\")(\\\"'#&'#/\\\"!&,)\"),peg$decode(\"%;Y/9#$;\\\\0#*;\\\\&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u023F/1#;]/($8\\\":v\\\"! )(\\\"'#&'#.H &%;\\u023F/>#;^/5$;\\u023F/,$;Y/#$+$)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%3w\\\"\\\"5$7x/?#;\\u023F/6$3y\\\"\\\"5$7z/'$8#:{# )(#'#(\\\"'#&'#.? &%;\\u01FB/& 8!:|! ).. &%;\\u0205/& 8!:{! )\"),peg$decode(\";\\u0177./ &;\\u0175.) &;\\u0176.# &;\\u0174\"),peg$decode(\"<%;\\u01C9/i#;\\u023F/`$;\\u01A0/W$;p/N$;\\u023F/E$;`/<$;\\u023F/3$;\\u01A1/*$8(:~(#'$\\\")(('#(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7}\"),peg$decode(\"<%;\\u01BF/:#;\\u023F/1$;&/($8#:\\x80#! )(#'#(\\\"'#&'#=.\\\" 7\\x7F\"),peg$decode(\"<%;\\u01C8/\\x93#;\\u023F/\\x8A$;b.\\\" &\\\"/|$;\\u023F/s$$;c/�#*;c&&&#/]$;\\u023F/T$;d.\\\" &\\\"/F$;\\u023F/=$;\\u01E0/4$;\\u023F/+$8*:\\x82*$)'%#)(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\x81\"),peg$decode(\"%%<;\\u0230=.##&&!&'#/1#;p/($8\\\":\\x83\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u0230/i#;\\u023F/`$;p/W$;\\u023F/N$;\\u0224/E$;\\u023F/<$;p/3$;\\u023F/*$8(:\\x85(#'%!)(('#(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\x84\"),peg$decode(\"<%;\\u01DF/D#;\\u023F/;$;p/2$;\\u023F/)$8$:\\x87$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\x86\"),peg$decode(\"%;[/;#;\\u023F/2$;f/)$8#:\\x88#\\\"\\\" )(#'#(\\\"'#&'#.# &;[\"),peg$decode(\";l.) &;i.# &;g\"),peg$decode(\"<%;k.\\\" &\\\"/o#;\\u01FF./ &;\\u01EB.) &;\\u0214.# &;\\u0201/T$;\\u023F/K$;p/B$;\\u023F/9$;h.\\\" &\\\"/+$8&:\\x8A&$%$\\\" )(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\x89\"),peg$decode(\"<%;\\u01E1/D#;\\u023F/;$;p/2$;\\u023F/)$8$:\\x8C$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\x8B\"),peg$decode(\"<%;k.\\\" &\\\"/E#;\\u01C5/<$;\\u023F/3$;j/*$8$:\\x8E$##\\\" )($'#(#'#(\\\"'#&'#=.\\\" 7\\x8D\"),peg$decode(\"%;e/W#%;\\u023F/>#;\\u01BE/5$;\\u023F/,$;e/#$+$)($'#(#'#(\\\"'#&'#/)$8\\\":\\x8F\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u0204/1#;\\u023F/($8\\\":\\x90\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;k.\\\" &\\\"/E#;\\u01F1/<$;\\u023F/3$;m/*$8$:\\x92$##\\\" )($'#(#'#(\\\"'#&'#=.\\\" 7\\x91\"),peg$decode(\";n.# &;\\u017B\"),peg$decode(\"%;\\u01A0/I#;\\x95.# &;q/:$;\\u023F/1$;\\u01A1/($8$:\\x93$!\\\")($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;e/\\x83#$%;\\u023F/>#;\\u01BE/5$;\\u023F/,$;e/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;\\u01BE/5$;\\u023F/,$;e/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;o/\\x83#$%;\\u023F/>#;\\u020A/5$;\\u023F/,$;o/#$+$)($'#(#'#(\\\"'#&'#0H*%;\\u023F/>#;\\u020A/5$;\\u023F/,$;o/#$+$)($'#(#'#(\\\"'#&'#&/)$8\\\":u\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;r.\\\" &\\\"/1#;\\u023F/($8\\\":\\x95\\\"!!)(\\\"'#&'#=.\\\" 7\\x94\"),peg$decode(\"%;p/B#;\\u023F/9$$;s0#*;s&/)$8#:\\x96#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2/:#;p/1$;\\u023F/($8#:\\x93#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u017A/[#;\\u023F/R$;\\u01A0/I$;u.\\\" &\\\"/;$;\\u023F/2$;\\u01A1/)$8&:\\x98&\\\"%\\\")(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\x97\"),peg$decode(\"<%;\\xDB/' 8!:\\x9A!! ).V &%;v.\\\" &\\\"/G#;q/>$9:\\x9B \\\"! -\\\"\\\"&!&#/)$8#:\\x9C#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7\\x99\"),peg$decode(\"%;\\u01DC.# &;\\u01BB/1#;\\u023F/($8\\\":\\x9D\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;//' 8!:\\x9F!! )=.\\\" 7\\x9E\"),peg$decode(\"<%;y.\\\" &\\\"/;#;{/2$;\\u023F/)$8#:\\xA1#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7\\xA0\"),peg$decode(\"<%;\\u01E5/@#;\\u023F/7$;z.\\\" &\\\"/)$8#:\\xA3#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\xA2\"),peg$decode(\"<%;\\u0210/D#;\\u023F/;$;\\u020D/2$;\\u023F/)$8$:\\xA5$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xA4\"),peg$decode(\";\\x8C.S &;\\xFB.M &;\\u0162.G &;}.A &;|.; &;\\x86.5 &;\\x80./ &;\\x84.) &;\\x85.# &;\\x96\"),peg$decode(\"<%;\\u01CD.# &;\\u01E0/@#;\\u023F/7$;~.\\\" &\\\"/)$8#:\\xA7#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\xA6\"),peg$decode(\"<%;\\u01C4/^#;\\u023F/U$;\\x7F.\\\" &\\\"/G$;~.\\\" &\\\"/9$;\\x82.\\\" &\\\"/+$8%:\\xA9%$$\\\"! )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xA8\"),peg$decode(\"%;\\u0226/1#;\\u023F/($8\\\":\\xAA\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u01D8.) &;\\u01F0.# &;\\u01E3/1#;\\u023F/($8\\\":\\xAB\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u021B/N#;\\u023F/E$;~.\\\" &\\\"/7$;\\x81.\\\" &\\\"/)$8$:\\xAD$\\\"# )($'#(#'#(\\\"'#&'#=.\\\" 7\\xAC\"),peg$decode(\"<%%;\\u0225/,#;\\u023F/#$+\\\")(\\\"'#&'#.\\\" &\\\"/?#;\\x83.\\\" &\\\"/1$;\\x82/($8#:p#! )(#'#(\\\"'#&'#=.\\\" 7\\xAE\"),peg$decode(\"%;\\u0182/1#;\\u023F/($8\\\":\\xAF\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u021E/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\x83/2#;\\x82/)$8\\\":\\xB2\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\xB1\"),peg$decode(\"<%;\\u0216/J#;\\u023F/A$;\\x83.\\\" &\\\"/3$;\\x82/*$8$:\\xB4$##! )($'#(#'#(\\\"'#&'#=.\\\" 7\\xB3\"),peg$decode(\"<%;\\x87/N#;\\u017B/E$;\\u023F/<$;\\x88/3$;\\u023F/*$8%:\\xB6%#$#!)(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xB5\"),peg$decode(\"<%;\\u01BC/D#;\\u023F/;$;\\u0221/2$;\\u023F/)$8$:\\xB8$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xB7\"),peg$decode(\";\\x89.# &;\\x8A\"),peg$decode(\"<%;\\u0217/M#;\\u023F/D$;\\u0225/;$;\\u023F/2$;\\u017B/)$8%:\\xBA%\\\"$ )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xB9\"),peg$decode(\"<%;\\u01B9/I#;\\u023F/@$;\\x8B.\\\" &\\\"/2$;\\u010C/)$8$:\\xBC$\\\"# )($'#(#'#(\\\"'#&'#=.\\\" 7\\xBB\"),peg$decode(\"%;\\u01CC/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\x8D/2#;\\xA7/)$8\\\":\\xBD\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\x8E.\\\" &\\\"/1#;\\u023F/($8\\\":*\\\"!!)(\\\"'#&'#=.\\\" 7\\xBE\"),peg$decode(\"%;\\u0232/J#;\\u023F/A$;\\x8F.\\\" &\\\"/3$;\\x90/*$8$:\\xBF$##! )($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0212/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\x92/B#;\\u023F/9$$;\\x910#*;\\x91&/)$8#:\\xC0#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2/:#;\\x92/1$;\\u023F/($8#:\\x93#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0187/2#;\\x93/)$8\\\":\\xC2\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\xC1\"),peg$decode(\"%;\\u01BF/:#;\\u023F/1$;\\x94/($8#:\\xC3#! )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A0/C#;\\x95/:$;\\u023F/1$;\\u01A1/($8$: $!\\\")($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\x8D/2#;\\xA8/)$8\\\":\\xC4\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";\\x97.; &;\\x99.5 &;\\x9A./ &;\\x9C.) &;\\x9E.# &;\\xA0\"),peg$decode(\"<%;\\u01C1/\\x8B#;\\u023F/\\x82$%;\\u01D5/,#;\\u023F/#$+\\\")(\\\"'#&'#.\\\" &\\\"/a$;p/X$;\\u023F/O$;\\u01BF/F$;\\u023F/=$;\\x98/4$;\\u023F/+$8):\\xC6)$(&%!)()'#(('#(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xC5\"),peg$decode(\";\\u0179.) &;-.# &;?\"),peg$decode(\"<%;\\u01DB/f#;\\u023F/]$%;\\u01D5/,#;\\u023F/#$+\\\")(\\\"'#&'#.\\\" &\\\"/<$;\\x98/3$;\\u023F/*$8%:\\xC8%#$\\\"!)(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xC7\"),peg$decode(\"<%;\\u022C/@#;\\u023F/7$;\\x9B.\\\" &\\\"/)$8#:\\xCA#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\xC9\"),peg$decode(\"%;\\u0179/1#;\\u023F/($8\\\":\\xCB\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u01BD/@#;\\u023F/7$;\\x9D.\\\" &\\\"/)$8#:\\xCD#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\xCC\"),peg$decode(\"%;\\u017B.) &;\\u0183.# &;\\u0179/1#;\\u023F/($8\\\":\\xCE\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u0215/I#;\\u023F/@$;\\x9F.\\\" &\\\"/2$;\\u023F/)$8$:\\xCD$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xCF\"),peg$decode(\"%;\\u017B.) &;\\u0183.# &;\\u0181/1#;\\u023F/($8\\\":\\xD0\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u020E/S#;\\u023F/J$;\\u0186/A$;\\u023F/8$;\\xA1.\\\" &\\\"/*$8%:\\xD2%#$\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xD1\"),peg$decode(\"%;\\u01A0/C#;\\xA2/:$;\\u023F/1$;\\u01A1/($8$:\\xD3$!\\\")($'#(#'#(\\\"'#&'#.D &%;\\u01AC/:#;\\xA2/1$;\\u023F/($8#:\\xD3#!!)(#'#(\\\"'#&'#\"),peg$decode(\";\\xA4.) &;\\xA3.# &;\\xA6\"),peg$decode(\";5.) &;/.# &;3\"),peg$decode(\"%;\\xA5/<#9:\\xD4 ! -\\\"\\\"&!&#/($8\\\":\\xD5\\\"!!)(\\\"'#&'#\"),peg$decode(\"%$;\\u0193/�#*;\\u0193&&&#/' 8!:\\xD6!! )\"),peg$decode(\"%;\\xA5/' 8!:\\xD7!! )\"),peg$decode(\";\\xA8./ &;\\xDD.) &;\\xF2.# &;\\xF9\"),peg$decode(\"<%;\\xAE/X#;\\u023F/O$;\\xA9.\\\" &\\\"/A$;\\u023F/8$;\\xAA.\\\" &\\\"/*$8%:\\xD9%#$\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xD8\"),peg$decode(\"<%;\\u020B/L#;\\u023F/C$;\\u01C6/:$;\\u023F/1$;\\xD8/($8%:\\xDB%! )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xDA\"),peg$decode(\"<%;\\u0200/S#;\\u023F/J$;p/A$;\\u023F/8$;\\xAB.\\\" &\\\"/*$8%:\\xDD%#$\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xDC\"),peg$decode(\"<%;\\xAC/2#;p/)$8\\\":\\xDF\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\xDE\"),peg$decode(\";\\xAD.# &;\\u01A2\"),peg$decode(\"%;\\u0208/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\xB0/B#;\\u023F/9$$;\\xAF0#*;\\xAF&/)$8#:\\xE0#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\xEF/D#;\\u023F/;$;\\xB0/2$;\\u023F/)$8$:\\xE2$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xE1\"),peg$decode(\";\\xB1.# &;\\xD7\"),peg$decode(\"%;\\xB2/U#;\\xB8.\\\" &\\\"/G$;\\xB9.\\\" &\\\"/9$;\\xBA.\\\" &\\\"/+$8$:\\xE3$$#\\\"! )($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u021F/R#;\\u023F/I$;\\xB3.\\\" &\\\"/;$;\\u023F/2$;\\xB6/)$8%:\\xE5%\\\"\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xE4\"),peg$decode(\"<;\\xB4.# &;\\xB5=.\\\" 7\\xE6\"),peg$decode(\"%;\\u01DC/1#;\\u023F/($8\\\":\\xE7\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u01BB/1#;\\u023F/($8\\\":\\xE8\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\xBC/B#;\\u023F/9$$;\\xB70#*;\\xB7&/)$8#:\\xC0#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2/:#;\\xBC/1$;\\u023F/($8#:-#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u01E9/D#;\\u023F/;$;\\xC0/2$;\\u023F/)$8$:\\xEA$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xE9\"),peg$decode(\"<%;\\u0231/D#;\\u023F/;$;p/2$;\\u023F/)$8$:\\xEC$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xEB\"),peg$decode(\"<%;\\u01EC/e#;\\u023F/\\\\$;\\u01C6/S$;\\u023F/J$;q/A$;\\u023F/8$;\\xBB.\\\" &\\\"/*$8':\\xEE'#&\\\" )(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\xED\"),peg$decode(\"<%;\\u01ED/D#;\\u023F/;$;p/2$;\\u023F/)$8$:\\xF0$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xEF\"),peg$decode(\";\\xBD.# &;\\xBF\"),peg$decode(\"%;\\xBE.\\\" &\\\"/2#;\\xDB/)$8\\\":\\xF1\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u0195/2#;\\u01A3/)$8\\\":\\xF2\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;p/@#;\\u023F/7$;\\xCD.\\\" &\\\"/)$8#:\\xF3#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\xC4/B#;\\u023F/9$$;\\xC10#*;\\xC1&/)$8#:\\xF4#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\xC2.# &;\\xC3/7#;\\xD4.\\\" &\\\"/)$8\\\":\\xF5\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u01A2/:#;\\xC4/1$;\\u023F/($8#:\\xF7#!!)(#'#(\\\"'#&'#=.\\\" 7\\xF6\"),peg$decode(\"<%;\\xCE/D#;\\u023F/;$;\\xC4/2$;\\u023F/)$8$:\\xF9$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\xF8\"),peg$decode(\";\\xCB.5 &;?./ &;\\xC5.) &;\\xC6.# &;\\xCC\"),peg$decode(\"%;\\u017A/S#;\\u023F/J$;\\xED/A$;\\u023F/8$;\\xCD.\\\" &\\\"/*$8%:\\xFA%#$\\\" )(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\xC7/@#;\\u023F/7$;\\xC8.\\\" &\\\"/)$8#:\\xFC#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\xFB\"),peg$decode(\"<%;\\u017B/@#;\\u023F/7$;\\xCD.\\\" &\\\"/)$8#:\\xFE#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\xFD\"),peg$decode(\"<;\\xC9.# &;\\xCA=.\\\" 7\\xFF\"),peg$decode(\"%;\\u01F3/V#;\\u023F/M$;\\u01C6/D$;\\u023F/;$;\\u0183/2$;\\u023F/)$8&:\\u0100&\\\"%!)(&'#(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;k/;#;\\u01F3/2$;\\u023F/)$8#:\\u0101#\\\"\\\"!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u01A0/R#;\\xC0/I$;\\u023F/@$;\\u01A1/7$;\\xCD.\\\" &\\\"/)$8%:\\u0103%\\\"# )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0102\"),peg$decode(\"<%;\\x94/7#;\\xCD.\\\" &\\\"/)$8\\\":\\u0105\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u0104\"),peg$decode(\"<%%;\\u01BF/Q#%%<;\\u0193.# &;\\u0236=.##&&!&'#/,#;\\u023F/#$+\\\")(\\\"'#&'#/#$+\\\")(\\\"'#&'#.\\\" &\\\"/;#;\\u0195/2$;\\u023F/)$8#:\\u0107#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7\\u0106\"),peg$decode(\"<%;\\xCF.\\\" &\\\"/J#;\\u023F/A$;\\xD0.\\\" &\\\"/3$;\\u01FC/*$8$:\\u0109$##! )($'#(#'#(\\\"'#&'#=.\\\" 7\\u0108\"),peg$decode(\"%;\\u0202/1#;\\u023F/($8\\\":\\x90\\\"!!)(\\\"'#&'#\"),peg$decode(\";\\xD1.# &;\\xD3\"),peg$decode(\"%;\\u01FE.) &;\\u021A.# &;\\u01EA/@#;\\u023F/7$;\\xD2.\\\" &\\\"/)$8#:\\u010A#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u020C/1#;\\u023F/($8\\\":\\u010B\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u01F5.# &;\\u01D1/1#;\\u023F/($8\\\":\\u010B\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\xD5.# &;\\xD6/1#;\\u023F/($8\\\":\\u010D\\\"!!)(\\\"'#&'#=.\\\" 7\\u010C\"),peg$decode(\"<%;\\u0209/;#;\\u023F/2$;p/)$8#:\\u010F#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u010E\"),peg$decode(\"<%;\\u022B/;#;\\u023F/2$;\\xE6/)$8#:\\u0111#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u0110\"),peg$decode(\"<%;\\u022D/;#;\\u023F/2$;\\xEB/)$8#:\\u0113#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u0112\"),peg$decode(\"%;\\xDA/B#;\\u023F/9$$;\\xD90#*;\\xD9&/)$8#:\\u0114#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2/:#;\\xDA/1$;\\u023F/($8#:\\u0115#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;p/@#;\\u023F/7$;\\u012F.\\\" &\\\"/)$8#:\\u0117#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u0116\"),peg$decode(\"<;\\u01A4=.\\\" 7\\u0118\"),peg$decode(\"<;\\u0218.5 &;\\u021B./ &;\\u01B7.) &;\\u01E6.# &;\\u01EF=.\\\" 7\\u0119\"),peg$decode(\"<%;\\xDE/;#;\\u023F/2$;\\xE2/)$8#:\\u011B#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u011A\"),peg$decode(\";\\xDF.# &;\\xE0\"),peg$decode(\"<%;\\u01F6/@#;\\u023F/7$;\\xE1.\\\" &\\\"/)$8#:\\u011D#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u011C\"),peg$decode(\"<%;\\u0218/1#;\\u023F/($8\\\":\\u011F\\\"!!)(\\\"'#&'#=.\\\" 7\\u011E\"),peg$decode(\"<%;\\u020A/;#;\\u023F/2$;\\xDC/)$8#:\\u0121#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u0120\"),peg$decode(\"%;\\xE3/2#;\\xE5/)$8\\\":\\u0122\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\xE4/2#;\\u0187/)$8\\\":\\u0124\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u0123\"),peg$decode(\"<%;\\u01F9/,#;\\u023F/#$+\\\")(\\\"'#&'#=.\\\" 7\\u0125\"),peg$decode(\"<%;\\xE9.) &;\\x95.# &;\\xEE/1#;\\u023F/($8\\\":\\u0126\\\"!!)(\\\"'#&'#=.\\\" 7\\u0112\"),peg$decode(\"<%;\\u01A0/T#;\\xE8/K$;\\u023F/B$$;\\xE70#*;\\xE7&/2$;\\u01A1/)$8%:\\u0128%\\\"#!)(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0127\"),peg$decode(\"%;\\u01A2/:#;\\xE8/1$;\\u023F/($8#:\\u0129#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0178/' 8!:\\u012B!! )=.\\\" 7\\u012A\"),peg$decode(\"<%;\\xEA/2#;\\xEB/)$8\\\":\\u012C\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u0112\"),peg$decode(\"<%;\\u022D/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#=.\\\" 7\\u012D\"),peg$decode(\"%;\\xED/B#;\\u023F/9$$;\\xEC0#*;\\xEC&/)$8#:\\u012E#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2/:#;\\xED/1$;\\u023F/($8#:\\x93#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u01A0/C#;q/:$;\\u023F/1$;\\u01A1/($8$:\\u0130$!\\\")($'#(#'#(\\\"'#&'#=.\\\" 7\\u012F\"),peg$decode(\"<%;\\u01D6/;#;\\u023F/2$;\\u022D/)$8#:\\u0132#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u0131\"),peg$decode(\"<%;\\xF0.) &;\\u01F8.# &;\\u01E2/' 8!:\\xB0!! )=.\\\" 7\\u0133\"),peg$decode(\"<%;\\u0228/@#;\\u023F/7$;\\xF1.\\\" &\\\"/)$8#:\\u0135#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u0134\"),peg$decode(\"%;\\u01BB/1#;\\u023F/($8\\\":\\u0136\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\xF3/\\x8A#;\\xF4.\\\" &\\\"/|$;\\xC6/s$;\\u023F/j$;\\xF5/a$;\\xB9.\\\" &\\\"/S$;\\xA9.\\\" &\\\"/E$;\\u023F/<$;\\xAA.\\\" &\\\"/.$8):\\u0138)'('&$#\\\" )()'#(('#(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0137\"),peg$decode(\"<%;\\u022A/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#=.\\\" 7\\u0139\"),peg$decode(\"<%;\\u020A/C#;\\u023F/:$;\\xDC/1$;\\u023F/($8$:\\u013B$!!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u013A\"),peg$decode(\"<%;\\u0220/C#;\\u023F/:$;\\xF6/1$;\\u023F/($8$:\\u013D$!!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u013C\"),peg$decode(\"%;\\xF8/9#$;\\xF70#*;\\xF7&/)$8\\\":\\u012E\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u023F/:#;\\u01A2/1$;\\xF8/($8#:\\u0129#! )(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u017D/M#;\\u023F/D$;\\u01AC/;$;p/2$;\\u023F/)$8%:\\u013F%\\\"$!)(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u013E\"),peg$decode(\"<%;\\xFA/h#;\\xC6/_$;\\u023F/V$;\\xB9.\\\" &\\\"/H$;\\xA9.\\\" &\\\"/:$;\\xAA.\\\" &\\\"/,$8&:\\u0141&%%$\\\"! )(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0140\"),peg$decode(\"<%;\\u01D9/C#;\\u023F/:$;\\u01E9/1$;\\u023F/($8$:\\xB0$!#)($'#(#'#(\\\"'#&'#=.\\\" 7\\u0142\"),peg$decode(\"<;\\xFD.5 &;\\xFE./ &;\\xFF.) &;\\u0100.# &;\\u0101=.\\\" 7\\u0143\"),peg$decode(\"%;\\u01D0/1#;\\u023F/($8\\\":\\xB0\\\"!!)(\\\"'#&'#\"),peg$decode(\"%%<%;\\xFC/>#;\\u01F2./ &;\\u0227.) &;\\u022E.# &;\\u022F/#$+\\\")(\\\"'#&'#=.##&&!&'#/1#;\\u0102/($8\\\":\\u0129\\\"! )(\\\"'#&'#\"),peg$decode(\"%%<%;\\xFC/>#;\\u0221./ &;\\u0227.) &;\\u022E.# &;\\u022F/#$+\\\")(\\\"'#&'#=.##&&!&'#/1#;\\u0143/($8\\\":\\u0129\\\"! )(\\\"'#&'#\"),peg$decode(\"%%<%;\\xFC/>#;\\u0221./ &;\\u01F2.) &;\\u022E.# &;\\u022F/#$+\\\")(\\\"'#&'#=.##&&!&'#/1#;\\u0147/($8\\\":\\u0129\\\"! )(\\\"'#&'#\"),peg$decode(\"%%<%;\\xFC/>#;\\u0221./ &;\\u01F2.) &;\\u0227.# &;\\u022F/#$+\\\")(\\\"'#&'#=.##&&!&'#/1#;\\u0156/($8\\\":\\u0129\\\"! )(\\\"'#&'#\"),peg$decode(\"%%<%;\\xFC/>#;\\u0221./ &;\\u01F2.) &;\\u0227.# &;\\u022E/#$+\\\")(\\\"'#&'#=.##&&!&'#/1#;\\u015A/($8\\\":\\u0129\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u0103/T#;\\u0105.\\\" &\\\"/F$;\\u017B/=$;\\u023F/4$;\\u0106/+$8%:\\u0145%$$#\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0144\"),peg$decode(\"%;\\xFC/J#;\\u0104.\\\" &\\\"/<$;\\u0221/3$;\\u023F/*$8$:\\u0146$##\\\"!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0223.# &;\\u0222/1#;\\u023F/($8\\\":\\u0147\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u01EE/N#;\\u023F/E$;k/<$;\\u01E4/3$;\\u023F/*$8%:\\u0149%#$\\\"!)(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0148\"),peg$decode(\";\\u0107.# &;\\u0142\"),peg$decode(\"<%;\\u01A0/Z#;\\u0109/Q$$;\\u010B0#*;\\u010B&/A$;\\u01A1/8$;\\u0108.\\\" &\\\"/*$8%:\\u014B%##\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u014A\"),peg$decode(\"%;\\u0233/D#;\\u023F/;$;\\u021D/2$;\\u023F/)$8$:\\u014C$\\\"#!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u010C/B#;\\u023F/9$$;\\u010A0#*;\\u010A&/)$8#:\\u012E#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2/:#;\\u010C/1$;\\u023F/($8#:\\xAA#!!)(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01A2.\\\" &\\\"/1#;\\u0120/($8\\\":\\u014D\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u010D/O#;\\u023F/F$;\\u010E.\\\" &\\\"/8$;\\u010F.\\\" &\\\"/*$8$:\\u014F$##! )($'#(#'#(\\\"'#&'#=.\\\" 7\\u014E\"),peg$decode(\"%;\\u0195/=#%<;\\u023F=/##&'!&&#/($8\\\":p\\\"!!)(\\\"'#&'#.\\\\ &%%<;\\u010E.) &;\\u0111.# &;\\u0120=.##&&!&'#/:#;\\u023F/1$;\\u0198/($8#:p#! )(#'#(\\\"'#&'#\"),peg$decode(\"<%;&/1#;\\u023F/($8\\\":\\u0151\\\"!!)(\\\"'#&'#=.\\\" 7\\u0150\"),peg$decode(\"%;\\u0111/B#$;\\u01100#*;\\u0110&/2$;\\u023F/)$8#:\\u012E#\\\"\\\"!)(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u023F/1#;\\u0111/($8\\\":\\u0129\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u0112.\\\" &\\\"/A#;\\u0114/8$;\\u0112.\\\" &\\\"/*$8#:\\u0153##\\\"! )(#'#(\\\"'#&'#=.\\\" 7\\u0152\"),peg$decode(\"%$;\\u0113/�#*;\\u0113&&&#/' 8!:\\u0154!! )\"),peg$decode(\"<%;\\u01CF/C#;\\u023F/:$;\\u0195/1$;\\u023F/($8$:\\u0156$!!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u0155\"),peg$decode(\";\\u0116.; &;\\u0119.5 &;\\u011C./ &;\\u011D.) &;\\u011F.# &;\\u0115\"),peg$decode(\"<%;\\u0135/' 8!:\\u0158!! )=.\\\" 7\\u0157\"),peg$decode(\"<%;\\u0117/U#;\\u012F.\\\" &\\\"/G$;\\u0130.\\\" &\\\"/9$;\\u0118.\\\" &\\\"/+$8$:\\u015A$$#\\\"! )($'#(#'#(\\\"'#&'#=.\\\" 7\\u0159\"),peg$decode(\"<%;\\u020F.# &;\\u020E/D#;\\u023F/;$;\\u01FD/2$;\\u023F/)$8$:\\u015C$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u015B\"),peg$decode(\"<%;\\u01C2/1#;\\u023F/($8\\\":\\u015E\\\"!!)(\\\"'#&'#=.\\\" 7\\u015D\"),peg$decode(\"%;\\u011A/@#;\\u0130.\\\" &\\\"/2$;\\u023F/)$8#:\\u015F#\\\"\\\"!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u011B.# &;\\u0229/1#;\\u023F/($8\\\":\\u010B\\\"!!)(\\\"'#&'#=.\\\" 7\\u0160\"),peg$decode(\"<%;k.\\\" &\\\"/2#;\\u0206/)$8\\\":\\u0162\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u0161\"),peg$decode(\"<;\\u0132=.\\\" 7\\u0163\"),peg$decode(\"<%;\\u01D6/D#;\\u023F/;$;\\u011E/2$;\\u023F/)$8$:\\u0165$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u0164\"),peg$decode(\";L./ &;5.) &;,.# &;3\"),peg$decode(\"<%;\\u012D/' 8!:\\u0167!! )=.\\\" 7\\u0166\"),peg$decode(\"<%;\\u0112.\\\" &\\\"/J#;\\u0121/A$;\\u023F/8$;\\u0112.\\\" &\\\"/*$8$:\\u0169$##\\\" )($'#(#'#(\\\"'#&'#=.\\\" 7\\u0168\"),peg$decode(\";\\u0133.) &;\\u0123.# &;\\u0122\"),peg$decode(\"<%;\\u0132/' 8!:\\u016B!! )=.\\\" 7\\u016A\"),peg$decode(\"<%;\\u0124/J#;\\u023F/A$;\\u0129/8$;\\u0130.\\\" &\\\"/*$8$:\\u016D$##! )($'#(#'#(\\\"'#&'#=.\\\" 7\\u016C\"),peg$decode(\"%;\\u0125.# &;\\u0126/1#;\\u023F/($8\\\":\\u016E\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u020F/;#;\\u023F/2$;\\u01FD/)$8#:\\u016F#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u015B\"),peg$decode(\"<%;\\u0229/' 8!:\\u0171!! )=.\\\" 7\\u0170\"),peg$decode(\"%;\\u01A0/T#;\\u012B/K$;\\u023F/B$$;\\u012A0#*;\\u012A&/2$;\\u01A1/)$8%:\\u0172%\\\"#!)(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0127/' 8!:\\u0173!! )\"),peg$decode(\"%;\\u0127/' 8!:\\u0174!! )\"),peg$decode(\"%;\\u01A2/:#;\\u012B/1$;\\u023F/($8#:\\u0129#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u012C/O#;\\u023F/F$;\\u012F.\\\" &\\\"/8$;\\u0118.\\\" &\\\"/*$8$:\\u0176$##! )($'#(#'#(\\\"'#&'#=.\\\" 7\\u0175\"),peg$decode(\"%;\\xE8/\\\\#%<%;\\u023F/8#;\\u01B3.) &;\\u01A1.# &;\\u012F/#$+\\\")(\\\"'#&'#=/##&'!&&#/($8\\\":p\\\"!!)(\\\"'#&'#.# &;p\"),peg$decode(\"<%$;\\u012E/�#*;\\u012E&&&#/' 8!:\\u0178!! )=.\\\" 7\\u0177\"),peg$decode(\"%;\\u01CB/C#;\\u023F/:$;\\u0181/1$;\\u023F/($8$:p$!!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u01C0.# &;\\u01DA/1#;\\u023F/($8\\\":\\u017A\\\"!!)(\\\"'#&'#=.\\\" 7\\u0179\"),peg$decode(\"%;\\u0131/;#;\\xDC/2$;\\u023F/)$8#:\\u017B#\\\"\\\"!)(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0209/D#;\\u023F/;$;\\u01CE/2$;\\u023F/)$8$:\\u017D$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u017C\"),peg$decode(\"%;\\u01CA/;#;\\u023F/2$;L/)$8#:\\u017E#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0134/E#;\\xE6/<$;\\u0135/3$;\\u023F/*$8$:\\u0180$##\\\"!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u017F\"),peg$decode(\"<%;\\u01E8/D#;\\u023F/;$;\\u01FD/2$;\\u023F/)$8$:\\u0182$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u0181\"),peg$decode(\"%;\\u0136/F#;\\u0137.\\\" &\\\"/8$;\\u0140.\\\" &\\\"/*$8#:\\u0183##\\\"! )(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0213/D#;\\u023F/;$;\\u0187/2$;\\u023F/)$8$:\\u0185$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u0184\"),peg$decode(\"%;\\u0139/B#;\\u023F/9$$;\\u01380#*;\\u0138&/)$8#:\\u0186#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0139/1#;\\u023F/($8\\\":\\u0136\\\"!!)(\\\"'#&'#\"),peg$decode(\"<;\\u013A.# &;\\u013F=.\\\" 7\\u0187\"),peg$decode(\"%;\\u0209/T#;\\u023F/K$;\\u01D9.# &;\\u022A/<$;\\u023F/3$;\\u013B/*$8%:\\u0188%#$\\\" )(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\"<;\\u013C.) &;\\u013D.# &;\\u013E=.\\\" 7\\u0189\"),peg$decode(\"%;\\u0220/J#;\\u023F/A$;\\u0206.# &;\\u01D6/2$;\\u023F/)$8$:\\u018A$\\\"#!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01C7.# &;\\u0219/1#;\\u023F/($8\\\":\\u018B\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u0203/D#;\\u023F/;$;\\u01B8/2$;\\u023F/)$8$:\\u018C$\\\"#!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0201/D#;\\u023F/;$;\\u0195/2$;\\u023F/)$8$:\\u018D$\\\"#!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;k.\\\" &\\\"/J#;\\u01D7/A$;\\u023F/8$;\\u0141.\\\" &\\\"/*$8$:\\u018F$##\\\" )($'#(#'#(\\\"'#&'#=.\\\" 7\\u018E\"),peg$decode(\"%;\\u01F4/J#;\\u023F/A$;\\u01D8.# &;\\u01F0/2$;\\u023F/)$8$:\\u0190$\\\"#!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0159/' 8!:\\u0191!! )\"),peg$decode(\"<%;\\u0144/c#;\\u0105.\\\" &\\\"/U$;\\u0183/L$;\\u023F/C$;\\u0146/:$;\\xB9.\\\" &\\\"/,$8&:\\u0193&%%$#! )(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0192\"),peg$decode(\"%;\\xFC/J#;\\u0145.\\\" &\\\"/<$;\\u01F2/3$;\\u023F/*$8$:\\u0194$##\\\"!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0229/1#;\\u023F/($8\\\":\\u0195\\\"!!)(\\\"'#&'#\"),peg$decode(\"<%;\\u0209/N#;\\u023F/E$;\\u017B/<$;\\u023F/3$;\\u0128/*$8%:\\u0197%#$\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0196\"),peg$decode(\"<%;\\u0148/\\xA6#;\\u0105.\\\" &\\\"/\\x98$;\\u0184.\\\" &\\\"/\\x8A$;\\u023F/\\x81$;\\u0149/x$;\\u0209/o$;\\u023F/f$;\\u017B/]$;\\u023F/T$;\\u0151.\\\" &\\\"/F$;\\u0152.\\\" &\\\"/8$;\\u0153//$8,:\\u0199,(+*)'$\\\"! )(,'#(+'#(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u0198\"),peg$decode(\"%;\\xFC/J#;\\u0104.\\\" &\\\"/<$;\\u0227/3$;\\u023F/*$8$:\\u019A$##\\\"!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u014A.\\\" &\\\"/2#;\\u014C/)$8\\\":\\u019C\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u019B\"),peg$decode(\"%;\\u01C3.) &;\\u01BA.# &;\\u014B/1#;\\u023F/($8\\\":\\u019D\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u01F7/;#;\\u023F/2$;\\u0207/)$8#:\\u019E#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"<;\\u014D.# &;\\u014E=.\\\" 7\\u019F\"),peg$decode(\"%;\\u01D9.# &;\\u01F6/1#;\\u023F/($8\\\":\\u01A0\\\"!!)(\\\"'#&'#\"),peg$decode(\"%;\\u022A/@#;\\u023F/7$;\\u014F.\\\" &\\\"/)$8#:\\u01A1#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0207/;#;\\u023F/2$;\\u0150/)$8#:\\u01A2#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\xE8/B#;\\u023F/9$$;\\xE70#*;\\xE7&/)$8#:\\u012E#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01E7/c#;\\u023F/Z$;\\u01DE/Q$;\\u023F/H$;\\u021C.) &3\\u01A3\\\"\\\"5)7\\u01A4/3$;\\u023F/*$8&:\\u01A5&#%#!)(&'#(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0230/D#;\\u023F/;$;p/2$;\\u023F/)$8$:\\u01A6$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\x84\"),peg$decode(\"<%;\\u01C4/W#;\\u023F/N$;\\u0154/E$;\\u023F/<$;\\u01E0/3$;\\u023F/*$8&:\\u01A8&#%#!)(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u01A7\"),peg$decode(\"%$;\\u0155/�#*;\\u0155&&&#/' 8!:\\u01A9!! )\"),peg$decode(\"%;\\x8C/:#;\\u023F/1$;$/($8#:\\\"#!\\\")(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0158/T#;\\u0105.\\\" &\\\"/F$;\\u0157/=$;\\u023F/4$;\\u0159/+$8%:\\u01AB%$$#\\\" )(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u01AA\"),peg$decode(\"%;\\u0185/;#;\\u023F/2$;\\xE6/)$8#:\\u01AC#\\\"\\\" )(#'#(\\\"'#&'#.# &;\\u0185\"),peg$decode(\"%;\\xFC/J#;\\u0104.\\\" &\\\"/<$;\\u022E/3$;\\u023F/*$8$:\\u01AD$##\\\"!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u01BF/D#;\\u023F/;$;\\xA8/2$;\\u023F/)$8$:\\u012C$\\\"#!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u015B/f#;\\u0105.\\\" &\\\"/X$;\\u017B/O$;\\u023F/F$;\\u022B/=$;\\u023F/4$;\\u015C/+$8':\\u01AF'$&%$ )(''#(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u01AE\"),peg$decode(\"%;\\xFC/N#;\\u022F/E$;\\u023F/<$;\\u0221/3$;\\u023F/*$8%:\\u01B0%#$#!)(%'#($'#(#'#(\\\"'#&'#\"),peg$decode(\"%;\\u0197/@#;\\u023F/7$;\\u015D.\\\" &\\\"/)$8#:\\u01B1#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u01A0/Z#;\\u023F/Q$;\\u015E.\\\" &\\\"/C$;\\u023F/:$;\\u01A1/1$;\\u023F/($8&:\\u01B3&!#)(&'#(%'#($'#(#'#(\\\"'#&'#=.\\\" 7\\u01B2\"),peg$decode(\"%;\\u0160/9#$;\\u015F0#*;\\u015F&/)$8\\\":\\u01B4\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u023F/H#;\\u01A2/?$;\\u023F/6$;\\u0160.\\\" &\\\"/($8$:\\u01B5$! )($'#(#'#(\\\"'#&'#\"),peg$decode(\"%%<%;\\u0195/;#;\\u023F/2$;&.# &;\\u0111/#$+#)(#'#(\\\"'#&'#=.##&&!&'#/:#;p/1$;\\u023F/($8#:\\u0130#!!)(#'#(\\\"'#&'#.x &%;\\u0161/n#%%<;\\u0193=.##&&!&'#/,#;\\u023F/#$+\\\")(\\\"'#&'#/F$;\\u010E.\\\" &\\\"/8$;\\u010F.\\\" &\\\"/*$8$:\\u014F$##! )($'#(#'#(\\\"'#&'#\"),peg$decode(\";\\u0195.# &;\\u0198\"),peg$decode(\"<%;\\u0163/;#;\\u017B/2$;\\u023F/)$8#:\\u01B7#\\\"\\\"!)(#'#(\\\"'#&'#=.\\\" 7\\u01B6\"),peg$decode(\"<%;\\u01DD/J#;\\u023F/A$;\\u0164/8$;\\u0165.\\\" &\\\"/*$8$:\\u01B9$##! )($'#(#'#(\\\"'#&'#=.\\\" 7\\u01B8\"),peg$decode(\"<%;\\u0221./ &;\\u01F2.) &;\\u0227.# &;\\u022E/1#;\\u023F/($8\\\":\\u010B\\\"!!)(\\\"'#&'#=.\\\" 7\\u01BA\"),peg$decode(\"<%;\\u01EE/D#;\\u023F/;$;\\u01E4/2$;\\u023F/)$8$:\\u01BC$\\\"#!)($'#(#'#(\\\"'#&'#=.\\\" 7\\u01BB\"),peg$decode(\"<%;\\u01AE/,#;\\u01AE/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01BD\"),peg$decode(\"<;\\u01AA=.\\\" 7\\u01BE\"),peg$decode(\"<;\\u01AB=.\\\" 7\\u01BF\"),peg$decode(\"<;\\u01A4=.\\\" 7\\u01C0\"),peg$decode(\"<;\\u01B5=.\\\" 7\\u01C1\"),peg$decode(\"<;\\u01AF=.\\\" 7\\u01C2\"),peg$decode(\"<%;\\u01B0/,#;\\u01B0/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01C3\"),peg$decode(\"<%;\\u01B1/,#;\\u01B1/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01C4\"),peg$decode(\"<;\\u01AD=.\\\" 7\\u01C5\"),peg$decode(\"<;\\u01AE=.\\\" 7\\u01C6\"),peg$decode(\"<;\\u01B0=.\\\" 7\\u01C7\"),peg$decode(\"<;\\u01B1=.\\\" 7\\u01C8\"),peg$decode(\"<%;\\u01B0/,#;\\u01AC/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01C9\"),peg$decode(\"<%;\\u01B1/,#;\\u01AC/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01CA\"),peg$decode(\"<%;\\u01AC/1#;\\u01AC.\\\" &\\\"/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01CB\"),peg$decode(\"<%;\\u01B2/,#;\\u01AC/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01CC\"),peg$decode(\"<%;\\u01B0/,#;\\u01B1/#$+\\\")(\\\"'#&'#=.\\\" 7\\u01CC\"),peg$decode(\"<%;\\u01FA/@#;\\u023F/7$;k.\\\" &\\\"/)$8#:\\u01CE#\\\"\\\" )(#'#(\\\"'#&'#=.\\\" 7\\u01CD\"),peg$decode(\"<;\\u0195.# &;\\u0198=.\\\" 7\\u01CF\"),peg$decode(\"<%;\\u0178/' 8!:\\u01D1!! )=.\\\" 7\\u01D0\"),peg$decode(\"<%;\\u017C.\\\" &\\\"/2#;\\u0178/)$8\\\":\\u01D3\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01D2\"),peg$decode(\"<%;\\u017C.\\\" &\\\"/2#;\\u0178/)$8\\\":\\u01D5\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01D4\"),peg$decode(\"%;\\u0178/2#;\\u01A3/)$8\\\":\\u01D6\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u017F.) &;\\u0180.# &;\\u017E/2#;\\u0178/)$8\\\":\\u01D8\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01D7\"),peg$decode(\"%;\\u023F/& 8!:\\u01D9! )\"),peg$decode(\"%;\\u017C/2#;\\u0180/)$8\\\":\\u01DA\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u0178/2#;\\u01A3/)$8\\\":D\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%;\\u0178/' 8!:\\u01DC!! )=.\\\" 7\\u01DB\"),peg$decode(\"<%;\\u0178/' 8!:\\u01DE!! )=.\\\" 7\\u01DD\"),peg$decode(\"<%;\\u017C.\\\" &\\\"/2#;\\u0178/)$8\\\":\\u01E0\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01DF\"),peg$decode(\"<%;\\u017C.\\\" &\\\"/2#;\\u0178/)$8\\\":\\u01E2\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01E1\"),peg$decode(\"<%;\\u017C.\\\" &\\\"/2#;\\u0178/)$8\\\":\\u01E4\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01E3\"),peg$decode(\"<%;\\u017C.\\\" &\\\"/2#;\\u0178/)$8\\\":\\u01E6\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u01E5\"),peg$decode(\"<%;\\u0188.# &;\\u017B/1#;\\u023F/($8\\\":\\u01E8\\\"!!)(\\\"'#&'#=.\\\" 7\\u01E7\"),peg$decode(\"%;\\u017B/;#;\\u023F/2$;\\xE6/)$8#:\\u01E9#\\\"\\\" )(#'#(\\\"'#&'#\"),peg$decode(\"<%;\\u0178/' 8!:\\u01EB!! )=.\\\" 7\\u01EA\"),peg$decode(\"<%;\\u0178/' 8!:\\u01ED!! )=.\\\" 7\\u01EC\"),peg$decode(\"<%;\\u018C/=#%<;\\u0193=.##&&!&'#/($8\\\":\\u01EF\\\"!!)(\\\"'#&'#.\\xC5 &%;\\u018D/=#%<;\\u0193=.##&&!&'#/($8\\\":\\u01F0\\\"!!)(\\\"'#&'#.\\x9B &%;\\u018F/=#%<;\\u0193=.##&&!&'#/($8\\\":\\u01F1\\\"!!)(\\\"'#&'#.q &%;\\u0190/=#%<;\\u0193=.##&&!&'#/($8\\\":\\u01F2\\\"!!)(\\\"'#&'#.G &%;\\u0192/=#%<;\\u0193=.##&&!&'#/($8\\\":\\u01F3\\\"!!)(\\\"'#&'#=.\\\" 7\\u01EE\"),peg$decode(\"<%%3\\u01F5\\\"\\\"5!7\\u01F6.\\\" &\\\"/F#3\\u01F7\\\"\\\"5#7\\u01F8.\\\" &\\\"/2$3\\u01F9\\\"\\\"5$7\\u01FA/#$+#)(#'#(\\\"'#&'#.k &%3\\u01FB\\\"\\\"5$7\\u01FC.5 &3\\u01FD\\\"\\\"5&7\\u01FE.) &3\\u01FF\\\"\\\"5$7\\u0200.\\\" &\\\"/2#3\\u0201\\\"\\\"5$7\\u0202/#$+\\\")(\\\"'#&'#.) &3\\u0203\\\"\\\"5$7\\u0204/' 8!:\\u010B!! )=.\\\" 7\\u01F4\"),peg$decode(\"<%;\\u018E.5 &3\\u0206\\\"\\\"5%7\\u0207.) &3\\u0208\\\"\\\"5$7\\u0209/' 8!:\\u010B!! )=.\\\" 7\\u0205\"),peg$decode(\"<%3\\u020B\\\"\\\"5&7\\u020C/i#%$4(\\\"\\\"5!7)/,#0)*4(\\\"\\\"5!7)&&&#/2#3\\u020D\\\"\\\"5)7\\u020E/#$+\\\")(\\\"'#&'#.\\\" &\\\"/)$8\\\":\\u020F\\\"\\\"! )(\\\"'#&'#=.\\\" 7\\u020A\"),peg$decode(\"<%3\\u0211\\\"\\\"5'7\\u0212.\\x95 &3\\u0213\\\"\\\"5'7\\u0214.\\x89 &3\\u0215\\\"\\\"5'7\\u0216.} &%3\\u0217\\\"\\\"5$7\\u0218/7#3\\u0219\\\"\\\"5$7\\u021A.\\\" &\\\"/#$+\\\")(\\\"'#&'#.S &%3\\u0219\\\"\\\"5$7\\u021A/7#3\\u021B\\\"\\\"5%7\\u021C.\\\" &\\\"/#$+\\\")(\\\"'#&'#.) &3\\u021D\\\"\\\"5&7\\u021E/' 8!:\\u010B!! )=.\\\" 7\\u0210\"),peg$decode(\"<%%3\\u0220\\\"\\\"5#7\\u0221/V#2\\u0222\\\"\\\"6\\u02227\\u0223.A &2\\u0224\\\"\\\"6\\u02247\\u0225.5 &2\\u0226\\\"\\\"6\\u02267\\u0227.) &3\\u0228\\\"\\\"5$7\\u0229/#$+\\\")(\\\"'#&'#.q &%3\\u022A\\\"\\\"5#7\\u022B.A &3\\u01FD\\\"\\\"5&7\\u01FE.5 &3\\u022C\\\"\\\"5%7\\u022D.) &3\\u01FB\\\"\\\"5$7\\u01FC.\\\" &\\\"/2#3\\u0220\\\"\\\"5#7\\u0221/#$+\\\")(\\\"'#&'#.# &;\\u0191/' 8!:\\u010B!! )=.\\\" 7\\u021F\"),peg$decode(\"%3\\u022E\\\"\\\"5(7\\u022F/d#%$4(\\\"\\\"5!7)/,#0)*4(\\\"\\\"5!7)&&&#/2#3\\u0230\\\"\\\"5%7\\u0231/#$+\\\")(\\\"'#&'#/)$8\\\":\\u0232\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\"<%3\\u0234\\\"\\\"5$7\\u0235/' 8!:\\u010B!! )=.\\\" 7\\u0233\"),peg$decode(\"4\\u0236\\\"\\\"5!7\\u0237\"),peg$decode(\"%2\\u0238\\\"\\\"6\\u02387\\u0239/K#$4\\u023A\\\"\\\"5!7\\u023B/,#0)*4\\u023A\\\"\\\"5!7\\u023B&&&#/)$8\\\":\\u023C\\\"\\\"! )(\\\"'#&'#\"),peg$decode(\";\\u0196.# &;\\u0197\"),peg$decode(\";\\u0199./ &;\\u019D.) &;\\u019B.# &;\\u019C\"),peg$decode(\"%%<;\\u0234.# &;>=.##&&!&'#/J#$;\\u0194.# &;\\u0193/,#0)*;\\u0194.# &;\\u0193&&&#/($8\\\":\\xD6\\\"! )(\\\"'#&'#\"),peg$decode(\"%%<;\\u0236.# &;>=.##&&!&'#/J#$;\\u0194.# &;\\u0193/,#0)*;\\u0194.# &;\\u0193&&&#/($8\\\":\\u023D\\\"! )(\\\"'#&'#\"),peg$decode(\"%;\\u019E/\\x99#;\\u023F/\\x90$%$%%<;\\u019A=.##&&!&'#/1#1\\\"\\\"5!7\\u023E/#$+\\\")(\\\"'#&'#0G*%%<;\\u019A=.##&&!&'#/1#1\\\"\\\"5!7\\u023E/#$+\\\")(\\\"'#&'#&/\\\"!&,)/1$;\\u019A/($8$:\\u023F$!!)($'#(#'#(\\\"'#&'#\"),peg$decode(\"%$4\\u0240\\\"\\\"5!7\\u02410)*4\\u0240\\\"\\\"5!7\\u0241&/5#;\\u019F/,$;\\u023F/#$+#)(#'#(\\\"'#&'#\"),peg$decode(\"%2\\u0242\\\"\\\"6\\u02427\\u0243/k#$2\\u0244\\\"\\\"6\\u02447\\u0245.) &4\\u0246\\\"\\\"5!7\\u024705*2\\u0244\\\"\\\"6\\u02447\\u0245.) &4\\u0246\\\"\\\"5!7\\u0247&/7$2\\u0242\\\"\\\"6\\u02427\\u0243/($8#:\\u0248#!!)(#'#(\\\"'#&'#\"),peg$decode(\"%2\\u0249\\\"\\\"6\\u02497\\u024A/k#$26\\\"\\\"6677.) &48\\\"\\\"5!7905*26\\\"\\\"6677.) &48\\\"\\\"5!79&/7$2\\u0249\\\"\\\"6\\u02497\\u024A/($8#:\\u024B#!!)(#'#(\\\"'#&'#\"),peg$decode(\"%2\\u024C\\\"\\\"6\\u024C7\\u024D/k#$2\\u024E\\\"\\\"6\\u024E7\\u024F.) &4\\u0250\\\"\\\"5!7\\u025105*2\\u024E\\\"\\\"6\\u024E7\\u024F.) &4\\u0250\\\"\\\"5!7\\u0251&/7$2\\u024C\\\"\\\"6\\u024C7\\u024D/($8#:\\u0252#!!)(#'#(\\\"'#&'#\"),peg$decode(\"<%2\\u0254\\\"\\\"6\\u02547\\u0255/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0253\"),peg$decode(\"<%2\\u0257\\\"\\\"6\\u02577\\u0258/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0256\"),peg$decode(\"<%2\\u025A\\\"\\\"6\\u025A7\\u025B/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0259\"),peg$decode(\"<%2\\u025D\\\"\\\"6\\u025D7\\u025E/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u025C\"),peg$decode(\"<%2\\u0260\\\"\\\"6\\u02607\\u0261/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u025F\"),peg$decode(\"<%2\\u0263\\\"\\\"6\\u02637\\u0264/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0262\"),peg$decode(\"<%2\\u0266\\\"\\\"6\\u02667\\u0267/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0265\"),peg$decode(\"<%2\\u0269\\\"\\\"6\\u02697\\u026A/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0268\"),peg$decode(\"<%2\\u0249\\\"\\\"6\\u02497\\u024A/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u026B\"),peg$decode(\"<%2\\u0242\\\"\\\"6\\u02427\\u0243/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u026C\"),peg$decode(\"<%2\\u024C\\\"\\\"6\\u024C7\\u024D/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u026D\"),peg$decode(\"<%2\\u026F\\\"\\\"6\\u026F7\\u0270/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u026E\"),peg$decode(\"<%2\\u0272\\\"\\\"6\\u02727\\u0273/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0271\"),peg$decode(\"<%2\\u0275\\\"\\\"6\\u02757\\u0276/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0274\"),peg$decode(\"<%2\\u0277\\\"\\\"6\\u02777\\u0278/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u01CB\"),peg$decode(\"<%2\\u027A\\\"\\\"6\\u027A7\\u027B/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0279\"),peg$decode(\"<%2\\u027D\\\"\\\"6\\u027D7\\u027E/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u027C\"),peg$decode(\"<%2\\u027F\\\"\\\"6\\u027F7\\u0280/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u01C2\"),peg$decode(\"<%2\\u0281\\\"\\\"6\\u02817\\u0282/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u01C7\"),peg$decode(\"<%2\\u0283\\\"\\\"6\\u02837\\u0284/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u01C8\"),peg$decode(\"<%2\\u0286\\\"\\\"6\\u02867\\u0287/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0285\"),peg$decode(\"<%2\\u0289\\\"\\\"6\\u02897\\u028A/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u0288\"),peg$decode(\"<%2a\\\"\\\"6a7b/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u028B\"),peg$decode(\"<%2\\u028D\\\"\\\"6\\u028D7\\u028E/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u028C\"),peg$decode(\"<%2\\u0290\\\"\\\"6\\u02907\\u0291/1#;\\u023F/($8\\\":\\\"\\\"!!)(\\\"'#&'#=.\\\" 7\\u028F\"),peg$decode(\"%3\\u0292\\\"\\\"5%7\\u0293/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0294\\\"\\\"5&7\\u0295/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0296\\\"\\\"5#7\\u0297/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0298\\\"\\\"5%7\\u0299/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u029A\\\"\\\"5#7\\u029B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u029C\\\"\\\"5%7\\u029D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u029E\\\"\\\"5'7\\u029F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02A0\\\"\\\"5#7\\u02A1/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02A2\\\"\\\"5\\\"7\\u02A3/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02A4\\\"\\\"5#7\\u02A5/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02A6\\\"\\\"5&7\\u02A7/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02A8\\\"\\\"5-7\\u02A9/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02AA\\\"\\\"5&7\\u02AB/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02AC\\\"\\\"5%7\\u02AD/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02AE\\\"\\\"5'7\\u02AF/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02B0\\\"\\\"5\\\"7\\u02B1/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02B2\\\"\\\"5'7\\u02B3/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02B4\\\"\\\"5$7\\u02B5/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02B6\\\"\\\"5$7\\u02B7/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02B8\\\"\\\"5%7\\u02B9/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02BA\\\"\\\"5'7\\u02BB/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02BC\\\"\\\"5&7\\u02BD/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02BE\\\"\\\"5&7\\u02BF/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02C0\\\"\\\"5(7\\u02C1/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02C2\\\"\\\"5*7\\u02C3/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02C4\\\"\\\"5&7\\u02C5/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02C6\\\"\\\"5%7\\u02C7/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02C8\\\"\\\"5,7\\u02C9/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02CA\\\"\\\"5,7\\u02CB/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02CC\\\"\\\"517\\u02CD/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02CE\\\"\\\"5(7\\u02CF/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02D0\\\"\\\"5'7\\u02D1/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02D2\\\"\\\"5*7\\u02D3/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02D4\\\"\\\"5(7\\u02D5/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02D6\\\"\\\"5&7\\u02D7/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02D8\\\"\\\"5$7\\u02D9/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02DA\\\"\\\"5&7\\u02DB/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02DC\\\"\\\"5(7\\u02DD/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02DE\\\"\\\"5$7\\u02DF/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02E0\\\"\\\"5$7\\u02E1/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02E2\\\"\\\"5$7\\u02E3/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02E4\\\"\\\"5#7\\u02E5/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02E6\\\"\\\"5&7\\u02E7/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02E8\\\"\\\"5&7\\u02E9/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02EA\\\"\\\"5)7\\u02EB/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02EC\\\"\\\"5&7\\u02ED/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02EE\\\"\\\"5'7\\u02EF/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02F0\\\"\\\"5$7\\u02F1/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02F2\\\"\\\"5#7\\u02F3/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02F4\\\"\\\"5'7\\u02F5/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02F6\\\"\\\"5$7\\u02F7/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02F8\\\"\\\"5$7\\u02F9/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02FA\\\"\\\"5$7\\u02FB/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02FC\\\"\\\"5%7\\u02FD/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u02FE\\\"\\\"5&7\\u02FF/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0300\\\"\\\"5\\\"7\\u0301/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0302\\\"\\\"5&7\\u0303/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0304\\\"\\\"5)7\\u0305/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0306\\\"\\\"5\\\"7\\u0307/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0308\\\"\\\"5%7\\u0309/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u030A\\\"\\\"5'7\\u030B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u030C\\\"\\\"5)7\\u030D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u030E\\\"\\\"5%7\\u030F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0310\\\"\\\"5&7\\u0311/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0312\\\"\\\"5'7\\u0313/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0314\\\"\\\"5)7\\u0315/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0316\\\"\\\"5$7\\u0317/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0318\\\"\\\"5\\\"7\\u0319/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u031A\\\"\\\"5&7\\u031B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u031C\\\"\\\"5$7\\u031D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u031E\\\"\\\"5#7\\u031F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0320\\\"\\\"5$7\\u0321/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0322\\\"\\\"5$7\\u0323/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0324\\\"\\\"5%7\\u0325/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0326\\\"\\\"5%7\\u0327/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0328\\\"\\\"5'7\\u0329/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u032A\\\"\\\"5\\\"7\\u032B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u032C\\\"\\\"5#7\\u032D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u032E\\\"\\\"5'7\\u032F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3y\\\"\\\"5$7z/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0330\\\"\\\"5\\\"7\\u0331/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0332\\\"\\\"5&7\\u0333/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0334\\\"\\\"5\\\"7\\u0335/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0336\\\"\\\"5\\\"7\\u0337/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0338\\\"\\\"5%7\\u0339/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u033A\\\"\\\"5%7\\u033B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u033C\\\"\\\"5$7\\u033D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u033E\\\"\\\"5&7\\u033F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0340\\\"\\\"5'7\\u0341/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0342\\\"\\\"5%7\\u0343/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0344\\\"\\\"5%7\\u0345/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0346\\\"\\\"5)7\\u0347/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0348\\\"\\\"5*7\\u0349/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u034A\\\"\\\"5&7\\u034B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u034C\\\"\\\"5'7\\u034D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u034E\\\"\\\"5'7\\u034F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0350\\\"\\\"5&7\\u0351/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0352\\\"\\\"5'7\\u0353/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0354\\\"\\\"5(7\\u0355/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0356\\\"\\\"5%7\\u0357/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0358\\\"\\\"5(7\\u0359/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u035A\\\"\\\"5#7\\u035B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u035C\\\"\\\"5%7\\u035D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u035E\\\"\\\"5)7\\u035F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0360\\\"\\\"5&7\\u0361/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0362\\\"\\\"5#7\\u0363/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0364\\\"\\\"5%7\\u0365/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0366\\\"\\\"5$7\\u0367/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0368\\\"\\\"5)7\\u0369/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u036A\\\"\\\"5$7\\u036B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u036C\\\"\\\"5\\\"7\\u036D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u036E\\\"\\\"5+7\\u036F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0370\\\"\\\"5'7\\u0371/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0372\\\"\\\"5%7\\u0373/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0374\\\"\\\"5&7\\u0375/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0376\\\"\\\"5&7\\u0377/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0378\\\"\\\"5%7\\u0379/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u037A\\\"\\\"5&7\\u037B/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u037C\\\"\\\"5&7\\u037D/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u037E\\\"\\\"5$7\\u037F/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0380\\\"\\\"5'7\\u0381/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0382\\\"\\\"5$7\\u0383/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0384\\\"\\\"5%7\\u0385/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0386\\\"\\\"5$7\\u0387/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%3\\u0388\\\"\\\"5'7\\u0389/8#%<;\\u0193=.##&&!&'#/#$+\\\")(\\\"'#&'#\"),peg$decode(\"%;\\u0235/' 8!:\\u038A!! )\"),peg$decode(\";\\u01B7.\\u02F9 &;\\u01B8.\\u02F3 &;\\u01B9.\\u02ED &;\\u01BA.\\u02E7 &;\\u01BB.\\u02E1 &;\\u01BC.\\u02DB &;\\u01BD.\\u02D5 &;\\u01BE.\\u02CF &;\\u01BF.\\u02C9 &;\\u01C0.\\u02C3 &;\\u01C1.\\u02BD &;\\u01C2.\\u02B7 &;\\u01C3.\\u02B1 &;\\u01C4.\\u02AB &;\\u01C5.\\u02A5 &;\\u01C6.\\u029F &;\\u01C7.\\u0299 &;\\u01C8.\\u0293 &;\\u01C9.\\u028D &;\\u01CA.\\u0287 &;\\u01CB.\\u0281 &;\\u01CC.\\u027B &;\\u01CD.\\u0275 &;\\u01CE.\\u026F &;\\u01CF.\\u0269 &;\\u01D0.\\u0263 &;\\u01D1.\\u025D &;\\u01D2.\\u0257 &;\\u01D3.\\u0251 &;\\u01D4.\\u024B &;\\u01D5.\\u0245 &;\\u01D6.\\u023F &;\\u01D7.\\u0239 &;\\u01D8.\\u0233 &;\\u01D9.\\u022D &;\\u01DA.\\u0227 &;\\u01DB.\\u0221 &;\\u01DC.\\u021B &;\\u01DD.\\u0215 &;\\u01DE.\\u020F &;\\u01DF.\\u0209 &;\\u01E0.\\u0203 &;\\u01E1.\\u01FD &;\\u01E2.\\u01F7 &;\\u01E3.\\u01F1 &;\\u01E4.\\u01EB &;\\u01E5.\\u01E5 &;\\u01E6.\\u01DF &;\\u01E7.\\u01D9 &;\\u01E8.\\u01D3 &;\\u01E9.\\u01CD &;\\u01EA.\\u01C7 &;\\u01EB.\\u01C1 &;\\u01EC.\\u01BB &;\\u01ED.\\u01B5 &;\\u01EE.\\u01AF &;\\u01EF.\\u01A9 &;\\u01F0.\\u01A3 &;\\u01F1.\\u019D &;\\u01F2.\\u0197 &;\\u01F3.\\u0191 &;\\u01F4.\\u018B &;\\u01F5.\\u0185 &;\\u01F6.\\u017F &;\\u01F7.\\u0179 &;\\u01F8.\\u0173 &;\\u01F9.\\u016D &;\\u01FA.\\u0167 &;\\u01FB.\\u0161 &;\\u01FC.\\u015B &;\\u01FD.\\u0155 &;\\u01FE.\\u014F &;\\u01FF.\\u0149 &;\\u0200.\\u0143 &;\\u0201.\\u013D &;\\u0202.\\u0137 &;\\u0203.\\u0131 &;\\u0204.\\u012B &;\\u0205.\\u0125 &;\\u0206.\\u011F &;\\u0207.\\u0119 &;\\u0208.\\u0113 &;\\u0209.\\u010D &;\\u020A.\\u0107 &;\\u020B.\\u0101 &;\\u020C.\\xFB &;\\u020D.\\xF5 &;\\u020E.\\xEF &;\\u020F.\\xE9 &;\\u0210.\\xE3 &;\\u0211.\\xDD &;\\u0212.\\xD7 &;\\u0213.\\xD1 &;\\u0214.\\xCB &;\\u0215.\\xC5 &;\\u0216.\\xBF &;\\u0217.\\xB9 &;\\u0218.\\xB3 &;\\u0219.\\xAD &;\\u021A.\\xA7 &;\\u021B.\\xA1 &;\\u021C.\\x9B &;\\u021E.\\x95 &;\\u021F.\\x8F &;\\u0220.\\x89 &;\\u0221.\\x83 &;\\u0223.} &;\\u0224.w &;\\u0225.q &;\\u0226.k &;\\u0227.e &;\\u0228._ &;\\u0229.Y &;\\u022A.S &;\\u022B.M &;\\u022C.G &;\\u022D.A &;\\u022E.; &;\\u022F.5 &;\\u0230./ &;\\u0231.) &;\\u0232.# &;\\u0233\"),peg$decode(\";\\u01B9.\\u0167 &;\\u01BB.\\u0161 &;\\u01BC.\\u015B &;\\u01BE.\\u0155 &;\\u01BF.\\u014F &;\\u01C2.\\u0149 &;\\u01C5.\\u0143 &;\\u01C8.\\u013D &;\\u01CA.\\u0137 &;\\u01CB.\\u0131 &;\\u01CD.\\u012B &;\\u01CF.\\u0125 &;\\u01D0.\\u011F &;\\u01D6.\\u0119 &;\\u01D7.\\u0113 &;\\u01D9.\\u010D &;\\u01DC.\\u0107 &;\\u01DD.\\u0101 &;\\u01DF.\\xFB &;\\u01E1.\\xF5 &;\\u01E2.\\xEF &;\\u01E4.\\xE9 &;\\u01E8.\\xE3 &;\\u01E9.\\xDD &;\\u01EC.\\xD7 &;\\u01ED.\\xD1 &;\\u01F1.\\xCB &;\\u01F2.\\xC5 &;\\u01F6.\\xBF &;\\u01F8.\\xB9 &;\\u01F9.\\xB3 &;\\u01FA.\\xAD &;\\u01FB.\\xA7 &;\\u01FC.\\xA1 &;\\u0200.\\x9B &;\\u0204.\\x95 &;\\u0205.\\x8F &;\\u0206.\\x89 &;\\u0209.\\x83 &;\\u020A.} &;\\u020B.w &;\\u020F.q &;\\u0213.k &;\\u021F.e &;\\u0220._ &;\\u0221.Y &;\\u0224.S &;\\u0225.M &;\\u0226.G &;\\u0228.A &;\\u0229.; &;\\u022A.5 &;\\u022B./ &;\\u022D.) &;\\u0230.# &;\\u0231\"),peg$decode(\";\\u0238.. &%;\\u0239/& 8!:\\u038B! )\"),peg$decode(\"<%2\\u038D\\\"\\\"6\\u038D7\\u038E/\\x87#$%%<4\\u038F\\\"\\\"5!7\\u0390=.##&&!&'#/1#1\\\"\\\"5!7\\u023E/#$+\\\")(\\\"'#&'#0M*%%<4\\u038F\\\"\\\"5!7\\u0390=.##&&!&'#/1#1\\\"\\\"5!7\\u023E/#$+\\\")(\\\"'#&'#&/#$+\\\")(\\\"'#&'#=.\\\" 7\\u038C\"),peg$decode(\"<%;\\u023A/5#;\\u023E/,$;\\u023B/#$+#)(#'#(\\\"'#&'#=.\\\" 7\\u0391\"),peg$decode(\"2\\u0392\\\"\\\"6\\u03927\\u0393\"),peg$decode(\"2\\u0394\\\"\\\"6\\u03947\\u0395\"),peg$decode(\"$%%<;\\u023B.# &;\\u023A=.##&&!&'#/1#1\\\"\\\"5!7\\u023E/#$+\\\")(\\\"'#&'#/P#0M*%%<;\\u023B.# &;\\u023A=.##&&!&'#/1#1\\\"\\\"5!7\\u023E/#$+\\\")(\\\"'#&'#&&&#\"),peg$decode(\";\\u023C.# &;\\u0239\"),peg$decode(\"%;\\u023D/K#$4\\u0396\\\"\\\"5!7\\u0397.# &;\\u023D0/*4\\u0396\\\"\\\"5!7\\u0397.# &;\\u023D&/#$+\\\")(\\\"'#&'#\"),peg$decode(\"<%$4\\u0396\\\"\\\"5!7\\u0397.# &;\\u02370/*4\\u0396\\\"\\\"5!7\\u0397.# &;\\u0237&/' 8!:-!! )=.\\\" 7\\u0398\"),peg$decode(\"2\\u0399\\\"\\\"6\\u03997\\u039A\")];var peg$currPos=0;var peg$savedPos=0;var peg$posDetailsCache=[{line:1,column:1}];var peg$maxFailPos=0;var peg$maxFailExpected=[];var peg$silentFails=0;var peg$resultsCache={};var peg$ruleNames=[\"start\",\"start_streaming\",\"stmt_list\",\"semi_optional\",\"semi_required\",\"stmt_list_tail\",\"type_definition\",\"type_definition_types\",\"datatype_custom\",\"datatype_word_tail\",\"type_definition_args\",\"definition_args_loop\",\"literal_value\",\"literal_null\",\"literal_date\",\"literal_string\",\"literal_string_single\",\"literal_string_schar\",\"literal_blob\",\"literal_text\",\"number_sign\",\"literal_number_signed\",\"literal_number\",\"literal_number_decimal\",\"number_decimal_node\",\"number_decimal_full\",\"number_decimal_fraction\",\"number_decimal_exponent\",\"literal_number_hex\",\"number_hex\",\"number_digit\",\"bind_parameter\",\"bind_parameter_numbered\",\"bind_number_id\",\"bind_parameter_named\",\"bind_parameter_tcl\",\"tcl_suffix\",\"expression_exists\",\"expression_exists_ne\",\"expression_raise\",\"expression_raise_args\",\"raise_args_ignore\",\"raise_args_message\",\"expression_root\",\"expression_wrapped\",\"expression_recur\",\"expression_unary_collate\",\"expression_unary\",\"expression_unary_op\",\"expression_collate\",\"expression_concat\",\"expression_multiply\",\"expression_multiply_op\",\"expression_add\",\"expression_add_op\",\"expression_shift\",\"expression_shift_op\",\"expression_compare\",\"expression_compare_op\",\"expression_equiv\",\"expression_equiv_tails\",\"expression_equiv_null_op\",\"expression_equiv_op\",\"expression_cast\",\"type_alias\",\"expression_case\",\"case_expression\",\"expression_case_when\",\"expression_case_else\",\"expression_postfix\",\"expression_postfix_tail\",\"expression_like\",\"expression_escape\",\"expression_between\",\"expression_between_tail\",\"expression_is_not\",\"expression_in\",\"expression_in_target\",\"expression_list_or_select\",\"expression_and\",\"expression\",\"expression_list\",\"expression_list_loop\",\"expression_list_rest\",\"function_call\",\"function_call_args\",\"args_list_distinct\",\"error_message\",\"stmt\",\"stmt_modifier\",\"modifier_query\",\"stmt_nodes\",\"stmt_commit\",\"stmt_begin\",\"commit_transaction\",\"stmt_begin_modifier\",\"stmt_rollback\",\"rollback_savepoint\",\"savepoint_name\",\"savepoint_alt\",\"stmt_savepoint\",\"stmt_release\",\"stmt_alter\",\"alter_start\",\"alter_action\",\"alter_action_rename\",\"alter_action_add\",\"action_add_modifier\",\"stmt_crud\",\"stmt_core_with\",\"clause_with\",\"clause_with_recursive\",\"clause_with_tables\",\"clause_with_loop\",\"expression_cte\",\"select_alias\",\"select_wrapped\",\"stmt_select_full\",\"stmt_sqlite\",\"stmt_attach\",\"attach_arg\",\"stmt_detach\",\"stmt_vacuum\",\"vacuum_target\",\"stmt_analyze\",\"analyze_arg\",\"stmt_reindex\",\"reindex_arg\",\"stmt_pragma\",\"pragma_expression\",\"pragma_value\",\"pragma_value_literal\",\"pragma_value_bool\",\"pragma_bool_id\",\"pragma_value_name\",\"stmt_crud_types\",\"stmt_select\",\"stmt_core_order\",\"stmt_core_limit\",\"stmt_core_limit_offset\",\"limit_offset_variant\",\"limit_offset_variant_name\",\"select_loop\",\"select_loop_union\",\"select_parts\",\"select_parts_core\",\"select_core_select\",\"select_modifier\",\"select_modifier_distinct\",\"select_modifier_all\",\"select_target\",\"select_target_loop\",\"select_core_from\",\"stmt_core_where\",\"select_core_group\",\"select_core_having\",\"select_node\",\"select_node_star\",\"select_node_star_qualified\",\"select_node_aliased\",\"select_source\",\"source_loop_tail\",\"select_cross_clause\",\"select_join_clause\",\"table_or_sub\",\"table_or_sub_func\",\"table_qualified\",\"table_qualified_id\",\"table_or_sub_index_node\",\"index_node_indexed\",\"index_node_none\",\"table_or_sub_sub\",\"table_or_sub_select\",\"alias\",\"join_operator\",\"join_operator_natural\",\"join_operator_types\",\"operator_types_hand\",\"types_hand_outer\",\"operator_types_misc\",\"join_condition\",\"join_condition_on\",\"join_condition_using\",\"select_parts_values\",\"stmt_core_order_list\",\"stmt_core_order_list_loop\",\"stmt_core_order_list_item\",\"select_star\",\"stmt_fallback_types\",\"stmt_insert\",\"insert_keyword\",\"insert_keyword_ins\",\"insert_keyword_repl\",\"insert_keyword_mod\",\"insert_target\",\"insert_into\",\"insert_into_start\",\"insert_results\",\"loop_columns\",\"loop_column_tail\",\"loop_name\",\"insert_value\",\"insert_value_start\",\"insert_values_list\",\"insert_values_loop\",\"expression_list_wrapped\",\"insert_default\",\"operator_compound\",\"compound_union\",\"compound_union_all\",\"stmt_update\",\"update_start\",\"update_fallback\",\"update_set\",\"update_columns\",\"update_columns_tail\",\"update_column\",\"stmt_delete\",\"delete_start\",\"stmt_create\",\"create_start\",\"create_table_only\",\"create_index_only\",\"create_trigger_only\",\"create_view_only\",\"create_virtual_only\",\"create_table\",\"create_table_start\",\"create_core_tmp\",\"create_core_ine\",\"create_table_source\",\"table_source_def\",\"source_def_rowid\",\"source_def_loop\",\"source_def_tail\",\"source_tbl_loop\",\"source_def_column\",\"source_def_name\",\"column_type\",\"column_constraints\",\"column_constraint_tail\",\"column_constraint\",\"constraint_name\",\"constraint_name_loop\",\"column_constraint_types\",\"column_constraint_foreign\",\"column_constraint_primary\",\"col_primary_start\",\"col_primary_auto\",\"column_constraint_null\",\"constraint_null_types\",\"constraint_null_value\",\"column_constraint_check\",\"column_constraint_default\",\"column_default_values\",\"column_constraint_collate\",\"table_constraint\",\"table_constraint_types\",\"table_constraint_check\",\"table_constraint_primary\",\"primary_start\",\"primary_start_normal\",\"primary_start_unique\",\"primary_columns\",\"primary_columns_index\",\"primary_columns_table\",\"primary_column_tail\",\"primary_column\",\"primary_column_types\",\"column_collate\",\"column_collate_loop\",\"primary_column_dir\",\"primary_conflict\",\"primary_conflict_start\",\"constraint_check\",\"table_constraint_foreign\",\"foreign_start\",\"foreign_clause\",\"foreign_references\",\"foreign_actions\",\"foreign_actions_tail\",\"foreign_action\",\"foreign_action_on\",\"action_on_action\",\"on_action_set\",\"on_action_cascade\",\"on_action_none\",\"foreign_action_match\",\"foreign_deferrable\",\"deferrable_initially\",\"table_source_select\",\"create_index\",\"create_index_start\",\"index_unique\",\"index_on\",\"create_trigger\",\"create_trigger_start\",\"trigger_conditions\",\"trigger_apply_mods\",\"trigger_apply_instead\",\"trigger_do\",\"trigger_do_on\",\"trigger_do_update\",\"do_update_of\",\"do_update_columns\",\"trigger_foreach\",\"trigger_when\",\"trigger_action\",\"action_loop\",\"action_loop_stmt\",\"create_view\",\"id_view_expression\",\"create_view_start\",\"create_as_select\",\"create_virtual\",\"create_virtual_start\",\"virtual_module\",\"virtual_args\",\"virtual_args_loop\",\"virtual_args_tail\",\"virtual_arg_types\",\"virtual_column_name\",\"stmt_drop\",\"drop_start\",\"drop_types\",\"drop_ie\",\"binary_concat\",\"binary_plus\",\"binary_minus\",\"binary_multiply\",\"binary_divide\",\"binary_mod\",\"binary_left\",\"binary_right\",\"binary_and\",\"binary_or\",\"binary_lt\",\"binary_gt\",\"binary_lte\",\"binary_gte\",\"binary_equal\",\"binary_notequal_a\",\"binary_notequal_b\",\"binary_lang_isnt\",\"id_name\",\"id_database\",\"id_function\",\"id_table\",\"id_table_qualified\",\"id_column\",\"column_unqualified\",\"column_qualifiers\",\"id_column_qualified\",\"id_collation\",\"id_savepoint\",\"id_index\",\"id_trigger\",\"id_view\",\"id_pragma\",\"id_cte\",\"id_table_expression\",\"id_constraint_table\",\"id_constraint_column\",\"datatype_types\",\"datatype_text\",\"datatype_real\",\"datatype_real_double\",\"datatype_numeric\",\"datatype_integer\",\"datatype_integer_fp\",\"datatype_none\",\"name_char\",\"unicode_char\",\"name\",\"name_quoted\",\"name_unquoted\",\"name_reserved\",\"name_bracketed\",\"bracket_terminator\",\"name_dblquoted\",\"name_sglquoted\",\"name_backticked\",\"sym_bopen\",\"sym_bclose\",\"sym_popen\",\"sym_pclose\",\"sym_comma\",\"sym_dot\",\"sym_star\",\"sym_quest\",\"sym_sglquote\",\"sym_dblquote\",\"sym_backtick\",\"sym_tilde\",\"sym_plus\",\"sym_minus\",\"sym_equal\",\"sym_amp\",\"sym_pipe\",\"sym_mod\",\"sym_lt\",\"sym_gt\",\"sym_excl\",\"sym_semi\",\"sym_colon\",\"sym_fslash\",\"sym_bslash\",\"ABORT\",\"ACTION\",\"ADD\",\"AFTER\",\"ALL\",\"ALTER\",\"ANALYZE\",\"AND\",\"AS\",\"ASC\",\"ATTACH\",\"AUTOINCREMENT\",\"BEFORE\",\"BEGIN\",\"BETWEEN\",\"BY\",\"CASCADE\",\"CASE\",\"CAST\",\"CHECK\",\"COLLATE\",\"COLUMN\",\"COMMIT\",\"CONFLICT\",\"CONSTRAINT\",\"CREATE\",\"CROSS\",\"CURRENT_DATE\",\"CURRENT_TIME\",\"CURRENT_TIMESTAMP\",\"DATABASE\",\"DEFAULT\",\"DEFERRABLE\",\"DEFERRED\",\"DELETE\",\"DESC\",\"DETACH\",\"DISTINCT\",\"DROP\",\"EACH\",\"ELSE\",\"END\",\"ESCAPE\",\"EXCEPT\",\"EXCLUSIVE\",\"EXISTS\",\"EXPLAIN\",\"FAIL\",\"FOR\",\"FOREIGN\",\"FROM\",\"FULL\",\"GLOB\",\"GROUP\",\"HAVING\",\"IF\",\"IGNORE\",\"IMMEDIATE\",\"IN\",\"INDEX\",\"INDEXED\",\"INITIALLY\",\"INNER\",\"INSERT\",\"INSTEAD\",\"INTERSECT\",\"INTO\",\"IS\",\"ISNULL\",\"JOIN\",\"KEY\",\"LEFT\",\"LIKE\",\"LIMIT\",\"MATCH\",\"NATURAL\",\"NO\",\"NOT\",\"NOTNULL\",\"NULL\",\"OF\",\"OFFSET\",\"ON\",\"OR\",\"ORDER\",\"OUTER\",\"PLAN\",\"PRAGMA\",\"PRIMARY\",\"QUERY\",\"RAISE\",\"RECURSIVE\",\"REFERENCES\",\"REGEXP\",\"REINDEX\",\"RELEASE\",\"RENAME\",\"REPLACE\",\"RESTRICT\",\"RIGHT\",\"ROLLBACK\",\"ROW\",\"ROWID\",\"SAVEPOINT\",\"SELECT\",\"SET\",\"TABLE\",\"TEMP\",\"TEMPORARY\",\"THEN\",\"TO\",\"TRANSACTION\",\"TRIGGER\",\"UNION\",\"UNIQUE\",\"UPDATE\",\"USING\",\"VACUUM\",\"VALUES\",\"VIEW\",\"VIRTUAL\",\"WHEN\",\"WHERE\",\"WITH\",\"WITHOUT\",\"reserved_words\",\"reserved_word_list\",\"reserved_critical_list\",\"comment\",\"comment_line\",\"comment_block\",\"comment_block_start\",\"comment_block_end\",\"comment_block_body\",\"block_body_nodes\",\"comment_block_feed\",\"o\",\"_TODO_\"];var peg$descNames=[null,null,null,null,null,null,\"Type Definition\",null,\"Custom Datatype Name\",null,\"Type Definition Arguments\",null,null,\"Null Literal\",\"Date Literal\",\"String Literal\",\"Single-quoted String Literal\",null,\"Blob Literal\",null,\"Number Sign\",null,null,null,\"Decimal Literal\",null,null,\"Decimal Literal Exponent\",\"Hexidecimal Literal\",null,null,\"Bind Parameter\",\"Numbered Bind Parameter\",null,\"Named Bind Parameter\",\"TCL Bind Parameter\",null,\"EXISTS Expression\",\"EXISTS Keyword\",\"RAISE Expression\",\"RAISE Expression Arguments\",\"IGNORE Keyword\",null,null,null,null,null,null,null,\"COLLATE Expression\",null,null,null,null,null,null,null,null,null,null,null,null,null,\"CAST Expression\",\"Type Alias\",\"CASE Expression\",null,\"WHEN Clause\",\"ELSE Clause\",null,null,\"Comparison Expression\",\"ESCAPE Expression\",\"BETWEEN Expression\",null,null,\"IN Expression\",null,null,null,null,\"Expression List\",null,null,\"Function Call\",\"Function Call Arguments\",null,\"Error Message\",\"Statement\",\"QUERY PLAN\",\"QUERY PLAN Keyword\",null,\"END Transaction Statement\",\"BEGIN Transaction Statement\",null,null,\"ROLLBACK Statement\",\"TO Clause\",null,null,\"SAVEPOINT Statement\",\"RELEASE Statement\",\"ALTER TABLE Statement\",\"ALTER TABLE Keyword\",null,\"RENAME TO Keyword\",\"ADD COLUMN Keyword\",null,null,\"WITH Clause\",null,null,null,null,\"Common Table Expression\",null,null,null,null,\"ATTACH Statement\",null,\"DETACH Statement\",\"VACUUM Statement\",null,\"ANALYZE Statement\",null,\"REINDEX Statement\",null,\"PRAGMA Statement\",null,null,null,null,null,null,null,\"SELECT Statement\",\"ORDER BY Clause\",\"LIMIT Clause\",\"OFFSET Clause\",null,null,null,\"Union Operation\",null,null,\"SELECT Results Clause\",\"SELECT Results Modifier\",null,null,null,null,\"FROM Clause\",\"WHERE Clause\",\"GROUP BY Clause\",\"HAVING Clause\",null,null,null,null,null,null,\"CROSS JOIN Operation\",\"JOIN Operation\",null,null,\"Qualified Table\",\"Qualified Table Identifier\",\"Qualfied Table Index\",null,null,\"SELECT Source\",\"Subquery\",\"Alias\",\"JOIN Operator\",null,null,null,null,null,\"JOIN Constraint\",\"Join ON Clause\",\"Join USING Clause\",\"VALUES Clause\",null,null,\"Ordering Expression\",\"Star\",\"Fallback Type\",\"INSERT Statement\",null,\"INSERT Keyword\",\"REPLACE Keyword\",\"INSERT OR Modifier\",null,\"INTO Clause\",\"INTO Keyword\",\"VALUES Clause\",\"Column List\",null,\"Column Name\",\"VALUES Clause\",\"VALUES Keyword\",null,null,\"Wrapped Expression List\",\"DEFAULT VALUES Clause\",\"Compound Operator\",\"UNION Operator\",null,\"UPDATE Statement\",\"UPDATE Keyword\",\"UPDATE OR Modifier\",\"SET Clause\",null,null,\"Column Assignment\",\"DELETE Statement\",\"DELETE Keyword\",\"CREATE Statement\",null,null,null,null,null,null,\"CREATE TABLE Statement\",null,null,\"IF NOT EXISTS Modifier\",null,\"Table Definition\",null,null,null,null,\"Column Definition\",null,\"Column Datatype\",null,null,\"Column Constraint\",null,\"CONSTRAINT Name\",null,\"FOREIGN KEY Column Constraint\",\"PRIMARY KEY Column Constraint\",\"PRIMARY KEY Keyword\",\"AUTOINCREMENT Keyword\",null,\"UNIQUE Column Constraint\",\"NULL Column Constraint\",\"CHECK Column Constraint\",\"DEFAULT Column Constraint\",null,\"COLLATE Column Constraint\",\"Table Constraint\",null,\"CHECK Table Constraint\",\"PRIMARY KEY Table Constraint\",null,\"PRIMARY KEY Keyword\",\"UNIQUE Keyword\",null,null,null,null,\"Indexed Column\",null,\"Collation\",null,\"Column Direction\",null,\"ON CONFLICT Keyword\",null,\"FOREIGN KEY Table Constraint\",\"FOREIGN KEY Keyword\",null,\"REFERENCES Clause\",null,null,\"FOREIGN KEY Action Clause\",null,\"FOREIGN KEY Action\",null,null,null,null,\"DEFERRABLE Clause\",null,null,\"CREATE INDEX Statement\",null,null,\"ON Clause\",\"CREATE TRIGGER Statement\",null,\"Conditional Clause\",null,null,\"Conditional Action\",null,null,null,null,null,\"WHEN Clause\",\"Actions Clause\",null,null,\"CREATE VIEW Statement\",null,null,null,\"CREATE VIRTUAL TABLE Statement\",null,null,\"Module Arguments\",null,null,null,null,\"DROP Statement\",\"DROP Keyword\",\"DROP Type\",\"IF EXISTS Keyword\",\"Or\",\"Add\",\"Subtract\",\"Multiply\",\"Divide\",\"Modulo\",\"Shift Left\",\"Shift Right\",\"Logical AND\",\"Logical OR\",\"Less Than\",\"Greater Than\",\"Less Than Or Equal\",\"Greater Than Or Equal\",\"Equal\",\"Not Equal\",\"Not Equal\",\"IS\",\"Identifier\",\"Database Identifier\",\"Function Identifier\",\"Table Identifier\",null,\"Column Identifier\",null,null,null,\"Collation Identifier\",\"Savepoint Identifier\",\"Index Identifier\",\"Trigger Identifier\",\"View Identifier\",\"Pragma Identifier\",\"CTE Identifier\",null,\"Table Constraint Identifier\",\"Column Constraint Identifier\",\"Datatype Name\",\"TEXT Datatype Name\",\"REAL Datatype Name\",\"DOUBLE Datatype Name\",\"NUMERIC Datatype Name\",\"INTEGER Datatype Name\",null,\"BLOB Datatype Name\",null,null,null,null,null,null,null,null,null,null,null,\"Open Bracket\",\"Close Bracket\",\"Open Parenthesis\",\"Close Parenthesis\",\"Comma\",\"Period\",\"Asterisk\",\"Question Mark\",\"Single Quote\",\"Double Quote\",\"Backtick\",\"Tilde\",\"Plus\",\"Minus\",\"Equal\",\"Ampersand\",\"Pipe\",\"Modulo\",\"Less Than\",\"Greater Than\",\"Exclamation\",\"Semicolon\",\"Colon\",\"Forward Slash\",\"Backslash\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"Line Comment\",\"Block Comment\",null,null,null,null,null,\"Whitespace\",null];var peg$tracer=\"tracer\"in options?options.tracer:new peg$DefaultTracer();var peg$result;if(\"startRule\"in options){if(!(options.startRule in peg$startRuleIndices)){throw new Error(\"Can't start parsing from rule \\\"\"+options.startRule+\"\\\".\");}peg$startRuleIndex=peg$startRuleIndices[options.startRule];}function text(){return input.substring(peg$savedPos,peg$currPos);}function location(){return peg$computeLocation(peg$savedPos,peg$currPos);}function expected(description,location){location=location!==undefined?location:peg$computeLocation(peg$savedPos,peg$currPos);throw peg$buildStructuredError([peg$otherExpectation(description)],input.substring(peg$savedPos,peg$currPos),location);}function error(message,location){location=location!==undefined?location:peg$computeLocation(peg$savedPos,peg$currPos);throw peg$buildSimpleError(message,location);}function peg$literalExpectation(text,ignoreCase){return{type:\"literal\",text:text,ignoreCase:ignoreCase};}function peg$classExpectation(parts,inverted,ignoreCase){return{type:\"class\",parts:parts,inverted:inverted,ignoreCase:ignoreCase};}function peg$anyExpectation(){return{type:\"any\"};}function peg$endExpectation(){return{type:\"end\"};}function peg$otherExpectation(description){return{type:\"other\",description:description};}function peg$computePosDetails(pos){var details=peg$posDetailsCache[pos];var p;if(details){return details;}else{p=pos-1;while(!peg$posDetailsCache[p]){p--;}details=peg$posDetailsCache[p];details={line:details.line,column:details.column};while(ppeg$maxFailPos){peg$maxFailPos=peg$currPos;peg$maxFailExpected=[];}peg$maxFailExpected.push(expected);}function peg$buildSimpleError(message,location){return new peg$SyntaxError(message,null,null,location);}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location);}function peg$decode(s){return s.split(\"\").map(function(ch){return ch.charCodeAt(0)-32;});}function peg$parseRule(index){var bc=peg$bytecode[index];var ip=0;var ips=[];var end=bc.length;var ends=[];var stack=[];var startPos=peg$currPos;var params;peg$tracer.trace({type:\"rule.enter\",rule:peg$ruleNames[index],description:peg$descNames[index],location:peg$computeLocation(startPos,startPos)});var key=peg$currPos*545+index;var cached=peg$resultsCache[key];if(cached){peg$currPos=cached.nextPos;if(cached.result!==peg$FAILED){peg$tracer.trace({type:\"rule.match\",rule:peg$ruleNames[index],description:peg$descNames[index],result:cached.result,location:peg$computeLocation(startPos,peg$currPos)});}else{peg$tracer.trace({type:\"rule.fail\",rule:peg$ruleNames[index],description:peg$descNames[index],location:peg$computeLocation(startPos,startPos)});}return cached.result;}while(true){while(ippeg$currPos){end=ip+3+bc[ip+1];ip+=3;}else{end=ip+3+bc[ip+1]+bc[ip+2];ip+=3+bc[ip+1];}break;case 18:ends.push(end);ips.push(ip+4+bc[ip+2]+bc[ip+3]);if(input.substr(peg$currPos,peg$consts[bc[ip+1]].length)===peg$consts[bc[ip+1]]){end=ip+4+bc[ip+2];ip+=4;}else{end=ip+4+bc[ip+2]+bc[ip+3];ip+=4+bc[ip+2];}break;case 19:ends.push(end);ips.push(ip+4+bc[ip+2]+bc[ip+3]);if(input.substr(peg$currPos,peg$consts[bc[ip+1]].length).toLowerCase()===peg$consts[bc[ip+1]]){end=ip+4+bc[ip+2];ip+=4;}else{end=ip+4+bc[ip+2]+bc[ip+3];ip+=4+bc[ip+2];}break;case 20:ends.push(end);ips.push(ip+4+bc[ip+2]+bc[ip+3]);if(peg$consts[bc[ip+1]].test(input.charAt(peg$currPos))){end=ip+4+bc[ip+2];ip+=4;}else{end=ip+4+bc[ip+2]+bc[ip+3];ip+=4+bc[ip+2];}break;case 21:stack.push(input.substr(peg$currPos,bc[ip+1]));peg$currPos+=bc[ip+1];ip+=2;break;case 22:stack.push(peg$consts[bc[ip+1]]);peg$currPos+=peg$consts[bc[ip+1]].length;ip+=2;break;case 23:stack.push(peg$FAILED);if(peg$silentFails===0){peg$fail(peg$consts[bc[ip+1]]);}ip+=2;break;case 24:peg$savedPos=stack[stack.length-1-bc[ip+1]];ip+=2;break;case 25:peg$savedPos=peg$currPos;ip++;break;case 26:params=bc.slice(ip+4,ip+4+bc[ip+3]).map(function(p){return stack[stack.length-1-p];});stack.splice(stack.length-bc[ip+2],bc[ip+2],peg$consts[bc[ip+1]].apply(null,params));ip+=4+bc[ip+3];break;case 27:stack.push(peg$parseRule(bc[ip+1]));ip+=2;break;case 28:peg$silentFails++;ip++;break;case 29:peg$silentFails--;ip++;break;default:throw new Error(\"Invalid opcode: \"+bc[ip]+\".\");}}if(ends.length>0){end=ends.pop();ip=ips.pop();}else{break;}}peg$resultsCache[key]={nextPos:peg$currPos,result:stack[0]};if(stack[0]!==peg$FAILED){peg$tracer.trace({type:\"rule.match\",rule:peg$ruleNames[index],description:peg$descNames[index],result:stack[0],location:peg$computeLocation(startPos,peg$currPos)});}else{peg$tracer.trace({type:\"rule.fail\",rule:peg$ruleNames[index],description:peg$descNames[index],location:peg$computeLocation(startPos,startPos)});}return stack[0];}function makeArray(arr){if(!isOkay(arr)){return[];}return!Array.isArray(arr)?[arr]:arr;}function isOkay(obj){return obj!=null;}function foldString(parts){var glue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:' ';var folded=parts.filter(function(part){return isOkay(part);}).reduce(function(prev,cur){return\"\"+prev+nodeToString(cur)+glue;},'');return folded.trim();}function foldStringWord(parts){return foldString(parts,'');}function foldStringKey(parts){return foldString(parts).toLowerCase();}function flattenAll(arr){return arr.filter(function(part){return isOkay(part);}).reduce(function(prev,cur){return prev.concat(cur);},[]);}function unescape(str){var quoteChar=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'\\'';var re=new RegExp(quoteChar+\"{2}\",'g');return nodeToString(str).replace(re,quoteChar);}function nodeToString(){var node=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];return makeArray(node).join('');}function textNode(node){return nodeToString(node).trim();}function keyNode(node){return textNode(node).toLowerCase();}function isArrayOkay(arr){return Array.isArray(arr)&&arr.length>0&&isOkay(arr[0]);}function composeBinary(first,rest){return rest.reduce(function(left,_ref7){var _ref8=_slicedToArray(_ref7,4);var x=_ref8[0];var operation=_ref8[1];var y=_ref8[2];var right=_ref8[3];return{'type':'expression','format':'binary','variant':'operation','operation':keyNode(operation),'left':left,'right':right};},first);}peg$result=peg$parseRule(peg$startRuleIndex);if(peg$result!==peg$FAILED&&peg$currPos===input.length){return peg$result;}else{if(peg$result!==peg$FAILED&&peg$currPos=0;i-=1){if(func(arr[i])){return i;}}return-1;}function takeWhile(arr,func){var len=arr.length;var i=0;for(;i1){return false;}if(!deep){if(elem.indentation>bestNode.indentation){bestNode=elem;}else{deep=true;}}else if(/^(stmt)$/i.test(elem.rule)){deep=true;return true;}return true;});if(chain.length){location=bestNode.location;firstNode=chain.find(function(elem){return that.firstNodeRule.test(elem.description)&&elem.description!==bestNode.description&&elem.indentation!==bestNode.indentation;});if(firstNode!=null){if(this.statementRule.test(bestNode.description)&&this.statementRule.test(firstNode.description)){chainDetail=firstNode.description;}else{chainDetail=bestNode.description+' ('+firstNode.description+')';}}else{chainDetail=bestNode.description;}message='Syntax error found near '+chainDetail;Object.assign(err,{'message':message,'location':location});}return err;};return Tracer;}();\n\n},{}]},{},[1])(1)\n});","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n","exports.publicEncrypt = require('./publicEncrypt')\nexports.privateDecrypt = require('./privateDecrypt')\n\nexports.privateEncrypt = function privateEncrypt (key, buf) {\n return exports.publicEncrypt(key, buf, true)\n}\n\nexports.publicDecrypt = function publicDecrypt (key, buf) {\n return exports.privateDecrypt(key, buf, true)\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar createHmac = require('create-hmac')\nvar crt = require('browserify-rsa')\nvar EC = require('elliptic').ec\nvar BN = require('bn.js')\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction sign (hash, key, hashType, signType, tag) {\n var priv = parseKeys(key)\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n return ecSign(hash, priv)\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong private key type')\n return dsaSign(hash, priv, hashType)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = priv.modulus.byteLength()\n var pad = [0, 1]\n while (hash.length + pad.length + 1 < len) pad.push(0xff)\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) pad.push(hash[i])\n\n var out = crt(pad, priv)\n return out\n}\n\nfunction ecSign (hash, priv) {\n var curveId = curves[priv.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.'))\n\n var curve = new EC(curveId)\n var key = curve.keyFromPrivate(priv.privateKey)\n var out = key.sign(hash)\n\n return Buffer.from(out.toDER())\n}\n\nfunction dsaSign (hash, priv, algo) {\n var x = priv.params.priv_key\n var p = priv.params.p\n var q = priv.params.q\n var g = priv.params.g\n var r = new BN(0)\n var k\n var H = bits2int(hash, q).mod(q)\n var s = false\n var kv = getKey(x, q, hash, algo)\n while (s === false) {\n k = makeKey(q, kv, algo)\n r = makeR(g, k, p, q)\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q)\n if (s.cmpn(0) === 0) {\n s = false\n r = new BN(0)\n }\n }\n return toDER(r, s)\n}\n\nfunction toDER (r, s) {\n r = r.toArray()\n s = s.toArray()\n\n // Pad values\n if (r[0] & 0x80) r = [0].concat(r)\n if (s[0] & 0x80) s = [0].concat(s)\n\n var total = r.length + s.length + 4\n var res = [0x30, total, 0x02, r.length]\n res = res.concat(r, [0x02, s.length], s)\n return Buffer.from(res)\n}\n\nfunction getKey (x, q, hash, algo) {\n x = Buffer.from(x.toArray())\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length)\n x = Buffer.concat([zeros, x])\n }\n var hlen = hash.length\n var hbits = bits2octets(hash, q)\n var v = Buffer.alloc(hlen)\n v.fill(1)\n var k = Buffer.alloc(hlen)\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n return { k: k, v: v }\n}\n\nfunction bits2int (obits, q) {\n var bits = new BN(obits)\n var shift = (obits.length << 3) - q.bitLength()\n if (shift > 0) bits.ishrn(shift)\n return bits\n}\n\nfunction bits2octets (bits, q) {\n bits = bits2int(bits, q)\n bits = bits.mod(q)\n var out = Buffer.from(bits.toArray())\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length)\n out = Buffer.concat([zeros, out])\n }\n return out\n}\n\nfunction makeKey (q, kv, algo) {\n var t\n var k\n\n do {\n t = Buffer.alloc(0)\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n t = Buffer.concat([t, kv.v])\n }\n\n k = bits2int(t, q)\n kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest()\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n } while (k.cmp(q) !== -1)\n\n return k\n}\n\nfunction makeR (g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q)\n}\n\nmodule.exports = sign\nmodule.exports.getKey = getKey\nmodule.exports.makeKey = makeKey\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\nvar safeBuffer = require('safe-buffer')\nvar randombytes = require('randombytes')\nvar Buffer = safeBuffer.Buffer\nvar kBufferMaxLength = safeBuffer.kMaxLength\nvar crypto = global.crypto || global.msCrypto\nvar kMaxUint32 = Math.pow(2, 32) - 1\nfunction assertOffset (offset, length) {\n if (typeof offset !== 'number' || offset !== offset) { // eslint-disable-line no-self-compare\n throw new TypeError('offset must be a number')\n }\n\n if (offset > kMaxUint32 || offset < 0) {\n throw new TypeError('offset must be a uint32')\n }\n\n if (offset > kBufferMaxLength || offset > length) {\n throw new RangeError('offset out of range')\n }\n}\n\nfunction assertSize (size, offset, length) {\n if (typeof size !== 'number' || size !== size) { // eslint-disable-line no-self-compare\n throw new TypeError('size must be a number')\n }\n\n if (size > kMaxUint32 || size < 0) {\n throw new TypeError('size must be a uint32')\n }\n\n if (size + offset > length || size > kBufferMaxLength) {\n throw new RangeError('buffer too small')\n }\n}\nif ((crypto && crypto.getRandomValues) || !process.browser) {\n exports.randomFill = randomFill\n exports.randomFillSync = randomFillSync\n} else {\n exports.randomFill = oldBrowser\n exports.randomFillSync = oldBrowser\n}\nfunction randomFill (buf, offset, size, cb) {\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n if (typeof offset === 'function') {\n cb = offset\n offset = 0\n size = buf.length\n } else if (typeof size === 'function') {\n cb = size\n size = buf.length - offset\n } else if (typeof cb !== 'function') {\n throw new TypeError('\"cb\" argument must be a function')\n }\n assertOffset(offset, buf.length)\n assertSize(size, offset, buf.length)\n return actualFill(buf, offset, size, cb)\n}\n\nfunction actualFill (buf, offset, size, cb) {\n if (process.browser) {\n var ourBuf = buf.buffer\n var uint = new Uint8Array(ourBuf, offset, size)\n crypto.getRandomValues(uint)\n if (cb) {\n process.nextTick(function () {\n cb(null, buf)\n })\n return\n }\n return buf\n }\n if (cb) {\n randombytes(size, function (err, bytes) {\n if (err) {\n return cb(err)\n }\n bytes.copy(buf, offset)\n cb(null, buf)\n })\n return\n }\n var bytes = randombytes(size)\n bytes.copy(buf, offset)\n return buf\n}\nfunction randomFillSync (buf, offset, size) {\n if (typeof offset === 'undefined') {\n offset = 0\n }\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n assertOffset(offset, buf.length)\n\n if (size === undefined) size = buf.length - offset\n\n assertSize(size, offset, buf.length)\n\n return actualFill(buf, offset, size)\n}\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","// IEEE754 conversions based on https://github.com/feross/ieee754\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = 1 / 0;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var bn = require('bn.js');\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nmodule.exports = function (iterations, keylen) {\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","var asn1 = exports;\n\nasn1.bignum = require('bn.js');\n\nasn1.define = require('./asn1/api').define;\nasn1.base = require('./asn1/base');\nasn1.constants = require('./asn1/constants');\nasn1.decoders = require('./asn1/decoders');\nasn1.encoders = require('./asn1/encoders');\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var Reporter = require('../base').Reporter;\nvar EncoderBuffer = require('../base').EncoderBuffer;\nvar DecoderBuffer = require('../base').DecoderBuffer;\nvar assert = require('minimalistic-assert');\n\n// Supported tags\nvar tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nvar methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nvar overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent) {\n var state = {};\n this._baseState = state;\n\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nvar stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n var state = this._baseState;\n var cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n var res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n var state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n var clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n var state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n var state = this._baseState;\n\n // Filter children and args\n var children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n var res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n var value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n var state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n var state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n var state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n var state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n var state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n var state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n var state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n var state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n var result = state['default'];\n var present = true;\n\n var prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n var tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n var save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n var prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n var explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n var start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n if (state.any)\n var save = input.save();\n var body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any)\n result = result;\n else if (state.choice === null)\n result = this._decodeGeneric(state.tag, input, options);\n else\n result = this._decodeChoice(input, options);\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n var data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n var state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n var state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n var state = this._baseState;\n var result = null;\n var match = false;\n\n Object.keys(state.choice).some(function(key) {\n var save = input.save();\n var node = state.choice[key];\n try {\n var value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n var state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n var result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n var result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default']\n else\n return;\n }\n\n // Encode children first\n var content = null;\n var primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n var prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n var res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n var child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n var state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n var result;\n if (!state.any && state.choice === null) {\n var tag = state.implicit !== null ? state.implicit : state.tag;\n var cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n var state = this._baseState;\n\n var node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n var state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(str);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint16Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint16', function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar quot = /\"/g;\n\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\n// https://tc39.github.io/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = String(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","var inherits = require('inherits');\n\nvar DEREncoder = require('./der');\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n};\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n var buf = DEREncoder.prototype.encode.call(this, data);\n\n var p = buf.toString('base64');\n var out = [ '-----BEGIN ' + options.label + '-----' ];\n for (var i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var MODES = require('./modes')\nvar AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","/* eslint-disable no-new */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int16Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int16', function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var constants = require('../constants');\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = constants._reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = constants._reverse(exports.tag);\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","var Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding)\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer)\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')\n }\n}\n","module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n","var inherits = require('inherits');\nvar Buffer = require('buffer').Buffer;\n\nvar DERDecoder = require('./der');\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n};\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n var lines = data.toString().split(/[\\r\\n]+/g);\n\n var label = options.label.toUpperCase();\n\n var re = /^-----(BEGIN|END) ([^-]+)-----$/;\n var start = -1;\n var end = -1;\n for (var i = 0; i < lines.length; i++) {\n var match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n var base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9\\+\\/=]+/gi, '');\n\n var input = new Buffer(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\n","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n var curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var DES = require('browserify-des')\nvar aes = require('browserify-aes/browser')\nvar aesModes = require('browserify-aes/modes')\nvar desModes = require('browserify-des/modes')\nvar ebtk = require('evp_bytestokey')\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar BN = require('bn.js')\nvar EC = require('elliptic').ec\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction verify (sig, hash, key, signType, tag) {\n var pub = parseKeys(key)\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n return ecVerify(sig, hash, pub)\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong public key type')\n return dsaVerify(sig, hash, pub)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = pub.modulus.byteLength()\n var pad = [1]\n var padNum = 0\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff)\n padNum++\n }\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) {\n pad.push(hash[i])\n }\n pad = Buffer.from(pad)\n var red = BN.mont(pub.modulus)\n sig = new BN(sig).toRed(red)\n\n sig = sig.redPow(new BN(pub.publicExponent))\n sig = Buffer.from(sig.fromRed().toArray())\n var out = padNum < 8 ? 1 : 0\n len = Math.min(sig.length, pad.length)\n if (sig.length !== pad.length) out = 1\n\n i = -1\n while (++i < len) out |= sig[i] ^ pad[i]\n return out === 0\n}\n\nfunction ecVerify (sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.'))\n\n var curve = new EC(curveId)\n var pubkey = pub.data.subjectPrivateKey.data\n\n return curve.verify(hash, sig, pubkey)\n}\n\nfunction dsaVerify (sig, hash, pub) {\n var p = pub.data.p\n var q = pub.data.q\n var g = pub.data.g\n var y = pub.data.pub_key\n var unpacked = parseKeys.signature.decode(sig, 'der')\n var s = unpacked.s\n var r = unpacked.r\n checkValue(s, q)\n checkValue(r, q)\n var montp = BN.mont(p)\n var w = s.invm(q)\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q)\n return v.cmp(r) === 0\n}\n\nfunction checkValue (b, q) {\n if (b.cmpn(0) <= 0) throw new Error('invalid sig')\n if (b.cmp(q) >= q) throw new Error('invalid sig')\n}\n\nmodule.exports = verify\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $copyWithin = require('../internals/array-copy-within');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","var defaultEncoding\n/* istanbul ignore next */\nif (process.browser) {\n defaultEncoding = 'utf-8'\n} else if (process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","var toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar bind = require('../internals/function-bind-context');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","'use strict'\n\nfunction isPromise (obj) {\n // via https://unpkg.com/is-promise@2.1.0/index.js\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\n}\n\nfunction registerPromiseWorker (callback) {\n function postOutgoingMessage (e, messageId, error, result) {\n function postMessage (msg) {\n /* istanbul ignore if */\n if (typeof self.postMessage !== 'function') { // service worker\n e.ports[0].postMessage(msg)\n } else { // web worker\n self.postMessage(msg)\n }\n }\n if (error) {\n /* istanbul ignore else */\n if (typeof console !== 'undefined' && 'error' in console) {\n // This is to make errors easier to debug. I think it's important\n // enough to just leave here without giving the user an option\n // to silence it.\n console.error('Worker caught an error:', error)\n }\n postMessage([messageId, {\n message: error.message\n }])\n } else {\n postMessage([messageId, null, result])\n }\n }\n\n function tryCatchFunc (callback, message) {\n try {\n return { res: callback(message) }\n } catch (e) {\n return { err: e }\n }\n }\n\n function handleIncomingMessage (e, callback, messageId, message) {\n var result = tryCatchFunc(callback, message)\n\n if (result.err) {\n postOutgoingMessage(e, messageId, result.err)\n } else if (!isPromise(result.res)) {\n postOutgoingMessage(e, messageId, null, result.res)\n } else {\n result.res.then(function (finalResult) {\n postOutgoingMessage(e, messageId, null, finalResult)\n }, function (finalError) {\n postOutgoingMessage(e, messageId, finalError)\n })\n }\n }\n\n function onIncomingMessage (e) {\n var payload = e.data\n if (!Array.isArray(payload) || payload.length !== 2) {\n // message doens't match communication format; ignore\n return\n }\n var messageId = payload[0]\n var message = payload[1]\n\n if (typeof callback !== 'function') {\n postOutgoingMessage(e, messageId, new Error(\n 'Please pass a function into register().'))\n } else {\n handleIncomingMessage(e, callback, messageId, message)\n }\n }\n\n self.addEventListener('message', onIncomingMessage)\n}\n\nmodule.exports = registerPromiseWorker\n","var $ = require('../internals/export');\nvar copyWithin = require('../internals/array-copy-within');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.copyWithin` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin\n$({ target: 'Array', proto: true }, {\n copyWithin: copyWithin\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('copyWithin');\n","var bn = require('bn.js');\nvar randomBytes = require('randombytes');\nmodule.exports = crt;\nfunction blind(priv) {\n var r = getr(priv);\n var blinder = r.toRed(bn.mont(priv.modulus))\n .redPow(new bn(priv.publicExponent)).fromRed();\n return {\n blinder: blinder,\n unblinder:r.invm(priv.modulus)\n };\n}\nfunction crt(msg, priv) {\n var blinds = blind(priv);\n var len = priv.modulus.byteLength();\n var mod = bn.mont(priv.modulus);\n var blinded = new bn(msg).mul(blinds.blinder).umod(priv.modulus);\n var c1 = blinded.toRed(bn.mont(priv.prime1));\n var c2 = blinded.toRed(bn.mont(priv.prime2));\n var qinv = priv.coefficient;\n var p = priv.prime1;\n var q = priv.prime2;\n var m1 = c1.redPow(priv.exponent1);\n var m2 = c2.redPow(priv.exponent2);\n m1 = m1.fromRed();\n m2 = m2.fromRed();\n var h = m1.isub(m2).imul(qinv).umod(p);\n h.imul(q);\n m2.iadd(h);\n return new Buffer(m2.imul(blinds.unblinder).umod(priv.modulus).toArray(false, len));\n}\ncrt.getr = getr;\nfunction getr(priv) {\n var len = priv.modulus.byteLength();\n var r = new bn(randomBytes(len));\n while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2)) {\n r = new bn(randomBytes(len));\n }\n return r;\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","'use strict';\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar $has = require('../internals/has');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) this.entries.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return C;\n }\n};\n","var parseKeys = require('parse-asn1')\nvar randomBytes = require('randombytes')\nvar createHash = require('create-hash')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar withPublic = require('./withPublic')\nvar crt = require('browserify-rsa')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function publicEncrypt (publicKey, msg, reverse) {\n var padding\n if (publicKey.padding) {\n padding = publicKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n var key = parseKeys(publicKey)\n var paddedMsg\n if (padding === 4) {\n paddedMsg = oaep(key, msg)\n } else if (padding === 1) {\n paddedMsg = pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n paddedMsg = new BN(msg)\n if (paddedMsg.cmp(key.modulus) >= 0) {\n throw new Error('data too long for modulus')\n }\n } else {\n throw new Error('unknown padding')\n }\n if (reverse) {\n return crt(paddedMsg, key)\n } else {\n return withPublic(paddedMsg, key)\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var mLen = msg.length\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n var hLen2 = 2 * hLen\n if (mLen > k - hLen2 - 2) {\n throw new Error('message too long')\n }\n var ps = Buffer.alloc(k - mLen - hLen2 - 2)\n var dblen = k - hLen - 1\n var seed = randomBytes(hLen)\n var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen))\n var maskedSeed = xor(seed, mgf(maskedDb, hLen))\n return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k))\n}\nfunction pkcs1 (key, msg, reverse) {\n var mLen = msg.length\n var k = key.modulus.byteLength()\n if (mLen > k - 11) {\n throw new Error('message too long')\n }\n var ps\n if (reverse) {\n ps = Buffer.alloc(k - mLen - 3, 0xff)\n } else {\n ps = nonZero(k - mLen - 3)\n }\n return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k))\n}\nfunction nonZero (len) {\n var out = Buffer.allocUnsafe(len)\n var i = 0\n var cache = randomBytes(len * 2)\n var cur = 0\n var num\n while (i < len) {\n if (cur === cache.length) {\n cache = randomBytes(len * 2)\n cur = 0\n }\n num = cache[cur++]\n if (num) {\n out[i++] = num\n }\n }\n return out\n}\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Readable;\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","var Buffer = require('safe-buffer').Buffer\nvar MD5 = require('md5.js')\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/**/\n\nmodule.exports = Duplex;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict'\nvar Buffer = require('buffer').Buffer\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","var Buffer = require('safe-buffer').Buffer\nvar createHash = require('create-hash')\nvar stream = require('readable-stream')\nvar inherits = require('inherits')\nvar sign = require('./sign')\nvar verify = require('./verify')\n\nvar algorithms = require('./algorithms.json')\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex')\n algorithms[key.toLowerCase()] = algorithms[key]\n})\n\nfunction Sign (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hashType = data.hash\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Sign, stream.Writable)\n\nSign.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nSign.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nSign.prototype.sign = function signMethod (key, enc) {\n this.end()\n var hash = this._hash.digest()\n var sig = sign(hash, key, this._hashType, this._signType, this._tag)\n\n return enc ? sig.toString(enc) : sig\n}\n\nfunction Verify (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Verify, stream.Writable)\n\nVerify.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nVerify.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nVerify.prototype.verify = function verifyMethod (key, sig, enc) {\n if (typeof sig === 'string') sig = Buffer.from(sig, enc)\n\n this.end()\n var hash = this._hash.digest()\n return verify(sig, hash, key, this._signType, this._tag)\n}\n\nfunction createSign (algorithm) {\n return new Sign(algorithm)\n}\n\nfunction createVerify (algorithm) {\n return new Verify(algorithm)\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n}\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(curves.hasOwnProperty(options), 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray()\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n do {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n } while (true);\n};\n\nEC.prototype._truncateToN = function truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8'\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; true; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n\n if (!this.curve._maxwellTrick) {\n var p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n var p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var xor = require('buffer-xor')\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n});\n","module.exports = require('./readable').PassThrough\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","module.exports = false;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","var inherits = require('inherits');\n\nvar asn1 = require('../../asn1');\nvar base = asn1.base;\nvar bignum = asn1.bignum;\n\n// Import DER constants\nvar der = asn1.constants.der;\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n};\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!(data instanceof base.DecoderBuffer))\n data = new base.DecoderBuffer(data, options);\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n var state = buffer.save();\n var decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n var decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n var len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n var state = buffer.save();\n var res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n while (true) {\n var tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n var len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n var res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len)\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n var result = [];\n while (!buffer.isEmpty()) {\n var possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n var res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n var unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n var raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n var str = '';\n for (var i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n var numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n var printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n var result;\n var identifiers = [];\n var ident = 0;\n while (!buffer.isEmpty()) {\n var subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n var first = (identifiers[0] / 40) | 0;\n var second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n var tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n var str = buffer.raw().toString();\n if (tag === 'gentime') {\n var year = str.slice(0, 4) | 0;\n var mon = str.slice(4, 6) | 0;\n var day = str.slice(6, 8) | 0;\n var hour = str.slice(8, 10) | 0;\n var min = str.slice(10, 12) | 0;\n var sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n var year = str.slice(0, 2) | 0;\n var mon = str.slice(2, 4) | 0;\n var day = str.slice(4, 6) | 0;\n var hour = str.slice(6, 8) | 0;\n var min = str.slice(8, 10) | 0;\n var sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull(buffer) {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n var res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n var raw = buffer.raw();\n var res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n var tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n var cls = der.tagClass[tag >> 6];\n var primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n var oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n var tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n var len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n var num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (var i = 0; i < num; i++) {\n len <<= 8;\n var j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float32Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float32', function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","module.exports = require('./readable').Transform\n","var inherits = require('inherits');\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n var state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n var state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n var state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n var state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n var state = this._reporterState;\n\n var prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n var state = this._reporterState;\n\n var now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n var err;\n var state = this._reporterState;\n\n var inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n var state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n};\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar Base = require('cipher-base')\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/readable.js');\nStream.Writable = require('readable-stream/writable.js');\nStream.Duplex = require('readable-stream/duplex.js');\nStream.Transform = require('readable-stream/transform.js');\nStream.PassThrough = require('readable-stream/passthrough.js');\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /**/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /**/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var elliptic = require('elliptic')\nvar BN = require('bn.js')\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar min = Math.min;\nvar nativeLastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\n// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : nativeLastIndexOf;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n for (var j = 0; j < naf.length; j += doubles.step) {\n var nafW = 0;\n for (var k = j + doubles.step - 1; k >= j; k--)\n nafW = (nafW << 1) + naf[k];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (var j = 0; j < repr.length; j++) {\n var nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var k = 0; i >= 0 && naf[i] === 0; i--)\n k++;\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n for (var i = 0; i < len; i++) {\n var p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (var i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b] /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3 /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (var j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (var i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (var j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (var j = 0; j < len; j++) {\n var z = tmp[j];\n var p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (var i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len)) ;\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","var asn1 = require('../asn1');\nvar inherits = require('inherits');\n\nvar api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n};\n\nEntity.prototype._createNamed = function createNamed(base) {\n var named;\n try {\n named = require('vm').runInThisContext(\n '(function ' + this.name + '(entity) {\\n' +\n ' this._initNamed(entity);\\n' +\n '})'\n );\n } catch (e) {\n named = function (entity) {\n this._initNamed(entity);\n };\n }\n inherits(named, base);\n named.prototype._initNamed = function initnamed(entity) {\n base.call(this, entity);\n };\n\n return new named(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(asn1.decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(asn1.encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\n","module.exports = require('events').EventEmitter;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n []\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n var m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n var m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","var createHash = require('create-hash')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0)\n var i = 0\n var c\n while (t.length < len) {\n c = i2ops(i++)\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])\n }\n return t.slice(0, len)\n}\n\nfunction i2ops (c) {\n var out = Buffer.allocUnsafe(4)\n out.writeUInt32BE(c, 0)\n return out\n}\n","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\nvar Buffer = require('safe-buffer').Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","var toInteger = require('../internals/to-integer');\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function eventListener() {\n if (errorListener !== undefined) {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n var errorListener;\n\n // Adding an error listener is not optional because\n // if an error is thrown on an event emitter we cannot\n // guarantee that the actual event we are waiting will\n // be fired. The result could be a silent way to create\n // memory or file descriptor leaks, which is something\n // we should avoid.\n if (name !== 'error') {\n errorListener = function errorListener(err) {\n emitter.removeListener(name, eventListener);\n reject(err);\n };\n\n emitter.once('error', errorListener);\n }\n\n emitter.once(name, eventListener);\n });\n}\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint32Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint32', function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int8Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int8', function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/js/app.07e3c4a6.js.map b/js/app.07e3c4a6.js.map deleted file mode 100644 index 164fc3c..0000000 --- a/js/app.07e3c4a6.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?7e02","webpack:///./src/components/Logs.vue?6969","webpack:///./src/views/Main/AppDiagnosticInfo.vue?9e17","webpack:///./src/assets/images/success.svg","webpack:///./src/assets/images/chevron.svg","webpack:///./src/assets/images/body.svg","webpack:///./src/views/Main/Editor/Schema/TableDescription.vue?f203","webpack:///./src/views/Main/Editor/Schema/index.vue?ea5c","webpack:///./src/assets/images/rightArm.svg","webpack:///./src/components/CsvImport/DelimiterSelector/index.vue?3f45","webpack:///./src/views/Main/Editor/Tabs/index.vue?0b35","webpack:///./src/components/svg/treeChevron.vue?6f29","webpack:///./src/assets/images/top.svg","webpack:///./src/assets/images/checkbox_checked_disabled.svg","webpack:///./src/views/Welcome.vue?7ae8","webpack:///./src/components/svg/dropDownChevron.vue?3cbf","webpack:///./src/components/svg/changeDb.vue?d3b8","webpack:///./src/components/svg/addTable.vue?1d1f","webpack:///./src/views/Main/Editor/Tabs/Tab/SqlEditor/index.vue?9e10","webpack:///./src/App.vue?d6e2","webpack:///./src/App.vue","webpack:///./src/views/Main/Editor/index.vue?0e88","webpack:///./src/components/Splitpanes/index.vue?6625","webpack:///./src/components/Splitpanes/splitter.js","webpack:///src/components/Splitpanes/index.vue","webpack:///./src/components/Splitpanes/index.vue?63a3","webpack:///./src/components/Splitpanes/index.vue?5e42","webpack:///./src/views/Main/Editor/Schema/index.vue?cc5a","webpack:///./src/lib/utils/fileIo.js","webpack:///./src/views/Main/Editor/Schema/TableDescription.vue?0e02","webpack:///./src/components/svg/treeChevron.vue?5e86","webpack:///src/components/svg/treeChevron.vue","webpack:///./src/components/svg/treeChevron.vue?b17a","webpack:///./src/components/svg/treeChevron.vue","webpack:///src/views/Main/Editor/Schema/TableDescription.vue","webpack:///./src/views/Main/Editor/Schema/TableDescription.vue?d978","webpack:///./src/views/Main/Editor/Schema/TableDescription.vue","webpack:///./src/components/TextField.vue?08ef","webpack:///./src/components/svg/hint.vue?01eb","webpack:///./src/tooltipMixin.js","webpack:///src/components/svg/hint.vue","webpack:///./src/components/svg/hint.vue?5775","webpack:///./src/components/svg/hint.vue","webpack:///src/components/TextField.vue","webpack:///./src/components/TextField.vue?9cf1","webpack:///./src/components/TextField.vue","webpack:///./src/components/DbUploader.vue?0857","webpack:///./src/components/svg/changeDb.vue?f6dc","webpack:///src/components/svg/changeDb.vue","webpack:///./src/components/svg/changeDb.vue?d955","webpack:///./src/components/svg/changeDb.vue","webpack:///./src/lib/database/_statements.js","webpack:///./src/lib/database/_worker.js","webpack:///./src/lib/database/index.js","webpack:///./src/components/CsvImport/index.vue?8143","webpack:///./src/components/CsvImport/csv.js","webpack:///./src/components/svg/close.vue?e1a6","webpack:///src/components/svg/close.vue","webpack:///./src/components/svg/close.vue?e676","webpack:///./src/components/svg/close.vue","webpack:///./src/components/CsvImport/DelimiterSelector/index.vue?164b","webpack:///./src/components/CsvImport/DelimiterSelector/ascii.js","webpack:///./src/components/svg/dropDownChevron.vue?b04e","webpack:///src/components/svg/dropDownChevron.vue","webpack:///./src/components/svg/dropDownChevron.vue?ec7c","webpack:///./src/components/svg/dropDownChevron.vue","webpack:///./src/components/svg/clear.vue?20e2","webpack:///src/components/svg/clear.vue","webpack:///./src/components/svg/clear.vue?8a38","webpack:///./src/components/svg/clear.vue","webpack:///src/components/CsvImport/DelimiterSelector/index.vue","webpack:///./src/components/CsvImport/DelimiterSelector/index.vue?7c8b","webpack:///./src/components/CsvImport/DelimiterSelector/index.vue","webpack:///./src/components/CheckBox.vue?5fea","webpack:///src/components/CheckBox.vue","webpack:///./src/components/CheckBox.vue?c359","webpack:///./src/components/CheckBox.vue","webpack:///./src/components/SqlTable/index.vue?0c0f","webpack:///./src/components/SqlTable/Pager.vue?165f","webpack:///src/components/SqlTable/Pager.vue","webpack:///./src/components/SqlTable/Pager.vue?b5ed","webpack:///./src/components/SqlTable/Pager.vue","webpack:///src/components/SqlTable/index.vue","webpack:///./src/components/SqlTable/index.vue?5b6b","webpack:///./src/components/SqlTable/index.vue","webpack:///./src/components/Logs.vue?85d8","webpack:///./src/components/LoadingIndicator.vue?3b48","webpack:///src/components/LoadingIndicator.vue","webpack:///./src/components/LoadingIndicator.vue?df39","webpack:///./src/components/LoadingIndicator.vue","webpack:///src/components/Logs.vue","webpack:///./src/components/Logs.vue?8203","webpack:///./src/components/Logs.vue","webpack:///./src/lib/utils/time.js","webpack:///src/components/CsvImport/index.vue","webpack:///./src/components/CsvImport/index.vue?a573","webpack:///./src/components/CsvImport/index.vue","webpack:///src/components/DbUploader.vue","webpack:///./src/components/DbUploader.vue?821d","webpack:///./src/components/DbUploader.vue","webpack:///./src/components/svg/export.vue?55da","webpack:///src/components/svg/export.vue","webpack:///./src/components/svg/export.vue?70ad","webpack:///./src/components/svg/export.vue","webpack:///./src/components/svg/addTable.vue?5442","webpack:///src/components/svg/addTable.vue","webpack:///./src/components/svg/addTable.vue?c19d","webpack:///./src/components/svg/addTable.vue","webpack:///src/views/Main/Editor/Schema/index.vue","webpack:///./src/views/Main/Editor/Schema/index.vue?225f","webpack:///./src/views/Main/Editor/Schema/index.vue","webpack:///./src/views/Main/Editor/Tabs/index.vue?da10","webpack:///./src/views/Main/Editor/Tabs/Tab/index.vue?5858","webpack:///./src/views/Main/Editor/Tabs/Tab/SqlEditor/index.vue?b6d3","webpack:///./src/store/state.js","webpack:///./src/store/mutations.js","webpack:///./src/store/actions.js","webpack:///./src/store/index.js","webpack:///./src/views/Main/Editor/Tabs/Tab/SqlEditor/hint.js","webpack:///src/views/Main/Editor/Tabs/Tab/SqlEditor/index.vue","webpack:///./src/views/Main/Editor/Tabs/Tab/SqlEditor/index.vue?8322","webpack:///./src/views/Main/Editor/Tabs/Tab/SqlEditor/index.vue","webpack:///./src/views/Main/Editor/Tabs/Tab/ViewSwitcher.vue?fcb1","webpack:///src/views/Main/Editor/Tabs/Tab/ViewSwitcher.vue","webpack:///./src/views/Main/Editor/Tabs/Tab/ViewSwitcher.vue?22fc","webpack:///./src/views/Main/Editor/Tabs/Tab/ViewSwitcher.vue","webpack:///./src/views/Main/Editor/Tabs/Tab/Chart/index.vue?bf8c","webpack:///./src/views/Main/Editor/Tabs/Tab/Chart/chartHelper.js","webpack:///src/views/Main/Editor/Tabs/Tab/Chart/index.vue","webpack:///./src/views/Main/Editor/Tabs/Tab/Chart/index.vue?374e","webpack:///./src/views/Main/Editor/Tabs/Tab/Chart/index.vue","webpack:///src/views/Main/Editor/Tabs/Tab/index.vue","webpack:///./src/views/Main/Editor/Tabs/Tab/index.vue?f041","webpack:///./src/views/Main/Editor/Tabs/Tab/index.vue","webpack:///src/views/Main/Editor/Tabs/index.vue","webpack:///./src/views/Main/Editor/Tabs/index.vue?f620","webpack:///./src/views/Main/Editor/Tabs/index.vue","webpack:///src/views/Main/Editor/index.vue","webpack:///./src/views/Main/Editor/index.vue?9ae0","webpack:///./src/views/Main/Editor/index.vue","webpack:///./src/views/Main/MyQueries/index.vue?3d46","webpack:///./src/views/Main/MyQueries/svg/rename.vue?80da","webpack:///src/views/Main/MyQueries/svg/rename.vue","webpack:///./src/views/Main/MyQueries/svg/rename.vue?ecc0","webpack:///./src/views/Main/MyQueries/svg/rename.vue","webpack:///./src/views/Main/MyQueries/svg/copy.vue?0193","webpack:///src/views/Main/MyQueries/svg/copy.vue","webpack:///./src/views/Main/MyQueries/svg/copy.vue?fbba","webpack:///./src/views/Main/MyQueries/svg/copy.vue","webpack:///./src/views/Main/MyQueries/svg/delete.vue?d0a4","webpack:///src/views/Main/MyQueries/svg/delete.vue","webpack:///./src/views/Main/MyQueries/svg/delete.vue?6b0c","webpack:///./src/views/Main/MyQueries/svg/delete.vue","webpack:///./src/lib/storedQueries.js","webpack:///src/views/Main/MyQueries/index.vue","webpack:///./src/views/Main/MyQueries/index.vue?b685","webpack:///./src/views/Main/MyQueries/index.vue","webpack:///./src/views/Welcome.vue?e399","webpack:///src/views/Welcome.vue","webpack:///./src/views/Welcome.vue?4944","webpack:///./src/views/Welcome.vue","webpack:///./src/views/Main/index.vue?21e7","webpack:///./src/views/Main/MainMenu.vue?3ead","webpack:///./src/views/Main/AppDiagnosticInfo.vue?da46","webpack:///src/views/Main/AppDiagnosticInfo.vue","webpack:///./src/views/Main/AppDiagnosticInfo.vue?d141","webpack:///./src/views/Main/AppDiagnosticInfo.vue","webpack:///src/views/Main/MainMenu.vue","webpack:///./src/views/Main/MainMenu.vue?b8d7","webpack:///./src/views/Main/MainMenu.vue","webpack:///src/views/Main/index.vue","webpack:///./src/views/Main/index.vue?4df8","webpack:///./src/views/Main/index.vue","webpack:///./src/router.js","webpack:///./src/main.js","webpack:///./src/assets/images/checkbox_checked_light.svg","webpack:///./src/assets/images/bottom.svg","webpack:///./src/views/Main/MyQueries/index.vue?f5d3","webpack:///./src/assets/images/error.svg","webpack:///./src/components/svg/export.vue?d12b","webpack:///./src/components/SqlTable/Pager.vue?4d77","webpack:///./src/views/Main/index.vue?97ea","webpack:///./src/components/DbUploader.vue?8dad","webpack:///./src/assets/images/file.png","webpack:///./src/assets/images/checkbox_checked.svg","webpack:///./src/views/Main/Editor/Tabs/Tab/Chart/index.vue?5388","webpack:///./src/assets/images/leftArm.svg","webpack:///./src/components/Splitpanes/index.vue?b4fa","webpack:///./src/components/CheckBox.vue?336d","webpack:///./src/views/Main/Editor/Tabs/Tab/index.vue?8c23","webpack:///./src/views/Main/Editor/index.vue?b478","webpack:///./src/views/Main/Editor/Tabs/Tab/ViewSwitcher.vue?8f08","webpack:///./src/views/Main/MyQueries/svg/copy.vue?dd9d","webpack:///./src/views/Main/MyQueries/svg/rename.vue?2f52","webpack:///./src/components/CsvImport/index.vue?b2c5","webpack:///./src/components/svg/hint.vue?e470","webpack:///./src/components/LoadingIndicator.vue?457c","webpack:///./src/components/TextField.vue?fc5b","webpack:///./src/assets/images/info.svg","webpack:///./src/views/Main/MyQueries/svg/delete.vue?f003","webpack:///./src/views/Main/MainMenu.vue?d9fd","webpack:///./src/components/svg/close.vue?13b7","webpack:///./src/components/svg/clear.vue?7b73"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","attrs","staticRenderFns","component","staticClass","size","max","scopedSlots","_u","fn","proxy","ref","class","horizontal","dragging","style","styles","paneBefore","_t","on","bindEvents","after","before","paneAfter","$event","togglePane","_e","getCurrentMouseDrag","container","rect","getBoundingClientRect","touches","clientX","clientY","x","left","y","top","getCurrentDragPercentage","isHorisontal","drag","containerSize","calculateOffset","paneBeforeMax","paneAfterMax","dragPercentage","paneBeforeMaxReached","paneAfterMaxReached","Math","min","props","beforeMinimising","movableSplitter","visibility","computed","movableSplitterStyle","directionBeforeIconStyle","rotation","expanded","transform","translation","directionAfterIconStyle","methods","addEventListener","onMouseMove","onMouseUp","unbindEvents","removeEventListener","preventDefault","moveSplitter","dir","offset","pane","otherPane","mounted","$refs","model","callback","$$v","filter","expression","schemaVisible","directives","rawName","schema","_v","_s","dbName","exportToFile","addCsv","_l","table","columns","file","$store","state","db","isDatabase","dbTypes","includes","test","getFileName","replace","str","fileName","downloader","blob","Blob","url","URL","createObjectURL","href","download","click","revokeObjectURL","getFileFromUser","uploader","accept","files","importFile","reader","FileReader","then","readAsText","readFile","path","fetch","readAsArrayBuffer","fileReader","abort","colVisible","col","index","Boolean","required","components","errorMsg","disabled","label","hint","maxHintWidth","width","placeholder","domProps","$emit","showTooltip","hideTooltip","assign","tooltipStyle","maxWidth","mixins","tooltipMixin","nativeOn","browse","drop","newDb","cancelCsvImport","finish","generateChunks","arr","count","ceil","start","end","getInsertStmt","tabName","colList","join","params","map","getCreateStatement","values","forEach","getAst","sql","fixedSql","sqliteParser","getColumns","ast","columnDefinition","statement","format","definition","args","item","variant","datatype","Worker_fn","Worker","getNewDatabase","worker","Database","progressCounterIds","pw","PromiseWorker","importProgresses","progress","id","dispatchEvent","CustomEvent","detail","terminate","EventTarget","progressCounterId","postMessage","action","refreshSchema","fu","fileContent","buffer","res","getSchemaSql","execute","parsedSchema","stms","commands","results","startsWith","dialogName","disableDialog","tableNameError","tableName","previewCsv","delimiter","quoteChar","escapeChar","header","previewData","importCsvMessages","importCsvCompleted","loadFromCsv","hintsByCode","MissingQuotes","TooFewFields","TooManyFields","getResult","source","meta","fields","trim","row","resultRow","Date","toISOString","parse","config","defaultConfig","newline","transformHeader","dynamicTyping","preview","encoding","comments","step","complete","hasErrors","messages","errors","msg","code","downloadRequestHeaders","downloadRequestBody","skipEmptyLines","chunkSize","fastMode","beforeFirstChunk","withCredentials","delimitersToGuess","Papa","RECORD_SEP","UNIT_SEP","stopPropagation","Number","default","onContainerClick","filled","composing","inputValue","getSymbolName","clear","showOptions","option","chooseOption","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","options","watch","created","ascii","charCodeAt","toString","delimiterInput","focus","checked","onClick","theme","String","validator","init","th","maxHeight","height","onScrollTable","dataSet","refInFor","valIndex","time","pageCount","currentPage","chevron","page","tableWidth","resizeObserver","cellStyle","pageSize","floor","currentPageData","calculateHeadersWidth","offsetWidth","$nextTick","scrollLeft","ResizeObserver","observe","beforeDestroy","unobserve","serializeMessage","animationClass","strokeWidth","radius","strokeDasharray","circleProgress","strokeDashoffset","scrollToBottom","getPeriod","diff","getTime","seconds","toFixed","debounce","func","ms","arguments","CloseIcon","TextField","DelimiterSelector","CheckBox","SqlTable","Logs","addedTable","validateTableName","$modal","hide","reset","open","sanitizeTableName","show","ChangeDbIcon","CsvImport","animationPromise","animationName","shutDown","loadDb","checkFile","dataTransfer","tooltip","TableDescription","TreeChevron","DbUploader","ExportIcon","AddTableIcon","export","tabs","tab","selectedIndex","selectTab","tempName","beforeCloseTab","query","chart","isPredefined","$root","closingTabIndex","closeTab","saveAndClose","view","isGettingResults","tableViewHeight","initChart","commit","tabIndex","isUnsaved","cmOptions","onChange","currentTab","currentTabId","untitledLastIndex","predefinedQueries","setDb","updateTab","oldId","Vue","set","deleteTab","setCurrentTabId","setCurrentTab","updatePredefinedQueries","queries","Array","isArray","addTab","JSON","stringify","nanoid","some","openedTab","use","Vuex","Store","mutations","actions","getHints","cm","token","getTokenAt","getCursor","string","toUpperCase","CM","list","text","hintOptions","tables","store","column","completeSingle","completeOnSingleClick","alignWithWord","showHintOnDemand","editor","showHint","ch","tokenType","tabSize","lineNumbers","line","autoRefresh","extraKeys","codemirror","sqlResult","visible","layout","frames","editable","displaylogo","dataSources","dataSourceOptions","plotly","update","go","getDataSourcesFromSqlResult","dataSorces","matrix","transposedMatrix","getOptionsFromDataSources","keys","getChartStateForSave","stateCopy","emptySources","dereference","PlotlyEditor","chartHelper","SqlEditor","Splitpanes","ViewSwitcher","Chart","LoadingIndicator","initQuery","isActive","handleResize","bottomPane","calculateTableHeight","immediate","freeSpace","Tab","leavingSqliteviz","returnValue","$on","Schema","Tabs","showedQueries","importQueries","selectedQueriesCount","exportSelectedQueries","selectedNotPredefinedCount","showDeleteDialog","selectedQueriesIds","toggleSelectAll","maxTableHeight","openQuery","selectAll","has","toggleRow","_f","createdAt","showRenameDialog","duplicateQuery","Set","add","newName","renameQuery","deleteGroup","deleteDialogMsg","deleteQuery","getStoredQueries","localStorage","getItem","baseQuery","newQuery","isTabNeedName","queryTab","isFromScratch","initName","save","myQueries","queryIndex","findIndex","oldQuery","updateStorage","setItem","serialiseQueries","queryList","preparedData","deserialiseQueries","allQueriesIds","readPredefinedQueries","resp","json","RenameIcon","CopyIcon","DeleteIcon","processedQueryId","predefinedQueriesIds","allQueries","concat","processedQueryIndex","storedQueries","calcMaxTableHeight","tableResizeObserver","calcNameWidth","filters","date","hour12","hour","minute","toLocaleDateString","dateOptions","dispatch","processedQuery","$set","idsSet","next","delete","findTabIndex","rowCheckBox","mainCheckBox","$router","currentQuery","$route","runDisabled","checkQueryBeforeSave","createNewQuery","cancelSave","saveQuery","opt","info","AppDiagnosticInfo","_keyListener","$off","isNeedName","ctrlKey","metaKey","VueRouter","routes","Welcome","Main","children","Editor","MyQueries","router","beforeEach","to","from","database","location","hostname","VuePlugin","VModal","productionTip","render","h","App","$mount"],"mappings":"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","file":"js/app.07e3c4a6.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-60cbf026\":\"37d9df6c\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logs.vue?vue&type=style&index=0&id=1c9f27dc&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logs.vue?vue&type=style&index=0&id=1c9f27dc&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDiagnosticInfo.vue?vue&type=style&index=0&id=669c683a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDiagnosticInfo.vue?vue&type=style&index=0&id=669c683a&scoped=true&lang=css&\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMSAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwLjQ5OTggMTYuNjY2N0M2LjgyNDg0IDE2LjY2NjcgMy44MzMxNyAxMy42NzUgMy44MzMxNyAxMEMzLjgzMzE3IDYuMzI1MDIgNi44MjQ4NCAzLjMzMzM1IDEwLjQ5OTggMy4zMzMzNUMxNC4xNzQ4IDMuMzMzMzUgMTcuMTY2NSA2LjMyNTAyIDE3LjE2NjUgMTBDMTcuMTY2NSAxMy42NzUgMTQuMTc0OCAxNi42NjY3IDEwLjQ5OTggMTYuNjY2N1pNMTAuNDk5OCAxLjY2NjY5QzkuNDA1NDkgMS42NjY2OSA4LjMyMTg2IDEuODgyMjQgNy4zMTA4MSAyLjMwMTAyQzYuMjk5NzYgMi43MTk4MSA1LjM4MTEgMy4zMzM2NCA0LjYwNzI4IDQuMTA3NDZDMy4wNDQ0OCA1LjY3MDI3IDIuMTY2NSA3Ljc4OTg4IDIuMTY2NSAxMEMyLjE2NjUgMTIuMjEwMiAzLjA0NDQ4IDE0LjMyOTggNC42MDcyOCAxNS44OTI2QzUuMzgxMSAxNi42NjY0IDYuMjk5NzYgMTcuMjgwMiA3LjMxMDgxIDE3LjY5OUM4LjMyMTg2IDE4LjExNzggOS40MDU0OSAxOC4zMzM0IDEwLjQ5OTggMTguMzMzNEMxMi43MSAxOC4zMzM0IDE0LjgyOTYgMTcuNDU1NCAxNi4zOTI0IDE1Ljg5MjZDMTcuOTU1MiAxNC4zMjk4IDE4LjgzMzIgMTIuMjEwMiAxOC44MzMyIDEwQzE4LjgzMzIgOC45MDU2NyAxOC42MTc2IDcuODIyMDQgMTguMTk4OCA2LjgxMDk5QzE3Ljc4IDUuNzk5OTUgMTcuMTY2MiA0Ljg4MTI5IDE2LjM5MjQgNC4xMDc0NkMxNS42MTg2IDMuMzMzNjQgMTQuNjk5OSAyLjcxOTgxIDEzLjY4ODkgMi4zMDEwMkMxMi42Nzc4IDEuODgyMjQgMTEuNTk0MiAxLjY2NjY5IDEwLjQ5OTggMS42NjY2OVoiIGZpbGw9IiMwMENDOTYiLz4KPHJlY3QgeD0iNi4wOTcxNyIgeT0iMTAuMjc3MSIgd2lkdGg9IjEuNjciIGhlaWdodD0iNC4zNDUiIHRyYW5zZm9ybT0icm90YXRlKC00NSA2LjA5NzE3IDEwLjI3NzEpIiBmaWxsPSIjMDBDQzk2Ii8+CjxyZWN0IHg9IjEzLjc1MiIgeT0iNi45NzU4OSIgd2lkdGg9IjEuNjciIGhlaWdodD0iNy43NDM1OSIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgMTMuNzUyIDYuOTc1ODkpIiBmaWxsPSIjMDBDQzk2Ii8+Cjwvc3ZnPgo=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNCIgaGVpZ2h0PSI5IiB2aWV3Qm94PSIwIDAgNCA5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNCAwLjk4MDU2VjQuNUw0LjAwMDA0IDcuNzE0MjhMNCA5TDEuMTA2OTRlLTA3IDQuNUw0IDBWMC45ODA1NloiIGZpbGw9IiM1MDY3ODQiLz4KPC9zdmc+Cg==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzQiIGhlaWdodD0iOTYiIHZpZXdCb3g9IjAgMCA3NCA5NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQyIDRMMjguODg1NyAwQzcuNDM3MjkgMTYuNDUxMiAxLjg0MzE4ZS0wNSA2MS43OTYxIDAgOTZINzRDNzEuNzQxNiA2Mi4xMDg1IDU3LjUgMjQgNDIgNFoiIGZpbGw9IiNDOEQ0RTMiLz4KPG1hc2sgaWQ9Im1hc2swIiBtYXNrLXR5cGU9ImFscGhhIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSIwIiB5PSIwIiB3aWR0aD0iNzQiIGhlaWdodD0iOTYiPgo8cGF0aCBkPSJNNDIgNEwyOC44ODU3IDBDNy40MzcyOSAxNi40NTEyIDEuODQzMThlLTA1IDYxLjc5NjEgMCA5Nkg3NEM3MS43NDE2IDYyLjEwODUgNTcuNSAyNCA0MiA0WiIgZmlsbD0iI0M4RDRFMyIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazApIj4KPHBhdGggZD0iTTMyLjAwMDEgNjAuNUMzOC41MDAxIDczIDYzLjUwMDEgNzYuNDk5OSA3My40OTk5IDczQzczLjQ5OTkgNzMgNzUuNzk5MiA2MC43OTk0IDc1LjUgNjAuNTAwMkM2OS43MzM5IDU0LjczMzggNDMuMDAwMyA1Ny45OTk4IDMyLjAwMDEgNjAuNVoiIGZpbGw9IiNBMkIxQzYiLz4KPC9nPgo8L3N2Zz4K\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableDescription.vue?vue&type=style&index=0&id=a166000a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableDescription.vue?vue&type=style&index=0&id=a166000a&scoped=true&lang=css&\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=2e186d82&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=2e186d82&scoped=true&lang=css&\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTA2IiBoZWlnaHQ9IjU2IiB2aWV3Qm94PSIwIDAgMTA2IDU2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTA0LjI1MiAxLjQwODU1QzEwMC4yNjIgLTIuMDQ5NCA5My43NzczIDEuNDA4NTQgOTEuMjgzMiA1Ljg1NDI2TDEwMC4yNjIgMTQuMzkzOUMxMDQuNzUxIDEwLjc5NDEgMTA4LjI0MyA0Ljg2NjQ2IDEwNC4yNTIgMS40MDg1NVoiIGZpbGw9IiNGM0M2QkYiLz4KPHBhdGggZD0iTTkxLjAxMjMgNC4zNzIwN0M3Mi40NTY4IDI1LjE3MDQgMzAuNDI3OSAyMi45MjYzIDE5Ljk1MjcgNC4zNzIwN0wwIDQ0LjY2MTVDMzguNDA5IDY5Ljg1NDcgODYuNzk0NCA1MC4wOTU0IDEwMi4yNTggMTQuNTI4Nkw5MS4wMTIzIDQuMzcyMDdaIiBmaWxsPSIjQzhENEUzIi8+Cjwvc3ZnPgo=\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=44b0b048&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=44b0b048&scoped=true&lang=css&\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./treeChevron.vue?vue&type=style&index=0&id=bfc135e8&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./treeChevron.vue?vue&type=style&index=0&id=bfc135e8&scoped=true&lang=css&\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDUwIiBoZWlnaHQ9IjE3NSIgdmlld0JveD0iMCAwIDQ1MCAxNzUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtYXNrIGlkPSJtYXNrMCIgbWFzay10eXBlPSJhbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQ1MCIgaGVpZ2h0PSIxNzUiPgo8cmVjdCB3aWR0aD0iNDUwIiBoZWlnaHQ9IjE3NSIgZmlsbD0iI0M0QzRDNCIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazApIj4KPHBhdGggZD0iTTEyOC4yMDcgMS45OTI3MkM3MC4xOTcyIC05Ljg0ODk3IDE4Ljc0NSAzMC44ODk1IDQuMzE5ODUgOTIuNjY3OEMtMTAuMTA1NCAxNTQuNDQ2IDE0LjMzMzcgMTg2LjMzMiAzNy4zMjE4IDIyNi4xODlDNzIuMzc4NCAyODYuOTcxIDE4MS41NTEgMzQxLjIzNyAyNjUuMDgzIDMzNy43ODlDMzM3LjUxNyAzMzQuOCAzODkuMDI4IDMxNi41MTQgNDI1LjkzNiAyNDguMTExQzQ4OS4zNzggMTMwLjUzMiA0MTcuNDQ0IDUzLjkwNjUgMzI1LjUyNyA2OC4yNTUxQzIxNC41NzEgODUuNTc2IDIxMy42MjkgMTkuNDMwMiAxMjguMjA3IDEuOTkyNzJaIiBmaWxsPSIjREZFOEYzIi8+CjxwYXRoIGQ9Ik0xNTYuMjg0IDE2OS40MjZDMTU4LjE1OCAxNjcuNTUzIDE2MC42OTkgMTY2LjUgMTYzLjM0OSAxNjYuNUgzMzEuOTExQzMzNC41NjEgMTY2LjUgMzM3LjEwMiAxNjcuNTUzIDMzOC45NzYgMTY5LjQyNkwzNDYuMDQxIDE3Ni40OTFIMTQ5LjIyTDE1Ni4yODQgMTY5LjQyNloiIGZpbGw9IiNDOEQ0RTMiLz4KPHBhdGggZD0iTTE3NC4wOTkgMTcwLjI1OEMxNzQuMjgzIDE3MC4wOSAxNzQuNTI0IDE2OS45OTcgMTc0Ljc3MyAxNjkuOTk3SDMxOC40OUMzMTguNzM5IDE2OS45OTcgMzE4Ljk4IDE3MC4wOSAzMTkuMTY0IDE3MC4yNThWMTcwLjI1OEMzMTkuODM3IDE3MC44NzQgMzE5LjQwMiAxNzEuOTk1IDMxOC40OSAxNzEuOTk1SDE3NC43NzNDMTczLjg2MSAxNzEuOTk1IDE3My40MjYgMTcwLjg3NCAxNzQuMDk5IDE3MC4yNThWMTcwLjI1OFoiIGZpbGw9IiM1MDY3ODQiLz4KPHBhdGggZD0iTTk0LjIyNyA4Ny44ODFDOTQuMzk2MiA4MC4xOTg4IDkyLjUwNDggNjUuMDYwOCA4My41ODU3IDY1Ljk2NjRDODMuNTg1NyA2NS45NjY0IDcwLjU3NzYgNzYuMDg3NyA3NS42MzkxIDgzLjYxODhDODAuNzAwNSA5MS4xNDk4IDkzLjQ2NzcgOTQuNTA4MyA5NC4yMjcgODcuODgxWiIgZmlsbD0iI0YzQzZCRiIvPgo8cGF0aCBkPSJNODkuMjc1IDkxLjMxMDVMODggOThDODUuNTAyMyA5OS40OTg2IDc2LjU1MzEgOTkuMDE5NiA3NC41IDk1Qzc0LjUgOTUgNzYuODI5OCA4OS45MTM1IDc3Ljg0NDYgODQuOTIyNkw4OS4yNzUgOTEuMzEwNVoiIGZpbGw9IiNGM0M2QkYiLz4KPHBhdGggZD0iTTkyLjI3MTkgNjcuMTE2MUM5Mi4yNzE5IDcyLjc2ODkgODQuMjI0MiA2OC44ODcyIDgyLjM0MjMgNzIuOTEyNkM4MC40NjA1IDc2LjkzNzkgNzcuMzk1MiA4Ni45MjA4IDc3LjM5NTIgODYuOTIwOEM3Mi42MzIzIDg0Ljc0MTQgNjYuNzI3MyA2OS4zMyA3My4yOTM2IDY1LjEwMzRDNzkuMzUwNiA2MS4yMDQ3IDkyLjI3MTkgNjMuMDEwMiA5Mi4yNzE5IDY3LjExNjFaIiBmaWxsPSIjNTA2Nzg0Ii8+CjxwYXRoIGQ9Ik03OS43NjU0IDgzLjk2MjhDNzUuMTUyMiA4MC43MjY5IDc2LjM3MSA3NS4xMzQzIDc5Ljc1NjIgNzYuOTUzNEM4NS4xOTk0IDc5Ljg3ODUgODEuMjkzNCA4Mi45ODA4IDc5Ljc2NTQgODMuOTYyOFoiIGZpbGw9IiNGM0M2QkYiLz4KPC9nPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgcng9IjIuNSIgZmlsbD0iI0RGRThGMyIgc3Ryb2tlPSIjQzhENEUzIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2QpIj4KPHBhdGggZD0iTTE1Ljc1IDUuMjVMNi43NSAxNC4yNUwyLjYyNSAxMC4xMjVMMy42ODI1IDkuMDY3NUw2Ljc1IDEyLjEyNzVMMTQuNjkyNSA0LjE5MjVMMTUuNzUgNS4yNVoiIGZpbGw9IiNBMkIxQzYiLz4KPC9nPgo8ZGVmcz4KPGZpbHRlciBpZD0iZmlsdGVyMF9kIiB4PSIwLjYyNSIgeT0iMy4xOTI1IiB3aWR0aD0iMTcuMTI1IiBoZWlnaHQ9IjE0LjA1NzUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiLz4KPGZlT2Zmc2V0IGR5PSIxIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiLz4KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMC4xNjQ3MDYgMCAwIDAgMCAwLjI0NzA1OSAwIDAgMCAwIDAuMzcyNTQ5IDAgMCAwIDAuMiAwIi8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0iZWZmZWN0MV9kcm9wU2hhZG93Ii8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iZWZmZWN0MV9kcm9wU2hhZG93IiByZXN1bHQ9InNoYXBlIi8+CjwvZmlsdGVyPgo8L2RlZnM+Cjwvc3ZnPgo=\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=style&index=0&id=cdca6642&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=style&index=0&id=cdca6642&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropDownChevron.vue?vue&type=style&index=0&id=29bdb7bf&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropDownChevron.vue?vue&type=style&index=0&id=29bdb7bf&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./changeDb.vue?vue&type=style&index=0&id=cc62bccc&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./changeDb.vue?vue&type=style&index=0&id=cc62bccc&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addTable.vue?vue&type=style&index=0&id=de75f292&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addTable.vue?vue&type=style&index=0&id=de75f292&scoped=true&lang=css&\"","import mod from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=ad4bbbe4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=ad4bbbe4&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=1fac0635&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('splitpanes',{staticClass:\"schema-tabs-splitter\",attrs:{\"before\":{ size: 20, max: 30 },\"after\":{ size: 80, max: 100 }},scopedSlots:_vm._u([{key:\"left-pane\",fn:function(){return [_c('schema')]},proxy:true},{key:\"right-pane\",fn:function(){return [_c('tabs')]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"container\",class:[\n 'splitpanes',\n (\"splitpanes-\" + (_vm.horizontal ? 'horizontal' : 'vertical')),\n { 'splitpanes-dragging': _vm.dragging }\n ]},[_c('div',{ref:\"movableSplitter\",staticClass:\"movable-splitter\",style:(_vm.movableSplitterStyle)}),_c('div',{ref:\"left\",staticClass:\"splitpanes-pane\",style:(_vm.styles.before),attrs:{\"size\":_vm.paneBefore.size,\"max-size\":\"30\"}},[_vm._t(\"left-pane\")],2),_c('div',{staticClass:\"splitpanes-splitter\",on:{\"mousedown\":_vm.bindEvents,\"touchstart\":_vm.bindEvents}},[_c('div',{class:[\n 'toggle-btns',\n {'both': _vm.after.max === 100 && _vm.before.max === 100 && _vm.paneAfter.size > 0 && _vm.paneBefore.size > 0}\n ]},[(_vm.after.max === 100 && _vm.paneAfter.size > 0)?_c('div',{staticClass:\"toggle-btn\",on:{\"click\":function($event){return _vm.togglePane(_vm.paneBefore)}}},[_c('img',{staticClass:\"direction-icon\",style:(_vm.directionBeforeIconStyle),attrs:{\"src\":require('@/assets/images/chevron.svg')}})]):_vm._e(),(_vm.before.max === 100 && _vm.paneBefore.size > 0)?_c('div',{staticClass:\"toggle-btn\",on:{\"click\":function($event){return _vm.togglePane(_vm.paneAfter)}}},[_c('img',{staticClass:\"direction-icon\",style:(_vm.directionAfterIconStyle),attrs:{\"src\":require('@/assets/images/chevron.svg')}})]):_vm._e()])]),_c('div',{ref:\"right\",staticClass:\"splitpanes-pane\",style:(_vm.styles.after)},[_vm._t(\"right-pane\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n // Get the cursor position relative to the splitpane container.\n getCurrentMouseDrag (event, container) {\n const rect = container.getBoundingClientRect()\n const { clientX, clientY } = ('ontouchstart' in window && event.touches)\n ? event.touches[0]\n : event\n return {\n x: clientX - rect.left,\n y: clientY - rect.top\n }\n },\n\n // Returns the drag percentage of the splitter relative to the 2 panes it's inbetween.\n getCurrentDragPercentage (event, container, isHorisontal) {\n let drag = this.getCurrentMouseDrag(event, container)\n drag = drag[isHorisontal ? 'y' : 'x']\n const containerSize = container[isHorisontal ? 'clientHeight' : 'clientWidth']\n return drag * 100 / containerSize\n },\n\n // Returns the new position in percents.\n calculateOffset (event, { container, isHorisontal, paneBeforeMax, paneAfterMax }) {\n const dragPercentage = this.getCurrentDragPercentage(event, container, isHorisontal)\n\n const paneBeforeMaxReached = paneBeforeMax < 100 && (dragPercentage >= paneBeforeMax)\n const paneAfterMaxReached = paneAfterMax < 100 && (dragPercentage <= 100 - paneAfterMax)\n\n // Prevent dragging beyond pane max.\n if (paneBeforeMaxReached || paneAfterMaxReached) {\n return paneBeforeMaxReached ? paneBeforeMax : Math.max(100 - paneAfterMax, 0)\n } else {\n return Math.min(Math.max(dragPercentage, 0), paneBeforeMax)\n }\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=82b9f68a&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"schema-container\"}},[_c('div',{attrs:{\"id\":\"schema-filter\"}},[_c('text-field',{attrs:{\"placeholder\":\"Search table\",\"width\":\"100%\"},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}})],1),_c('div',{attrs:{\"id\":\"db\"}},[_c('div',{staticClass:\"db-name\",on:{\"click\":function($event){_vm.schemaVisible = !_vm.schemaVisible}}},[_c('tree-chevron',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.schema.length > 0),expression:\"schema.length > 0\"}],attrs:{\"expanded\":_vm.schemaVisible}}),_vm._v(\" \"+_vm._s(_vm.dbName)+\" \")],1),_c('db-uploader',{attrs:{\"id\":\"db-edit\",\"type\":\"small\"}}),_c('export-icon',{attrs:{\"tooltip\":\"Export database\"},on:{\"click\":_vm.exportToFile}}),_c('add-table-icon',{on:{\"click\":_vm.addCsv}})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.schemaVisible),expression:\"schemaVisible\"}],staticClass:\"schema\"},_vm._l((_vm.schema),function(table){return _c('table-description',{key:table.name,attrs:{\"name\":table.name,\"columns\":table.columns}})}),1),_c('csv-import',{ref:\"addCsv\",attrs:{\"file\":_vm.file,\"db\":_vm.$store.state.db,\"dialog-name\":\"addCsv\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n isDatabase (file) {\n const dbTypes = ['application/vnd.sqlite3', 'application/x-sqlite3']\n return file.type\n ? dbTypes.includes(file.type)\n : /\\.(db|sqlite(3)?)+$/.test(file.name)\n },\n\n getFileName (file) {\n return file.name.replace(/\\.[^.]+$/, '')\n },\n\n exportToFile (str, fileName, type = 'octet/stream') {\n // Create downloader\n const downloader = document.createElement('a')\n const blob = new Blob([str], { type })\n const url = URL.createObjectURL(blob)\n downloader.href = url\n downloader.download = fileName\n\n // Trigger click\n downloader.click()\n\n // Clean up\n URL.revokeObjectURL(url)\n },\n\n /**\n * Note: if user press Cancel in file choosing dialog\n * it will be an unsettled promise. But it's grabbed by\n * the garbage collector (tested with FinalizationRegistry).\n */\n getFileFromUser (type) {\n return new Promise(resolve => {\n const uploader = document.createElement('input')\n\n uploader.type = 'file'\n uploader.accept = type\n\n uploader.addEventListener('change', () => {\n const file = uploader.files[0]\n resolve(file)\n })\n\n uploader.click()\n })\n },\n\n importFile () {\n const reader = new FileReader()\n\n return this.getFileFromUser('.json')\n .then(file => {\n return new Promise((resolve, reject) => {\n reader.onload = e => {\n resolve(e.target.result)\n }\n reader.readAsText(file)\n })\n })\n },\n\n readFile (path) {\n return fetch(path)\n },\n\n readAsArrayBuffer (file) {\n const fileReader = new FileReader()\n\n return new Promise((resolve, reject) => {\n fileReader.onerror = () => {\n fileReader.abort()\n reject(new Error('Problem parsing input file.'))\n }\n\n fileReader.onload = () => {\n resolve(fileReader.result)\n }\n fileReader.readAsArrayBuffer(file)\n })\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"table-name\",on:{\"click\":function($event){_vm.colVisible = !_vm.colVisible}}},[_c('tree-chevron',{attrs:{\"expanded\":_vm.colVisible}}),_vm._v(\" \"+_vm._s(_vm.name)+\" \")],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.colVisible),expression:\"colVisible\"}],staticClass:\"columns\"},_vm._l((_vm.columns),function(col,index){return _c('div',{key:index,staticClass:\"column\"},[_vm._v(\" \"+_vm._s(col.name)+\" \"),_c('span',{staticClass:\"column-type\"},[_vm._v(_vm._s(col.type))])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"chevron-icon\",style:({ transform: _vm.expanded ? 'rotate(90deg)' : 'rotate(0)' }),attrs:{\"width\":\"9\",\"height\":\"9\",\"viewBox\":\"0 0 8 12\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M0.721924 9.93097L4.85292 5.79997L0.721924 1.66897L1.99992 0.399973L7.39992 5.79997L1.99992 11.2L0.721924 9.93097Z\",\"fill\":_vm.expanded ? '#506784' : 'rgba(80, 103, 132, 0.5)'}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./treeChevron.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./treeChevron.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./treeChevron.vue?vue&type=template&id=bfc135e8&scoped=true&\"\nimport script from \"./treeChevron.vue?vue&type=script&lang=js&\"\nexport * from \"./treeChevron.vue?vue&type=script&lang=js&\"\nimport style0 from \"./treeChevron.vue?vue&type=style&index=0&id=bfc135e8&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bfc135e8\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableDescription.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableDescription.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TableDescription.vue?vue&type=template&id=a166000a&scoped=true&\"\nimport script from \"./TableDescription.vue?vue&type=script&lang=js&\"\nexport * from \"./TableDescription.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TableDescription.vue?vue&type=style&index=0&id=a166000a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a166000a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.label)?_c('div',{class:['text-field-label', { error: _vm.errorMsg }, {'disabled': _vm.disabled}]},[_vm._v(\" \"+_vm._s(_vm.label)+\" \"),(_vm.hint)?_c('hint-icon',{staticClass:\"hint\",attrs:{\"hint\":_vm.hint,\"max-width\":_vm.maxHintWidth || '149px'}}):_vm._e()],1):_vm._e(),_c('input',{class:{ error: _vm.errorMsg },style:({ width: _vm.width }),attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder,\"disabled\":_vm.disabled},domProps:{\"value\":_vm.value},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errorMsg),expression:\"errorMsg\"}],staticClass:\"text-field-error\"},[_vm._v(_vm._s(_vm.errorMsg))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('svg',{staticClass:\"hint-icon\",attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('path',{attrs:{\"d\":\"M8.75 14.1666H10.4167V12.5H8.75V14.1666ZM9.58333 16.25C5.90833 16.25 2.91667 13.2583 2.91667 9.58333C2.91667 5.90833 5.90833 2.91667 9.58333 2.91667C13.2583 2.91667 16.25 5.90833 16.25 9.58333C16.25 13.2583 13.2583 16.25 9.58333 16.25ZM9.58333 1.25C8.48898 1.25 7.40535 1.46555 6.3943 1.88434C5.38326 2.30313 4.4646 2.91696 3.69078 3.69078C2.12797 5.25358 1.25 7.3732 1.25 9.58333C1.25 11.7935 2.12797 13.9131 3.69078 15.4759C4.4646 16.2497 5.38326 16.8635 6.3943 17.2823C7.40535 17.7011 8.48898 17.9167 9.58333 17.9167C11.7935 17.9167 13.9131 17.0387 15.4759 15.4759C17.0387 13.9131 17.9167 11.7935 17.9167 9.58333C17.9167 8.48898 17.7011 7.40535 17.2823 6.3943C16.8635 5.38326 16.2497 4.4646 15.4759 3.69078C14.7021 2.91696 13.7834 2.30313 12.7724 1.88434C11.7613 1.46555 10.6777 1.25 9.58333 1.25Z\",\"fill\":\"#A2B1C6\"}}),_c('path',{attrs:{\"d\":\"M9.91601 4.51787C8.98167 4.42606 8.05144 4.69097 7.36309 5.24472C6.68735 5.78828 6.2998 6.56661 6.2998 7.38012H7.92488C7.92488 6.97463 8.11059 6.60187 8.44779 6.33061C8.79784 6.049 9.25647 5.92005 9.73896 5.96755C10.4832 6.04076 11.0828 6.57277 11.1647 7.23265C11.2306 7.764 10.9661 8.28194 10.4744 8.58426C9.38676 9.25303 8.73742 10.343 8.73742 11.5H10.3625C10.3625 10.8243 10.7477 10.184 11.3929 9.78733C12.3808 9.17985 12.9122 8.13913 12.7798 7.07124C12.6144 5.73863 11.41 4.66476 9.91601 4.51787Z\",\"fill\":\"#A2B1C6\"}})]),_c('span',{staticClass:\"icon-tooltip\",style:(Object.assign({}, _vm.tooltipStyle, {maxWidth: _vm.maxWidth}))},[_vm._v(\" \"+_vm._s(_vm.hint)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n data () {\n return {\n tooltipStyle: {\n visibility: 'hidden'\n }\n }\n },\n methods: {\n showTooltip (e) {\n this.tooltipStyle.top = e.clientY - 12 + 'px'\n this.tooltipStyle.left = e.clientX + 12 + 'px'\n this.tooltipStyle.visibility = 'visible'\n },\n hideTooltip () {\n this.tooltipStyle.visibility = 'hidden'\n }\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./hint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./hint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./hint.vue?vue&type=template&id=7fa48ff7&scoped=true&\"\nimport script from \"./hint.vue?vue&type=script&lang=js&\"\nexport * from \"./hint.vue?vue&type=script&lang=js&\"\nimport style0 from \"./hint.vue?vue&type=style&index=0&id=7fa48ff7&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7fa48ff7\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextField.vue?vue&type=template&id=59fd41a8&scoped=true&\"\nimport script from \"./TextField.vue?vue&type=script&lang=js&\"\nexport * from \"./TextField.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextField.vue?vue&type=style&index=0&id=59fd41a8&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"59fd41a8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"db-uploader-container\",style:({ width: _vm.width })},[(_vm.type === 'small')?_c('change-db-icon',{nativeOn:{\"click\":function($event){return _vm.browse($event)}}}):_vm._e(),(_vm.type === 'illustrated')?_c('div',{staticClass:\"drop-area-container\"},[_c('div',{staticClass:\"drop-area\",on:{\"dragover\":function($event){$event.preventDefault();_vm.state = 'dragover'},\"dragleave\":function($event){$event.preventDefault();_vm.state=''},\"drop\":function($event){$event.preventDefault();return _vm.drop($event)},\"click\":_vm.browse}},[_c('div',{staticClass:\"text\"},[_vm._v(\" Drop the database or CSV file here or click to choose a file from your computer. \")])])]):_vm._e(),(_vm.type === 'illustrated')?_c('div',{attrs:{\"id\":\"img-container\"}},[_c('img',{attrs:{\"id\":\"drop-file-top-img\",\"src\":require('@/assets/images/top.svg')}}),_c('img',{class:{'swing': _vm.state === 'dragover'},attrs:{\"id\":\"left-arm-img\",\"src\":require('@/assets/images/leftArm.svg')}}),_c('img',{ref:\"fileImg\",class:{\n 'swing': _vm.state === 'dragover',\n 'fly': _vm.state === 'dropping',\n 'hidden': _vm.state === 'dropped'\n },attrs:{\"id\":\"file-img\",\"src\":require('@/assets/images/file.png')}}),_c('img',{attrs:{\"id\":\"drop-file-bottom-img\",\"src\":require('@/assets/images/bottom.svg')}}),_c('img',{attrs:{\"id\":\"body-img\",\"src\":require('@/assets/images/body.svg')}}),_c('img',{class:{'swing': _vm.state === 'dragover'},attrs:{\"id\":\"right-arm-img\",\"src\":require('@/assets/images/rightArm.svg')}})]):_vm._e(),_c('div',{staticClass:\"error\",attrs:{\"id\":\"error\"}}),_c('csv-import',{ref:\"addCsv\",attrs:{\"file\":_vm.file,\"db\":_vm.newDb,\"dialog-name\":\"importFromCsv\"},on:{\"cancel\":_vm.cancelCsvImport,\"finish\":_vm.finish}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('svg',{staticClass:\"db-edit-icon\",attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('path',{attrs:{\"d\":\"M3 10.5V12.75C3 14.25 5.2875 15.54 8.25 15.75V13.5825L8.3475 13.5C5.34 13.32 3 12.045 3 10.5ZM9 9.75C5.685 9.75 3 8.4075 3 6.75V9C3 10.6575 5.685 12 9 12C9.2925 12 9.5775 12 9.87 12L12.75 9.09C11.55 9.54 10.2825 9.75 9 9.75ZM9 2.25C5.685 2.25 3 3.5925 3 5.25C3 6.9075 5.685 8.25 9 8.25C12.315 8.25 15 6.9075 15 5.25C15 3.5925 12.315 2.25 9 2.25ZM15.75 8.3475C15.6375 8.3475 15.5325 8.3925 15.4575 8.475L14.7075 9.225L16.245 10.725L16.995 9.975C17.1525 9.825 17.16 9.57 16.995 9.3975L16.065 8.475C15.99 8.3925 15.885 8.3475 15.78 8.3475H15.75ZM14.28 9.66L9.75 14.205V15.75H11.295L15.84 11.1975L14.28 9.66Z\",\"fill\":\"#A2B1C6\"}})]),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" Load another database or CSV \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./changeDb.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./changeDb.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./changeDb.vue?vue&type=template&id=cc62bccc&scoped=true&\"\nimport script from \"./changeDb.vue?vue&type=script&lang=js&\"\nexport * from \"./changeDb.vue?vue&type=script&lang=js&\"\nimport style0 from \"./changeDb.vue?vue&type=style&index=0&id=cc62bccc&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cc62bccc\",\n null\n \n)\n\nexport default component.exports","import sqliteParser from 'sqlite-parser'\n\nexport default {\n * generateChunks (arr, size) {\n const count = Math.ceil(arr.length / size)\n\n for (let i = 0; i <= count - 1; i++) {\n const start = size * i\n const end = start + size\n yield arr.slice(start, end)\n }\n },\n\n getInsertStmt (tabName, columns) {\n const colList = `\"${columns.join('\", \"')}\"`\n const params = columns.map(() => '?').join(', ')\n return `INSERT INTO \"${tabName}\" (${colList}) VALUES (${params});`\n },\n\n getCreateStatement (tabName, columns, values) {\n let result = `CREATE table \"${tabName}\"(`\n columns.forEach((col, index) => {\n // Get the first row of values to determine types\n const value = values[0][index]\n let type = ''\n switch (typeof value) {\n case 'number': {\n type = 'REAL'\n break\n }\n case 'boolean': {\n type = 'INTEGER'\n break\n }\n case 'string': {\n type = 'TEXT'\n break\n }\n default: type = 'TEXT'\n }\n result += `\"${col}\" ${type}, `\n })\n result = result.replace(/,\\s$/, ');')\n return result\n },\n\n getAst (sql) {\n // There is a bug is sqlite-parser\n // It throws an error if tokenizer has an arguments:\n // https://github.com/codeschool/sqlite-parser/issues/59\n const fixedSql = sql\n .replace(/(tokenize=[^,]+)\"tokenchars=.+?\"/, '$1')\n .replace(/(tokenize=[^,]+)\"remove_diacritics=.+?\"/, '$1')\n .replace(/(tokenize=[^,]+)\"separators=.+?\"/, '$1')\n .replace(/tokenize=.+?(,|\\))/, 'tokenize=unicode61$1')\n\n return sqliteParser(fixedSql)\n },\n\n /*\n * Return an array of columns with name and type. E.g.:\n * [\n * { name: 'id', type: 'INTEGER' },\n * { name: 'title', type: 'NVARCHAR(30)' },\n * ]\n */\n getColumns (sql) {\n const columns = []\n const ast = this.getAst(sql)\n\n const columnDefinition = ast.statement[0].format === 'table'\n ? ast.statement[0].definition\n : ast.statement[0].result.args.expression // virtual table\n\n columnDefinition.forEach(item => {\n if (item.variant === 'column' && ['identifier', 'definition'].includes(item.type)) {\n let type = item.datatype ? item.datatype.variant : 'N/A'\n if (item.datatype && item.datatype.args) {\n type = type + '(' + item.datatype.args.expression[0].value\n if (item.datatype.args.expression.length === 2) {\n type = type + ', ' + item.datatype.args.expression[1].value\n }\n type = type + ')'\n }\n columns.push({ name: item.name, type: type })\n }\n })\n return columns\n }\n}\n","export default function Worker_fn() {\n return new Worker(__webpack_public_path__ + \"js/_worker.8030f477.worker.js\");\n}\n","import stms from './_statements'\nimport fu from '@/lib/utils/fileIo'\n// We can import workers like so because of worker-loader:\n// https://webpack.js.org/loaders/worker-loader/\nimport Worker from './_worker.js'\n\n// Use promise-worker in order to turn worker into the promise based one:\n// https://github.com/nolanlawson/promise-worker\nimport PromiseWorker from 'promise-worker'\n\nfunction getNewDatabase () {\n const worker = new Worker()\n return new Database(worker)\n}\n\nexport default {\n getNewDatabase\n}\n\nlet progressCounterIds = 0\nclass Database {\n constructor (worker) {\n this.dbName = null\n this.schema = null\n this.worker = worker\n this.pw = new PromiseWorker(worker)\n\n this.importProgresses = {}\n worker.addEventListener('message', e => {\n const progress = e.data.progress\n if (progress !== undefined) {\n const id = e.data.id\n this.importProgresses[id].dispatchEvent(new CustomEvent('progress', {\n detail: progress\n }))\n }\n })\n }\n\n shutDown () {\n this.worker.terminate()\n }\n\n createProgressCounter (callback) {\n const id = progressCounterIds++\n this.importProgresses[id] = new EventTarget()\n this.importProgresses[id].addEventListener('progress', e => { callback(e.detail) })\n return id\n }\n\n deleteProgressCounter (id) {\n delete this.importProgresses[id]\n }\n\n async addTableFromCsv (tabName, data, progressCounterId) {\n const result = await this.pw.postMessage({\n action: 'import',\n columns: data.columns,\n values: data.values,\n progressCounterId,\n tabName\n })\n\n if (result.error) {\n throw new Error(result.error)\n }\n this.dbName = this.dbName || 'database'\n this.refreshSchema()\n }\n\n async loadDb (file) {\n const fileContent = file ? await fu.readAsArrayBuffer(file) : null\n const res = await this.pw.postMessage({ action: 'open', buffer: fileContent })\n\n if (res.error) {\n throw new Error(res.error)\n }\n\n this.dbName = file ? fu.getFileName(file) : 'database'\n this.refreshSchema()\n }\n\n async refreshSchema () {\n const getSchemaSql = `\n SELECT name, sql\n FROM sqlite_master\n WHERE type='table' AND name NOT LIKE 'sqlite_%';\n `\n const result = await this.execute(getSchemaSql)\n // Parse DDL statements to get column names and types\n const parsedSchema = []\n if (result && result.values) {\n result.values.forEach(item => {\n parsedSchema.push({\n name: item[0],\n columns: stms.getColumns(item[1])\n })\n })\n }\n\n // Refresh schema\n this.schema = parsedSchema\n }\n\n async execute (commands) {\n await this.pw.postMessage({ action: 'reopen' })\n const results = await this.pw.postMessage({ action: 'exec', sql: commands })\n\n if (results.error) {\n throw new Error(results.error)\n }\n // if it was more than one select - take only the last one\n return results[results.length - 1]\n }\n\n async export (fileName) {\n const data = await this.pw.postMessage({ action: 'export' })\n\n if (data.error) {\n throw new Error(data.error)\n }\n fu.exportToFile(data, fileName)\n }\n\n async validateTableName (name) {\n if (name.startsWith('sqlite_')) {\n throw new Error(\"Table name can't start with sqlite_\")\n }\n\n if (/[^\\w]/.test(name)) {\n throw new Error('Table name can contain only letters, digits and underscores')\n }\n\n if (/^(\\d)/.test(name)) {\n throw new Error(\"Table name can't start with a digit\")\n }\n\n await this.execute(`BEGIN; CREATE TABLE \"${name}\"(id); ROLLBACK;`)\n }\n\n sanitizeTableName (tabName) {\n return tabName\n .replace(/[^\\w]/g, '_') // replace everything that is not letter, digit or _ with _\n .replace(/^(\\d)/, '_$1') // add _ at beginning if starts with digit\n .replace(/_{2,}/g, '_') // replace multiple _ with one _\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"name\":_vm.dialogName,\"classes\":\"dialog\",\"height\":\"auto\",\"width\":\"80%\",\"scrollable\":\"\",\"clickToClose\":false}},[_c('div',{staticClass:\"dialog-header\"},[_vm._v(\" CSV import \"),_c('close-icon',{attrs:{\"disabled\":_vm.disableDialog},on:{\"click\":_vm.cancelCsvImport}})],1),_c('div',{staticClass:\"dialog-body\"},[_c('text-field',{attrs:{\"label\":\"Table name\",\"width\":\"484px\",\"disabled\":_vm.disableDialog,\"error-msg\":_vm.tableNameError,\"id\":\"csv-table-name\"},model:{value:(_vm.tableName),callback:function ($$v) {_vm.tableName=$$v},expression:\"tableName\"}}),_c('div',{staticClass:\"chars\"},[_c('delimiter-selector',{staticClass:\"char-input\",attrs:{\"width\":\"210px\",\"disabled\":_vm.disableDialog},on:{\"input\":_vm.previewCsv},model:{value:(_vm.delimiter),callback:function ($$v) {_vm.delimiter=$$v},expression:\"delimiter\"}}),_c('text-field',{staticClass:\"char-input\",attrs:{\"label\":\"Quote char\",\"hint\":\"The character used to quote fields.\",\"width\":\"93px\",\"disabled\":_vm.disableDialog,\"id\":\"quote-char\"},model:{value:(_vm.quoteChar),callback:function ($$v) {_vm.quoteChar=$$v},expression:\"quoteChar\"}}),_c('text-field',{staticClass:\"char-input\",attrs:{\"label\":\"Escape char\",\"hint\":\"The character used to escape the quote character within a field (e.g. \\\"column with \\\"\\\"quotes\\\"\\\" in text\\\").\",\"max-hint-width\":\"242px\",\"width\":\"93px\",\"disabled\":_vm.disableDialog,\"id\":\"escape-char\"},model:{value:(_vm.escapeChar),callback:function ($$v) {_vm.escapeChar=$$v},expression:\"escapeChar\"}})],1),_c('check-box',{attrs:{\"init\":true,\"label\":\"Use first row as column headers\",\"disabled\":_vm.disableDialog},on:{\"click\":function($event){_vm.header = $event}}}),(_vm.previewData && (_vm.previewData.values.length > 0 || _vm.previewData.columns.length > 0))?_c('sql-table',{staticClass:\"preview-table\",attrs:{\"data-set\":_vm.previewData,\"height\":\"160\",\"preview\":true}}):_c('div',{staticClass:\"no-data\"},[_vm._v(\"No data\")]),_c('logs',{staticClass:\"import-csv-errors\",attrs:{\"messages\":_vm.importCsvMessages}})],1),_c('div',{staticClass:\"dialog-buttons-container\"},[_c('button',{staticClass:\"secondary\",attrs:{\"disabled\":_vm.disableDialog,\"id\":\"csv-cancel\"},on:{\"click\":_vm.cancelCsvImport}},[_vm._v(\" Cancel \")]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.importCsvCompleted),expression:\"!importCsvCompleted\"}],staticClass:\"primary\",attrs:{\"disabled\":_vm.disableDialog,\"id\":\"csv-import\"},on:{\"click\":function($event){return _vm.loadFromCsv(_vm.file)}}},[_vm._v(\" Import \")]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.importCsvCompleted),expression:\"importCsvCompleted\"}],staticClass:\"primary\",attrs:{\"disabled\":_vm.disableDialog,\"id\":\"csv-finish\"},on:{\"click\":_vm.finish}},[_vm._v(\" Finish \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Papa from 'papaparse'\n\nconst hintsByCode = {\n MissingQuotes: 'Edit your CSV so that the field has a closing quote char.',\n TooFewFields: 'Add fields or try another delimiter.',\n TooManyFields: 'Edit your CSV or try another delimiter.'\n}\n\nexport default {\n getResult (source) {\n const result = {}\n if (source.meta.fields) {\n result.columns = source.meta.fields.map(col => col.trim())\n result.values = source.data.map(row => {\n const resultRow = []\n source.meta.fields.forEach(col => {\n let value = row[col]\n if (value instanceof Date) {\n value = value.toISOString()\n }\n resultRow.push(value)\n })\n\n return resultRow\n })\n } else {\n result.values = source.data\n result.columns = []\n for (let i = 1; i <= source.data[0].length; i++) {\n result.columns.push(`col${i}`)\n }\n }\n\n return result\n },\n\n parse (file, config = {}) {\n return new Promise((resolve, reject) => {\n const defaultConfig = {\n delimiter: '', // auto-detect\n newline: '', // auto-detect\n quoteChar: '\"',\n escapeChar: '\"',\n header: false,\n transformHeader: undefined,\n dynamicTyping: true,\n preview: 0,\n encoding: 'UTF-8',\n worker: true,\n comments: false,\n step: undefined,\n complete: results => {\n const res = {\n data: this.getResult(results),\n delimiter: results.meta.delimiter,\n hasErrors: false\n }\n res.messages = results.errors.map(msg => {\n msg.type = msg.code === 'UndetectableDelimiter' ? 'info' : 'error'\n if (msg.type === 'error') res.hasErrors = true\n msg.hint = hintsByCode[msg.code]\n return msg\n })\n resolve(res)\n },\n error: (error, file) => {\n reject(error)\n },\n download: false,\n downloadRequestHeaders: undefined,\n downloadRequestBody: undefined,\n skipEmptyLines: 'greedy',\n chunk: undefined,\n chunkSize: undefined,\n fastMode: undefined,\n beforeFirstChunk: undefined,\n withCredentials: undefined,\n transform: undefined,\n delimitersToGuess: [',', '\\t', '|', ';', Papa.RECORD_SEP, Papa.UNIT_SEP]\n }\n\n Papa.parse(file, { ...defaultConfig, ...config })\n })\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:['icon', {'disabled': _vm.disabled }],attrs:{\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 14 14\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')}}},[_c('path',{attrs:{\"d\":\"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z\",\"fill\":\"#A2B1C6\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./close.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./close.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./close.vue?vue&type=template&id=86f3a16c&scoped=true&\"\nimport script from \"./close.vue?vue&type=script&lang=js&\"\nexport * from \"./close.vue?vue&type=script&lang=js&\"\nimport style0 from \"./close.vue?vue&type=style&index=0&id=86f3a16c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"86f3a16c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'disabled': _vm.disabled }},[_c('div',{staticClass:\"text-field-label\"},[_vm._v(\"Delimiter\")]),_c('div',{staticClass:\"delimiter-selector-container\",style:({ width: _vm.width }),on:{\"click\":_vm.onContainerClick}},[_c('div',{staticClass:\"value\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],ref:\"delimiterInput\",class:{ 'filled': _vm.filled },attrs:{\"type\":\"text\",\"maxlength\":\"1\",\"disabled\":_vm.disabled},domProps:{\"value\":(_vm.inputValue)},on:{\"click\":function($event){$event.stopPropagation();},\"input\":function($event){if($event.target.composing){ return; }_vm.inputValue=$event.target.value}}}),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.getSymbolName(_vm.value)))])]),_c('div',{staticClass:\"controls\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('clear-icon',{attrs:{\"disabled\":_vm.disabled},nativeOn:{\"click\":function($event){return _vm.clear($event)}}}),_c('drop-down-chevron',{attrs:{\"disabled\":_vm.disabled},nativeOn:{\"click\":function($event){!_vm.disabled && (_vm.showOptions = !_vm.showOptions)}}})],1)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showOptions),expression:\"showOptions\"}],staticClass:\"options\",style:({ width: _vm.width })},_vm._l((_vm.options),function(option,index){return _c('div',{key:index,staticClass:\"option\",on:{\"click\":function($event){return _vm.chooseOption(option)}}},[_c('pre',[_vm._v(_vm._s(option))]),_c('div',[_vm._v(_vm._s(_vm.getSymbolName(option)))])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n 0: { name: 'null character' },\n 1: { name: 'start of header' },\n 2: { name: 'start of text' },\n 3: { name: 'end of text' },\n 4: { name: 'end of transmission' },\n 5: { name: 'enquiry' },\n 6: { name: 'acknowledge' },\n 7: { name: 'bell (ring)' },\n 8: { name: 'backspace' },\n 9: { name: 'horizontal tab' },\n 10: { name: 'line feed' },\n 11: { name: 'vertical tab' },\n 12: { name: 'form feed' },\n 13: { name: 'carriage return' },\n 14: { name: 'shift out' },\n 15: { name: 'shift in' },\n 16: { name: 'data link escape' },\n 17: { name: 'device control 1' },\n 18: { name: 'device control 2' },\n 19: { name: 'device control 3' },\n 20: { name: 'device control 4' },\n 21: { name: 'negative acknowledge' },\n 22: { name: 'synchronize' },\n 23: { name: 'end transmission block' },\n 24: { name: 'cancel' },\n 25: { name: 'end of medium' },\n 26: { name: 'substitute' },\n 27: { name: 'escape' },\n 28: { name: 'file separator' },\n 29: { name: 'group separator' },\n 30: { name: 'record separator' },\n 31: { name: 'unit separator' },\n 32: { name: 'space' },\n 33: { name: 'exclamation mark' },\n 34: { name: 'quotation mark' },\n 35: { name: 'number sign' },\n 36: { name: 'dollar sign' },\n 37: { name: 'percent sign' },\n 38: { name: 'ampersand' },\n 39: { name: 'apostrophe' },\n 40: { name: 'left parenthesis' },\n 41: { name: 'right parenthesis' },\n 42: { name: 'asterisk' },\n 43: { name: 'plus sign' },\n 44: { name: 'comma' },\n 45: { name: 'hyphen' },\n 46: { name: 'period' },\n 47: { name: 'slash' },\n 48: { name: 'digit 0' },\n 49: { name: 'digit 1' },\n 50: { name: 'digit 2' },\n 51: { name: 'digit 3' },\n 52: { name: 'digit 4' },\n 53: { name: 'digit 5' },\n 54: { name: 'digit 6' },\n 55: { name: 'digit 7' },\n 56: { name: 'digit 8' },\n 57: { name: 'digit 9' },\n 58: { name: 'colon' },\n 59: { name: 'semicolon' },\n 60: { name: 'less-than' },\n 61: { name: 'equals-to' },\n 62: { name: 'greater-than' },\n 63: { name: 'question mark' },\n 64: { name: 'at sign' },\n 65: { name: 'uppercase A' },\n 66: { name: 'uppercase B' },\n 67: { name: 'uppercase C' },\n 68: { name: 'uppercase D' },\n 69: { name: 'uppercase E' },\n 70: { name: 'uppercase F' },\n 71: { name: 'uppercase G' },\n 72: { name: 'uppercase H' },\n 73: { name: 'uppercase I' },\n 74: { name: 'uppercase J' },\n 75: { name: 'uppercase K' },\n 76: { name: 'uppercase L' },\n 77: { name: 'uppercase M' },\n 78: { name: 'uppercase N' },\n 79: { name: 'uppercase O' },\n 80: { name: 'uppercase P' },\n 81: { name: 'uppercase Q' },\n 82: { name: 'uppercase R' },\n 83: { name: 'uppercase S' },\n 84: { name: 'uppercase T' },\n 85: { name: 'uppercase U' },\n 86: { name: 'uppercase V' },\n 87: { name: 'uppercase W' },\n 88: { name: 'uppercase X' },\n 89: { name: 'uppercase Y' },\n 90: { name: 'uppercase Z' },\n 91: { name: 'left square bracket' },\n 92: { name: 'backslash' },\n 93: { name: 'right square bracket' },\n 94: { name: 'caret' },\n 95: { name: 'underscore' },\n 96: { name: 'grave accent' },\n 97: { name: 'lowercase a' },\n 98: { name: 'lowercase b' },\n 99: { name: 'lowercase c' },\n 100: { name: 'lowercase d' },\n 101: { name: 'lowercase e' },\n 102: { name: 'lowercase f' },\n 103: { name: 'lowercase g' },\n 104: { name: 'lowercase h' },\n 105: { name: 'lowercase i' },\n 106: { name: 'lowercase j' },\n 107: { name: 'lowercase k' },\n 108: { name: 'lowercase l' },\n 109: { name: 'lowercase m' },\n 110: { name: 'lowercase n' },\n 111: { name: 'lowercase o' },\n 112: { name: 'lowercase p' },\n 113: { name: 'lowercase q' },\n 114: { name: 'lowercase r' },\n 115: { name: 'lowercase s' },\n 116: { name: 'lowercase t' },\n 117: { name: 'lowercase u' },\n 118: { name: 'lowercase v' },\n 119: { name: 'lowercase w' },\n 120: { name: 'lowercase x' },\n 121: { name: 'lowercase y' },\n 122: { name: 'lowercase z' },\n 123: { name: 'left curly brace' },\n 124: { name: 'vertical bar' },\n 125: { name: 'right curly brace' },\n 126: { name: 'tilde' },\n 127: { name: 'delete (rubout)' }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:['chevron-icon', {'disabled': _vm.disabled}],attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M6.175 7.15002L10 10.975L13.825 7.15002L15 8.33336L10 13.3334L5 8.33336L6.175 7.15002Z\",\"fill\":\"#C8D4E3\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropDownChevron.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropDownChevron.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./dropDownChevron.vue?vue&type=template&id=29bdb7bf&scoped=true&\"\nimport script from \"./dropDownChevron.vue?vue&type=script&lang=js&\"\nexport * from \"./dropDownChevron.vue?vue&type=script&lang=js&\"\nimport style0 from \"./dropDownChevron.vue?vue&type=style&index=0&id=29bdb7bf&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"29bdb7bf\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:['clear-icon', {'disabled': _vm.disabled}],attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M14.3481 14.849C13.8791 15.318 13.1191 15.318 12.6511 14.849L10.0001 11.819L7.34907 14.848C6.88007 15.317 6.12007 15.317 5.65207 14.848C5.18307 14.379 5.18307 13.619 5.65207 13.151L8.41007 10.001L5.65107 6.84898C5.18207 6.37998 5.18207 5.62098 5.65107 5.15198C6.12007 4.68298 6.87907 4.68298 7.34807 5.15198L10.0001 8.18298L12.6511 5.15198C13.1201 4.68298 13.8791 4.68298 14.3481 5.15198C14.8171 5.62098 14.8171 6.38098 14.3481 6.84898L11.5901 10.001L14.3481 13.151C14.8171 13.62 14.8171 14.38 14.3481 14.849V14.849Z\",\"fill\":\"#C8D4E3\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clear.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clear.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./clear.vue?vue&type=template&id=69060e4e&scoped=true&\"\nimport script from \"./clear.vue?vue&type=script&lang=js&\"\nexport * from \"./clear.vue?vue&type=script&lang=js&\"\nimport style0 from \"./clear.vue?vue&type=style&index=0&id=69060e4e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69060e4e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=44b0b048&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=44b0b048&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44b0b048\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:['checkbox-container', { 'checked': _vm.checked }, {'disabled': _vm.disabled}],on:{\"click\":function($event){$event.stopPropagation();return _vm.onClick($event)}}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.checked),expression:\"!checked\"}],staticClass:\"unchecked\"}),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.checked && !_vm.disabled),expression:\"checked && !disabled\"}],attrs:{\"src\":_vm.theme === 'light'\n ? require('@/assets/images/checkbox_checked_light.svg')\n : require('@/assets/images/checkbox_checked.svg')}}),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.checked && _vm.disabled),expression:\"checked && disabled\"}],attrs:{\"src\":require('@/assets/images/checkbox_checked_disabled.svg')}}),(_vm.label)?_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.label))]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckBox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckBox.vue?vue&type=template&id=0dd86013&scoped=true&\"\nimport script from \"./CheckBox.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CheckBox.vue?vue&type=style&index=0&id=0dd86013&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0dd86013\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"rounded-bg\"},[_c('div',{ref:\"header-container\",staticClass:\"header-container\"},[_c('div',_vm._l((_vm.header),function(th,index){return _c('div',{key:index,staticClass:\"fixed-header\",style:({ width: ((th.width) + \"px\") })},[_vm._v(\" \"+_vm._s(th.name)+\" \")])}),0)]),_c('div',{ref:\"table-container\",staticClass:\"table-container\",style:({maxHeight: (_vm.height + \"px\")}),on:{\"scroll\":_vm.onScrollTable}},[_c('table',{ref:\"table\"},[_c('thead',[_c('tr',_vm._l((_vm.dataSet.columns),function(th,index){return _c('th',{key:index,ref:\"th\",refInFor:true},[_c('div',{staticClass:\"cell-data\",style:(_vm.cellStyle)},[_vm._v(_vm._s(th))])])}),0)]),_c('tbody',_vm._l((_vm.currentPageData),function(row,index){return _c('tr',{key:index},_vm._l((row),function(value,valIndex){return _c('td',{key:valIndex},[_c('div',{staticClass:\"cell-data\",style:(_vm.cellStyle)},[_vm._v(_vm._s(value))])])}),0)}),0)])])]),_c('div',{staticClass:\"table-footer\"},[_c('div',{staticClass:\"table-footer-count\"},[_vm._v(\" \"+_vm._s(_vm.dataSet.values.length)+\" \"+_vm._s(_vm.dataSet.values.length === 1 ? 'row' : 'rows')+\" retrieved \"),(_vm.preview)?_c('span',[_vm._v(\"for preview\")]):_vm._e(),(_vm.time)?_c('span',[_vm._v(\"in \"+_vm._s(_vm.time))]):_vm._e()]),_c('pager',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.pageCount > 1),expression:\"pageCount > 1\"}],attrs:{\"page-count\":_vm.pageCount},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('paginate',{attrs:{\"page-count\":_vm.pageCount,\"page-range\":5,\"margin-pages\":1,\"prev-text\":_vm.chevron,\"next-text\":_vm.chevron,\"no-li-surround\":true,\"container-class\":\"paginator-continer\",\"page-link-class\":\"paginator-page-link\",\"active-class\":\"paginator-active-page\",\"break-view-link-class\":\"paginator-break\",\"next-link-class\":\"paginator-next\",\"prev-link-class\":\"paginator-prev\",\"disabled-class\":\"paginator-disabled\"},model:{value:(_vm.page),callback:function ($$v) {_vm.page=$$v},expression:\"page\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pager.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pager.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Pager.vue?vue&type=template&id=c74ce19a&scoped=true&\"\nimport script from \"./Pager.vue?vue&type=script&lang=js&\"\nexport * from \"./Pager.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Pager.vue?vue&type=style&index=0&id=c74ce19a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c74ce19a\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=778e321f&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"778e321f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"logsContainer\",staticClass:\"logs-container\"},_vm._l((_vm.messages),function(msg,index){return _c('div',{key:index,staticClass:\"msg\"},[(msg.type === 'error')?_c('img',{attrs:{\"src\":require('@/assets/images/error.svg')}}):_vm._e(),(msg.type === 'info')?_c('img',{attrs:{\"src\":require('@/assets/images/info.svg'),\"width\":\"20px\"}}):_vm._e(),(msg.type === 'success')?_c('img',{attrs:{\"src\":require('@/assets/images/success.svg')}}):_vm._e(),(msg.type === 'loading')?_c('loading-indicator',{attrs:{\"progress\":msg.progress}}):_vm._e(),_c('span',{staticClass:\"msg-text\"},[_vm._v(_vm._s(_vm.serializeMessage(msg)))])],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:_vm.animationClass,attrs:{\"height\":_vm.size,\"width\":_vm.size,\"viewBox\":(\"0 0 \" + _vm.size + \" \" + _vm.size)}},[_c('circle',{staticClass:\"loader-svg bg\",style:({ strokeWidth: _vm.strokeWidth }),attrs:{\"cx\":_vm.size / 2,\"cy\":_vm.size / 2,\"r\":_vm.radius}}),_c('circle',{staticClass:\"loader-svg front\",style:({ strokeDasharray: _vm.circleProgress, strokeDashoffset: _vm.offset, strokeWidth: _vm.strokeWidth }),attrs:{\"cx\":_vm.size / 2,\"cy\":_vm.size / 2,\"r\":_vm.radius}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingIndicator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingIndicator.vue?vue&type=template&id=62096452&scoped=true&\"\nimport script from \"./LoadingIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingIndicator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoadingIndicator.vue?vue&type=style&index=0&id=62096452&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62096452\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Logs.vue?vue&type=template&id=1c9f27dc&scoped=true&\"\nimport script from \"./Logs.vue?vue&type=script&lang=js&\"\nexport * from \"./Logs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Logs.vue?vue&type=style&index=0&id=1c9f27dc&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1c9f27dc\",\n null\n \n)\n\nexport default component.exports","export default {\n getPeriod (start, end) {\n const diff = end.getTime() - start.getTime()\n const seconds = diff / 1000\n return seconds.toFixed(3) + 's'\n },\n\n debounce (func, ms) {\n let timeout\n return function () {\n clearTimeout(timeout)\n timeout = setTimeout(() => func.apply(this, arguments), ms)\n }\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=42183db6&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=42183db6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42183db6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DbUploader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DbUploader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DbUploader.vue?vue&type=template&id=525b8c89&scoped=true&\"\nimport script from \"./DbUploader.vue?vue&type=script&lang=js&\"\nexport * from \"./DbUploader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DbUploader.vue?vue&type=style&index=0&id=525b8c89&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"525b8c89\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('svg',{staticClass:\"icon\",attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('path',{attrs:{\"d\":\"M10.5 1.5H4.5C3.675 1.5 3 2.175 3 3V15C3 15.825 3.675 16.5 4.5 16.5H13.5C14.325 16.5 15 15.825 15 15V6L10.5 1.5ZM13.5 15H4.5V3H9.75V6.75H13.5V15ZM12 8.25V13.575L10.425 12L8.325 14.1L6.225 12L8.325 9.9L6.675 8.25H12Z\",\"fill\":\"#A2B1C6\"}})]),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" \"+_vm._s(_vm.tooltip)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./export.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./export.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./export.vue?vue&type=template&id=7f50cd00&scoped=true&\"\nimport script from \"./export.vue?vue&type=script&lang=js&\"\nexport * from \"./export.vue?vue&type=script&lang=js&\"\nimport style0 from \"./export.vue?vue&type=style&index=0&id=7f50cd00&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7f50cd00\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('svg',{staticClass:\"icon\",attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('g',{attrs:{\"clip-path\":\"url(#clip0)\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"\\n M13.6573 1.5H2.59985C1.77485 1.5 1.09985 2.175 1.09985 3V13.6649C1.09985 14.4899\\n 1.77485 15.1649 2.59985\\n 15.1649H9.84V13.6649H8.87866V9.08244H13.6573V9.83777H15.1573V3C15.1573\\n 2.17 14.4873 1.5 13.6573 1.5ZM13.6573\\n 7.58244V3H8.87866V7.58244H13.6573ZM7.37866 3H2.59985V7.58244H7.37866V3ZM2.59985\\n 9.08244V13.6649H7.37866V9.08244H2.59985ZM13.1702\\n 10.8434H15.6702V13.1717H18.0001V15.6717H15.6702V18H13.1702V15.6717H10.8401V13.1717H13.1702V10.8434Z\\n \",\"fill\":\"#A2B1C6\"}})]),_c('defs',[_c('clipPath',{attrs:{\"id\":\"clip0\"}},[_c('rect',{attrs:{\"width\":\"18\",\"height\":\"18\",\"fill\":\"white\"}})])])]),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" Add new table from CSV \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./addTable.vue?vue&type=template&id=de75f292&scoped=true&\"\nimport script from \"./addTable.vue?vue&type=script&lang=js&\"\nexport * from \"./addTable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./addTable.vue?vue&type=style&index=0&id=de75f292&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"de75f292\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2e186d82&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=2e186d82&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e186d82\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"tabs\"}},[(_vm.tabs.length > 0)?_c('div',{attrs:{\"id\":\"tabs-header\"}},_vm._l((_vm.tabs),function(tab,index){return _c('div',{key:index,class:[{'tab-selected': (tab.id === _vm.selectedIndex)}, 'tab'],on:{\"click\":function($event){return _vm.selectTab(tab.id)}}},[_c('div',{staticClass:\"tab-name\"},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(tab.isUnsaved),expression:\"tab.isUnsaved\"}],staticClass:\"star\"},[_vm._v(\"*\")]),(tab.name)?_c('span',[_vm._v(_vm._s(tab.name))]):_c('span',{staticClass:\"tab-untitled\"},[_vm._v(_vm._s(tab.tempName))])]),_c('div',[_c('close-icon',{staticClass:\"close-icon\",attrs:{\"size\":10},on:{\"click\":function($event){return _vm.beforeCloseTab(index)}}})],1)])}),0):_vm._e(),_vm._l((_vm.tabs),function(tab,index){return _c('tab',{key:tab.id,attrs:{\"id\":tab.id,\"init-name\":tab.name,\"init-query\":tab.query,\"init-chart\":tab.chart,\"is-predefined\":tab.isPredefined,\"tab-index\":index}})}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tabs.length === 0),expression:\"tabs.length === 0\"}],attrs:{\"id\":\"start-guide\"}},[_c('span',{staticClass:\"link\",on:{\"click\":function($event){return _vm.$root.$emit('createNewQuery')}}},[_vm._v(\"Create\")]),_vm._v(\" a new query from scratch or open the one from \"),_c('router-link',{staticClass:\"link\",attrs:{\"to\":\"/my-queries\"}},[_vm._v(\"My queries\")])],1),_c('modal',{attrs:{\"name\":\"close-warn\",\"classes\":\"dialog\",\"height\":\"auto\"}},[_c('div',{staticClass:\"dialog-header\"},[_vm._v(\" Close tab \"+_vm._s(_vm.closingTabIndex !== null ? (_vm.tabs[_vm.closingTabIndex].name || (\"[\" + (_vm.tabs[_vm.closingTabIndex].tempName) + \"]\")) : '')+\" \"),_c('close-icon',{on:{\"click\":function($event){return _vm.$modal.hide('close-warn')}}})],1),_c('div',{staticClass:\"dialog-body\"},[_vm._v(\" You have unsaved changes. Save changes in \"+_vm._s(_vm.closingTabIndex !== null ? (_vm.tabs[_vm.closingTabIndex].name || (\"[\" + (_vm.tabs[_vm.closingTabIndex].tempName) + \"]\")) : '')+\" before closing? \")]),_c('div',{staticClass:\"dialog-buttons-container\"},[_c('button',{staticClass:\"secondary\",on:{\"click\":function($event){return _vm.closeTab(_vm.closingTabIndex)}}},[_vm._v(\" Close without saving \")]),_c('button',{staticClass:\"secondary\",on:{\"click\":function($event){return _vm.$modal.hide('close-warn')}}},[_vm._v(\"Cancel\")]),_c('button',{staticClass:\"primary\",on:{\"click\":function($event){return _vm.saveAndClose(_vm.closingTabIndex)}}},[_vm._v(\"Save and close\")])])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isActive),expression:\"isActive\"}],staticClass:\"tab-content-container\"},[_c('splitpanes',{staticClass:\"query-results-splitter\",attrs:{\"horizontal\":\"\",\"before\":{ size: 50, max: 100 },\"after\":{ size: 50, max: 100 }},scopedSlots:_vm._u([{key:\"left-pane\",fn:function(){return [_c('div',{staticClass:\"query-editor\"},[_c('sql-editor',{ref:\"sqlEditor\",model:{value:(_vm.query),callback:function ($$v) {_vm.query=$$v},expression:\"query\"}})],1)]},proxy:true},{key:\"right-pane\",fn:function(){return [_c('div',{ref:\"bottomPane\",attrs:{\"id\":\"bottomPane\"}},[_c('view-switcher',{attrs:{\"view\":_vm.view},on:{\"update:view\":function($event){_vm.view=$event}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.view === 'table'),expression:\"view === 'table'\"}],staticClass:\"table-view\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.result === null && !_vm.isGettingResults && !_vm.error),expression:\"result === null && !isGettingResults && !error\"}],staticClass:\"table-preview result-before\"},[_vm._v(\" Run your query and get results here \")]),(_vm.isGettingResults)?_c('div',{staticClass:\"table-preview result-in-progress\"},[_c('loading-indicator',{attrs:{\"size\":30}}),_vm._v(\" Fetching results... \")],1):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.result === undefined && !_vm.isGettingResults && !_vm.error),expression:\"result === undefined && !isGettingResults && !error\"}],staticClass:\"table-preview result-empty\"},[_vm._v(\" No rows retrieved according to your query \")]),(_vm.error)?_c('logs',{attrs:{\"messages\":[_vm.error]}}):_vm._e(),(_vm.result)?_c('sql-table',{attrs:{\"data-set\":_vm.result,\"time\":_vm.time,\"height\":_vm.tableViewHeight}}):_vm._e()],1),_c('chart',{ref:\"chart\",attrs:{\"visible\":_vm.view === 'chart',\"sql-result\":_vm.result,\"init-chart\":_vm.initChart},on:{\"update\":function($event){return _vm.$store.commit('updateTab', { index: _vm.tabIndex, isUnsaved: true })}}})],1)]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"codemirror-container\"},[_c('codemirror',{ref:\"cm\",attrs:{\"options\":_vm.cmOptions},on:{\"changes\":_vm.onChange},model:{value:(_vm.query),callback:function ($$v) {_vm.query=$$v},expression:\"query\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n tabs: [],\n currentTab: null,\n currentTabId: null,\n untitledLastIndex: 0,\n predefinedQueries: [],\n db: null\n}\n","import Vue from 'vue'\n\nexport default {\n setDb (state, db) {\n if (state.db) {\n state.db.shutDown()\n }\n state.db = db\n },\n\n updateTab (state, { index, name, id, query, chart, isUnsaved }) {\n const tab = state.tabs[index]\n const oldId = tab.id\n\n if (id && state.currentTabId === oldId) {\n state.currentTabId = id\n }\n\n if (id) { tab.id = id }\n if (name) { tab.name = name }\n if (query) { tab.query = query }\n if (chart) { tab.chart = chart }\n if (isUnsaved !== undefined) { tab.isUnsaved = isUnsaved }\n if (!isUnsaved) {\n // Saved query is not predefined\n delete tab.isPredefined\n }\n\n Vue.set(state.tabs, index, tab)\n },\n deleteTab (state, index) {\n // If closing tab is the current opened\n if (state.tabs[index].id === state.currentTabId) {\n if (index < state.tabs.length - 1) {\n state.currentTabId = state.tabs[index + 1].id\n } else if (index > 0) {\n state.currentTabId = state.tabs[index - 1].id\n } else {\n state.currentTabId = null\n state.currentTab = null\n state.untitledLastIndex = 0\n }\n }\n state.tabs.splice(index, 1)\n },\n setCurrentTabId (state, id) {\n state.currentTabId = id\n },\n setCurrentTab (state, tab) {\n state.currentTab = tab\n },\n updatePredefinedQueries (state, queries) {\n if (Array.isArray(queries)) {\n state.predefinedQueries = queries\n } else {\n state.predefinedQueries = [queries]\n }\n }\n}\n","import { nanoid } from 'nanoid'\n\nexport default {\n async addTab ({ state }, data) {\n const tab = data ? JSON.parse(JSON.stringify(data)) : {}\n // If no data then create a new blank one...\n // No data.id means to create new tab, but not blank,\n // e.g. with 'select * from csv_import' query after csv import\n if (!data || !data.id) {\n tab.id = nanoid()\n tab.name = null\n tab.tempName = state.untitledLastIndex\n ? `Untitled ${state.untitledLastIndex}`\n : 'Untitled'\n tab.isUnsaved = true\n } else {\n tab.isUnsaved = false\n }\n\n // add new tab only if was not already opened\n if (!state.tabs.some(openedTab => openedTab.id === tab.id)) {\n state.tabs.push(tab)\n if (!tab.name) {\n state.untitledLastIndex += 1\n }\n }\n\n return tab.id\n }\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport state from '@/store/state'\nimport mutations from '@/store/mutations'\nimport actions from '@/store/actions'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state,\n mutations,\n actions\n})\n","import CM from 'codemirror'\nimport 'codemirror/addon/hint/show-hint.js'\nimport 'codemirror/addon/hint/sql-hint.js'\nimport store from '@/store'\n\nexport function getHints (cm, options) {\n const token = cm.getTokenAt(cm.getCursor()).string.toUpperCase()\n const result = CM.hint.sql(cm, options)\n // Don't show the hint if there is only one option\n // and the token is already completed with this option\n if (result.list.length === 1 && result.list[0].text.toUpperCase() === token) {\n result.list = []\n }\n return result\n}\n\nconst hintOptions = {\n get tables () {\n const tables = {}\n if (store.state.db.schema) {\n store.state.db.schema.forEach(table => {\n tables[table.name] = table.columns.map(column => column.name)\n })\n }\n return tables\n },\n get defaultTable () {\n const schema = store.state.db.schema\n return schema && schema.length === 1 ? schema[0].name : null\n },\n completeSingle: false,\n completeOnSingleClick: true,\n alignWithWord: false\n}\n\nexport function showHintOnDemand (editor) {\n CM.showHint(editor, getHints, hintOptions)\n}\n\nexport default function showHint (editor) {\n // Don't show autocomplete after a space or semicolon or in string literals\n const token = editor.getTokenAt(editor.getCursor())\n const ch = token.string.slice(-1)\n const tokenType = token.type\n if (tokenType === 'string' || !ch || ch === ' ' || ch === ';') {\n return\n }\n\n CM.showHint(editor, getHints, hintOptions)\n}\n","\n\n\n\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=ad4bbbe4&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=ad4bbbe4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ad4bbbe4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-switcher\"},[_c('div',{class:['table-mode', {'active-mode': _vm.view === 'table'}],on:{\"click\":function($event){return _vm.$emit('update:view','table')}}},[_vm._v(\" Table \")]),_c('div',{class:['chart-mode', {'active-mode': _vm.view === 'chart'}],on:{\"click\":function($event){return _vm.$emit('update:view','chart')}}},[_vm._v(\" Chart \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewSwitcher.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewSwitcher.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ViewSwitcher.vue?vue&type=template&id=59806640&scoped=true&\"\nimport script from \"./ViewSwitcher.vue?vue&type=script&lang=js&\"\nexport * from \"./ViewSwitcher.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ViewSwitcher.vue?vue&type=style&index=0&id=59806640&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"59806640\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"chart-container\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.sqlResult && _vm.visible),expression:\"!sqlResult && visible\"}],staticClass:\"warning chart-warning\"},[_vm._v(\" There is no data to build a chart. Run your sql query and make sure the result is not empty. \")]),_c('PlotlyEditor',{ref:\"plotlyEditor\",staticClass:\"chart\",style:({ height: !_vm.sqlResult ? 'calc(100% - 40px)' : '100%' }),attrs:{\"data\":_vm.state.data,\"layout\":_vm.state.layout,\"frames\":_vm.state.frames,\"config\":{ editable: true, displaylogo: false },\"dataSources\":_vm.dataSources,\"dataSourceOptions\":_vm.dataSourceOptions,\"plotly\":_vm.plotly,\"useResizeHandler\":true,\"debug\":true,\"advancedTraceTypeSelector\":true},on:{\"onUpdate\":_vm.update,\"onRender\":_vm.go}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import dereference from 'react-chart-editor/lib/lib/dereference'\n\nexport function getDataSourcesFromSqlResult (sqlResult) {\n if (!sqlResult) {\n return {}\n }\n const dataSorces = {}\n const matrix = sqlResult.values\n const [row] = matrix\n const transposedMatrix = row.map((value, column) => matrix.map(row => row[column]))\n sqlResult.columns.forEach((column, index) => {\n dataSorces[column] = transposedMatrix[index]\n })\n return dataSorces\n}\n\nexport function getOptionsFromDataSources (dataSources) {\n return Object.keys(dataSources).map(name => ({\n value: name,\n label: name\n }))\n}\n\nexport function getChartStateForSave (state, dataSources) {\n // we don't need to save the data, only settings\n // so we modify state.data using dereference\n const stateCopy = JSON.parse(JSON.stringify(state))\n const emptySources = {}\n for (const key in dataSources) {\n emptySources[key] = []\n }\n dereference(stateCopy.data, emptySources)\n return stateCopy\n}\n\nexport default {\n getDataSourcesFromSqlResult,\n getOptionsFromDataSources,\n getChartStateForSave\n}\n","\n\n\n\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=291e46e5&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=291e46e5&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"291e46e5\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=8b37f1a0&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=8b37f1a0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8b37f1a0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=bfe8f4ee&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=4dece747&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=4dece747&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4dece747\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.showedQueries.length === 0)?_c('div',{attrs:{\"id\":\"start-guide\"}},[_vm._v(\" You don't have saved queries so far. \"),_c('span',{staticClass:\"link\",on:{\"click\":function($event){return _vm.$root.$emit('createNewQuery')}}},[_vm._v(\"Create\")]),_vm._v(\" the one from scratch or \"),_c('span',{staticClass:\"link\",on:{\"click\":_vm.importQueries}},[_vm._v(\"import\")]),_vm._v(\" from a file. \")]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showedQueries.length > 0),expression:\"showedQueries.length > 0\"}],ref:\"my-queries-content\",attrs:{\"id\":\"my-queries-content\"}},[_c('div',{attrs:{\"id\":\"my-queries-toolbar\"}},[_c('div',{attrs:{\"id\":\"toolbar-buttons\"}},[_c('button',{staticClass:\"toolbar\",attrs:{\"id\":\"toolbar-btns-import\"},on:{\"click\":_vm.importQueries}},[_vm._v(\" Import \")]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedQueriesCount > 0),expression:\"selectedQueriesCount > 0\"}],staticClass:\"toolbar\",attrs:{\"id\":\"toolbar-btns-export\"},on:{\"click\":function($event){return _vm.exportSelectedQueries()}}},[_vm._v(\" Export \")]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedNotPredefinedCount > 0),expression:\"selectedNotPredefinedCount > 0\"}],staticClass:\"toolbar\",attrs:{\"id\":\"toolbar-btns-delete\"},on:{\"click\":function($event){return _vm.showDeleteDialog(_vm.selectedQueriesIds)}}},[_vm._v(\" Delete \")])]),_c('div',{attrs:{\"id\":\"toolbar-search\"}},[_c('text-field',{attrs:{\"placeholder\":\"Search query by name\",\"width\":\"300px\"},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}})],1)]),_c('div',{staticClass:\"rounded-bg\"},[_c('div',{staticClass:\"header-container\"},[_c('div',[_c('div',{ref:\"name-th\",staticClass:\"fixed-header\"},[_c('check-box',{ref:\"mainCheckBox\",attrs:{\"theme\":\"light\"},on:{\"click\":_vm.toggleSelectAll}}),_c('div',{staticClass:\"name-th\"},[_vm._v(\"Name\")])],1),_c('div',{staticClass:\"fixed-header\"},[_vm._v(\" Created at \")])])]),_c('div',{staticClass:\"table-container\",style:({ 'max-height': (_vm.maxTableHeight + \"px\") })},[_c('table',{ref:\"table\"},[_c('tbody',_vm._l((_vm.showedQueries),function(query,index){return _c('tr',{key:query.id,on:{\"click\":function($event){return _vm.openQuery(index)}}},[_c('td',{ref:\"name-td\",refInFor:true},[_c('div',{staticClass:\"cell-data\"},[_c('check-box',{ref:\"rowCheckBox\",refInFor:true,attrs:{\"init\":_vm.selectAll || _vm.selectedQueriesIds.has(query.id)},on:{\"click\":function($event){return _vm.toggleRow($event, query.id)}}}),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(query.name))]),(query.isPredefined)?_c('div',{staticClass:\"badge\",on:{\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_vm._v(\" Predefined \"),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" Predefined queries come from the server. These queries can’t be deleted or renamed. \")])]):_vm._e()],1)]),_c('td',[_c('div',{staticClass:\"second-column\"},[_c('div',{staticClass:\"date-container\"},[_vm._v(_vm._s(_vm._f(\"date\")(query.createdAt)))]),_c('div',{staticClass:\"icons-container\"},[(!query.isPredefined)?_c('rename-icon',{on:{\"click\":function($event){return _vm.showRenameDialog(query.id)}}}):_vm._e(),_c('copy-icon',{on:{\"click\":function($event){return _vm.duplicateQuery(index)}}}),_c('export-icon',{attrs:{\"tooltip\":\"Export query to file\"},on:{\"click\":function($event){return _vm.exportToFile([query], ((query.name) + \".json\"))}}}),(!query.isPredefined)?_c('delete-icon',{on:{\"click\":function($event){_vm.showDeleteDialog((new Set()).add(query.id))}}}):_vm._e()],1)])])])}),0)])])])]),_c('modal',{attrs:{\"name\":\"rename\",\"classes\":\"dialog\",\"height\":\"auto\"}},[_c('div',{staticClass:\"dialog-header\"},[_vm._v(\" Rename query \"),_c('close-icon',{on:{\"click\":function($event){return _vm.$modal.hide('rename')}}})],1),_c('div',{staticClass:\"dialog-body\"},[_c('text-field',{attrs:{\"label\":\"New query name\",\"error-msg\":_vm.errorMsg,\"width\":\"100%\"},model:{value:(_vm.newName),callback:function ($$v) {_vm.newName=$$v},expression:\"newName\"}})],1),_c('div',{staticClass:\"dialog-buttons-container\"},[_c('button',{staticClass:\"secondary\",on:{\"click\":function($event){return _vm.$modal.hide('rename')}}},[_vm._v(\"Cancel\")]),_c('button',{staticClass:\"primary\",on:{\"click\":_vm.renameQuery}},[_vm._v(\"Rename\")])])]),_c('modal',{attrs:{\"name\":\"delete\",\"classes\":\"dialog\",\"height\":\"auto\"}},[_c('div',{staticClass:\"dialog-header\"},[_vm._v(\" Delete \"+_vm._s(_vm.deleteGroup ? 'queries' : 'query')+\" \"),_c('close-icon',{on:{\"click\":function($event){return _vm.$modal.hide('delete')}}})],1),_c('div',{staticClass:\"dialog-body\"},[_vm._v(\" \"+_vm._s(_vm.deleteDialogMsg)+\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedQueriesCount > _vm.selectedNotPredefinedCount),expression:\"selectedQueriesCount > selectedNotPredefinedCount\"}],attrs:{\"id\":\"note\"}},[_c('img',{attrs:{\"src\":require('@/assets/images/info.svg')}}),_vm._v(\" Note: Predefined queries you've selected won't be deleted \")])]),_c('div',{staticClass:\"dialog-buttons-container\"},[_c('button',{staticClass:\"secondary\",on:{\"click\":function($event){return _vm.$modal.hide('delete')}}},[_vm._v(\"Cancel\")]),_c('button',{staticClass:\"primary\",on:{\"click\":_vm.deleteQuery}},[_vm._v(\"Delete\")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('svg',{staticClass:\"icon\",attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('path',{attrs:{\"d\":\"M10.545 6.75L11.25 7.455L4.44 14.25H3.75V13.56L10.545 6.75ZM13.245 2.25C13.0575 2.25 12.8625 2.325 12.72 2.4675L11.3475 3.84L14.16 6.6525L15.5325 5.28C15.825 4.9875 15.825 4.5 15.5325 4.2225L13.7775 2.4675C13.6275 2.3175 13.44 2.25 13.245 2.25ZM10.545 4.6425L2.25 12.9375V15.75H5.0625L13.3575 7.455L10.545 4.6425Z\",\"fill\":\"#A2B1C6\"}})]),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" Rename query \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rename.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rename.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./rename.vue?vue&type=template&id=45e6fb96&scoped=true&\"\nimport script from \"./rename.vue?vue&type=script&lang=js&\"\nexport * from \"./rename.vue?vue&type=script&lang=js&\"\nimport style0 from \"./rename.vue?vue&type=style&index=0&id=45e6fb96&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"45e6fb96\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('svg',{staticClass:\"icon\",attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('path',{attrs:{\"d\":\"M14.25 15.75H6V5.25H14.25V15.75ZM14.25 3.75H6C5.60218 3.75 5.22064 3.90804 4.93934 4.18934C4.65804 4.47064 4.5 4.85218 4.5 5.25V15.75C4.5 16.1478 4.65804 16.5294 4.93934 16.8107C5.22064 17.092 5.60218 17.25 6 17.25H14.25C14.6478 17.25 15.0294 17.092 15.3107 16.8107C15.592 16.5294 15.75 16.1478 15.75 15.75V5.25C15.75 4.85218 15.592 4.47064 15.3107 4.18934C15.0294 3.90804 14.6478 3.75 14.25 3.75ZM12 0.75H3C2.60218 0.75 2.22064 0.908035 1.93934 1.18934C1.65804 1.47064 1.5 1.85218 1.5 2.25V12.75H3V2.25H12V0.75Z\",\"fill\":\"#A2B1C6\"}})]),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" Duplicate query \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./copy.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./copy.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./copy.vue?vue&type=template&id=9ee167fc&scoped=true&\"\nimport script from \"./copy.vue?vue&type=script&lang=js&\"\nexport * from \"./copy.vue?vue&type=script&lang=js&\"\nimport style0 from \"./copy.vue?vue&type=style&index=0&id=9ee167fc&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9ee167fc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('svg',{staticClass:\"icon\",attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('path',{attrs:{\"d\":\"M6.75 2.25V3H3V4.5H3.75V14.25C3.75 14.6478 3.90804 15.0294 4.18934 15.3107C4.47064 15.592 4.85218 15.75 5.25 15.75H12.75C13.1478 15.75 13.5294 15.592 13.8107 15.3107C14.092 15.0294 14.25 14.6478 14.25 14.25V4.5H15V3H11.25V2.25H6.75ZM5.25 4.5H12.75V14.25H5.25V4.5ZM6.75 6V12.75H8.25V6H6.75ZM9.75 6V12.75H11.25V6H9.75Z\",\"fill\":\"#A2B1C6\"}})]),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" Delete query \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./delete.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./delete.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./delete.vue?vue&type=template&id=2e7a19b0&scoped=true&\"\nimport script from \"./delete.vue?vue&type=script&lang=js&\"\nexport * from \"./delete.vue?vue&type=script&lang=js&\"\nimport style0 from \"./delete.vue?vue&type=style&index=0&id=2e7a19b0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e7a19b0\",\n null\n \n)\n\nexport default component.exports","import { nanoid } from 'nanoid'\nimport fu from '@/lib/utils/fileIo'\n\nexport default {\n getStoredQueries () {\n return JSON.parse(localStorage.getItem('myQueries')) || []\n },\n\n duplicateQuery (baseQuery) {\n const newQuery = JSON.parse(JSON.stringify(baseQuery))\n newQuery.name = newQuery.name + ' Copy'\n newQuery.id = nanoid()\n newQuery.createdAt = new Date()\n delete newQuery.isPredefined\n\n return newQuery\n },\n\n isTabNeedName (queryTab) {\n const isFromScratch = !queryTab.initName\n return queryTab.isPredefined || isFromScratch\n },\n\n save (queryTab, newName) {\n const value = {\n id: queryTab.isPredefined ? nanoid() : queryTab.id,\n query: queryTab.query,\n chart: queryTab.$refs.chart.getChartStateForSave(),\n name: newName || queryTab.initName\n }\n\n // Get queries from local storage\n const myQueries = this.getStoredQueries()\n\n // Set createdAt\n if (newName) {\n value.createdAt = new Date()\n } else {\n var queryIndex = myQueries.findIndex(oldQuery => oldQuery.id === queryTab.id)\n value.createdAt = myQueries[queryIndex].createdAt\n }\n\n // Insert in queries list\n if (newName) {\n myQueries.push(value)\n } else {\n myQueries[queryIndex] = value\n }\n\n // Save to local storage\n this.updateStorage(myQueries)\n return value\n },\n\n updateStorage (value) {\n localStorage.setItem('myQueries', JSON.stringify(value))\n },\n\n serialiseQueries (queryList) {\n const preparedData = JSON.parse(JSON.stringify(queryList))\n preparedData.forEach(query => delete query.isPredefined)\n return JSON.stringify(preparedData, null, 4)\n },\n\n deserialiseQueries (str) {\n let queryList = JSON.parse(str)\n // Turn data into array if they are not\n if (!Array.isArray(queryList)) {\n queryList = [queryList]\n }\n\n // Generate new ids if they are the same as existing queries\n queryList.forEach(query => {\n const allQueriesIds = this.getStoredQueries().map(query => query.id)\n if (allQueriesIds.includes(query.id)) {\n query.id = nanoid()\n }\n })\n\n return queryList\n },\n\n importQueries () {\n return fu.importFile()\n .then(data => {\n return this.deserialiseQueries(data)\n })\n },\n\n readPredefinedQueries () {\n return fu.readFile('./queries.json')\n .then(resp => {\n return resp.json()\n })\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=0cc4e620&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=0cc4e620&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0cc4e620\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"dbloader-container\"}},[_c('db-uploader',{attrs:{\"type\":\"illustrated\"}}),_c('div',{attrs:{\"id\":\"note\"}},[_vm._v(\" Sqliteviz is fully client-side. Your database never leaves your computer. \")]),_c('button',{staticClass:\"secondary\",attrs:{\"id\":\"skip\"},on:{\"click\":function($event){return _vm.$router.push('/editor')}}},[_vm._v(\" Create empty database \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Welcome.vue?vue&type=template&id=cdca6642&scoped=true&\"\nimport script from \"./Welcome.vue?vue&type=script&lang=js&\"\nexport * from \"./Welcome.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Welcome.vue?vue&type=style&index=0&id=cdca6642&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cdca6642\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('main-menu'),_c('keep-alive',{attrs:{\"include\":\"Editor\"}},[_c('router-view',{attrs:{\"id\":\"main-view\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',[_c('div',[_c('router-link',{attrs:{\"to\":\"/editor\"}},[_vm._v(\"Editor\")]),_c('router-link',{attrs:{\"to\":\"/my-queries\"}},[_vm._v(\"My queries\")]),_c('a',{attrs:{\"href\":\"https://github.com/lana-k/sqliteviz/wiki\",\"target\":\"_blank\"}},[_vm._v(\"Help\")])],1),_c('div',{attrs:{\"id\":\"nav-buttons\"}},[(_vm.currentQuery && _vm.$route.path === '/editor')?_c('button',{staticClass:\"primary\",attrs:{\"id\":\"run-btn\",\"disabled\":_vm.runDisabled},on:{\"click\":_vm.currentQuery.execute}},[_vm._v(\" Run \")]):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentQuery && _vm.$route.path === '/editor'),expression:\"currentQuery && $route.path === '/editor'\"}],staticClass:\"primary\",attrs:{\"id\":\"save-btn\",\"disabled\":!_vm.isUnsaved},on:{\"click\":_vm.checkQueryBeforeSave}},[_vm._v(\" Save \")]),_c('button',{staticClass:\"primary\",attrs:{\"id\":\"create-btn\"},on:{\"click\":_vm.createNewQuery}},[_vm._v(\" Create \")]),_c('app-diagnostic-info')],1),_c('modal',{attrs:{\"name\":\"save\",\"classes\":\"dialog\",\"height\":\"auto\"}},[_c('div',{staticClass:\"dialog-header\"},[_vm._v(\" Save query \"),_c('close-icon',{on:{\"click\":_vm.cancelSave}})],1),_c('div',{staticClass:\"dialog-body\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isPredefined),expression:\"isPredefined\"}],attrs:{\"id\":\"save-note\"}},[_c('img',{attrs:{\"src\":require('@/assets/images/info.svg')}}),_vm._v(\" Note: Predefined queries can't be edited. That's why your modifications will be saved as a new query. Enter the name for it. \")]),_c('text-field',{attrs:{\"label\":\"Query name\",\"error-msg\":_vm.errorMsg,\"width\":\"100%\"},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}})],1),_c('div',{staticClass:\"dialog-buttons-container\"},[_c('button',{staticClass:\"secondary\",on:{\"click\":_vm.cancelSave}},[_vm._v(\"Cancel\")]),_c('button',{staticClass:\"primary\",on:{\"click\":_vm.saveQuery}},[_vm._v(\"Save\")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app-info-container\"}},[_c('img',{attrs:{\"id\":\"app-info-icon\",\"src\":require('@/assets/images/info.svg')},on:{\"click\":function($event){return _vm.$modal.show('app-info')}}}),_c('modal',{attrs:{\"name\":\"app-info\",\"classes\":\"dialog\",\"height\":\"auto\",\"width\":\"400px\"}},[_c('div',{staticClass:\"dialog-header\"},[_vm._v(\" App info \"),_c('close-icon',{on:{\"click\":function($event){return _vm.$modal.hide('app-info')}}})],1),_c('div',{staticClass:\"dialog-body\"},_vm._l((_vm.info),function(item,index){return _c('div',{key:index,staticClass:\"info-item\"},[_vm._v(\" \"+_vm._s(item.name)+\" \"),_c('div',{staticClass:\"divider\"}),_c('div',{staticClass:\"options\"},_vm._l((item.info),function(opt,index){return _c('div',{key:index},[_vm._v(\" \"+_vm._s(opt)+\" \")])}),0)])}),0)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDiagnosticInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDiagnosticInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppDiagnosticInfo.vue?vue&type=template&id=669c683a&scoped=true&\"\nimport script from \"./AppDiagnosticInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./AppDiagnosticInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppDiagnosticInfo.vue?vue&type=style&index=0&id=669c683a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"669c683a\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainMenu.vue?vue&type=template&id=74f776e4&scoped=true&\"\nimport script from \"./MainMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./MainMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainMenu.vue?vue&type=style&index=0&id=74f776e4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74f776e4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7b856d32&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=7b856d32&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7b856d32\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport Editor from '@/views/Main/Editor'\nimport MyQueries from '@/views/Main/MyQueries'\nimport Welcome from '@/views/Welcome'\nimport Main from '@/views/Main'\nimport store from '@/store'\nimport database from '@/lib/database'\n\nVue.use(VueRouter)\n\nconst routes = [\n {\n path: '/',\n name: 'Welcome',\n component: Welcome\n },\n {\n path: '/',\n name: 'Main',\n component: Main,\n children: [\n {\n path: '/editor',\n name: 'Editor',\n component: Editor\n },\n {\n path: '/my-queries',\n name: 'MyQueries',\n component: MyQueries\n }\n ]\n }\n]\n\nconst router = new VueRouter({\n routes\n})\n\nrouter.beforeEach(async (to, from, next) => {\n if (!store.state.db) {\n const newDb = database.getNewDatabase()\n await newDb.loadDb()\n store.commit('setDb', newDb)\n }\n next()\n})\n\nexport default router\n","import Vue from 'vue'\nimport App from '@/App.vue'\nimport router from '@/router'\nimport store from '@/store'\nimport { VuePlugin } from 'vuera'\nimport VModal from 'vue-js-modal'\n\nimport '@/assets/styles/variables.css'\nimport '@/assets/styles/buttons.css'\nimport '@/assets/styles/tables.css'\nimport '@/assets/styles/dialogs.css'\nimport '@/assets/styles/tooltips.css'\nimport '@/assets/styles/messages.css'\n\nif (!['localhost', '127.0.0.1'].includes(location.hostname)) {\n import('./registerServiceWorker') // eslint-disable-line no-unused-expressions\n}\n\nVue.use(VuePlugin)\nVue.use(VModal)\n\nVue.config.productionTip = false\n\nnew Vue({\n router,\n store,\n render: h => h(App)\n}).$mount('#app')\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgcng9IjIuNSIgZmlsbD0iI0YzRjZGQSIgc3Ryb2tlPSIjQzhENEUzIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2QpIj4KPHBhdGggZD0iTTE1Ljc1IDUuMjQ5ODhMNi43NSAxNC4yNDk5TDIuNjI1IDEwLjEyNDlMMy42ODI1IDkuMDY3MzhMNi43NSAxMi4xMjc0TDE0LjY5MjUgNC4xOTIzOEwxNS43NSA1LjI0OTg4WiIgZmlsbD0iIzExOURGRiIvPgo8L2c+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2QiIHg9IjAuNjI1IiB5PSIzLjE5MjM4IiB3aWR0aD0iMTcuMTI1IiBoZWlnaHQ9IjE0LjA1NzUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiLz4KPGZlT2Zmc2V0IGR5PSIxIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiLz4KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMC4xNjQ3MDYgMCAwIDAgMCAwLjI0NzA1OSAwIDAgMCAwIDAuMzcyNTQ5IDAgMCAwIDAuNDUgMCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvdyIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDUwIiBoZWlnaHQ9IjE2NyIgdmlld0JveD0iMCAwIDQ1MCAxNjciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtYXNrIGlkPSJtYXNrMCIgbWFzay10eXBlPSJhbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQ1MCIgaGVpZ2h0PSIxNjciPgo8cmVjdCB3aWR0aD0iNDUwIiBoZWlnaHQ9IjE2NyIgZmlsbD0iI0M0QzRDNCIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazApIj4KPHBhdGggZD0iTTEyOC4yMDcgLTE2OS4wMDdDNzAuMTk3MiAtMTgwLjg0OSAxOC43NDUgLTE0MC4xMSA0LjMxOTg1IC03OC4zMzIyQy0xMC4xMDU0IC0xNi41NTM5IDE0LjMzMzcgMTUuMzMxOCAzNy4zMjE4IDU1LjE4OTFDNzIuMzc4NCAxMTUuOTcxIDE4MS41NTEgMTcwLjIzNyAyNjUuMDgzIDE2Ni43ODlDMzM3LjUxNyAxNjMuOCAzODkuMDI4IDE0NS41MTQgNDI1LjkzNiA3Ny4xMTA3QzQ4OS4zNzggLTQwLjQ2NzkgNDE3LjQ0NCAtMTE3LjA5MyAzMjUuNTI3IC0xMDIuNzQ1QzIxNC41NzEgLTg1LjQyNCAyMTMuNjI5IC0xNTEuNTcgMTI4LjIwNyAtMTY5LjAwN1oiIGZpbGw9IiNERkU4RjMiLz4KPHBhdGggZD0iTTE0Ny4yMjIgOS40ODcxNkMxNDcuMjIyIDYuNzI4MjQgMTQ5LjQ1OCA0LjQ5MTcgMTUyLjIxNyA0LjQ5MTdIMzQzLjA0NEMzNDUuODAyIDQuNDkxNyAzNDguMDM5IDYuNzI4MjQgMzQ4LjAzOSA5LjQ4NzE1VjEyMi4zODRDMzQ4LjAzOSAxMjUuMTQzIDM0NS44MDIgMTI3LjM4IDM0My4wNDQgMTI3LjM4SDE1Mi4yMTdDMTQ5LjQ1OCAxMjcuMzggMTQ3LjIyMiAxMjUuMTQzIDE0Ny4yMjIgMTIyLjM4NFY5LjQ4NzE2WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTE1Ni4yODQgLTEuNTczNzNDMTU4LjE1OCAtMy40NDczOSAxNjAuNjk5IC00LjUgMTYzLjM0OSAtNC41SDMzMS45MTFDMzM0LjU2MSAtNC41IDMzNy4xMDIgLTMuNDQ3MzkgMzM4Ljk3NiAtMS41NzM3M0wzNDYuMDQxIDUuNDkwOTFIMTQ5LjIyTDE1Ni4yODQgLTEuNTczNzNaIiBmaWxsPSIjQzhENEUzIi8+CjxwYXRoIGQ9Ik0xNDcuMjIyIDkuNDg3MTVDMTQ3LjIyMiA2LjcyODI0IDE0OS40NTggNC40OTE3IDE1Mi4yMTcgNC40OTE3SDM0My4wNDRDMzQ1LjgwMiA0LjQ5MTcgMzQ4LjAzOSA2LjcyODI0IDM0OC4wMzkgOS40ODcxNVYyNy40NzA4SDE0Ny4yMjJWOS40ODcxNVoiIGZpbGw9IiNBMkIxQzYiLz4KPHBhdGggZD0iTTI1NC45MzkgNjcuOTU3MUMyNTQuMjUgNjcuNTMzNSAyNTMuNTk3IDY3LjA1MTkgMjUyLjk4OCA2Ni41MTc0VjU3LjY5MzVIMjU2LjgzMlY2OS4wMThDMjU2LjE5NSA2OC42ODY5IDI1NS41NjQgNjguMzMzMiAyNTQuOTM5IDY3Ljk1NzFaTTI2Mi4zNDEgNjMuNTAzMUgyNTguNDk4VjY5LjcyNTNDMjU5Ljc1MiA3MC4zMDkgMjYxLjAzNSA3MC44Mjg4IDI2Mi4zNDEgNzEuMjgyOVY2My41MDMxWk0yNTIuOTg4IDY4LjI4NTVMMjUyLjczNyA2OC4wODM0QzI1Mi4zNTIgNjcuNzYzNSAyNTEuOTkyIDY3LjQzNTEgMjUxLjY0OCA2Ny4xMDY4TDI0Mi41MyA2Ni4wNDU5TDI0NC4yMDUgNjkuMjk1OUwyNTUuOTI3IDcwLjI1NTdDMjU0Ljg5OSA2OS42NzU4IDI1My45MTYgNjkuMDE3MiAyNTIuOTg4IDY4LjI4NTVWNjguMjg1NVpNMjYyLjE0IDczLjAwOUMyNjAuODMyIDcyLjU3OTMgMjU5LjU0OSA3Mi4wNzYyIDI1OC4yOTcgNzEuNTAxOEwyNTcuODI4IDcxLjI2NjFMMjUwLjA5OSA3MC43NTI1TDI1MS40MDYgNzMuNDg4OUwyNjQuODg3IDczLjgwMDRDMjYzLjk2NiA3My41ODE1IDI2My4wMzYgNzMuMzEyMSAyNjIuMTQgNzMuMDA5Wk0yNDYuMDk3IDU3LjY5MzVDMjQ3LjU3MiA2MC4yODc1IDI0OS4zMjcgNjIuNzEwMSAyNTEuMzMgNjQuOTE3NlY1Ni4xMjc1TDI0Mi44ODIgNTEuOTQyOUwyNDIuMTI4IDYxLjc1MThMMjUwLjgyOCA2Ni4yMzk1QzI0OC41NDcgNjMuODQ2OSAyNDYuOTE4IDYwLjkwMzYgMjQ2LjA5NyA1Ny42OTM1VjU3LjY5MzVaIiBmaWxsPSIjMTE5REZGIi8+CjxwYXRoIGQ9Ik0yMTAuNzM4IDg0LjI4NThDMjExLjc5NSA4NC44NzYzIDIxMi44NTggODUuMTcxNSAyMTMuOTI2IDg1LjE3MTVDMjE0LjgxNSA4NS4xNzE1IDIxNS4zMzYgODQuODU1NyAyMTUuNDkgODQuMjI0MkMyMTUuNTQxIDg0LjAwODUgMjE1LjU2NyA4My43NDY3IDIxNS41NjcgODMuNDM4NkMyMTUuNTY3IDgzLjEyNTQgMjE1LjUzMSA4Mi44ODQgMjE1LjQ1OSA4Mi43MTQ2QzIxNS4zODcgODIuNTQgMjE1LjI2NiA4Mi40MTE3IDIxNS4wOTcgODIuMzI5NUMyMTQuOTI3IDgyLjI0MjIgMjE0LjcwMiA4Mi4xNzggMjE0LjQxOSA4Mi4xMzdDMjE0LjE0MiA4Mi4wOTU5IDIxMy43ODggODIuMDM5NCAyMTMuMzU2IDgxLjk2NzVDMjEyLjkyNSA4MS44OTA1IDIxMi41MyA4MS44MDU4IDIxMi4xNyA4MS43MTM0QzIxMS44MTEgODEuNjIwOSAyMTEuNTA1IDgxLjQ4NzQgMjExLjI1NCA4MS4zMTI5QzIxMC43MiA4MC45MzggMjEwLjQ2MyA4MC4zMDY1IDIxMC40ODMgNzkuNDE4MlY3OS4yMjU2QzIxMC40ODMgNzguMjkxMiAyMTAuNzkyIDc3LjYyNjIgMjExLjQwOCA3Ny4yMzA5QzIxMi4wMDMgNzYuODQwNiAyMTIuOTg3IDc2LjcwNzEgMjE0LjM1OCA3Ni44MzA0QzIxNS4yOTIgNzYuOTE3NiAyMTYuMDM3IDc3LjA3OTQgMjE2LjU5MSA3Ny4zMTU2TDIxNi4yMjkgNzguNDc4NkMyMTUuNjEzIDc4LjIxNjcgMjE0Ljg3NCA3OC4wMjY3IDIxNC4wMTEgNzcuOTA4NkMyMTMuNzQ0IDc3Ljg3MjcgMjEzLjQ5MiA3Ny44NTQ3IDIxMy4yNTYgNzcuODU0N0MyMTMuMDI1IDc3Ljg1NDcgMjEyLjgxNSA3Ny44NzI3IDIxMi42MjUgNzcuOTA4NkMyMTIuNDM1IDc3Ljk0NDYgMjEyLjI3NSA3OC4wMTEzIDIxMi4xNDcgNzguMTA4OUMyMTEuOTAxIDc4LjMwOTEgMjExLjc3MiA3OC42ODE0IDIxMS43NjIgNzkuMjI1NkMyMTEuNzQ3IDc5Ljg2NzUgMjExLjkyNiA4MC4yNzU3IDIxMi4zMDEgODAuNDUwM0MyMTIuNjYxIDgwLjYxOTcgMjEzLjA4NyA4MC43Mzc4IDIxMy41OCA4MC44MDQ1QzIxNC4wNzMgODAuODY2MiAyMTQuNDc2IDgwLjkyMjYgMjE0Ljc4OSA4MC45NzRDMjE1LjEwMiA4MS4wMjAyIDIxNS4zODcgODEuMDg0NCAyMTUuNjQ0IDgxLjE2NjVDMjE1LjkgODEuMjQ4NyAyMTYuMTIxIDgxLjM3OTYgMjE2LjMwNiA4MS41NTkzQzIxNi42OTEgODEuOTIzOSAyMTYuODc5IDgyLjU1OCAyMTYuODY4IDgzLjQ2MTdDMjE2Ljg0MyA4NS4wMzggMjE2LjE4NSA4NS45MzY2IDIxNC44OTcgODYuMTU3NEMyMTQuNTA2IDg2LjIyNDEgMjE0LjExNiA4Ni4yNTc1IDIxMy43MjYgODYuMjU3NUMyMTMuMzM2IDg2LjI1NzUgMjEyLjk3NiA4Ni4yMzE4IDIxMi42NDggODYuMTgwNUMyMTIuMzI0IDg2LjEzNDMgMjEyLjAxNCA4Ni4wNjc1IDIxMS43MTYgODUuOTgwMkMyMTEuMTUxIDg1LjgyMSAyMTAuNjQgODUuNjEwNSAyMTAuMTgzIDg1LjM0ODdMMjEwLjczOCA4NC4yODU4WiIgZmlsbD0iIzJBM0Y1RiIvPgo8cGF0aCBkPSJNMjI1Ljc3OSA4NS4yMjU0QzIyNC43OTkgODUuOTEzNSAyMjMuNzYyIDg2LjI1NzUgMjIyLjY2OCA4Ni4yNTc1QzIyMS4zODkgODYuMjU3NSAyMjAuNTM3IDg1LjgwMzEgMjIwLjExMSA4NC44OTQyQzIxOS44NjQgODQuMzgwOCAyMTkuNzIxIDgzLjczMTMgMjE5LjY4IDgyLjk0NTdDMjE5LjY2NCA4Mi41ODYyIDIxOS42NTYgODIuMTkwOSAyMTkuNjU2IDgxLjc1OTZDMjE5LjY1NiA4MS4zMjMxIDIxOS42NTkgODAuODg0MSAyMTkuNjY0IDgwLjQ0MjVDMjE5LjY3NCA4MC4wMDEgMjE5LjcwOCA3OS41OTI4IDIxOS43NjQgNzkuMjE3OUMyMTkuODIxIDc4Ljg0MzEgMjE5LjkwOCA3OC41MDY4IDIyMC4wMjYgNzguMjA5QzIyMC4xNDkgNzcuOTA2MSAyMjAuMzI0IDc3LjY0OTMgMjIwLjU1IDc3LjQzODhDMjIxLjAxNyA3Ny4wMDI0IDIyMS43MzYgNzYuNzg0MSAyMjIuNzA2IDc2Ljc4NDFDMjIzLjY4MiA3Ni43ODQxIDIyNC43MTkgNzcuMDQ2IDIyNS44MTggNzcuNTY5N0wyMjUuOTQxIDc2LjkzODJIMjI3LjA1TDIyNy4wNTggODkuNjA3OEgyMjUuNzc5Vjg1LjIyNTRaTTIyNS43NzkgNzguNjMyNkMyMjQuODU1IDc4LjE3MDUgMjIzLjk2MiA3Ny45Mzk0IDIyMy4wOTkgNzcuOTM5NEMyMjIuNDczIDc3LjkzOTQgMjIyLjA1OSA3Ny45OTA4IDIyMS44NTkgNzguMDkzNUMyMjEuNjU5IDc4LjE5NjIgMjIxLjUwNSA3OC4zMjk3IDIyMS4zOTcgNzguNDk0QzIyMS4yOTQgNzguNjU4MyAyMjEuMjEgNzguODg0MiAyMjEuMTQzIDc5LjE3MTdDMjIxLjAyNSA3OS43MTA5IDIyMC45NjYgODAuNTk5MiAyMjAuOTY2IDgxLjgzNjZWODIuMDA2QzIyMC45NjYgODMuMTQ1OSAyMjEuMTA3IDgzLjk0NDMgMjIxLjM4OSA4NC40MDEzQzIyMS42NzIgODQuODY4NiAyMjIuMTg4IDg1LjEwMjIgMjIyLjkzNyA4NS4xMDIySDIyMy4wNTNDMjIzLjc2MiA4NS4xMDIyIDIyNC40ODYgODQuOTA3MSAyMjUuMjI1IDg0LjUxNjlDMjI1LjQzNSA4NC40MDkgMjI1LjYyIDg0LjI5ODYgMjI1Ljc3OSA4NC4xODU3Vjc4LjYzMjZaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yMzAuNzAxIDczLjAxMDJMMjMxLjk3MiA3Mi45MDI0Vjg2LjEwMzRIMjMwLjcxNkwyMzAuNzAxIDczLjAxMDJaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yMzYuNjA4IDc0Ljc0MzFDMjM2LjI2NCA3NC43NDMxIDIzNi4wNDQgNzQuNjk0NCAyMzUuOTQ2IDc0LjU5NjhDMjM1Ljc5MiA3NC40Mzc2IDIzNS43MTUgNzQuMjE5NCAyMzUuNzE1IDczLjk0MjFDMjM1LjcxNSA3My42NTk3IDIzNS43MyA3My40NTk1IDIzNS43NjEgNzMuMzQxNEMyMzUuNzk3IDczLjIxODIgMjM1Ljg0OCA3My4xMjMyIDIzNS45MTUgNzMuMDU2NEMyMzYuMDM4IDcyLjkzMzIgMjM2LjIyNiA3Mi44NzE2IDIzNi40NzcgNzIuODcxNkMyMzYuNzM0IDcyLjg3MTYgMjM2LjkxNiA3Mi44ODQ0IDIzNy4wMjQgNzIuOTEwMUMyMzcuMTM3IDcyLjkzNTggMjM3LjIzIDcyLjk4NDUgMjM3LjMwMSA3My4wNTY0QzIzNy40MjUgNzMuMTc5NyAyMzcuNDg2IDczLjM4MjUgMjM3LjQ4NiA3My42NjQ5QzIzNy40ODYgNzMuOTQyMSAyMzcuNDcxIDc0LjE0MjQgMjM3LjQ0IDc0LjI2NTZDMjM3LjQxNCA3NC4zODM3IDIzNy4zNjggNzQuNDc4NyAyMzcuMzAxIDc0LjU1MDZDMjM3LjE3MyA3NC42NzkgMjM2Ljk0MiA3NC43NDMxIDIzNi42MDggNzQuNzQzMVpNMjM1Ljk4NCA3Ni45MzgySDIzNy4yNDhWODYuMTAzNEgyMzZMMjM1Ljk4NCA3Ni45MzgyWiIgZmlsbD0iIzJBM0Y1RiIvPgo8cGF0aCBkPSJNMjQ1LjQ3MyA4NS42NjQ0QzI0NC42MzYgODYuMDU5OCAyNDMuODY0IDg2LjI1NzUgMjQzLjE1NSA4Ni4yNTc1QzI0MS44NzEgODYuMjU3NSAyNDEuMTQyIDg1LjcwODEgMjQwLjk2OCA4NC42MDkzQzI0MC45MjcgODQuMzQ3NCAyNDAuOTA2IDgzLjk2NzUgMjQwLjkwNiA4My40Njk0Vjc4LjAwODdIMjM5Ljc5N1Y3Ny4wNjE0TDI0MC45MDYgNzYuOTM4MkwyNDEuMTA2IDc0Ljg0MzNIMjQyLjE3N1Y3Ni45MzgySDI0NC44NDlWNzguMDA4N0gyNDIuMTc3VjgzLjQ0NjNDMjQyLjE3NyA4NC4wNzc4IDI0Mi4yMjMgODQuNDgwOSAyNDIuMzE1IDg0LjY1NTVDMjQyLjQ4NSA4NC45NzM4IDI0Mi44MjQgODUuMTMzIDI0My4zMzIgODUuMTMzQzI0My44NCA4NS4xMzMgMjQ0LjQwOCA4NC45NzY0IDI0NS4wMzQgODQuNjYzMkwyNDUuNDczIDg1LjY2NDRaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yNTQuNzE1IDg1LjYxODJDMjUzLjY1MyA4Ni4wNDQ0IDI1Mi40NzkgODYuMjU3NSAyNTEuMTk2IDg2LjI1NzVDMjUwLjQ1MSA4Ni4yNTc1IDI0OS44MiA4Ni4xODA1IDI0OS4zMDEgODYuMDI2NEMyNDguNDc0IDg1Ljc5MDIgMjQ3LjkyNSA4NS4zMDI0IDI0Ny42NTMgODQuNTYzMUMyNDcuNDAxIDgzLjg2OTkgMjQ3LjI3NSA4Mi44NDMgMjQ3LjI3NSA4MS40ODIzVjgxLjA4OTVDMjQ3LjI3NSA3OS40NjE4IDI0Ny42MTQgNzguMzE5NCAyNDguMjkyIDc3LjY2MjJDMjQ4LjkwMyA3Ny4wNzY4IDI0OS45MjIgNzYuNzg0MSAyNTEuMzUgNzYuNzg0MUMyNTIuNzQxIDc2Ljc4NDEgMjUzLjY5MSA3Ny4xMjgyIDI1NC4xOTkgNzcuODE2MkMyNTQuNDQ2IDc4LjE0OTkgMjU0LjYwOCA3OC41NTU2IDI1NC42ODUgNzkuMDMzMUMyNTQuNzY3IDc5LjUwNTUgMjU0LjgwOCA3OS45NTczIDI1NC44MDggODAuMzg4NkMyNTQuODA4IDgxLjA2MTMgMjU0Ljc5MyA4MS41ODI0IDI1NC43NjIgODEuOTUyMUMyNTQuMDM4IDgxLjk4MjkgMjUzLjM4OCA4MS45OTgzIDI1Mi44MTMgODEuOTk4M0MyNTIuODEzIDgxLjk5ODMgMjUyLjQgODEuOTk4MyAyNTEuNTczIDgxLjk5ODNDMjUwLjI3OSA4MS45OTgzIDI0OS4yODMgODEuOTQxOSAyNDguNTg1IDgxLjgyODlDMjQ4LjU4NSA4My4wMDk4IDI0OC43MzQgODMuODM0IDI0OS4wMzEgODQuMzAxMkMyNDkuMzk2IDg0Ljg3MTEgMjUwLjEyMyA4NS4xNTYxIDI1MS4yMTEgODUuMTU2MUMyNTIuMyA4NS4xNTYxIDI1My4zNDIgODQuOTQzIDI1NC4zMzggODQuNTE2OUwyNTQuNzE1IDg1LjYxODJaTTI1My41MDYgODAuOTI3OFY4MC4xODg0QzI1My41MDYgNzkuMzgyMyAyNTMuMzUgNzguODA3MiAyNTMuMDM2IDc4LjQ2MzJDMjUyLjY4NyA3OC4wNzgxIDI1Mi4wODQgNzcuODg1NSAyNTEuMjI3IDc3Ljg4NTVDMjUwLjIgNzcuODg1NSAyNDkuNDk5IDc4LjEwODkgMjQ5LjEyNCA3OC41NTU2QzI0OC43NjQgNzguOTgxOCAyNDguNTg1IDc5Ljc3MjUgMjQ4LjU4NSA4MC45Mjc4SDI1My41MDZaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yNTYuOTU3IDc2LjkzODJIMjU4LjMzNUwyNjAuNzM4IDg0LjQxNjdMMjYwLjk2OSA4NS4xNzkyTDI2MS4xODUgODQuNDE2N0wyNjMuNDggNzYuOTM4MkgyNjQuODc0TDI2MS43NzggODYuMTAzNEgyNjAuMDk5TDI1Ni45NTcgNzYuOTM4MloiIGZpbGw9IiMyQTNGNUYiLz4KPHBhdGggZD0iTTI2OC4xNTUgNzQuNzQzMUMyNjcuODExIDc0Ljc0MzEgMjY3LjU5IDc0LjY5NDQgMjY3LjQ5MyA3NC41OTY4QzI2Ny4zMzkgNzQuNDM3NiAyNjcuMjYyIDc0LjIxOTQgMjY3LjI2MiA3My45NDIxQzI2Ny4yNjIgNzMuNjU5NyAyNjcuMjc3IDczLjQ1OTUgMjY3LjMwOCA3My4zNDE0QzI2Ny4zNDQgNzMuMjE4MiAyNjcuMzk1IDczLjEyMzIgMjY3LjQ2MiA3My4wNTY0QzI2Ny41ODUgNzIuOTMzMiAyNjcuNzczIDcyLjg3MTYgMjY4LjAyNCA3Mi44NzE2QzI2OC4yODEgNzIuODcxNiAyNjguNDYzIDcyLjg4NDQgMjY4LjU3MSA3Mi45MTAxQzI2OC42ODQgNzIuOTM1OCAyNjguNzc3IDcyLjk4NDUgMjY4Ljg0OCA3My4wNTY0QzI2OC45NzIgNzMuMTc5NyAyNjkuMDMzIDczLjM4MjUgMjY5LjAzMyA3My42NjQ5QzI2OS4wMzMgNzMuOTQyMSAyNjkuMDE4IDc0LjE0MjQgMjY4Ljk4NyA3NC4yNjU2QzI2OC45NjEgNzQuMzgzNyAyNjguOTE1IDc0LjQ3ODcgMjY4Ljg0OCA3NC41NTA2QzI2OC43MiA3NC42NzkgMjY4LjQ4OSA3NC43NDMxIDI2OC4xNTUgNzQuNzQzMVpNMjY3LjUzMSA3Ni45MzgySDI2OC43OTVWODYuMTAzNEgyNjcuNTQ3TDI2Ny41MzEgNzYuOTM4MloiIGZpbGw9IiMyQTNGNUYiLz4KPHBhdGggZD0iTTI3MS42MDYgODUuMjMzMUwyNzYuMjk2IDc4LjAwMUgyNzEuNTA2Vjc2LjkzODJIMjc3Ljg1MlY3Ny44MDg1TDI3My4xNzcgODUuMDMyOUgyNzguMDQ1Vjg2LjEwMzRIMjcxLjYwNlY4NS4yMzMxWiIgZmlsbD0iIzJBM0Y1RiIvPgo8cGF0aCBkPSJNMjA0LjE3IDE2LjQ4MUMyMDQuMTcgMTQuMjczOSAyMDUuOTU5IDEyLjQ4NDYgMjA4LjE2NiAxMi40ODQ2SDMzNi4wNUMzMzguMjU3IDEyLjQ4NDYgMzQwLjA0NiAxNC4yNzM5IDM0MC4wNDYgMTYuNDgxVjE2LjQ4MUMzNDAuMDQ2IDE4LjY4ODEgMzM4LjI1NyAyMC40NzczIDMzNi4wNSAyMC40NzczSDIwOC4xNjZDMjA1Ljk1OSAyMC40NzczIDIwNC4xNyAxOC42ODgxIDIwNC4xNyAxNi40ODFWMTYuNDgxWiIgZmlsbD0iI0YzRjZGQSIvPgo8cGF0aCBkPSJNMTY1LjIwNSAxNi40ODA4QzE2NS4yMDUgMTkuMjM5NyAxNjIuOTY5IDIxLjQ3NjMgMTYwLjIxIDIxLjQ3NjNDMTU3LjQ1MSAyMS40NzYzIDE1NS4yMTQgMTkuMjM5NyAxNTUuMjE0IDE2LjQ4MDhDMTU1LjIxNCAxMy43MjE5IDE1Ny40NTEgMTEuNDg1NCAxNjAuMjEgMTEuNDg1NEMxNjIuOTY5IDExLjQ4NTQgMTY1LjIwNSAxMy43MjE5IDE2NS4yMDUgMTYuNDgwOFoiIGZpbGw9IiNDOEQ0RTMiLz4KPHBhdGggZD0iTTE4MS4xOTEgMTYuNDgwOEMxODEuMTkxIDE5LjIzOTcgMTc4Ljk1NCAyMS40NzYzIDE3Ni4xOTUgMjEuNDc2M0MxNzMuNDM2IDIxLjQ3NjMgMTcxLjIgMTkuMjM5NyAxNzEuMiAxNi40ODA4QzE3MS4yIDEzLjcyMTkgMTczLjQzNiAxMS40ODU0IDE3Ni4xOTUgMTEuNDg1NEMxNzguOTU0IDExLjQ4NTQgMTgxLjE5MSAxMy43MjE5IDE4MS4xOTEgMTYuNDgwOFoiIGZpbGw9IiNDOEQ0RTMiLz4KPHBhdGggZD0iTTE5Ny4xNzYgMTYuNDgwOEMxOTcuMTc2IDE5LjIzOTcgMTk0Ljk0IDIxLjQ3NjMgMTkyLjE4MSAyMS40NzYzQzE4OS40MjIgMjEuNDc2MyAxODcuMTg2IDE5LjIzOTcgMTg3LjE4NiAxNi40ODA4QzE4Ny4xODYgMTMuNzIxOSAxODkuNDIyIDExLjQ4NTQgMTkyLjE4MSAxMS40ODU0QzE5NC45NCAxMS40ODU0IDE5Ny4xNzYgMTMuNzIxOSAxOTcuMTc2IDE2LjQ4MDhaIiBmaWxsPSIjQzhENEUzIi8+CjxwYXRoIGQ9Ik0xNzQuMDk5IC0wLjc0MTUzNUMxNzQuMjgzIC0wLjkwOTg0MyAxNzQuNTI0IC0xLjAwMzE3IDE3NC43NzMgLTEuMDAzMTdIMzE4LjQ5QzMxOC43MzkgLTEuMDAzMTcgMzE4Ljk4IC0wLjkwOTg0MyAzMTkuMTY0IC0wLjc0MTUzM1YtMC43NDE1MzNDMzE5LjgzNyAtMC4xMjYzMTYgMzE5LjQwMiAwLjk5NTAwOCAzMTguNDkgMC45OTUwMDhIMTc0Ljc3M0MxNzMuODYxIDAuOTk1MDA4IDE3My40MjYgLTAuMTI2MzE5IDE3NC4wOTkgLTAuNzQxNTM1Vi0wLjc0MTUzNVoiIGZpbGw9IiM1MDY3ODQiLz4KPHBhdGggZD0iTTM0Ljg3NSAxMTkuNzM1TDQyLjU0NjUgMTI2LjEzNkwzMC4zODU1IDE0MC43MTJMMjIuNzE0IDEzNC4zMTFMMzQuODc1IDExOS43MzVaIiBmaWxsPSIjRjNDNkJGIi8+CjxwYXRoIGQ9Ik0yNy4wOTcyIDEyOS4yNTdMMzQuNzY4NyAxMzUuNjU3QzM0Ljc2ODcgMTM1LjY1NyAzOC44MDggMTQxLjExMiAzOS4zMDM0IDE0Ni41OTdDMzkuNDk0MSAxNDguNzA4IDM3LjA2MzMgMTQ5LjI4MiAzNy4wNjMzIDE0OS4yODJMMjEuMzM2NyAxMzYuMTYxTDI3LjA5NzIgMTI5LjI1N1oiIGZpbGw9IiM1MDY3ODQiLz4KPHBhdGggZD0iTTUyLjg5MjEgMzIuODE0NUw5Mi4yNzE4IDY0LjI4NThDMTA0Ljg3NCA5Ni4yOTIzIDM4LjMyMDkgMTMzLjcyMyAzOC4zMjA5IDEzMy43MjNMMjcuODU1NiAxMjYuMDU4QzI3Ljg1NTYgMTI2LjA1OCAzOS42ODg4IDEwOC41MjYgNTAuODA5NSA4MS43Njk5QzU2LjgzMDEgNjcuMjg0MyA1NC41NzMxIDQ4LjE0ODggNTIuODkyMSAzMi44MTQ1WiIgZmlsbD0iIzBENzZCRiIvPgo8cGF0aCBkPSJNMTAzLjI2MiAxMzAuNzI2SDExMy4yNTNWMTQ5LjcwOEgxMDMuMjYyVjEzMC43MjZaIiBmaWxsPSIjRjNDNkJGIi8+CjxwYXRoIGQ9Ik01NC4zMDY3IDQyLjMwNTlDNTAuODEwMSAzNS44MTE4IDQ4LjgxMTcgMzEuMzE1OSA0OS43NzM5IDE3LjgyODFIMTE1LjAxMUMxMjEuMjQ2IDI4LjMxODYgMTI1LjI0MiA1NC4yOTQ5IDEyNS4yNDIgNzUuNzc1NEMxMjUuMjQyIDk3LjI1NTkgMTIyLjI0NSAxMTYuMjM5IDExNS4wMTEgMTQxLjIxNkgxMDAuNzY0QzEwMC43NjQgMTQxLjIxNiA5NC43NzAxIDEwMS4yNTIgOTIuMjcyMyA4Mi43NjlDOTAuOTY3OSA3My4xMTYgNTcuMDE5NyA0Ny4zNDQ1IDU0LjMwNjcgNDIuMzA1OVoiIGZpbGw9IiMxMTlERkYiLz4KPHBhdGggZD0iTTEwMy4yNjIgMTQ0LjQyNkgxMTMuMjUzQzExMy4yNTMgMTQ0LjQyNiAxMTkuODQ5IDE0Ni4wMjcgMTIzLjc0NCAxNDkuOTIxQzEyNS4yNDIgMTUxLjQyIDEyMy43NDQgMTUzLjQxOCAxMjMuNzQ0IDE1My40MThIMTAzLjI2MlYxNDQuNDI2WiIgZmlsbD0iIzUwNjc4NCIvPgo8L2c+Cjwvc3ZnPgo=\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=0cc4e620&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=0cc4e620&scoped=true&lang=css&\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuOTk5ODQgMTYuNjY2N0M2LjMyNDg0IDE2LjY2NjcgMy4zMzMxNyAxMy42NzUgMy4zMzMxNyAxMEMzLjMzMzE3IDYuMzI1MDIgNi4zMjQ4NCAzLjMzMzM1IDkuOTk5ODQgMy4zMzMzNUMxMy42NzQ4IDMuMzMzMzUgMTYuNjY2NSA2LjMyNTAyIDE2LjY2NjUgMTBDMTYuNjY2NSAxMy42NzUgMTMuNjc0OCAxNi42NjY3IDkuOTk5ODQgMTYuNjY2N1pNOS45OTk4NCAxLjY2NjY5QzguOTA1NDkgMS42NjY2OSA3LjgyMTg2IDEuODgyMjQgNi44MTA4MSAyLjMwMTAyQzUuNzk5NzYgMi43MTk4MSA0Ljg4MTEgMy4zMzM2NCA0LjEwNzI4IDQuMTA3NDZDMi41NDQ0OCA1LjY3MDI3IDEuNjY2NSA3Ljc4OTg4IDEuNjY2NSAxMEMxLjY2NjUgMTIuMjEwMiAyLjU0NDQ4IDE0LjMyOTggNC4xMDcyOCAxNS44OTI2QzQuODgxMSAxNi42NjY0IDUuNzk5NzYgMTcuMjgwMiA2LjgxMDgxIDE3LjY5OUM3LjgyMTg2IDE4LjExNzggOC45MDU0OSAxOC4zMzM0IDkuOTk5ODQgMTguMzMzNEMxMi4yMSAxOC4zMzM0IDE0LjMyOTYgMTcuNDU1NCAxNS44OTI0IDE1Ljg5MjZDMTcuNDU1MiAxNC4zMjk4IDE4LjMzMzIgMTIuMjEwMiAxOC4zMzMyIDEwQzE4LjMzMzIgOC45MDU2NyAxOC4xMTc2IDcuODIyMDQgMTcuNjk4OCA2LjgxMDk5QzE3LjI4IDUuNzk5OTUgMTYuNjY2MiA0Ljg4MTI5IDE1Ljg5MjQgNC4xMDc0NkMxNS4xMTg2IDMuMzMzNjQgMTQuMTk5OSAyLjcxOTgxIDEzLjE4ODkgMi4zMDEwMkMxMi4xNzc4IDEuODgyMjQgMTEuMDk0MiAxLjY2NjY5IDkuOTk5ODQgMS42NjY2OVoiIGZpbGw9IiNFRjU1M0IiLz4KPHJlY3QgeD0iNi4zNjc2OCIgeT0iNy41NDg1NSIgd2lkdGg9IjEuNjciIGhlaWdodD0iOC42MDM2MyIgdHJhbnNmb3JtPSJyb3RhdGUoLTQ1IDYuMzY3NjggNy41NDg1NSkiIGZpbGw9IiNFRjU1M0IiLz4KPHJlY3QgeD0iMTIuNDUxNyIgeT0iNi4zNjc3MSIgd2lkdGg9IjEuNjciIGhlaWdodD0iOC42MDM2MyIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgMTIuNDUxNyA2LjM2NzcxKSIgZmlsbD0iI0VGNTUzQiIvPgo8L3N2Zz4K\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./export.vue?vue&type=style&index=0&id=7f50cd00&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./export.vue?vue&type=style&index=0&id=7f50cd00&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pager.vue?vue&type=style&index=0&id=c74ce19a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pager.vue?vue&type=style&index=0&id=c74ce19a&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=7b856d32&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=7b856d32&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DbUploader.vue?vue&type=style&index=0&id=525b8c89&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DbUploader.vue?vue&type=style&index=0&id=525b8c89&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/file.f5540c43.png\";","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgcng9IjIuNSIgZmlsbD0iIzExOURGRiIgc3Ryb2tlPSIjMEQ3NkJGIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2QpIj4KPHBhdGggZD0iTTE1Ljc1IDUuMjVMNi43NSAxNC4yNUwyLjYyNSAxMC4xMjVMMy42ODI1IDkuMDY3NUw2Ljc1IDEyLjEyNzVMMTQuNjkyNSA0LjE5MjVMMTUuNzUgNS4yNVoiIGZpbGw9IndoaXRlIi8+CjwvZz4KPGRlZnM+CjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZCIgeD0iMC42MjUiIHk9IjMuMTkyNSIgd2lkdGg9IjE3LjEyNSIgaGVpZ2h0PSIxNC4wNTc1IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+CjxmZU9mZnNldCBkeT0iMSIvPgo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxIi8+CjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAuMTY0NzA2IDAgMCAwIDAgMC4yNDcwNTkgMCAwIDAgMCAwLjM3MjU0OSAwIDAgMCAwLjcgMCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvdyIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8L3N2Zz4K\"","import mod from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=291e46e5&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=291e46e5&scoped=true&lang=css&\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTE0IiBoZWlnaHQ9IjkwIiB2aWV3Qm94PSIwIDAgMTE0IDkwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNOTYuMzgyOCAxLjkzODk1QzkxLjQyNDQgMC4wOTI4MTQgODYuNjAyMiA1LjYyNTA1IDg1Ljg1OCAxMC42ODE2TDk3LjI4NTEgMTUuNTQ5QzEwMC4xOTQgMTAuNTg1NiAxMDEuMzQxIDMuNzg1MDggOTYuMzgyOCAxLjkzODk1WiIgZmlsbD0iI0YzQzZCRiIvPgo8cGF0aCBkPSJNODQuOTc3NSA5LjEyNDEzQzc1LjA2NTMgMzUuMjAzNSAzMC43MTc5IDQ2LjczNTkgMjEuNDEwNiAzNy43MjY1TDE0LjUzNTkgNzkuNDg1N0M2Ny43NjA3IDg2LjQ5MTIgOTEuOTI2NCA1NS40MTExIDk5LjA5NzMgMTQuNzEzOEw4NC45Nzc1IDkuMTI0MTNaIiBmaWxsPSIjQTJCMUM2Ii8+Cjwvc3ZnPgo=\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckBox.vue?vue&type=style&index=0&id=0dd86013&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckBox.vue?vue&type=style&index=0&id=0dd86013&scoped=true&lang=css&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=8b37f1a0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=8b37f1a0&scoped=true&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=4dece747&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=4dece747&scoped=true&lang=css&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewSwitcher.vue?vue&type=style&index=0&id=59806640&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewSwitcher.vue?vue&type=style&index=0&id=59806640&scoped=true&lang=css&\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./copy.vue?vue&type=style&index=0&id=9ee167fc&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./copy.vue?vue&type=style&index=0&id=9ee167fc&scoped=true&lang=css&\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rename.vue?vue&type=style&index=0&id=45e6fb96&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rename.vue?vue&type=style&index=0&id=45e6fb96&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=42183db6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=42183db6&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./hint.vue?vue&type=style&index=0&id=7fa48ff7&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./hint.vue?vue&type=style&index=0&id=7fa48ff7&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingIndicator.vue?vue&type=style&index=0&id=62096452&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingIndicator.vue?vue&type=style&index=0&id=62096452&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=style&index=0&id=59fd41a8&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=style&index=0&id=59fd41a8&scoped=true&lang=css&\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExIDlIMTNWN0gxMVY5Wk0xMiAyMEM3LjU5IDIwIDQgMTYuNDEgNCAxMkM0IDcuNTkgNy41OSA0IDEyIDRDMTYuNDEgNCAyMCA3LjU5IDIwIDEyQzIwIDE2LjQxIDE2LjQxIDIwIDEyIDIwWk0xMiAyQzEwLjY4NjggMiA5LjM4NjQyIDIuMjU4NjYgOC4xNzMxNyAyLjc2MTJDNi45NTk5MSAzLjI2Mzc1IDUuODU3NTIgNC4wMDAzNSA0LjkyODkzIDQuOTI4OTNDMy4wNTM1NyA2LjgwNDMgMiA5LjM0Nzg0IDIgMTJDMiAxNC42NTIyIDMuMDUzNTcgMTcuMTk1NyA0LjkyODkzIDE5LjA3MTFDNS44NTc1MiAxOS45OTk3IDYuOTU5OTEgMjAuNzM2MiA4LjE3MzE3IDIxLjIzODhDOS4zODY0MiAyMS43NDEzIDEwLjY4NjggMjIgMTIgMjJDMTQuNjUyMiAyMiAxNy4xOTU3IDIwLjk0NjQgMTkuMDcxMSAxOS4wNzExQzIwLjk0NjQgMTcuMTk1NyAyMiAxNC42NTIyIDIyIDEyQzIyIDEwLjY4NjggMjEuNzQxMyA5LjM4NjQyIDIxLjIzODggOC4xNzMxN0MyMC43MzYyIDYuOTU5OTEgMTkuOTk5NyA1Ljg1NzUyIDE5LjA3MTEgNC45Mjg5M0MxOC4xNDI1IDQuMDAwMzUgMTcuMDQwMSAzLjI2Mzc1IDE1LjgyNjggMi43NjEyQzE0LjYxMzYgMi4yNTg2NiAxMy4zMTMyIDIgMTIgMlYyWk0xMSAxN0gxM1YxMUgxMVYxN1oiIGZpbGw9IiNBMkIxQzYiLz4KPC9zdmc+Cg==\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./delete.vue?vue&type=style&index=0&id=2e7a19b0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./delete.vue?vue&type=style&index=0&id=2e7a19b0&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenu.vue?vue&type=style&index=0&id=74f776e4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenu.vue?vue&type=style&index=0&id=74f776e4&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./close.vue?vue&type=style&index=0&id=86f3a16c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./close.vue?vue&type=style&index=0&id=86f3a16c&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clear.vue?vue&type=style&index=0&id=69060e4e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clear.vue?vue&type=style&index=0&id=69060e4e&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/js/app.07e3c4a6.js b/js/app.42b58cb4.js similarity index 95% rename from js/app.07e3c4a6.js rename to js/app.42b58cb4.js index 147ffe1..9b275c7 100644 --- a/js/app.07e3c4a6.js +++ b/js/app.42b58cb4.js @@ -1,2 +1,2 @@ -(function(e){function t(t){for(var a,s,o=t[0],c=t[1],u=t[2],l=0,d=[];l0&&e.paneBefore.size>0}]},[100===e.after.max&&e.paneAfter.size>0?a("div",{staticClass:"toggle-btn",on:{click:function(t){return e.togglePane(e.paneBefore)}}},[a("img",{staticClass:"direction-icon",style:e.directionBeforeIconStyle,attrs:{src:i("0ca3")}})]):e._e(),100===e.before.max&&e.paneBefore.size>0?a("div",{staticClass:"toggle-btn",on:{click:function(t){return e.togglePane(e.paneAfter)}}},[a("img",{staticClass:"direction-icon",style:e.directionAfterIconStyle,attrs:{src:i("0ca3")}})]):e._e()])]),a("div",{ref:"right",staticClass:"splitpanes-pane",style:e.styles.after},[e._t("right-pane")],2)])}),I=[],h=i("5530"),D=i("ade3"),m={getCurrentMouseDrag:function(e,t){var i=t.getBoundingClientRect(),a="ontouchstart"in window&&e.touches?e.touches[0]:e,n=a.clientX,r=a.clientY;return{x:n-i.left,y:r-i.top}},getCurrentDragPercentage:function(e,t,i){var a=this.getCurrentMouseDrag(e,t);a=a[i?"y":"x"];var n=t[i?"clientHeight":"clientWidth"];return 100*a/n},calculateOffset:function(e,t){var i=t.container,a=t.isHorisontal,n=t.paneBeforeMax,r=t.paneAfterMax,s=this.getCurrentDragPercentage(e,i,a),o=n<100&&s>=n,c=r<100&&s<=100-r;return o||c?o?n:Math.max(100-r,0):Math.min(Math.max(s,0),n)}},j={name:"Splitpanes",props:{horizontal:{type:Boolean,default:!1},before:{type:Object},after:{type:Object}},data:function(){return{container:null,paneBefore:this.before,paneAfter:this.after,beforeMinimising:{before:this.before.size,after:this.after.size},dragging:!1,movableSplitter:{top:0,left:0,visibility:"hidden"}}},computed:{styles:function(){return{before:Object(D["a"])({},this.horizontal?"height":"width","".concat(this.paneBefore.size,"%")),after:Object(D["a"])({},this.horizontal?"height":"width","".concat(this.paneAfter.size,"%"))}},movableSplitterStyle:function(){var e=Object(h["a"])({},this.movableSplitter);return e.top+="%",e.left+="%",e},directionBeforeIconStyle:function(){var e=0!==this.paneBefore.size,t="translate(-50%, -50%) ",i="";return i=this.horizontal?e?"rotate(90deg)":"rotate(-90deg)":e?"rotate(0deg)":"rotate(180deg)",{transform:t+i}},directionAfterIconStyle:function(){var e=0!==this.paneAfter.size,t="translate(-50%, -50%)",i="";return i=this.horizontal?e?"rotate(-90deg)":"rotate(90deg)":e?"rotate(180deg)":"rotate(0deg)",{transform:t+i}}},methods:{bindEvents:function(){document.addEventListener("mousemove",this.onMouseMove,{passive:!1}),document.addEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.addEventListener("touchmove",this.onMouseMove,{passive:!1}),document.addEventListener("touchend",this.onMouseUp))},unbindEvents:function(){document.removeEventListener("mousemove",this.onMouseMove,{passive:!1}),document.removeEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.removeEventListener("touchmove",this.onMouseMove,{passive:!1}),document.removeEventListener("touchend",this.onMouseUp))},onMouseMove:function(e){e.preventDefault(),this.dragging=!0,this.movableSplitter.visibility="visible",this.moveSplitter(e)},onMouseUp:function(){if(this.dragging){var e=this.horizontal?this.movableSplitter.top:this.movableSplitter.left;this.paneBefore.size=e,this.paneAfter.size=100-e,this.movableSplitter={top:0,left:0,visibility:"hidden"},this.dragging=!1}this.unbindEvents()},moveSplitter:function(e){var t={container:this.container,paneBeforeMax:this.paneBefore.max,paneAfterMax:this.paneAfter.max,isHorisontal:this.horizontal},i=m.calculateOffset(e,t),a=this.horizontal?"top":"left";this.movableSplitter[a]=i},togglePane:function(e){if(e.size>0){this.beforeMinimising.before=this.paneBefore.size,this.beforeMinimising.after=this.paneAfter.size,e.size=0;var t=e===this.paneBefore?this.paneAfter:this.paneBefore;t.size=100-e.size}else this.paneBefore.size=this.beforeMinimising.before,this.paneAfter.size=this.beforeMinimising.after}},mounted:function(){this.container=this.$refs.container}},p=j,y=(i("a1f0"),Object(s["a"])(p,N,I,!1,null,null,null)),f=y.exports,v=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"schema-container"}},[i("div",{attrs:{id:"schema-filter"}},[i("text-field",{attrs:{placeholder:"Search table",width:"100%"},model:{value:e.filter,callback:function(t){e.filter=t},expression:"filter"}})],1),i("div",{attrs:{id:"db"}},[i("div",{staticClass:"db-name",on:{click:function(t){e.schemaVisible=!e.schemaVisible}}},[i("tree-chevron",{directives:[{name:"show",rawName:"v-show",value:e.schema.length>0,expression:"schema.length > 0"}],attrs:{expanded:e.schemaVisible}}),e._v(" "+e._s(e.dbName)+" ")],1),i("db-uploader",{attrs:{id:"db-edit",type:"small"}}),i("export-icon",{attrs:{tooltip:"Export database"},on:{click:e.exportToFile}}),i("add-table-icon",{on:{click:e.addCsv}})],1),i("div",{directives:[{name:"show",rawName:"v-show",value:e.schemaVisible,expression:"schemaVisible"}],staticClass:"schema"},e._l(e.schema,(function(e){return i("table-description",{key:e.name,attrs:{name:e.name,columns:e.columns}})})),1),i("csv-import",{ref:"addCsv",attrs:{file:e.file,db:e.$store.state.db,"dialog-name":"addCsv"}})],1)},z=[],T=(i("4de4"),i("b0c0"),i("ac1f"),i("5319"),i("2b3d"),{isDatabase:function(e){var t=["application/vnd.sqlite3","application/x-sqlite3"];return e.type?t.includes(e.type):/\.(db|sqlite(3)?)+$/.test(e.name)},getFileName:function(e){return e.name.replace(/\.[^.]+$/,"")},exportToFile:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"octet/stream",a=document.createElement("a"),n=new Blob([e],{type:i}),r=URL.createObjectURL(n);a.href=r,a.download=t,a.click(),URL.revokeObjectURL(r)},getFileFromUser:function(e){return new Promise((function(t){var i=document.createElement("input");i.type="file",i.accept=e,i.addEventListener("change",(function(){var e=i.files[0];t(e)})),i.click()}))},importFile:function(){var e=new FileReader;return this.getFileFromUser(".json").then((function(t){return new Promise((function(i,a){e.onload=function(e){i(e.target.result)},e.readAsText(t)}))}))},readFile:function(e){return fetch(e)},readAsArrayBuffer:function(e){var t=new FileReader;return new Promise((function(i,a){t.onerror=function(){t.abort(),a(new Error("Problem parsing input file."))},t.onload=function(){i(t.result)},t.readAsArrayBuffer(e)}))}}),b=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{staticClass:"table-name",on:{click:function(t){e.colVisible=!e.colVisible}}},[i("tree-chevron",{attrs:{expanded:e.colVisible}}),e._v(" "+e._s(e.name)+" ")],1),i("div",{directives:[{name:"show",rawName:"v-show",value:e.colVisible,expression:"colVisible"}],staticClass:"columns"},e._l(e.columns,(function(t,a){return i("div",{key:a,staticClass:"column"},[e._v(" "+e._s(t.name)+" "),i("span",{staticClass:"column-type"},[e._v(e._s(t.type))])])})),0)])},x=[],w=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("svg",{staticClass:"chevron-icon",style:{transform:e.expanded?"rotate(90deg)":"rotate(0)"},attrs:{width:"9",height:"9",viewBox:"0 0 8 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[i("path",{attrs:{d:"M0.721924 9.93097L4.85292 5.79997L0.721924 1.66897L1.99992 0.399973L7.39992 5.79997L1.99992 11.2L0.721924 9.93097Z",fill:e.expanded?"#506784":"rgba(80, 103, 132, 0.5)"}})])},C=[],A={name:"treeChevron",props:{expanded:{type:Boolean,required:!0}}},O=A,L=(i("2edc"),Object(s["a"])(O,w,C,!1,null,"bfc135e8",null)),E=L.exports,k={name:"TableDescription",components:{TreeChevron:E},props:["name","columns"],data:function(){return{colVisible:!1}}},Q=k,S=(i("167e"),Object(s["a"])(Q,b,x,!1,null,"a166000a",null)),Y=S.exports,U=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[e.label?i("div",{class:["text-field-label",{error:e.errorMsg},{disabled:e.disabled}]},[e._v(" "+e._s(e.label)+" "),e.hint?i("hint-icon",{staticClass:"hint",attrs:{hint:e.hint,"max-width":e.maxHintWidth||"149px"}}):e._e()],1):e._e(),i("input",{class:{error:e.errorMsg},style:{width:e.width},attrs:{type:"text",placeholder:e.placeholder,disabled:e.disabled},domProps:{value:e.value},on:{input:function(t){return e.$emit("input",t.target.value)}}}),i("div",{directives:[{name:"show",rawName:"v-show",value:e.errorMsg,expression:"errorMsg"}],staticClass:"text-field-error"},[e._v(e._s(e.errorMsg))])])},Z=[],P=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("svg",{staticClass:"hint-icon",attrs:{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("path",{attrs:{d:"M8.75 14.1666H10.4167V12.5H8.75V14.1666ZM9.58333 16.25C5.90833 16.25 2.91667 13.2583 2.91667 9.58333C2.91667 5.90833 5.90833 2.91667 9.58333 2.91667C13.2583 2.91667 16.25 5.90833 16.25 9.58333C16.25 13.2583 13.2583 16.25 9.58333 16.25ZM9.58333 1.25C8.48898 1.25 7.40535 1.46555 6.3943 1.88434C5.38326 2.30313 4.4646 2.91696 3.69078 3.69078C2.12797 5.25358 1.25 7.3732 1.25 9.58333C1.25 11.7935 2.12797 13.9131 3.69078 15.4759C4.4646 16.2497 5.38326 16.8635 6.3943 17.2823C7.40535 17.7011 8.48898 17.9167 9.58333 17.9167C11.7935 17.9167 13.9131 17.0387 15.4759 15.4759C17.0387 13.9131 17.9167 11.7935 17.9167 9.58333C17.9167 8.48898 17.7011 7.40535 17.2823 6.3943C16.8635 5.38326 16.2497 4.4646 15.4759 3.69078C14.7021 2.91696 13.7834 2.30313 12.7724 1.88434C11.7613 1.46555 10.6777 1.25 9.58333 1.25Z",fill:"#A2B1C6"}}),i("path",{attrs:{d:"M9.91601 4.51787C8.98167 4.42606 8.05144 4.69097 7.36309 5.24472C6.68735 5.78828 6.2998 6.56661 6.2998 7.38012H7.92488C7.92488 6.97463 8.11059 6.60187 8.44779 6.33061C8.79784 6.049 9.25647 5.92005 9.73896 5.96755C10.4832 6.04076 11.0828 6.57277 11.1647 7.23265C11.2306 7.764 10.9661 8.28194 10.4744 8.58426C9.38676 9.25303 8.73742 10.343 8.73742 11.5H10.3625C10.3625 10.8243 10.7477 10.184 11.3929 9.78733C12.3808 9.17985 12.9122 8.13913 12.7798 7.07124C12.6144 5.73863 11.41 4.66476 9.91601 4.51787Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:Object.assign({},e.tooltipStyle,{maxWidth:e.maxWidth})},[e._v(" "+e._s(e.hint)+" ")])])},_=[],G={data:function(){return{tooltipStyle:{visibility:"hidden"}}},methods:{showTooltip:function(e){this.tooltipStyle.top=e.clientY-12+"px",this.tooltipStyle.left=e.clientX+12+"px",this.tooltipStyle.visibility="visible"},hideTooltip:function(){this.tooltipStyle.visibility="hidden"}}},R={name:"HintIcon",props:["hint","maxWidth"],mixins:[G]},V=R,B=(i("d763"),Object(s["a"])(V,P,_,!1,null,"7fa48ff7",null)),H=B.exports,W={name:"textField",props:["placeholder","label","errorMsg","value","width","hint","maxHintWidth","disabled"],components:{HintIcon:H}},$=W,q=(i("daef"),Object(s["a"])($,U,Z,!1,null,"59fd41a8",null)),J=q.exports,F=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"db-uploader-container",style:{width:e.width}},["small"===e.type?a("change-db-icon",{nativeOn:{click:function(t){return e.browse(t)}}}):e._e(),"illustrated"===e.type?a("div",{staticClass:"drop-area-container"},[a("div",{staticClass:"drop-area",on:{dragover:function(t){t.preventDefault(),e.state="dragover"},dragleave:function(t){t.preventDefault(),e.state=""},drop:function(t){return t.preventDefault(),e.drop(t)},click:e.browse}},[a("div",{staticClass:"text"},[e._v(" Drop the database or CSV file here or click to choose a file from your computer. ")])])]):e._e(),"illustrated"===e.type?a("div",{attrs:{id:"img-container"}},[a("img",{attrs:{id:"drop-file-top-img",src:i("3a016")}}),a("img",{class:{swing:"dragover"===e.state},attrs:{id:"left-arm-img",src:i("9bf4")}}),a("img",{ref:"fileImg",class:{swing:"dragover"===e.state,fly:"dropping"===e.state,hidden:"dropped"===e.state},attrs:{id:"file-img",src:i("87d4")}}),a("img",{attrs:{id:"drop-file-bottom-img",src:i("6a0b")}}),a("img",{attrs:{id:"body-img",src:i("1678")}}),a("img",{class:{swing:"dragover"===e.state},attrs:{id:"right-arm-img",src:i("2335")}})]):e._e(),a("div",{staticClass:"error",attrs:{id:"error"}}),a("csv-import",{ref:"addCsv",attrs:{file:e.file,db:e.newDb,"dialog-name":"importFromCsv"},on:{cancel:e.cancelCsvImport,finish:e.finish}})],1)},X=[],K=(i("2ca0"),function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("svg",{staticClass:"db-edit-icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("path",{attrs:{d:"M3 10.5V12.75C3 14.25 5.2875 15.54 8.25 15.75V13.5825L8.3475 13.5C5.34 13.32 3 12.045 3 10.5ZM9 9.75C5.685 9.75 3 8.4075 3 6.75V9C3 10.6575 5.685 12 9 12C9.2925 12 9.5775 12 9.87 12L12.75 9.09C11.55 9.54 10.2825 9.75 9 9.75ZM9 2.25C5.685 2.25 3 3.5925 3 5.25C3 6.9075 5.685 8.25 9 8.25C12.315 8.25 15 6.9075 15 5.25C15 3.5925 12.315 2.25 9 2.25ZM15.75 8.3475C15.6375 8.3475 15.5325 8.3925 15.4575 8.475L14.7075 9.225L16.245 10.725L16.995 9.975C17.1525 9.825 17.16 9.57 16.995 9.3975L16.065 8.475C15.99 8.3925 15.885 8.3475 15.78 8.3475H15.75ZM14.28 9.66L9.75 14.205V15.75H11.295L15.84 11.1975L14.28 9.66Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Load another database or CSV ")])])}),ee=[],te={name:"changeDbIcon",mixins:[G]},ie=te,ae=(i("493f"),Object(s["a"])(ie,K,ee,!1,null,"cc62bccc",null)),ne=ae.exports,re=i("d4ec"),se=i("bee2"),oe=(i("159b"),i("53ca")),ce=(i("fb6a"),i("d81d"),i("99af"),i("6283")),ue=i.n(ce),le={generateChunks:regeneratorRuntime.mark((function e(t,i){var a,n,r,s;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:a=Math.ceil(t.length/i),n=0;case 2:if(!(n<=a-1)){e.next=10;break}return r=i*n,s=r+i,e.next=7,t.slice(r,s);case 7:n++,e.next=2;break;case 10:case"end":return e.stop()}}),e)})),getInsertStmt:function(e,t){var i='"'.concat(t.join('", "'),'"'),a=t.map((function(){return"?"})).join(", ");return'INSERT INTO "'.concat(e,'" (').concat(i,") VALUES (").concat(a,");")},getCreateStatement:function(e,t,i){var a='CREATE table "'.concat(e,'"(');return t.forEach((function(e,t){var n=i[0][t],r="";switch(Object(oe["a"])(n)){case"number":r="REAL";break;case"boolean":r="INTEGER";break;case"string":r="TEXT";break;default:r="TEXT"}a+='"'.concat(e,'" ').concat(r,", ")})),a=a.replace(/,\s$/,");"),a},getAst:function(e){var t=e.replace(/(tokenize=[^,]+)"tokenchars=.+?"/,"$1").replace(/(tokenize=[^,]+)"remove_diacritics=.+?"/,"$1").replace(/(tokenize=[^,]+)"separators=.+?"/,"$1").replace(/tokenize=.+?(,|\))/,"tokenize=unicode61$1");return ue()(t)},getColumns:function(e){var t=[],i=this.getAst(e),a="table"===i.statement[0].format?i.statement[0].definition:i.statement[0].result.args.expression;return a.forEach((function(e){if("column"===e.variant&&["identifier","definition"].includes(e.type)){var i=e.datatype?e.datatype.variant:"N/A";e.datatype&&e.datatype.args&&(i=i+"("+e.datatype.args.expression[0].value,2===e.datatype.args.expression.length&&(i=i+", "+e.datatype.args.expression[1].value),i+=")"),t.push({name:e.name,type:i})}})),t}};function Me(){return new Worker(i.p+"js/_worker.8030f477.worker.js")}var de=i("ebb0"),ge=i.n(de);function Ne(){var e=new Me;return new De(e)}var Ie={getNewDatabase:Ne},he=0,De=function(){function e(t){var i=this;Object(re["a"])(this,e),this.dbName=null,this.schema=null,this.worker=t,this.pw=new ge.a(t),this.importProgresses={},t.addEventListener("message",(function(e){var t=e.data.progress;if(void 0!==t){var a=e.data.id;i.importProgresses[a].dispatchEvent(new CustomEvent("progress",{detail:t}))}}))}return Object(se["a"])(e,[{key:"shutDown",value:function(){this.worker.terminate()}},{key:"createProgressCounter",value:function(e){var t=he++;return this.importProgresses[t]=new EventTarget,this.importProgresses[t].addEventListener("progress",(function(t){e(t.detail)})),t}},{key:"deleteProgressCounter",value:function(e){delete this.importProgresses[e]}},{key:"addTableFromCsv",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t,i,a){var n;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.pw.postMessage({action:"import",columns:i.columns,values:i.values,progressCounterId:a,tabName:t});case 2:if(n=e.sent,!n.error){e.next=5;break}throw new Error(n.error);case 5:this.dbName=this.dbName||"database",this.refreshSchema();case 7:case"end":return e.stop()}}),e,this)})));function t(t,i,a){return e.apply(this,arguments)}return t}()},{key:"loadDb",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t){var i,a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!t){e.next=6;break}return e.next=3,T.readAsArrayBuffer(t);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=null;case 7:return i=e.t0,e.next=10,this.pw.postMessage({action:"open",buffer:i});case 10:if(a=e.sent,!a.error){e.next=13;break}throw new Error(a.error);case 13:this.dbName=t?T.getFileName(t):"database",this.refreshSchema();case 15:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"refreshSchema",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(){var t,i,a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return t="\n SELECT name, sql\n FROM sqlite_master\n WHERE type='table' AND name NOT LIKE 'sqlite_%';\n ",e.next=3,this.execute(t);case 3:i=e.sent,a=[],i&&i.values&&i.values.forEach((function(e){a.push({name:e[0],columns:le.getColumns(e[1])})})),this.schema=a;case 7:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"execute",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t){var i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.pw.postMessage({action:"reopen"});case 2:return e.next=4,this.pw.postMessage({action:"exec",sql:t});case 4:if(i=e.sent,!i.error){e.next=7;break}throw new Error(i.error);case 7:return e.abrupt("return",i[i.length-1]);case 8:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"export",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t){var i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.pw.postMessage({action:"export"});case 2:if(i=e.sent,!i.error){e.next=5;break}throw new Error(i.error);case 5:T.exportToFile(i,t);case 6:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"validateTableName",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!t.startsWith("sqlite_")){e.next=2;break}throw new Error("Table name can't start with sqlite_");case 2:if(!/[^\w]/.test(t)){e.next=4;break}throw new Error("Table name can contain only letters, digits and underscores");case 4:if(!/^(\d)/.test(t)){e.next=6;break}throw new Error("Table name can't start with a digit");case 6:return e.next=8,this.execute('BEGIN; CREATE TABLE "'.concat(t,'"(id); ROLLBACK;'));case 8:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"sanitizeTableName",value:function(e){return e.replace(/[^\w]/g,"_").replace(/^(\d)/,"_$1").replace(/_{2,}/g,"_")}}]),e}(),me=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("modal",{attrs:{name:e.dialogName,classes:"dialog",height:"auto",width:"80%",scrollable:"",clickToClose:!1}},[i("div",{staticClass:"dialog-header"},[e._v(" CSV import "),i("close-icon",{attrs:{disabled:e.disableDialog},on:{click:e.cancelCsvImport}})],1),i("div",{staticClass:"dialog-body"},[i("text-field",{attrs:{label:"Table name",width:"484px",disabled:e.disableDialog,"error-msg":e.tableNameError,id:"csv-table-name"},model:{value:e.tableName,callback:function(t){e.tableName=t},expression:"tableName"}}),i("div",{staticClass:"chars"},[i("delimiter-selector",{staticClass:"char-input",attrs:{width:"210px",disabled:e.disableDialog},on:{input:e.previewCsv},model:{value:e.delimiter,callback:function(t){e.delimiter=t},expression:"delimiter"}}),i("text-field",{staticClass:"char-input",attrs:{label:"Quote char",hint:"The character used to quote fields.",width:"93px",disabled:e.disableDialog,id:"quote-char"},model:{value:e.quoteChar,callback:function(t){e.quoteChar=t},expression:"quoteChar"}}),i("text-field",{staticClass:"char-input",attrs:{label:"Escape char",hint:'The character used to escape the quote character within a field (e.g. "column with ""quotes"" in text").',"max-hint-width":"242px",width:"93px",disabled:e.disableDialog,id:"escape-char"},model:{value:e.escapeChar,callback:function(t){e.escapeChar=t},expression:"escapeChar"}})],1),i("check-box",{attrs:{init:!0,label:"Use first row as column headers",disabled:e.disableDialog},on:{click:function(t){e.header=t}}}),e.previewData&&(e.previewData.values.length>0||e.previewData.columns.length>0)?i("sql-table",{staticClass:"preview-table",attrs:{"data-set":e.previewData,height:"160",preview:!0}}):i("div",{staticClass:"no-data"},[e._v("No data")]),i("logs",{staticClass:"import-csv-errors",attrs:{messages:e.importCsvMessages}})],1),i("div",{staticClass:"dialog-buttons-container"},[i("button",{staticClass:"secondary",attrs:{disabled:e.disableDialog,id:"csv-cancel"},on:{click:e.cancelCsvImport}},[e._v(" Cancel ")]),i("button",{directives:[{name:"show",rawName:"v-show",value:!e.importCsvCompleted,expression:"!importCsvCompleted"}],staticClass:"primary",attrs:{disabled:e.disableDialog,id:"csv-import"},on:{click:function(t){return e.loadFromCsv(e.file)}}},[e._v(" Import ")]),i("button",{directives:[{name:"show",rawName:"v-show",value:e.importCsvCompleted,expression:"importCsvCompleted"}],staticClass:"primary",attrs:{disabled:e.disableDialog,id:"csv-finish"},on:{click:e.finish}},[e._v(" Finish ")])])])},je=[],pe=(i("498a"),i("369b")),ye=i.n(pe),fe={MissingQuotes:"Edit your CSV so that the field has a closing quote char.",TooFewFields:"Add fields or try another delimiter.",TooManyFields:"Edit your CSV or try another delimiter."},ve={getResult:function(e){var t={};if(e.meta.fields)t.columns=e.meta.fields.map((function(e){return e.trim()})),t.values=e.data.map((function(t){var i=[];return e.meta.fields.forEach((function(e){var a=t[e];a instanceof Date&&(a=a.toISOString()),i.push(a)})),i}));else{t.values=e.data,t.columns=[];for(var i=1;i<=e.data[0].length;i++)t.columns.push("col".concat(i))}return t},parse:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(a,n){var r={delimiter:"",newline:"",quoteChar:'"',escapeChar:'"',header:!1,transformHeader:void 0,dynamicTyping:!0,preview:0,encoding:"UTF-8",worker:!0,comments:!1,step:void 0,complete:function(e){var i={data:t.getResult(e),delimiter:e.meta.delimiter,hasErrors:!1};i.messages=e.errors.map((function(e){return e.type="UndetectableDelimiter"===e.code?"info":"error","error"===e.type&&(i.hasErrors=!0),e.hint=fe[e.code],e})),a(i)},error:function(e,t){n(e)},download:!1,downloadRequestHeaders:void 0,downloadRequestBody:void 0,skipEmptyLines:"greedy",chunk:void 0,chunkSize:void 0,fastMode:void 0,beforeFirstChunk:void 0,withCredentials:void 0,transform:void 0,delimitersToGuess:[",","\t","|",";",ye.a.RECORD_SEP,ye.a.UNIT_SEP]};ye.a.parse(e,Object(h["a"])(Object(h["a"])({},r),i))}))}},ze=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("svg",{class:["icon",{disabled:e.disabled}],attrs:{width:e.size,height:e.size,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")}}},[i("path",{attrs:{d:"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z",fill:"#A2B1C6"}})])},Te=[],be=(i("a9e3"),{name:"CloseIcon",props:{size:{type:Number,required:!1,default:14},disabled:{type:Boolean,required:!1,default:!1}}}),xe=be,we=(i("f4da"),Object(s["a"])(xe,ze,Te,!1,null,"86f3a16c",null)),Ce=we.exports,Ae=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{class:{disabled:e.disabled}},[i("div",{staticClass:"text-field-label"},[e._v("Delimiter")]),i("div",{staticClass:"delimiter-selector-container",style:{width:e.width},on:{click:e.onContainerClick}},[i("div",{staticClass:"value"},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.inputValue,expression:"inputValue"}],ref:"delimiterInput",class:{filled:e.filled},attrs:{type:"text",maxlength:"1",disabled:e.disabled},domProps:{value:e.inputValue},on:{click:function(e){e.stopPropagation()},input:function(t){t.target.composing||(e.inputValue=t.target.value)}}}),i("div",{staticClass:"name"},[e._v(e._s(e.getSymbolName(e.value)))])]),i("div",{staticClass:"controls",on:{click:function(e){e.stopPropagation()}}},[i("clear-icon",{attrs:{disabled:e.disabled},nativeOn:{click:function(t){return e.clear(t)}}}),i("drop-down-chevron",{attrs:{disabled:e.disabled},nativeOn:{click:function(t){!e.disabled&&(e.showOptions=!e.showOptions)}}})],1)]),i("div",{directives:[{name:"show",rawName:"v-show",value:e.showOptions,expression:"showOptions"}],staticClass:"options",style:{width:e.width}},e._l(e.options,(function(t,a){return i("div",{key:a,staticClass:"option",on:{click:function(i){return e.chooseOption(t)}}},[i("pre",[e._v(e._s(t))]),i("div",[e._v(e._s(e.getSymbolName(t)))])])})),0)])},Oe=[],Le=(i("25f0"),{0:{name:"null character"},1:{name:"start of header"},2:{name:"start of text"},3:{name:"end of text"},4:{name:"end of transmission"},5:{name:"enquiry"},6:{name:"acknowledge"},7:{name:"bell (ring)"},8:{name:"backspace"},9:{name:"horizontal tab"},10:{name:"line feed"},11:{name:"vertical tab"},12:{name:"form feed"},13:{name:"carriage return"},14:{name:"shift out"},15:{name:"shift in"},16:{name:"data link escape"},17:{name:"device control 1"},18:{name:"device control 2"},19:{name:"device control 3"},20:{name:"device control 4"},21:{name:"negative acknowledge"},22:{name:"synchronize"},23:{name:"end transmission block"},24:{name:"cancel"},25:{name:"end of medium"},26:{name:"substitute"},27:{name:"escape"},28:{name:"file separator"},29:{name:"group separator"},30:{name:"record separator"},31:{name:"unit separator"},32:{name:"space"},33:{name:"exclamation mark"},34:{name:"quotation mark"},35:{name:"number sign"},36:{name:"dollar sign"},37:{name:"percent sign"},38:{name:"ampersand"},39:{name:"apostrophe"},40:{name:"left parenthesis"},41:{name:"right parenthesis"},42:{name:"asterisk"},43:{name:"plus sign"},44:{name:"comma"},45:{name:"hyphen"},46:{name:"period"},47:{name:"slash"},48:{name:"digit 0"},49:{name:"digit 1"},50:{name:"digit 2"},51:{name:"digit 3"},52:{name:"digit 4"},53:{name:"digit 5"},54:{name:"digit 6"},55:{name:"digit 7"},56:{name:"digit 8"},57:{name:"digit 9"},58:{name:"colon"},59:{name:"semicolon"},60:{name:"less-than"},61:{name:"equals-to"},62:{name:"greater-than"},63:{name:"question mark"},64:{name:"at sign"},65:{name:"uppercase A"},66:{name:"uppercase B"},67:{name:"uppercase C"},68:{name:"uppercase D"},69:{name:"uppercase E"},70:{name:"uppercase F"},71:{name:"uppercase G"},72:{name:"uppercase H"},73:{name:"uppercase I"},74:{name:"uppercase J"},75:{name:"uppercase K"},76:{name:"uppercase L"},77:{name:"uppercase M"},78:{name:"uppercase N"},79:{name:"uppercase O"},80:{name:"uppercase P"},81:{name:"uppercase Q"},82:{name:"uppercase R"},83:{name:"uppercase S"},84:{name:"uppercase T"},85:{name:"uppercase U"},86:{name:"uppercase V"},87:{name:"uppercase W"},88:{name:"uppercase X"},89:{name:"uppercase Y"},90:{name:"uppercase Z"},91:{name:"left square bracket"},92:{name:"backslash"},93:{name:"right square bracket"},94:{name:"caret"},95:{name:"underscore"},96:{name:"grave accent"},97:{name:"lowercase a"},98:{name:"lowercase b"},99:{name:"lowercase c"},100:{name:"lowercase d"},101:{name:"lowercase e"},102:{name:"lowercase f"},103:{name:"lowercase g"},104:{name:"lowercase h"},105:{name:"lowercase i"},106:{name:"lowercase j"},107:{name:"lowercase k"},108:{name:"lowercase l"},109:{name:"lowercase m"},110:{name:"lowercase n"},111:{name:"lowercase o"},112:{name:"lowercase p"},113:{name:"lowercase q"},114:{name:"lowercase r"},115:{name:"lowercase s"},116:{name:"lowercase t"},117:{name:"lowercase u"},118:{name:"lowercase v"},119:{name:"lowercase w"},120:{name:"lowercase x"},121:{name:"lowercase y"},122:{name:"lowercase z"},123:{name:"left curly brace"},124:{name:"vertical bar"},125:{name:"right curly brace"},126:{name:"tilde"},127:{name:"delete (rubout)"}}),Ee=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("svg",{class:["chevron-icon",{disabled:e.disabled}],attrs:{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[i("path",{attrs:{d:"M6.175 7.15002L10 10.975L13.825 7.15002L15 8.33336L10 13.3334L5 8.33336L6.175 7.15002Z",fill:"#C8D4E3"}})])},ke=[],Qe={name:"DropDownChevron",props:["disabled"]},Se=Qe,Ye=(i("493e"),Object(s["a"])(Se,Ee,ke,!1,null,"29bdb7bf",null)),Ue=Ye.exports,Ze=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("svg",{class:["clear-icon",{disabled:e.disabled}],attrs:{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[i("path",{attrs:{d:"M14.3481 14.849C13.8791 15.318 13.1191 15.318 12.6511 14.849L10.0001 11.819L7.34907 14.848C6.88007 15.317 6.12007 15.317 5.65207 14.848C5.18307 14.379 5.18307 13.619 5.65207 13.151L8.41007 10.001L5.65107 6.84898C5.18207 6.37998 5.18207 5.62098 5.65107 5.15198C6.12007 4.68298 6.87907 4.68298 7.34807 5.15198L10.0001 8.18298L12.6511 5.15198C13.1201 4.68298 13.8791 4.68298 14.3481 5.15198C14.8171 5.62098 14.8171 6.38098 14.3481 6.84898L11.5901 10.001L14.3481 13.151C14.8171 13.62 14.8171 14.38 14.3481 14.849V14.849Z",fill:"#C8D4E3"}})])},Pe=[],_e={name:"ClearIcon",props:["disabled"]},Ge=_e,Re=(i("f7a6"),Object(s["a"])(Ge,Ze,Pe,!1,null,"69060e4e",null)),Ve=Re.exports,Be={name:"DelimiterSelector",props:["value","width","disabled"],components:{DropDownChevron:Ue,ClearIcon:Ve},data:function(){return{showOptions:!1,options:[",","\t"," ","|",";","",""],filled:!1,inputValue:""}},watch:{inputValue:function(){this.inputValue?(this.filled=!0,this.inputValue!==this.value&&this.$emit("input",this.inputValue)):this.filled=!1}},created:function(){this.inputValue=this.value},methods:{getSymbolName:function(e){return e?Le[e.charCodeAt(0).toString()].name:""},chooseOption:function(e){this.inputValue=e,this.showOptions=!1},onContainerClick:function(e){this.$refs.delimiterInput.focus()},clear:function(){this.disabled||(this.inputValue="",this.$refs.delimiterInput.focus())}}},He=Be,We=(i("28f9"),Object(s["a"])(He,Ae,Oe,!1,null,"44b0b048",null)),$e=We.exports,qe=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:["checkbox-container",{checked:e.checked},{disabled:e.disabled}],on:{click:function(t){return t.stopPropagation(),e.onClick(t)}}},[a("div",{directives:[{name:"show",rawName:"v-show",value:!e.checked,expression:"!checked"}],staticClass:"unchecked"}),a("img",{directives:[{name:"show",rawName:"v-show",value:e.checked&&!e.disabled,expression:"checked && !disabled"}],attrs:{src:"light"===e.theme?i("69e6"):i("93dd")}}),a("img",{directives:[{name:"show",rawName:"v-show",value:e.checked&&e.disabled,expression:"checked && disabled"}],attrs:{src:i("3d10")}}),e.label?a("span",{staticClass:"label"},[e._v(e._s(e.label))]):e._e()])},Je=[],Fe={name:"CheckBox",props:{theme:{type:String,required:!1,default:"accent",validator:function(e){return["accent","light"].includes(e)}},init:{type:Boolean,required:!1,default:!1},label:{type:String,required:!1,default:""},disabled:{type:Boolean,required:!1,default:!1}},data:function(){return{checked:this.init}},methods:{onClick:function(){this.disabled||(this.checked=!this.checked,this.$emit("click",this.checked))}}},Xe=Fe,Ke=(i("a96d"),Object(s["a"])(Xe,qe,Je,!1,null,"0dd86013",null)),et=Ke.exports,tt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{staticClass:"rounded-bg"},[i("div",{ref:"header-container",staticClass:"header-container"},[i("div",e._l(e.header,(function(t,a){return i("div",{key:a,staticClass:"fixed-header",style:{width:t.width+"px"}},[e._v(" "+e._s(t.name)+" ")])})),0)]),i("div",{ref:"table-container",staticClass:"table-container",style:{maxHeight:e.height+"px"},on:{scroll:e.onScrollTable}},[i("table",{ref:"table"},[i("thead",[i("tr",e._l(e.dataSet.columns,(function(t,a){return i("th",{key:a,ref:"th",refInFor:!0},[i("div",{staticClass:"cell-data",style:e.cellStyle},[e._v(e._s(t))])])})),0)]),i("tbody",e._l(e.currentPageData,(function(t,a){return i("tr",{key:a},e._l(t,(function(t,a){return i("td",{key:a},[i("div",{staticClass:"cell-data",style:e.cellStyle},[e._v(e._s(t))])])})),0)})),0)])])]),i("div",{staticClass:"table-footer"},[i("div",{staticClass:"table-footer-count"},[e._v(" "+e._s(e.dataSet.values.length)+" "+e._s(1===e.dataSet.values.length?"row":"rows")+" retrieved "),e.preview?i("span",[e._v("for preview")]):e._e(),e.time?i("span",[e._v("in "+e._s(e.time))]):e._e()]),i("pager",{directives:[{name:"show",rawName:"v-show",value:e.pageCount>1,expression:"pageCount > 1"}],attrs:{"page-count":e.pageCount},model:{value:e.currentPage,callback:function(t){e.currentPage=t},expression:"currentPage"}})],1)])},it=[],at=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("paginate",{attrs:{"page-count":e.pageCount,"page-range":5,"margin-pages":1,"prev-text":e.chevron,"next-text":e.chevron,"no-li-surround":!0,"container-class":"paginator-continer","page-link-class":"paginator-page-link","active-class":"paginator-active-page","break-view-link-class":"paginator-break","next-link-class":"paginator-next","prev-link-class":"paginator-prev","disabled-class":"paginator-disabled"},model:{value:e.page,callback:function(t){e.page=t},expression:"page"}})},nt=[],rt=i("8832"),st=i.n(rt),ot={name:"Pager",components:{Paginate:st.a},props:["pageCount","value"],data:function(){return{page:this.value,chevron:'\n \n \n \n '}},watch:{page:function(){this.$emit("input",this.page)},value:function(){this.page=this.value}}},ct=ot,ut=(i("7e41"),Object(s["a"])(ct,at,nt,!1,null,"c74ce19a",null)),lt=ut.exports,Mt={name:"SqlTable",components:{Pager:lt},props:["dataSet","time","height","preview"],data:function(){return{header:null,tableWidth:null,currentPage:1,resizeObserver:null}},computed:{cellStyle:function(){var e=this.tableWidth/this.dataSet.columns.length;return{maxWidth:"".concat(Math.max(e,100),"px")}},pageSize:function(){return Math.max(Math.floor(this.height/40),20)},pageCount:function(){return Math.ceil(this.dataSet.values.length/this.pageSize)},currentPageData:function(){var e=(this.currentPage-1)*this.pageSize;return this.dataSet.values.slice(e,e+this.pageSize)}},methods:{calculateHeadersWidth:function(){var e=this;this.tableWidth=this.$refs["table-container"].offsetWidth,this.$nextTick((function(){e.header=e.$refs.th.map((function(e){return{name:e.innerText,width:e.getBoundingClientRect().width}}))}))},onScrollTable:function(){this.$refs["header-container"].scrollLeft=this.$refs["table-container"].scrollLeft}},mounted:function(){this.resizeObserver=new ResizeObserver(this.calculateHeadersWidth),this.resizeObserver.observe(this.$refs.table),this.calculateHeadersWidth()},beforeDestroy:function(){this.resizeObserver.unobserve(this.$refs.table)},watch:{currentPageData:"calculateHeadersWidth",dataSet:function(){this.currentPage=1}}},dt=Mt,gt=Object(s["a"])(dt,tt,it,!1,null,"778e321f",null),Nt=gt.exports,It=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{ref:"logsContainer",staticClass:"logs-container"},e._l(e.messages,(function(t,n){return a("div",{key:n,staticClass:"msg"},["error"===t.type?a("img",{attrs:{src:i("7314")}}):e._e(),"info"===t.type?a("img",{attrs:{src:i("db39"),width:"20px"}}):e._e(),"success"===t.type?a("img",{attrs:{src:i("0bf4")}}):e._e(),"loading"===t.type?a("loading-indicator",{attrs:{progress:t.progress}}):e._e(),a("span",{staticClass:"msg-text"},[e._v(e._s(e.serializeMessage(t)))])],1)})),0)},ht=[],Dt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("svg",{class:e.animationClass,attrs:{height:e.size,width:e.size,viewBox:"0 0 "+e.size+" "+e.size}},[i("circle",{staticClass:"loader-svg bg",style:{strokeWidth:e.strokeWidth},attrs:{cx:e.size/2,cy:e.size/2,r:e.radius}}),i("circle",{staticClass:"loader-svg front",style:{strokeDasharray:e.circleProgress,strokeDashoffset:e.offset,strokeWidth:e.strokeWidth},attrs:{cx:e.size/2,cy:e.size/2,r:e.radius}})])},mt=[],jt={name:"LoadingIndicator",props:{progress:{type:Number,required:!1},size:{type:Number,required:!1,default:20}},computed:{circleProgress:function(){var e=3.14*this.radius*2,t=this.progress?e*this.progress/100:1*e/3,i=e-t;return"".concat(t,"px, ").concat(i,"px")},animationClass:function(){return void 0===this.progress?"loading":"progress"},radius:function(){return this.size/2-this.strokeWidth},offset:function(){return 3.14*this.radius/2},strokeWidth:function(){return this.size/10}}},pt=jt,yt=(i("d9ad"),Object(s["a"])(pt,Dt,mt,!1,null,"62096452",null)),ft=yt.exports,vt={name:"logs",props:["messages"],components:{LoadingIndicator:ft},watch:{"messages.length":"scrollToBottom"},mounted:function(){this.scrollToBottom()},methods:{scrollToBottom:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(i=e.$refs.logsContainer,!i){t.next=5;break}return t.next=4,e.$nextTick();case 4:i.scrollTop=i.scrollHeight;case 5:case"end":return t.stop()}}),t)})))()},serializeMessage:function(e){var t="";return null!==e.row&&void 0!==e.row&&("error"===e.type?t+="Error in row ".concat(e.row,". "):t+="Information about row ".concat(e.row,". ")),t+=e.message,/(\.|!|\?)$/.test(t)||(t+="."),e.hint&&(t+=" ".concat(e.hint)),t}}},zt=vt,Tt=(i("0582"),Object(s["a"])(zt,It,ht,!1,null,"1c9f27dc",null)),bt=Tt.exports,xt=(i("b680"),{getPeriod:function(e,t){var i=t.getTime()-e.getTime(),a=i/1e3;return a.toFixed(3)+"s"},debounce:function(e,t){var i;return function(){var a=arguments,n=this;clearTimeout(i),i=setTimeout((function(){return e.apply(n,a)}),t)}}}),wt={name:"CsvImport",components:{CloseIcon:Ce,TextField:J,DelimiterSelector:$e,CheckBox:et,SqlTable:Nt,Logs:bt},props:["file","db","dialogName"],data:function(){return{disableDialog:!1,tableName:"",delimiter:"",quoteChar:'"',escapeChar:'"',header:!0,importCsvCompleted:!1,importCsvMessages:[],previewData:null,addedTable:null,tableNameError:""}},watch:{quoteChar:function(){this.previewCsv()},escapeChar:function(){this.previewCsv()},header:function(){this.previewCsv()},tableName:xt.debounce((function(){var e=this;this.tableNameError="",this.tableName&&this.db.validateTableName(this.tableName).catch((function(t){e.tableNameError=t.message+". Try another table name."}))}),400)},methods:{cancelCsvImport:function(){this.disableDialog||(this.addedTable&&(this.db.execute('DROP TABLE "'.concat(this.addedTable,'"')),this.db.refreshSchema()),this.$modal.hide(this.dialogName),this.$emit("cancel"))},reset:function(){this.header=!0,this.quoteChar='"',this.escapeChar='"',this.delimiter="",this.tableName="",this.disableDialog=!1,this.importCsvCompleted=!1,this.importCsvMessages=[],this.previewData=null,this.addedTable=null,this.tableNameError=""},open:function(){this.tableName=this.db.sanitizeTableName(T.getFileName(this.file)),this.$modal.show(this.dialogName)},previewCsv:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i,a,n,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.importCsvCompleted=!1,i={preview:3,quoteChar:e.quoteChar||'"',escapeChar:e.escapeChar,header:e.header,delimiter:e.delimiter},t.prev=2,a=new Date,t.next=6,ve.parse(e.file,i);case 6:n=t.sent,r=new Date,e.previewData=n.data,e.delimiter=n.delimiter,e.importCsvMessages=n.messages||[],n.hasErrors||e.importCsvMessages.push({message:"Preview parsing is completed in ".concat(xt.getPeriod(a,r),"."),type:"success"}),t.next=17;break;case 14:t.prev=14,t.t0=t["catch"](2),e.importCsvMessages=[{message:t.t0,type:"error"}];case 17:case"end":return t.stop()}}),t,null,[[2,14]])})))()},loadFromCsv:function(e){var t=this;return Object(l["a"])(regeneratorRuntime.mark((function e(){var i,a,n,r,s,o,c,u,l,M,d,g;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(t.tableName){e.next=3;break}return t.tableNameError="Table name can't be empty",e.abrupt("return");case 3:return t.disableDialog=!0,i={quoteChar:t.quoteChar||'"',escapeChar:t.escapeChar,header:t.header,delimiter:t.delimiter},a={message:"Parsing CSV...",type:"info"},t.importCsvMessages.push(a),n=setTimeout((function(){a.type="loading"}),1e3),r={message:"Importing CSV into a SQLite database...",type:"info"},s=null,o=function(e){t.$set(r,"progress",e)},c=t.db.createProgressCounter(o),e.prev=12,u=new Date,e.next=16,ve.parse(t.file,i);case 16:if(l=e.sent,M=new Date,l.hasErrors){e.next=38;break}return d=l.data.values.length,g=xt.getPeriod(u,M),a.type="success",l.messages.length>0?(t.importCsvMessages=t.importCsvMessages.concat(l.messages),a.message="".concat(d," rows are parsed in ").concat(g,".")):a.message="".concat(d," rows are parsed successfully in ").concat(g,"."),clearTimeout(n),t.importCsvMessages.push(r),s=setTimeout((function(){r.type="loading"}),1e3),u=new Date,e.next=29,t.db.addTableFromCsv(t.tableName,l.data,c);case 29:M=new Date,t.addedTable=t.tableName,g=xt.getPeriod(u,M),r.message="Importing CSV into a SQLite database is completed in ".concat(g,"."),r.type="success",clearTimeout(s),t.importCsvCompleted=!0,e.next=41;break;case 38:a.message="Parsing ended with errors.",a.type="info",t.importCsvMessages=t.importCsvMessages.concat(l.messages);case 41:e.next=48;break;case 43:e.prev=43,e.t0=e["catch"](12),"loading"===a.type&&(a.type="info"),"loading"===r.type&&(r.type="info"),t.importCsvMessages.push({message:e.t0,type:"error"});case 48:clearTimeout(n),clearTimeout(s),t.db.deleteProgressCounter(c),t.disableDialog=!1;case 52:case"end":return e.stop()}}),e,null,[[12,43]])})))()},finish:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.$modal.hide(e.dialogName),i=["/*"," * Your CSV file has been imported into ".concat(e.addedTable," table.")," * You can run this SQL query to make all CSV records available for charting."," */",'SELECT * FROM "'.concat(e.addedTable,'"')].join("\n"),t.next=4,e.$store.dispatch("addTab",{query:i});case 4:a=t.sent,e.$store.commit("setCurrentTabId",a),e.importCsvCompleted=!1,e.$emit("finish");case 8:case"end":return t.stop()}}),t)})))()}}},Ct=wt,At=(i("d08f"),Object(s["a"])(Ct,me,je,!1,null,"42183db6",null)),Ot=At.exports,Lt={name:"DbUploader",props:{type:{type:String,required:!1,default:"small",validator:function(e){return["illustrated","small"].includes(e)}},width:{type:String,required:!1,default:"unset"}},components:{ChangeDbIcon:ne,CsvImport:Ot},data:function(){return{state:"",animationPromise:Promise.resolve(),file:null,newDb:null}},mounted:function(){var e=this;"illustrated"===this.type&&(this.animationPromise=new Promise((function(t){e.$refs.fileImg.addEventListener("animationend",(function(i){i.animationName.startsWith("fly")&&(e.state="dropped",t())}))})))},methods:{cancelCsvImport:function(){this.newDb&&(this.newDb.shutDown(),this.newDb=null)},finish:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:e.$store.commit("setDb",e.newDb),"/editor"!==e.$route.path&&e.$router.push("/editor");case 2:case"end":return t.stop()}}),t)})))()},loadDb:function(e){return Promise.all([this.newDb.loadDb(e),this.animationPromise]).then(this.finish)},checkFile:function(e){var t=this;return Object(l["a"])(regeneratorRuntime.mark((function i(){var a;return regeneratorRuntime.wrap((function(i){while(1)switch(i.prev=i.next){case 0:if(t.state="dropping",t.newDb=Ie.getNewDatabase(),!T.isDatabase(e)){i.next=6;break}t.loadDb(e),i.next=12;break;case 6:return t.file=e,i.next=9,t.$nextTick();case 9:return a=t.$refs.addCsv,a.reset(),i.abrupt("return",Promise.all([a.previewCsv(),t.animationPromise]).then(a.open));case 12:case"end":return i.stop()}}),i)})))()},browse:function(){T.getFileFromUser(".db,.sqlite,.sqlite3,.csv").then(this.checkFile)},drop:function(e){this.checkFile(e.dataTransfer.files[0])}}},Et=Lt,kt=(i("8312"),Object(s["a"])(Et,F,X,!1,null,"525b8c89",null)),Qt=kt.exports,St=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("path",{attrs:{d:"M10.5 1.5H4.5C3.675 1.5 3 2.175 3 3V15C3 15.825 3.675 16.5 4.5 16.5H13.5C14.325 16.5 15 15.825 15 15V6L10.5 1.5ZM13.5 15H4.5V3H9.75V6.75H13.5V15ZM12 8.25V13.575L10.425 12L8.325 14.1L6.225 12L8.325 9.9L6.675 8.25H12Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" "+e._s(e.tooltip)+" ")])])},Yt=[],Ut={name:"ExportIcon",mixins:[G],props:["tooltip"]},Zt=Ut,Pt=(i("7cf8"),Object(s["a"])(Zt,St,Yt,!1,null,"7f50cd00",null)),_t=Pt.exports,Gt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("g",{attrs:{"clip-path":"url(#clip0)"}},[i("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"\n M13.6573 1.5H2.59985C1.77485 1.5 1.09985 2.175 1.09985 3V13.6649C1.09985 14.4899\n 1.77485 15.1649 2.59985\n 15.1649H9.84V13.6649H8.87866V9.08244H13.6573V9.83777H15.1573V3C15.1573\n 2.17 14.4873 1.5 13.6573 1.5ZM13.6573\n 7.58244V3H8.87866V7.58244H13.6573ZM7.37866 3H2.59985V7.58244H7.37866V3ZM2.59985\n 9.08244V13.6649H7.37866V9.08244H2.59985ZM13.1702\n 10.8434H15.6702V13.1717H18.0001V15.6717H15.6702V18H13.1702V15.6717H10.8401V13.1717H13.1702V10.8434Z\n ",fill:"#A2B1C6"}})]),i("defs",[i("clipPath",{attrs:{id:"clip0"}},[i("rect",{attrs:{width:"18",height:"18",fill:"white"}})])])]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Add new table from CSV ")])])},Rt=[],Vt={name:"AddTableIcon",mixins:[G],props:["tooltip"]},Bt=Vt,Ht=(i("4f22"),Object(s["a"])(Bt,Gt,Rt,!1,null,"de75f292",null)),Wt=Ht.exports,$t={name:"Schema",components:{TableDescription:Y,TextField:J,TreeChevron:E,DbUploader:Qt,ExportIcon:_t,AddTableIcon:Wt,CsvImport:Ot},data:function(){return{schemaVisible:!0,filter:null,file:null}},computed:{schema:function(){var e=this;return this.$store.state.db.schema?this.filter?this.$store.state.db.schema.filter((function(t){return-1!==t.name.toUpperCase().indexOf(e.filter.toUpperCase())})):this.$store.state.db.schema:[]},dbName:function(){return this.$store.state.db.dbName}},methods:{exportToFile:function(){this.$store.state.db.export("".concat(this.dbName,".sqlite"))},addCsv:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,T.getFileFromUser(".csv");case 2:return e.file=t.sent,t.next=5,e.$nextTick();case 5:return i=e.$refs.addCsv,i.reset(),t.next=9,i.previewCsv();case 9:i.open();case 10:case"end":return t.stop()}}),t)})))()}}},qt=$t,Jt=(i("1a2d"),Object(s["a"])(qt,v,z,!1,null,"2e186d82",null)),Ft=Jt.exports,Xt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"tabs"}},[e.tabs.length>0?i("div",{attrs:{id:"tabs-header"}},e._l(e.tabs,(function(t,a){return i("div",{key:a,class:[{"tab-selected":t.id===e.selectedIndex},"tab"],on:{click:function(i){return e.selectTab(t.id)}}},[i("div",{staticClass:"tab-name"},[i("span",{directives:[{name:"show",rawName:"v-show",value:t.isUnsaved,expression:"tab.isUnsaved"}],staticClass:"star"},[e._v("*")]),t.name?i("span",[e._v(e._s(t.name))]):i("span",{staticClass:"tab-untitled"},[e._v(e._s(t.tempName))])]),i("div",[i("close-icon",{staticClass:"close-icon",attrs:{size:10},on:{click:function(t){return e.beforeCloseTab(a)}}})],1)])})),0):e._e(),e._l(e.tabs,(function(e,t){return i("tab",{key:e.id,attrs:{id:e.id,"init-name":e.name,"init-query":e.query,"init-chart":e.chart,"is-predefined":e.isPredefined,"tab-index":t}})})),i("div",{directives:[{name:"show",rawName:"v-show",value:0===e.tabs.length,expression:"tabs.length === 0"}],attrs:{id:"start-guide"}},[i("span",{staticClass:"link",on:{click:function(t){return e.$root.$emit("createNewQuery")}}},[e._v("Create")]),e._v(" a new query from scratch or open the one from "),i("router-link",{staticClass:"link",attrs:{to:"/my-queries"}},[e._v("My queries")])],1),i("modal",{attrs:{name:"close-warn",classes:"dialog",height:"auto"}},[i("div",{staticClass:"dialog-header"},[e._v(" Close tab "+e._s(null!==e.closingTabIndex?e.tabs[e.closingTabIndex].name||"["+e.tabs[e.closingTabIndex].tempName+"]":"")+" "),i("close-icon",{on:{click:function(t){return e.$modal.hide("close-warn")}}})],1),i("div",{staticClass:"dialog-body"},[e._v(" You have unsaved changes. Save changes in "+e._s(null!==e.closingTabIndex?e.tabs[e.closingTabIndex].name||"["+e.tabs[e.closingTabIndex].tempName+"]":"")+" before closing? ")]),i("div",{staticClass:"dialog-buttons-container"},[i("button",{staticClass:"secondary",on:{click:function(t){return e.closeTab(e.closingTabIndex)}}},[e._v(" Close without saving ")]),i("button",{staticClass:"secondary",on:{click:function(t){return e.$modal.hide("close-warn")}}},[e._v("Cancel")]),i("button",{staticClass:"primary",on:{click:function(t){return e.saveAndClose(e.closingTabIndex)}}},[e._v("Save and close")])])])],2)},Kt=[],ei=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"show",rawName:"v-show",value:e.isActive,expression:"isActive"}],staticClass:"tab-content-container"},[i("splitpanes",{staticClass:"query-results-splitter",attrs:{horizontal:"",before:{size:50,max:100},after:{size:50,max:100}},scopedSlots:e._u([{key:"left-pane",fn:function(){return[i("div",{staticClass:"query-editor"},[i("sql-editor",{ref:"sqlEditor",model:{value:e.query,callback:function(t){e.query=t},expression:"query"}})],1)]},proxy:!0},{key:"right-pane",fn:function(){return[i("div",{ref:"bottomPane",attrs:{id:"bottomPane"}},[i("view-switcher",{attrs:{view:e.view},on:{"update:view":function(t){e.view=t}}}),i("div",{directives:[{name:"show",rawName:"v-show",value:"table"===e.view,expression:"view === 'table'"}],staticClass:"table-view"},[i("div",{directives:[{name:"show",rawName:"v-show",value:null===e.result&&!e.isGettingResults&&!e.error,expression:"result === null && !isGettingResults && !error"}],staticClass:"table-preview result-before"},[e._v(" Run your query and get results here ")]),e.isGettingResults?i("div",{staticClass:"table-preview result-in-progress"},[i("loading-indicator",{attrs:{size:30}}),e._v(" Fetching results... ")],1):e._e(),i("div",{directives:[{name:"show",rawName:"v-show",value:void 0===e.result&&!e.isGettingResults&&!e.error,expression:"result === undefined && !isGettingResults && !error"}],staticClass:"table-preview result-empty"},[e._v(" No rows retrieved according to your query ")]),e.error?i("logs",{attrs:{messages:[e.error]}}):e._e(),e.result?i("sql-table",{attrs:{"data-set":e.result,time:e.time,height:e.tableViewHeight}}):e._e()],1),i("chart",{ref:"chart",attrs:{visible:"chart"===e.view,"sql-result":e.result,"init-chart":e.initChart},on:{update:function(t){return e.$store.commit("updateTab",{index:e.tabIndex,isUnsaved:!0})}}})],1)]},proxy:!0}])})],1)},ti=[],ii=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"codemirror-container"},[i("codemirror",{ref:"cm",attrs:{options:e.cmOptions},on:{changes:e.onChange},model:{value:e.query,callback:function(t){e.query=t},expression:"query"}})],1)},ai=[],ni=i("56b3"),ri=i.n(ni),si=(i("9b74"),i("991c"),i("2f62")),oi={tabs:[],currentTab:null,currentTabId:null,untitledLastIndex:0,predefinedQueries:[],db:null},ci=(i("a434"),{setDb:function(e,t){e.db&&e.db.shutDown(),e.db=t},updateTab:function(e,t){var i=t.index,n=t.name,r=t.id,s=t.query,o=t.chart,c=t.isUnsaved,u=e.tabs[i],l=u.id;r&&e.currentTabId===l&&(e.currentTabId=r),r&&(u.id=r),n&&(u.name=n),s&&(u.query=s),o&&(u.chart=o),void 0!==c&&(u.isUnsaved=c),c||delete u.isPredefined,a["default"].set(e.tabs,i,u)},deleteTab:function(e,t){e.tabs[t].id===e.currentTabId&&(t0?e.currentTabId=e.tabs[t-1].id:(e.currentTabId=null,e.currentTab=null,e.untitledLastIndex=0)),e.tabs.splice(t,1)},setCurrentTabId:function(e,t){e.currentTabId=t},setCurrentTab:function(e,t){e.currentTab=t},updatePredefinedQueries:function(e,t){Array.isArray(t)?e.predefinedQueries=t:e.predefinedQueries=[t]}}),ui=i("e1bd"),li={addTab:function(e,t){return Object(l["a"])(regeneratorRuntime.mark((function i(){var a,n;return regeneratorRuntime.wrap((function(i){while(1)switch(i.prev=i.next){case 0:return a=e.state,n=t?JSON.parse(JSON.stringify(t)):{},t&&t.id?n.isUnsaved=!1:(n.id=Object(ui["a"])(),n.name=null,n.tempName=a.untitledLastIndex?"Untitled ".concat(a.untitledLastIndex):"Untitled",n.isUnsaved=!0),a.tabs.some((function(e){return e.id===n.id}))||(a.tabs.push(n),n.name||(a.untitledLastIndex+=1)),i.abrupt("return",n.id);case 5:case"end":return i.stop()}}),i)})))()}};a["default"].use(si["a"]);var Mi=new si["a"].Store({state:oi,mutations:ci,actions:li});function di(e,t){var i=e.getTokenAt(e.getCursor()).string.toUpperCase(),a=ri.a.hint.sql(e,t);return 1===a.list.length&&a.list[0].text.toUpperCase()===i&&(a.list=[]),a}var gi={get tables(){var e={};return Mi.state.db.schema&&Mi.state.db.schema.forEach((function(t){e[t.name]=t.columns.map((function(e){return e.name}))})),e},get defaultTable(){var e=Mi.state.db.schema;return e&&1===e.length?e[0].name:null},completeSingle:!1,completeOnSingleClick:!0,alignWithWord:!1};function Ni(e){ri.a.showHint(e,di,gi)}function Ii(e){var t=e.getTokenAt(e.getCursor()),i=t.string.slice(-1),a=t.type;"string"!==a&&i&&" "!==i&&";"!==i&&ri.a.showHint(e,di,gi)}var hi=i("8f94"),Di=(i("a7be"),i("ffda"),i("d5db"),i("f6b6"),i("f4ba"),{name:"SqlEditor",props:["value"],components:{codemirror:hi["codemirror"]},data:function(){return{query:this.value,cmOptions:{tabSize:4,mode:"text/x-mysql",theme:"neo",lineNumbers:!0,line:!0,autoRefresh:!0,extraKeys:{"Ctrl-Space":Ni}}}},watch:{query:function(){this.$emit("input",this.query)}},methods:{onChange:xt.debounce(Ii,400),focus:function(){this.$refs.cm.codemirror.focus()}}}),mi=Di,ji=(i("5327"),Object(s["a"])(mi,ii,ai,!1,null,"ad4bbbe4",null)),pi=ji.exports,yi=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"view-switcher"},[i("div",{class:["table-mode",{"active-mode":"table"===e.view}],on:{click:function(t){return e.$emit("update:view","table")}}},[e._v(" Table ")]),i("div",{class:["chart-mode",{"active-mode":"chart"===e.view}],on:{click:function(t){return e.$emit("update:view","chart")}}},[e._v(" Chart ")])])},fi=[],vi={name:"ViewSwitcher",props:["view"]},zi=vi,Ti=(i("c605"),Object(s["a"])(zi,yi,fi,!1,null,"59806640",null)),bi=Ti.exports,xi=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"chart-container"},[i("div",{directives:[{name:"show",rawName:"v-show",value:!e.sqlResult&&e.visible,expression:"!sqlResult && visible"}],staticClass:"warning chart-warning"},[e._v(" There is no data to build a chart. Run your sql query and make sure the result is not empty. ")]),i("PlotlyEditor",{ref:"plotlyEditor",staticClass:"chart",style:{height:e.sqlResult?"100%":"calc(100% - 40px)"},attrs:{data:e.state.data,layout:e.state.layout,frames:e.state.frames,config:{editable:!0,displaylogo:!1},dataSources:e.dataSources,dataSourceOptions:e.dataSourceOptions,plotly:e.plotly,useResizeHandler:!0,debug:!0,advancedTraceTypeSelector:!0},on:{onUpdate:e.update,onRender:e.go}})],1)},wi=[],Ci=i("f794"),Ai=i.n(Ci),Oi=(i("0848"),i("b1c6")),Li=i.n(Oi),Ei=i("3835"),ki=(i("b64b"),i("662f")),Qi=i.n(ki);function Si(e){if(!e)return{};var t={},i=e.values,a=Object(Ei["a"])(i,1),n=a[0],r=n.map((function(e,t){return i.map((function(e){return e[t]}))}));return e.columns.forEach((function(e,i){t[e]=r[i]})),t}function Yi(e){return Object.keys(e).map((function(e){return{value:e,label:e}}))}function Ui(e,t){var i=JSON.parse(JSON.stringify(e)),a={};for(var n in t)a[n]=[];return Qi()(i.data,a),i}var Zi={getDataSourcesFromSqlResult:Si,getOptionsFromDataSources:Yi,getChartStateForSave:Ui},Pi={name:"Chart",props:["sqlResult","initChart","visible"],components:{PlotlyEditor:Li.a},data:function(){return{plotly:Ai.a,state:this.initChart||{data:[],layout:{},frames:[]}}},computed:{dataSources:function(){return Zi.getDataSourcesFromSqlResult(this.sqlResult)},dataSourceOptions:function(){return Zi.getOptionsFromDataSources(this.dataSources)}},watch:{dataSources:function(){Qi()(this.state.data,this.dataSources)}},methods:{go:function(e,t,i){},update:function(e,t,i){this.state={data:e,layout:t,frames:i},this.$emit("update")},getChartStateForSave:function(){return Zi.getChartStateForSave(this.state,this.dataSources)}}},_i=Pi,Gi=(i("97b1"),Object(s["a"])(_i,xi,wi,!1,null,"291e46e5",null)),Ri=Gi.exports,Vi={name:"Tab",props:["id","initName","initQuery","initChart","tabIndex","isPredefined"],components:{SqlEditor:pi,SqlTable:Nt,Splitpanes:f,ViewSwitcher:bi,Chart:Ri,LoadingIndicator:ft,Logs:bt},data:function(){return{query:this.initQuery,result:null,view:"table",tableViewHeight:0,isGettingResults:!1,error:null,resizeObserver:null,time:0}},computed:{isActive:function(){return this.id===this.$store.state.currentTabId}},mounted:function(){this.resizeObserver=new ResizeObserver(this.handleResize),this.resizeObserver.observe(this.$refs.bottomPane),this.calculateTableHeight()},beforeDestroy:function(){this.resizeObserver.unobserve(this.$refs.bottomPane)},watch:{isActive:{immediate:!0,handler:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(!e.isActive){t.next=5;break}return e.$store.commit("setCurrentTab",e),t.next=4,e.$nextTick();case 4:e.$refs.sqlEditor.focus();case 5:case"end":return t.stop()}}),t)})))()}},query:function(){this.$store.commit("updateTab",{index:this.tabIndex,isUnsaved:!0})}},methods:{execute:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isGettingResults=!0,e.result=null,e.error=null,i=e.$store.state,t.prev=4,a=new Date,t.next=8,i.db.execute(e.query+";");case 8:e.result=t.sent,e.time=xt.getPeriod(a,new Date),t.next=15;break;case 12:t.prev=12,t.t0=t["catch"](4),e.error={type:"error",message:t.t0};case 15:i.db.refreshSchema(),e.isGettingResults=!1;case 17:case"end":return t.stop()}}),t,null,[[4,12]])})))()},handleResize:function(){var e=this;"chart"===this.view&&(this.view="not chart",this.$nextTick((function(){e.view="chart"}))),this.calculateTableHeight()},calculateTableHeight:function(){var e=this.$refs.bottomPane,t=e.offsetHeight-88-34-12-5-35;this.tableViewHeight=t-t%35}}},Bi=Vi,Hi=(i("b78a"),Object(s["a"])(Bi,ei,ti,!1,null,"8b37f1a0",null)),Wi=Hi.exports,$i={components:{Tab:Wi,CloseIcon:Ce},data:function(){return{closingTabIndex:null}},computed:{tabs:function(){return this.$store.state.tabs},selectedIndex:function(){return this.$store.state.currentTabId}},created:function(){window.addEventListener("beforeunload",this.leavingSqliteviz)},methods:{leavingSqliteviz:function(e){this.tabs.some((function(e){return e.isUnsaved}))&&(e.preventDefault(),e.returnValue="")},selectTab:function(e){this.$store.commit("setCurrentTabId",e)},beforeCloseTab:function(e){this.closingTabIndex=e,this.tabs[e].isUnsaved?this.$modal.show("close-warn"):this.closeTab(e)},closeTab:function(e){this.$modal.hide("close-warn"),this.closingTabIndex=null,this.$store.commit("deleteTab",e)},saveAndClose:function(e){var t=this;this.$root.$on("querySaved",(function(){t.closeTab(e),t.$root.$off("querySaved")})),this.selectTab(this.tabs[e].id),this.$modal.hide("close-warn"),this.$nextTick((function(){t.$root.$emit("saveQuery")}))}}},qi=$i,Ji=(i("2d56"),Object(s["a"])(qi,Xt,Kt,!1,null,null,null)),Fi=Ji.exports,Xi={name:"Editor",components:{Schema:Ft,Splitpanes:f,Tabs:Fi},beforeCreate:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i,a,n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(i=e.$store.state.db.schema,i&&0!==i.length){t.next=7;break}return a=["/*"," * Your database is empty. In order to start building charts"," * you should create a table and insert data into it."," */","CREATE TABLE house","("," name TEXT,"," points INTEGER",");","INSERT INTO house VALUES","('Gryffindor', 100),","('Hufflepuff', 90),","('Ravenclaw', 95),","('Slytherin', 80);"].join("\n"),t.next=5,e.$store.dispatch("addTab",{query:a});case 5:n=t.sent,e.$store.commit("setCurrentTabId",n);case 7:case"end":return t.stop()}}),t)})))()}},Ki=Xi,ea=(i("c603"),Object(s["a"])(Ki,d,g,!1,null,"4dece747",null)),ta=ea.exports,ia=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[0===e.showedQueries.length?a("div",{attrs:{id:"start-guide"}},[e._v(" You don't have saved queries so far. "),a("span",{staticClass:"link",on:{click:function(t){return e.$root.$emit("createNewQuery")}}},[e._v("Create")]),e._v(" the one from scratch or "),a("span",{staticClass:"link",on:{click:e.importQueries}},[e._v("import")]),e._v(" from a file. ")]):e._e(),a("div",{directives:[{name:"show",rawName:"v-show",value:e.showedQueries.length>0,expression:"showedQueries.length > 0"}],ref:"my-queries-content",attrs:{id:"my-queries-content"}},[a("div",{attrs:{id:"my-queries-toolbar"}},[a("div",{attrs:{id:"toolbar-buttons"}},[a("button",{staticClass:"toolbar",attrs:{id:"toolbar-btns-import"},on:{click:e.importQueries}},[e._v(" Import ")]),a("button",{directives:[{name:"show",rawName:"v-show",value:e.selectedQueriesCount>0,expression:"selectedQueriesCount > 0"}],staticClass:"toolbar",attrs:{id:"toolbar-btns-export"},on:{click:function(t){return e.exportSelectedQueries()}}},[e._v(" Export ")]),a("button",{directives:[{name:"show",rawName:"v-show",value:e.selectedNotPredefinedCount>0,expression:"selectedNotPredefinedCount > 0"}],staticClass:"toolbar",attrs:{id:"toolbar-btns-delete"},on:{click:function(t){return e.showDeleteDialog(e.selectedQueriesIds)}}},[e._v(" Delete ")])]),a("div",{attrs:{id:"toolbar-search"}},[a("text-field",{attrs:{placeholder:"Search query by name",width:"300px"},model:{value:e.filter,callback:function(t){e.filter=t},expression:"filter"}})],1)]),a("div",{staticClass:"rounded-bg"},[a("div",{staticClass:"header-container"},[a("div",[a("div",{ref:"name-th",staticClass:"fixed-header"},[a("check-box",{ref:"mainCheckBox",attrs:{theme:"light"},on:{click:e.toggleSelectAll}}),a("div",{staticClass:"name-th"},[e._v("Name")])],1),a("div",{staticClass:"fixed-header"},[e._v(" Created at ")])])]),a("div",{staticClass:"table-container",style:{"max-height":e.maxTableHeight+"px"}},[a("table",{ref:"table"},[a("tbody",e._l(e.showedQueries,(function(t,i){return a("tr",{key:t.id,on:{click:function(t){return e.openQuery(i)}}},[a("td",{ref:"name-td",refInFor:!0},[a("div",{staticClass:"cell-data"},[a("check-box",{ref:"rowCheckBox",refInFor:!0,attrs:{init:e.selectAll||e.selectedQueriesIds.has(t.id)},on:{click:function(i){return e.toggleRow(i,t.id)}}}),a("div",{staticClass:"name"},[e._v(e._s(t.name))]),t.isPredefined?a("div",{staticClass:"badge",on:{mouseover:e.showTooltip,mouseout:e.hideTooltip}},[e._v(" Predefined "),a("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Predefined queries come from the server. These queries can’t be deleted or renamed. ")])]):e._e()],1)]),a("td",[a("div",{staticClass:"second-column"},[a("div",{staticClass:"date-container"},[e._v(e._s(e._f("date")(t.createdAt)))]),a("div",{staticClass:"icons-container"},[t.isPredefined?e._e():a("rename-icon",{on:{click:function(i){return e.showRenameDialog(t.id)}}}),a("copy-icon",{on:{click:function(t){return e.duplicateQuery(i)}}}),a("export-icon",{attrs:{tooltip:"Export query to file"},on:{click:function(i){return e.exportToFile([t],t.name+".json")}}}),t.isPredefined?e._e():a("delete-icon",{on:{click:function(i){e.showDeleteDialog((new Set).add(t.id))}}})],1)])])])})),0)])])])]),a("modal",{attrs:{name:"rename",classes:"dialog",height:"auto"}},[a("div",{staticClass:"dialog-header"},[e._v(" Rename query "),a("close-icon",{on:{click:function(t){return e.$modal.hide("rename")}}})],1),a("div",{staticClass:"dialog-body"},[a("text-field",{attrs:{label:"New query name","error-msg":e.errorMsg,width:"100%"},model:{value:e.newName,callback:function(t){e.newName=t},expression:"newName"}})],1),a("div",{staticClass:"dialog-buttons-container"},[a("button",{staticClass:"secondary",on:{click:function(t){return e.$modal.hide("rename")}}},[e._v("Cancel")]),a("button",{staticClass:"primary",on:{click:e.renameQuery}},[e._v("Rename")])])]),a("modal",{attrs:{name:"delete",classes:"dialog",height:"auto"}},[a("div",{staticClass:"dialog-header"},[e._v(" Delete "+e._s(e.deleteGroup?"queries":"query")+" "),a("close-icon",{on:{click:function(t){return e.$modal.hide("delete")}}})],1),a("div",{staticClass:"dialog-body"},[e._v(" "+e._s(e.deleteDialogMsg)+" "),a("div",{directives:[{name:"show",rawName:"v-show",value:e.selectedQueriesCount>e.selectedNotPredefinedCount,expression:"selectedQueriesCount > selectedNotPredefinedCount"}],attrs:{id:"note"}},[a("img",{attrs:{src:i("db39")}}),e._v(" Note: Predefined queries you've selected won't be deleted ")])]),a("div",{staticClass:"dialog-buttons-container"},[a("button",{staticClass:"secondary",on:{click:function(t){return e.$modal.hide("delete")}}},[e._v("Cancel")]),a("button",{staticClass:"primary",on:{click:e.deleteQuery}},[e._v("Delete")])])])],1)},aa=[],na=(i("6062"),i("c740"),function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("path",{attrs:{d:"M10.545 6.75L11.25 7.455L4.44 14.25H3.75V13.56L10.545 6.75ZM13.245 2.25C13.0575 2.25 12.8625 2.325 12.72 2.4675L11.3475 3.84L14.16 6.6525L15.5325 5.28C15.825 4.9875 15.825 4.5 15.5325 4.2225L13.7775 2.4675C13.6275 2.3175 13.44 2.25 13.245 2.25ZM10.545 4.6425L2.25 12.9375V15.75H5.0625L13.3575 7.455L10.545 4.6425Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Rename query ")])])}),ra=[],sa={name:"RenameIcon",mixins:[G]},oa=sa,ca=(i("cd51"),Object(s["a"])(oa,na,ra,!1,null,"45e6fb96",null)),ua=ca.exports,la=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("path",{attrs:{d:"M14.25 15.75H6V5.25H14.25V15.75ZM14.25 3.75H6C5.60218 3.75 5.22064 3.90804 4.93934 4.18934C4.65804 4.47064 4.5 4.85218 4.5 5.25V15.75C4.5 16.1478 4.65804 16.5294 4.93934 16.8107C5.22064 17.092 5.60218 17.25 6 17.25H14.25C14.6478 17.25 15.0294 17.092 15.3107 16.8107C15.592 16.5294 15.75 16.1478 15.75 15.75V5.25C15.75 4.85218 15.592 4.47064 15.3107 4.18934C15.0294 3.90804 14.6478 3.75 14.25 3.75ZM12 0.75H3C2.60218 0.75 2.22064 0.908035 1.93934 1.18934C1.65804 1.47064 1.5 1.85218 1.5 2.25V12.75H3V2.25H12V0.75Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Duplicate query ")])])},Ma=[],da={name:"CopyIcon",mixins:[G]},ga=da,Na=(i("cc8d"),Object(s["a"])(ga,la,Ma,!1,null,"9ee167fc",null)),Ia=Na.exports,ha=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("path",{attrs:{d:"M6.75 2.25V3H3V4.5H3.75V14.25C3.75 14.6478 3.90804 15.0294 4.18934 15.3107C4.47064 15.592 4.85218 15.75 5.25 15.75H12.75C13.1478 15.75 13.5294 15.592 13.8107 15.3107C14.092 15.0294 14.25 14.6478 14.25 14.25V4.5H15V3H11.25V2.25H6.75ZM5.25 4.5H12.75V14.25H5.25V4.5ZM6.75 6V12.75H8.25V6H6.75ZM9.75 6V12.75H11.25V6H9.75Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Delete query ")])])},Da=[],ma={name:"DeleteIcon",mixins:[G]},ja=ma,pa=(i("e4db"),Object(s["a"])(ja,ha,Da,!1,null,"2e7a19b0",null)),ya=pa.exports,fa=(i("2532"),{getStoredQueries:function(){return JSON.parse(localStorage.getItem("myQueries"))||[]},duplicateQuery:function(e){var t=JSON.parse(JSON.stringify(e));return t.name=t.name+" Copy",t.id=Object(ui["a"])(),t.createdAt=new Date,delete t.isPredefined,t},isTabNeedName:function(e){var t=!e.initName;return e.isPredefined||t},save:function(e,t){var i={id:e.isPredefined?Object(ui["a"])():e.id,query:e.query,chart:e.$refs.chart.getChartStateForSave(),name:t||e.initName},a=this.getStoredQueries();if(t)i.createdAt=new Date;else{var n=a.findIndex((function(t){return t.id===e.id}));i.createdAt=a[n].createdAt}return t?a.push(i):a[n]=i,this.updateStorage(a),i},updateStorage:function(e){localStorage.setItem("myQueries",JSON.stringify(e))},serialiseQueries:function(e){var t=JSON.parse(JSON.stringify(e));return t.forEach((function(e){return delete e.isPredefined})),JSON.stringify(t,null,4)},deserialiseQueries:function(e){var t=this,i=JSON.parse(e);return Array.isArray(i)||(i=[i]),i.forEach((function(e){var i=t.getStoredQueries().map((function(e){return e.id}));i.includes(e.id)&&(e.id=Object(ui["a"])())})),i},importQueries:function(){var e=this;return T.importFile().then((function(t){return e.deserialiseQueries(t)}))},readPredefinedQueries:function(){return T.readFile("./queries.json").then((function(e){return e.json()}))}}),va={name:"MyQueries",components:{RenameIcon:ua,CopyIcon:Ia,ExportIcon:_t,DeleteIcon:ya,CloseIcon:Ce,TextField:J,CheckBox:et},mixins:[G],data:function(){return{queries:[],filter:null,newName:null,processedQueryId:null,errorMsg:null,selectedQueriesIds:new Set,selectedQueriesCount:0,selectedNotPredefinedCount:0,selectAll:!1,deleteGroup:!1,resizeObserver:null,maxTableHeight:0}},computed:{predefinedQueries:function(){return this.$store.state.predefinedQueries.map((function(e){return e.isPredefined=!0,e}))},predefinedQueriesIds:function(){return new Set(this.predefinedQueries.map((function(e){return e.id})))},showedQueries:function(){var e=this,t=this.allQueries;return this.filter&&(t=t.filter((function(t){return t.name.toUpperCase().indexOf(e.filter.toUpperCase())>=0}))),t},allQueries:function(){return this.predefinedQueries.concat(this.queries)},processedQueryIndex:function(){var e=this;return this.queries.findIndex((function(t){return t.id===e.processedQueryId}))},deleteDialogMsg:function(){if(!this.deleteGroup&&(null===this.processedQueryIndex||this.processedQueryIndex<0||this.processedQueryIndex>this.queries.length))return"";var e=this.deleteGroup?"".concat(this.selectedNotPredefinedCount," ").concat(this.selectedNotPredefinedCount>1?"queries":"query"):'"'.concat(this.queries[this.processedQueryIndex].name,'"');return"Are you sure you want to delete ".concat(e,"?")}},created:function(){var e=this;fa.readPredefinedQueries().then((function(t){e.$store.commit("updatePredefinedQueries",t)})).catch(console.error).finally((function(){e.queries=fa.getStoredQueries()}))},mounted:function(){this.resizeObserver=new ResizeObserver(this.calcMaxTableHeight),this.resizeObserver.observe(this.$refs["my-queries-content"]),this.tableResizeObserver=new ResizeObserver(this.calcNameWidth),this.tableResizeObserver.observe(this.$refs.table),this.calcNameWidth(),this.calcMaxTableHeight()},beforeDestroy:function(){this.resizeObserver.unobserve(this.$refs["my-queries-content"]),this.tableResizeObserver.unobserve(this.$refs.table)},filters:{date:function(e){if(!e)return"";var t={year:"numeric",month:"long",day:"numeric"},i={hour12:!1,hour:"2-digit",minute:"2-digit"};return new Date(e).toLocaleDateString("en-GB",t)+" "+new Date(e).toLocaleTimeString("en-GB",i)}},methods:{calcNameWidth:function(){var e=this.$refs["name-td"]?this.$refs["name-td"][0].getBoundingClientRect().width:0;this.$refs["name-th"].style="width: ".concat(e,"px")},calcMaxTableHeight:function(){var e=this.$refs["my-queries-content"].offsetHeight-200;this.maxTableHeight=e-e%40+1},openQuery:function(e){var t=this,i=this.showedQueries[e];this.$store.dispatch("addTab",i).then((function(e){t.$store.commit("setCurrentTabId",e),t.$router.push("/editor")}))},showRenameDialog:function(e){this.errorMsg=null,this.processedQueryId=e,this.newName=this.queries[this.processedQueryIndex].name,this.$modal.show("rename")},renameQuery:function(){if(this.newName){var e=this.queries[this.processedQueryIndex];e.name=this.newName,this.$set(this.queries,this.processedQueryIndex,e),fa.updateStorage(this.queries);var t=this.findTabIndex(e.id);t>=0&&this.$store.commit("updateTab",{index:t,name:this.newName,id:e.id}),this.$modal.hide("rename")}else this.errorMsg="Query name can't be empty"},duplicateQuery:function(e){var t=fa.duplicateQuery(this.showedQueries[e]);this.selectAll&&(this.selectedQueriesIds.add(t.id),this.selectedQueriesCount=this.selectedQueriesIds.size),this.queries.push(t),fa.updateStorage(this.queries)},showDeleteDialog:function(e){this.deleteGroup=e.size>1,this.deleteGroup||(this.processedQueryId=e.values().next().value),this.$modal.show("delete")},deleteQuery:function(){var e=this;if(this.$modal.hide("delete"),this.deleteGroup){this.queries=this.selectAll?[]:this.queries.filter((function(t){return!e.selectedQueriesIds.has(t.id)}));for(var t=this.$store.state.tabs,i=t.length-1;i>=0;i--)this.selectedQueriesIds.has(t[i].id)&&this.$store.commit("deleteTab",i);this.selectedQueriesIds.clear()}else{this.queries.splice(this.processedQueryIndex,1);var a=this.findTabIndex(this.processedQueryId);a>=0&&this.$store.commit("deleteTab",a),this.selectedQueriesIds.has(this.processedQueryId)&&this.selectedQueriesIds.delete(this.processedQueryId)}this.selectedQueriesCount=this.selectedQueriesIds.size,fa.updateStorage(this.queries)},findTabIndex:function(e){return this.$store.state.tabs.findIndex((function(t){return t.id===e}))},exportToFile:function(e,t){var i=fa.serialiseQueries(e);T.exportToFile(i,t)},exportSelectedQueries:function(){var e=this,t=this.selectAll?this.allQueries:this.allQueries.filter((function(t){return e.selectedQueriesIds.has(t.id)}));this.exportToFile(t,"My sqliteviz queries.json")},importQueries:function(){var e=this;fa.importQueries().then((function(t){e.selectAll&&(t.forEach((function(t){e.selectedQueriesIds.add(t.id)})),e.selectedQueriesCount=e.selectedQueriesIds.size),e.queries=e.queries.concat(t),fa.updateStorage(e.queries)}))},toggleSelectAll:function(e){this.selectAll=e,this.$refs.rowCheckBox.forEach((function(t){t.checked=e})),this.selectedQueriesIds=e?new Set(this.allQueries.map((function(e){return e.id}))):new Set,this.selectedQueriesCount=this.selectedQueriesIds.size,this.selectedNotPredefinedCount=e?this.queries.length:0},toggleRow:function(e,t){var i=this.predefinedQueriesIds.has(t);e?(this.selectedQueriesIds.add(t),i||(this.selectedNotPredefinedCount+=1)):(this.selectedQueriesIds.size===this.allQueries.length&&(this.$refs.mainCheckBox.checked=!1,this.selectAll=!1),this.selectedQueriesIds.delete(t),i||(this.selectedNotPredefinedCount-=1)),this.selectedQueriesCount=this.selectedQueriesIds.size}}},za=va,Ta=(i("72c0"),Object(s["a"])(za,ia,aa,!1,null,"0cc4e620",null)),ba=Ta.exports,xa=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"dbloader-container"}},[i("db-uploader",{attrs:{type:"illustrated"}}),i("div",{attrs:{id:"note"}},[e._v(" Sqliteviz is fully client-side. Your database never leaves your computer. ")]),i("button",{staticClass:"secondary",attrs:{id:"skip"},on:{click:function(t){return e.$router.push("/editor")}}},[e._v(" Create empty database ")])],1)},wa=[],Ca={name:"Welcome",components:{DbUploader:Qt}},Aa=Ca,Oa=(i("3ddc"),Object(s["a"])(Aa,xa,wa,!1,null,"cdca6642",null)),La=Oa.exports,Ea=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("main-menu"),i("keep-alive",{attrs:{include:"Editor"}},[i("router-view",{attrs:{id:"main-view"}})],1)],1)},ka=[],Qa=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("nav",[a("div",[a("router-link",{attrs:{to:"/editor"}},[e._v("Editor")]),a("router-link",{attrs:{to:"/my-queries"}},[e._v("My queries")]),a("a",{attrs:{href:"https://github.com/lana-k/sqliteviz/wiki",target:"_blank"}},[e._v("Help")])],1),a("div",{attrs:{id:"nav-buttons"}},[e.currentQuery&&"/editor"===e.$route.path?a("button",{staticClass:"primary",attrs:{id:"run-btn",disabled:e.runDisabled},on:{click:e.currentQuery.execute}},[e._v(" Run ")]):e._e(),a("button",{directives:[{name:"show",rawName:"v-show",value:e.currentQuery&&"/editor"===e.$route.path,expression:"currentQuery && $route.path === '/editor'"}],staticClass:"primary",attrs:{id:"save-btn",disabled:!e.isUnsaved},on:{click:e.checkQueryBeforeSave}},[e._v(" Save ")]),a("button",{staticClass:"primary",attrs:{id:"create-btn"},on:{click:e.createNewQuery}},[e._v(" Create ")]),a("app-diagnostic-info")],1),a("modal",{attrs:{name:"save",classes:"dialog",height:"auto"}},[a("div",{staticClass:"dialog-header"},[e._v(" Save query "),a("close-icon",{on:{click:e.cancelSave}})],1),a("div",{staticClass:"dialog-body"},[a("div",{directives:[{name:"show",rawName:"v-show",value:e.isPredefined,expression:"isPredefined"}],attrs:{id:"save-note"}},[a("img",{attrs:{src:i("db39")}}),e._v(" Note: Predefined queries can't be edited. That's why your modifications will be saved as a new query. Enter the name for it. ")]),a("text-field",{attrs:{label:"Query name","error-msg":e.errorMsg,width:"100%"},model:{value:e.name,callback:function(t){e.name=t},expression:"name"}})],1),a("div",{staticClass:"dialog-buttons-container"},[a("button",{staticClass:"secondary",on:{click:e.cancelSave}},[e._v("Cancel")]),a("button",{staticClass:"primary",on:{click:e.saveQuery}},[e._v("Save")])])])],1)},Sa=[],Ya=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{attrs:{id:"app-info-container"}},[a("img",{attrs:{id:"app-info-icon",src:i("db39")},on:{click:function(t){return e.$modal.show("app-info")}}}),a("modal",{attrs:{name:"app-info",classes:"dialog",height:"auto",width:"400px"}},[a("div",{staticClass:"dialog-header"},[e._v(" App info "),a("close-icon",{on:{click:function(t){return e.$modal.hide("app-info")}}})],1),a("div",{staticClass:"dialog-body"},e._l(e.info,(function(t,i){return a("div",{key:i,staticClass:"info-item"},[e._v(" "+e._s(t.name)+" "),a("div",{staticClass:"divider"}),a("div",{staticClass:"options"},e._l(t.info,(function(t,i){return a("div",{key:i},[e._v(" "+e._s(t)+" ")])})),0)])})),0)])],1)},Ua=[],Za={name:"AppDiagnosticInfo",components:{CloseIcon:Ce},data:function(){return{info:[{name:"sqliteviz version",info:[i("9224").version]}]}},created:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return i=e.$store.state,t.next=3,i.db.execute("select sqlite_version()");case 3:return a=t.sent,e.info.push({name:"SQLite version",info:a.values[0]}),t.next=7,i.db.execute("PRAGMA compile_options");case 7:a=t.sent,e.info.push({name:"SQLite compile options",info:a.values.map((function(e){return e[0]}))});case 9:case"end":return t.stop()}}),t)})))()}},Pa=Za,_a=(i("05c6"),Object(s["a"])(Pa,Ya,Ua,!1,null,"669c683a",null)),Ga=_a.exports,Ra={name:"MainMenu",components:{TextField:J,CloseIcon:Ce,AppDiagnosticInfo:Ga},data:function(){return{name:"",errorMsg:null}},computed:{currentQuery:function(){return this.$store.state.currentTab},isUnsaved:function(){if(!this.currentQuery)return!1;var e=this.currentQuery.tabIndex,t=this.$store.state.tabs[e];return t&&t.isUnsaved},isPredefined:function(){return!!this.currentQuery&&this.currentQuery.isPredefined},runDisabled:function(){return this.currentQuery&&(!this.$store.state.db||!this.currentQuery.query)}},created:function(){this.$root.$on("createNewQuery",this.createNewQuery),this.$root.$on("saveQuery",this.checkQueryBeforeSave),document.addEventListener("keydown",this._keyListener)},beforeDestroy:function(){document.removeEventListener("keydown",this._keyListener)},methods:{createNewQuery:function(){var e=this;this.$store.dispatch("addTab").then((function(t){e.$store.commit("setCurrentTabId",t),"/editor"!==e.$route.path&&e.$router.push("/editor")}))},cancelSave:function(){this.$modal.hide("save"),this.$root.$off("querySaved")},checkQueryBeforeSave:function(){this.errorMsg=null,this.name="",fa.isTabNeedName(this.currentQuery)?this.$modal.show("save"):this.saveQuery()},saveQuery:function(){var e=this,t=fa.isTabNeedName(this.currentQuery);if(!t||this.name){var i=this.currentQuery.result,a=this.currentQuery.view,n=fa.save(this.currentQuery,this.name);this.$store.commit("updateTab",{index:this.currentQuery.tabIndex,name:n.name,id:n.id,query:n.query,chart:n.chart,isUnsaved:!1}),this.$nextTick((function(){e.currentQuery.result=i,e.currentQuery.view=a})),this.$modal.hide("save"),this.$root.$emit("querySaved")}else this.errorMsg="Query name can't be empty"},_keyListener:function(e){if("/editor"===this.$route.path){if(("r"===e.key||"Enter"===e.key)&&(e.ctrlKey||e.metaKey))return e.preventDefault(),void(this.runDisabled||this.currentQuery.execute());if("s"===e.key&&(e.ctrlKey||e.metaKey))return e.preventDefault(),void(this.isUnsaved&&this.checkQueryBeforeSave())}"b"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),this.createNewQuery())}}},Va=Ra,Ba=(i("edb5"),Object(s["a"])(Va,Qa,Sa,!1,null,"74f776e4",null)),Ha=Ba.exports,Wa=(i("e506"),{name:"Main",components:{MainMenu:Ha}}),$a=Wa,qa=(i("7ff0"),Object(s["a"])($a,Ea,ka,!1,null,"7b856d32",null)),Ja=qa.exports;a["default"].use(M["a"]);var Fa=[{path:"/",name:"Welcome",component:La},{path:"/",name:"Main",component:Ja,children:[{path:"/editor",name:"Editor",component:ta},{path:"/my-queries",name:"MyQueries",component:ba}]}],Xa=new M["a"]({routes:Fa});Xa.beforeEach(function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t,i,a){var n;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(Mi.state.db){e.next=5;break}return n=Ie.getNewDatabase(),e.next=4,n.loadDb();case 4:Mi.commit("setDb",n);case 5:a();case 6:case"end":return e.stop()}}),e)})));return function(t,i,a){return e.apply(this,arguments)}}());var Ka=Xa,en=i("b8ae"),tn=i("1881"),an=i.n(tn);i("017d"),i("33da"),i("6d26"),i("bebf"),i("7432"),i("4a8d");["localhost","127.0.0.1"].includes(location.hostname)||i.e("chunk-60cbf026").then(i.t.bind(null,"ddb8",7)),a["default"].use(en["VuePlugin"]),a["default"].use(an.a),a["default"].config.productionTip=!1,new a["default"]({router:Ka,store:Mi,render:function(e){return e(u)}}).$mount("#app")},"5ca7":function(e,t,i){},"5f5e":function(e,t,i){},6681:function(e,t,i){},"69e6":function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgcng9IjIuNSIgZmlsbD0iI0YzRjZGQSIgc3Ryb2tlPSIjQzhENEUzIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2QpIj4KPHBhdGggZD0iTTE1Ljc1IDUuMjQ5ODhMNi43NSAxNC4yNDk5TDIuNjI1IDEwLjEyNDlMMy42ODI1IDkuMDY3MzhMNi43NSAxMi4xMjc0TDE0LjY5MjUgNC4xOTIzOEwxNS43NSA1LjI0OTg4WiIgZmlsbD0iIzExOURGRiIvPgo8L2c+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2QiIHg9IjAuNjI1IiB5PSIzLjE5MjM4IiB3aWR0aD0iMTcuMTI1IiBoZWlnaHQ9IjE0LjA1NzUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiLz4KPGZlT2Zmc2V0IGR5PSIxIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiLz4KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMC4xNjQ3MDYgMCAwIDAgMCAwLjI0NzA1OSAwIDAgMCAwIDAuMzcyNTQ5IDAgMCAwIDAuNDUgMCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvdyIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8L3N2Zz4K"},"6a0b":function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDUwIiBoZWlnaHQ9IjE2NyIgdmlld0JveD0iMCAwIDQ1MCAxNjciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtYXNrIGlkPSJtYXNrMCIgbWFzay10eXBlPSJhbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQ1MCIgaGVpZ2h0PSIxNjciPgo8cmVjdCB3aWR0aD0iNDUwIiBoZWlnaHQ9IjE2NyIgZmlsbD0iI0M0QzRDNCIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazApIj4KPHBhdGggZD0iTTEyOC4yMDcgLTE2OS4wMDdDNzAuMTk3MiAtMTgwLjg0OSAxOC43NDUgLTE0MC4xMSA0LjMxOTg1IC03OC4zMzIyQy0xMC4xMDU0IC0xNi41NTM5IDE0LjMzMzcgMTUuMzMxOCAzNy4zMjE4IDU1LjE4OTFDNzIuMzc4NCAxMTUuOTcxIDE4MS41NTEgMTcwLjIzNyAyNjUuMDgzIDE2Ni43ODlDMzM3LjUxNyAxNjMuOCAzODkuMDI4IDE0NS41MTQgNDI1LjkzNiA3Ny4xMTA3QzQ4OS4zNzggLTQwLjQ2NzkgNDE3LjQ0NCAtMTE3LjA5MyAzMjUuNTI3IC0xMDIuNzQ1QzIxNC41NzEgLTg1LjQyNCAyMTMuNjI5IC0xNTEuNTcgMTI4LjIwNyAtMTY5LjAwN1oiIGZpbGw9IiNERkU4RjMiLz4KPHBhdGggZD0iTTE0Ny4yMjIgOS40ODcxNkMxNDcuMjIyIDYuNzI4MjQgMTQ5LjQ1OCA0LjQ5MTcgMTUyLjIxNyA0LjQ5MTdIMzQzLjA0NEMzNDUuODAyIDQuNDkxNyAzNDguMDM5IDYuNzI4MjQgMzQ4LjAzOSA5LjQ4NzE1VjEyMi4zODRDMzQ4LjAzOSAxMjUuMTQzIDM0NS44MDIgMTI3LjM4IDM0My4wNDQgMTI3LjM4SDE1Mi4yMTdDMTQ5LjQ1OCAxMjcuMzggMTQ3LjIyMiAxMjUuMTQzIDE0Ny4yMjIgMTIyLjM4NFY5LjQ4NzE2WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTE1Ni4yODQgLTEuNTczNzNDMTU4LjE1OCAtMy40NDczOSAxNjAuNjk5IC00LjUgMTYzLjM0OSAtNC41SDMzMS45MTFDMzM0LjU2MSAtNC41IDMzNy4xMDIgLTMuNDQ3MzkgMzM4Ljk3NiAtMS41NzM3M0wzNDYuMDQxIDUuNDkwOTFIMTQ5LjIyTDE1Ni4yODQgLTEuNTczNzNaIiBmaWxsPSIjQzhENEUzIi8+CjxwYXRoIGQ9Ik0xNDcuMjIyIDkuNDg3MTVDMTQ3LjIyMiA2LjcyODI0IDE0OS40NTggNC40OTE3IDE1Mi4yMTcgNC40OTE3SDM0My4wNDRDMzQ1LjgwMiA0LjQ5MTcgMzQ4LjAzOSA2LjcyODI0IDM0OC4wMzkgOS40ODcxNVYyNy40NzA4SDE0Ny4yMjJWOS40ODcxNVoiIGZpbGw9IiNBMkIxQzYiLz4KPHBhdGggZD0iTTI1NC45MzkgNjcuOTU3MUMyNTQuMjUgNjcuNTMzNSAyNTMuNTk3IDY3LjA1MTkgMjUyLjk4OCA2Ni41MTc0VjU3LjY5MzVIMjU2LjgzMlY2OS4wMThDMjU2LjE5NSA2OC42ODY5IDI1NS41NjQgNjguMzMzMiAyNTQuOTM5IDY3Ljk1NzFaTTI2Mi4zNDEgNjMuNTAzMUgyNTguNDk4VjY5LjcyNTNDMjU5Ljc1MiA3MC4zMDkgMjYxLjAzNSA3MC44Mjg4IDI2Mi4zNDEgNzEuMjgyOVY2My41MDMxWk0yNTIuOTg4IDY4LjI4NTVMMjUyLjczNyA2OC4wODM0QzI1Mi4zNTIgNjcuNzYzNSAyNTEuOTkyIDY3LjQzNTEgMjUxLjY0OCA2Ny4xMDY4TDI0Mi41MyA2Ni4wNDU5TDI0NC4yMDUgNjkuMjk1OUwyNTUuOTI3IDcwLjI1NTdDMjU0Ljg5OSA2OS42NzU4IDI1My45MTYgNjkuMDE3MiAyNTIuOTg4IDY4LjI4NTVWNjguMjg1NVpNMjYyLjE0IDczLjAwOUMyNjAuODMyIDcyLjU3OTMgMjU5LjU0OSA3Mi4wNzYyIDI1OC4yOTcgNzEuNTAxOEwyNTcuODI4IDcxLjI2NjFMMjUwLjA5OSA3MC43NTI1TDI1MS40MDYgNzMuNDg4OUwyNjQuODg3IDczLjgwMDRDMjYzLjk2NiA3My41ODE1IDI2My4wMzYgNzMuMzEyMSAyNjIuMTQgNzMuMDA5Wk0yNDYuMDk3IDU3LjY5MzVDMjQ3LjU3MiA2MC4yODc1IDI0OS4zMjcgNjIuNzEwMSAyNTEuMzMgNjQuOTE3NlY1Ni4xMjc1TDI0Mi44ODIgNTEuOTQyOUwyNDIuMTI4IDYxLjc1MThMMjUwLjgyOCA2Ni4yMzk1QzI0OC41NDcgNjMuODQ2OSAyNDYuOTE4IDYwLjkwMzYgMjQ2LjA5NyA1Ny42OTM1VjU3LjY5MzVaIiBmaWxsPSIjMTE5REZGIi8+CjxwYXRoIGQ9Ik0yMTAuNzM4IDg0LjI4NThDMjExLjc5NSA4NC44NzYzIDIxMi44NTggODUuMTcxNSAyMTMuOTI2IDg1LjE3MTVDMjE0LjgxNSA4NS4xNzE1IDIxNS4zMzYgODQuODU1NyAyMTUuNDkgODQuMjI0MkMyMTUuNTQxIDg0LjAwODUgMjE1LjU2NyA4My43NDY3IDIxNS41NjcgODMuNDM4NkMyMTUuNTY3IDgzLjEyNTQgMjE1LjUzMSA4Mi44ODQgMjE1LjQ1OSA4Mi43MTQ2QzIxNS4zODcgODIuNTQgMjE1LjI2NiA4Mi40MTE3IDIxNS4wOTcgODIuMzI5NUMyMTQuOTI3IDgyLjI0MjIgMjE0LjcwMiA4Mi4xNzggMjE0LjQxOSA4Mi4xMzdDMjE0LjE0MiA4Mi4wOTU5IDIxMy43ODggODIuMDM5NCAyMTMuMzU2IDgxLjk2NzVDMjEyLjkyNSA4MS44OTA1IDIxMi41MyA4MS44MDU4IDIxMi4xNyA4MS43MTM0QzIxMS44MTEgODEuNjIwOSAyMTEuNTA1IDgxLjQ4NzQgMjExLjI1NCA4MS4zMTI5QzIxMC43MiA4MC45MzggMjEwLjQ2MyA4MC4zMDY1IDIxMC40ODMgNzkuNDE4MlY3OS4yMjU2QzIxMC40ODMgNzguMjkxMiAyMTAuNzkyIDc3LjYyNjIgMjExLjQwOCA3Ny4yMzA5QzIxMi4wMDMgNzYuODQwNiAyMTIuOTg3IDc2LjcwNzEgMjE0LjM1OCA3Ni44MzA0QzIxNS4yOTIgNzYuOTE3NiAyMTYuMDM3IDc3LjA3OTQgMjE2LjU5MSA3Ny4zMTU2TDIxNi4yMjkgNzguNDc4NkMyMTUuNjEzIDc4LjIxNjcgMjE0Ljg3NCA3OC4wMjY3IDIxNC4wMTEgNzcuOTA4NkMyMTMuNzQ0IDc3Ljg3MjcgMjEzLjQ5MiA3Ny44NTQ3IDIxMy4yNTYgNzcuODU0N0MyMTMuMDI1IDc3Ljg1NDcgMjEyLjgxNSA3Ny44NzI3IDIxMi42MjUgNzcuOTA4NkMyMTIuNDM1IDc3Ljk0NDYgMjEyLjI3NSA3OC4wMTEzIDIxMi4xNDcgNzguMTA4OUMyMTEuOTAxIDc4LjMwOTEgMjExLjc3MiA3OC42ODE0IDIxMS43NjIgNzkuMjI1NkMyMTEuNzQ3IDc5Ljg2NzUgMjExLjkyNiA4MC4yNzU3IDIxMi4zMDEgODAuNDUwM0MyMTIuNjYxIDgwLjYxOTcgMjEzLjA4NyA4MC43Mzc4IDIxMy41OCA4MC44MDQ1QzIxNC4wNzMgODAuODY2MiAyMTQuNDc2IDgwLjkyMjYgMjE0Ljc4OSA4MC45NzRDMjE1LjEwMiA4MS4wMjAyIDIxNS4zODcgODEuMDg0NCAyMTUuNjQ0IDgxLjE2NjVDMjE1LjkgODEuMjQ4NyAyMTYuMTIxIDgxLjM3OTYgMjE2LjMwNiA4MS41NTkzQzIxNi42OTEgODEuOTIzOSAyMTYuODc5IDgyLjU1OCAyMTYuODY4IDgzLjQ2MTdDMjE2Ljg0MyA4NS4wMzggMjE2LjE4NSA4NS45MzY2IDIxNC44OTcgODYuMTU3NEMyMTQuNTA2IDg2LjIyNDEgMjE0LjExNiA4Ni4yNTc1IDIxMy43MjYgODYuMjU3NUMyMTMuMzM2IDg2LjI1NzUgMjEyLjk3NiA4Ni4yMzE4IDIxMi42NDggODYuMTgwNUMyMTIuMzI0IDg2LjEzNDMgMjEyLjAxNCA4Ni4wNjc1IDIxMS43MTYgODUuOTgwMkMyMTEuMTUxIDg1LjgyMSAyMTAuNjQgODUuNjEwNSAyMTAuMTgzIDg1LjM0ODdMMjEwLjczOCA4NC4yODU4WiIgZmlsbD0iIzJBM0Y1RiIvPgo8cGF0aCBkPSJNMjI1Ljc3OSA4NS4yMjU0QzIyNC43OTkgODUuOTEzNSAyMjMuNzYyIDg2LjI1NzUgMjIyLjY2OCA4Ni4yNTc1QzIyMS4zODkgODYuMjU3NSAyMjAuNTM3IDg1LjgwMzEgMjIwLjExMSA4NC44OTQyQzIxOS44NjQgODQuMzgwOCAyMTkuNzIxIDgzLjczMTMgMjE5LjY4IDgyLjk0NTdDMjE5LjY2NCA4Mi41ODYyIDIxOS42NTYgODIuMTkwOSAyMTkuNjU2IDgxLjc1OTZDMjE5LjY1NiA4MS4zMjMxIDIxOS42NTkgODAuODg0MSAyMTkuNjY0IDgwLjQ0MjVDMjE5LjY3NCA4MC4wMDEgMjE5LjcwOCA3OS41OTI4IDIxOS43NjQgNzkuMjE3OUMyMTkuODIxIDc4Ljg0MzEgMjE5LjkwOCA3OC41MDY4IDIyMC4wMjYgNzguMjA5QzIyMC4xNDkgNzcuOTA2MSAyMjAuMzI0IDc3LjY0OTMgMjIwLjU1IDc3LjQzODhDMjIxLjAxNyA3Ny4wMDI0IDIyMS43MzYgNzYuNzg0MSAyMjIuNzA2IDc2Ljc4NDFDMjIzLjY4MiA3Ni43ODQxIDIyNC43MTkgNzcuMDQ2IDIyNS44MTggNzcuNTY5N0wyMjUuOTQxIDc2LjkzODJIMjI3LjA1TDIyNy4wNTggODkuNjA3OEgyMjUuNzc5Vjg1LjIyNTRaTTIyNS43NzkgNzguNjMyNkMyMjQuODU1IDc4LjE3MDUgMjIzLjk2MiA3Ny45Mzk0IDIyMy4wOTkgNzcuOTM5NEMyMjIuNDczIDc3LjkzOTQgMjIyLjA1OSA3Ny45OTA4IDIyMS44NTkgNzguMDkzNUMyMjEuNjU5IDc4LjE5NjIgMjIxLjUwNSA3OC4zMjk3IDIyMS4zOTcgNzguNDk0QzIyMS4yOTQgNzguNjU4MyAyMjEuMjEgNzguODg0MiAyMjEuMTQzIDc5LjE3MTdDMjIxLjAyNSA3OS43MTA5IDIyMC45NjYgODAuNTk5MiAyMjAuOTY2IDgxLjgzNjZWODIuMDA2QzIyMC45NjYgODMuMTQ1OSAyMjEuMTA3IDgzLjk0NDMgMjIxLjM4OSA4NC40MDEzQzIyMS42NzIgODQuODY4NiAyMjIuMTg4IDg1LjEwMjIgMjIyLjkzNyA4NS4xMDIySDIyMy4wNTNDMjIzLjc2MiA4NS4xMDIyIDIyNC40ODYgODQuOTA3MSAyMjUuMjI1IDg0LjUxNjlDMjI1LjQzNSA4NC40MDkgMjI1LjYyIDg0LjI5ODYgMjI1Ljc3OSA4NC4xODU3Vjc4LjYzMjZaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yMzAuNzAxIDczLjAxMDJMMjMxLjk3MiA3Mi45MDI0Vjg2LjEwMzRIMjMwLjcxNkwyMzAuNzAxIDczLjAxMDJaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yMzYuNjA4IDc0Ljc0MzFDMjM2LjI2NCA3NC43NDMxIDIzNi4wNDQgNzQuNjk0NCAyMzUuOTQ2IDc0LjU5NjhDMjM1Ljc5MiA3NC40Mzc2IDIzNS43MTUgNzQuMjE5NCAyMzUuNzE1IDczLjk0MjFDMjM1LjcxNSA3My42NTk3IDIzNS43MyA3My40NTk1IDIzNS43NjEgNzMuMzQxNEMyMzUuNzk3IDczLjIxODIgMjM1Ljg0OCA3My4xMjMyIDIzNS45MTUgNzMuMDU2NEMyMzYuMDM4IDcyLjkzMzIgMjM2LjIyNiA3Mi44NzE2IDIzNi40NzcgNzIuODcxNkMyMzYuNzM0IDcyLjg3MTYgMjM2LjkxNiA3Mi44ODQ0IDIzNy4wMjQgNzIuOTEwMUMyMzcuMTM3IDcyLjkzNTggMjM3LjIzIDcyLjk4NDUgMjM3LjMwMSA3My4wNTY0QzIzNy40MjUgNzMuMTc5NyAyMzcuNDg2IDczLjM4MjUgMjM3LjQ4NiA3My42NjQ5QzIzNy40ODYgNzMuOTQyMSAyMzcuNDcxIDc0LjE0MjQgMjM3LjQ0IDc0LjI2NTZDMjM3LjQxNCA3NC4zODM3IDIzNy4zNjggNzQuNDc4NyAyMzcuMzAxIDc0LjU1MDZDMjM3LjE3MyA3NC42NzkgMjM2Ljk0MiA3NC43NDMxIDIzNi42MDggNzQuNzQzMVpNMjM1Ljk4NCA3Ni45MzgySDIzNy4yNDhWODYuMTAzNEgyMzZMMjM1Ljk4NCA3Ni45MzgyWiIgZmlsbD0iIzJBM0Y1RiIvPgo8cGF0aCBkPSJNMjQ1LjQ3MyA4NS42NjQ0QzI0NC42MzYgODYuMDU5OCAyNDMuODY0IDg2LjI1NzUgMjQzLjE1NSA4Ni4yNTc1QzI0MS44NzEgODYuMjU3NSAyNDEuMTQyIDg1LjcwODEgMjQwLjk2OCA4NC42MDkzQzI0MC45MjcgODQuMzQ3NCAyNDAuOTA2IDgzLjk2NzUgMjQwLjkwNiA4My40Njk0Vjc4LjAwODdIMjM5Ljc5N1Y3Ny4wNjE0TDI0MC45MDYgNzYuOTM4MkwyNDEuMTA2IDc0Ljg0MzNIMjQyLjE3N1Y3Ni45MzgySDI0NC44NDlWNzguMDA4N0gyNDIuMTc3VjgzLjQ0NjNDMjQyLjE3NyA4NC4wNzc4IDI0Mi4yMjMgODQuNDgwOSAyNDIuMzE1IDg0LjY1NTVDMjQyLjQ4NSA4NC45NzM4IDI0Mi44MjQgODUuMTMzIDI0My4zMzIgODUuMTMzQzI0My44NCA4NS4xMzMgMjQ0LjQwOCA4NC45NzY0IDI0NS4wMzQgODQuNjYzMkwyNDUuNDczIDg1LjY2NDRaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yNTQuNzE1IDg1LjYxODJDMjUzLjY1MyA4Ni4wNDQ0IDI1Mi40NzkgODYuMjU3NSAyNTEuMTk2IDg2LjI1NzVDMjUwLjQ1MSA4Ni4yNTc1IDI0OS44MiA4Ni4xODA1IDI0OS4zMDEgODYuMDI2NEMyNDguNDc0IDg1Ljc5MDIgMjQ3LjkyNSA4NS4zMDI0IDI0Ny42NTMgODQuNTYzMUMyNDcuNDAxIDgzLjg2OTkgMjQ3LjI3NSA4Mi44NDMgMjQ3LjI3NSA4MS40ODIzVjgxLjA4OTVDMjQ3LjI3NSA3OS40NjE4IDI0Ny42MTQgNzguMzE5NCAyNDguMjkyIDc3LjY2MjJDMjQ4LjkwMyA3Ny4wNzY4IDI0OS45MjIgNzYuNzg0MSAyNTEuMzUgNzYuNzg0MUMyNTIuNzQxIDc2Ljc4NDEgMjUzLjY5MSA3Ny4xMjgyIDI1NC4xOTkgNzcuODE2MkMyNTQuNDQ2IDc4LjE0OTkgMjU0LjYwOCA3OC41NTU2IDI1NC42ODUgNzkuMDMzMUMyNTQuNzY3IDc5LjUwNTUgMjU0LjgwOCA3OS45NTczIDI1NC44MDggODAuMzg4NkMyNTQuODA4IDgxLjA2MTMgMjU0Ljc5MyA4MS41ODI0IDI1NC43NjIgODEuOTUyMUMyNTQuMDM4IDgxLjk4MjkgMjUzLjM4OCA4MS45OTgzIDI1Mi44MTMgODEuOTk4M0MyNTIuODEzIDgxLjk5ODMgMjUyLjQgODEuOTk4MyAyNTEuNTczIDgxLjk5ODNDMjUwLjI3OSA4MS45OTgzIDI0OS4yODMgODEuOTQxOSAyNDguNTg1IDgxLjgyODlDMjQ4LjU4NSA4My4wMDk4IDI0OC43MzQgODMuODM0IDI0OS4wMzEgODQuMzAxMkMyNDkuMzk2IDg0Ljg3MTEgMjUwLjEyMyA4NS4xNTYxIDI1MS4yMTEgODUuMTU2MUMyNTIuMyA4NS4xNTYxIDI1My4zNDIgODQuOTQzIDI1NC4zMzggODQuNTE2OUwyNTQuNzE1IDg1LjYxODJaTTI1My41MDYgODAuOTI3OFY4MC4xODg0QzI1My41MDYgNzkuMzgyMyAyNTMuMzUgNzguODA3MiAyNTMuMDM2IDc4LjQ2MzJDMjUyLjY4NyA3OC4wNzgxIDI1Mi4wODQgNzcuODg1NSAyNTEuMjI3IDc3Ljg4NTVDMjUwLjIgNzcuODg1NSAyNDkuNDk5IDc4LjEwODkgMjQ5LjEyNCA3OC41NTU2QzI0OC43NjQgNzguOTgxOCAyNDguNTg1IDc5Ljc3MjUgMjQ4LjU4NSA4MC45Mjc4SDI1My41MDZaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yNTYuOTU3IDc2LjkzODJIMjU4LjMzNUwyNjAuNzM4IDg0LjQxNjdMMjYwLjk2OSA4NS4xNzkyTDI2MS4xODUgODQuNDE2N0wyNjMuNDggNzYuOTM4MkgyNjQuODc0TDI2MS43NzggODYuMTAzNEgyNjAuMDk5TDI1Ni45NTcgNzYuOTM4MloiIGZpbGw9IiMyQTNGNUYiLz4KPHBhdGggZD0iTTI2OC4xNTUgNzQuNzQzMUMyNjcuODExIDc0Ljc0MzEgMjY3LjU5IDc0LjY5NDQgMjY3LjQ5MyA3NC41OTY4QzI2Ny4zMzkgNzQuNDM3NiAyNjcuMjYyIDc0LjIxOTQgMjY3LjI2MiA3My45NDIxQzI2Ny4yNjIgNzMuNjU5NyAyNjcuMjc3IDczLjQ1OTUgMjY3LjMwOCA3My4zNDE0QzI2Ny4zNDQgNzMuMjE4MiAyNjcuMzk1IDczLjEyMzIgMjY3LjQ2MiA3My4wNTY0QzI2Ny41ODUgNzIuOTMzMiAyNjcuNzczIDcyLjg3MTYgMjY4LjAyNCA3Mi44NzE2QzI2OC4yODEgNzIuODcxNiAyNjguNDYzIDcyLjg4NDQgMjY4LjU3MSA3Mi45MTAxQzI2OC42ODQgNzIuOTM1OCAyNjguNzc3IDcyLjk4NDUgMjY4Ljg0OCA3My4wNTY0QzI2OC45NzIgNzMuMTc5NyAyNjkuMDMzIDczLjM4MjUgMjY5LjAzMyA3My42NjQ5QzI2OS4wMzMgNzMuOTQyMSAyNjkuMDE4IDc0LjE0MjQgMjY4Ljk4NyA3NC4yNjU2QzI2OC45NjEgNzQuMzgzNyAyNjguOTE1IDc0LjQ3ODcgMjY4Ljg0OCA3NC41NTA2QzI2OC43MiA3NC42NzkgMjY4LjQ4OSA3NC43NDMxIDI2OC4xNTUgNzQuNzQzMVpNMjY3LjUzMSA3Ni45MzgySDI2OC43OTVWODYuMTAzNEgyNjcuNTQ3TDI2Ny41MzEgNzYuOTM4MloiIGZpbGw9IiMyQTNGNUYiLz4KPHBhdGggZD0iTTI3MS42MDYgODUuMjMzMUwyNzYuMjk2IDc4LjAwMUgyNzEuNTA2Vjc2LjkzODJIMjc3Ljg1MlY3Ny44MDg1TDI3My4xNzcgODUuMDMyOUgyNzguMDQ1Vjg2LjEwMzRIMjcxLjYwNlY4NS4yMzMxWiIgZmlsbD0iIzJBM0Y1RiIvPgo8cGF0aCBkPSJNMjA0LjE3IDE2LjQ4MUMyMDQuMTcgMTQuMjczOSAyMDUuOTU5IDEyLjQ4NDYgMjA4LjE2NiAxMi40ODQ2SDMzNi4wNUMzMzguMjU3IDEyLjQ4NDYgMzQwLjA0NiAxNC4yNzM5IDM0MC4wNDYgMTYuNDgxVjE2LjQ4MUMzNDAuMDQ2IDE4LjY4ODEgMzM4LjI1NyAyMC40NzczIDMzNi4wNSAyMC40NzczSDIwOC4xNjZDMjA1Ljk1OSAyMC40NzczIDIwNC4xNyAxOC42ODgxIDIwNC4xNyAxNi40ODFWMTYuNDgxWiIgZmlsbD0iI0YzRjZGQSIvPgo8cGF0aCBkPSJNMTY1LjIwNSAxNi40ODA4QzE2NS4yMDUgMTkuMjM5NyAxNjIuOTY5IDIxLjQ3NjMgMTYwLjIxIDIxLjQ3NjNDMTU3LjQ1MSAyMS40NzYzIDE1NS4yMTQgMTkuMjM5NyAxNTUuMjE0IDE2LjQ4MDhDMTU1LjIxNCAxMy43MjE5IDE1Ny40NTEgMTEuNDg1NCAxNjAuMjEgMTEuNDg1NEMxNjIuOTY5IDExLjQ4NTQgMTY1LjIwNSAxMy43MjE5IDE2NS4yMDUgMTYuNDgwOFoiIGZpbGw9IiNDOEQ0RTMiLz4KPHBhdGggZD0iTTE4MS4xOTEgMTYuNDgwOEMxODEuMTkxIDE5LjIzOTcgMTc4Ljk1NCAyMS40NzYzIDE3Ni4xOTUgMjEuNDc2M0MxNzMuNDM2IDIxLjQ3NjMgMTcxLjIgMTkuMjM5NyAxNzEuMiAxNi40ODA4QzE3MS4yIDEzLjcyMTkgMTczLjQzNiAxMS40ODU0IDE3Ni4xOTUgMTEuNDg1NEMxNzguOTU0IDExLjQ4NTQgMTgxLjE5MSAxMy43MjE5IDE4MS4xOTEgMTYuNDgwOFoiIGZpbGw9IiNDOEQ0RTMiLz4KPHBhdGggZD0iTTE5Ny4xNzYgMTYuNDgwOEMxOTcuMTc2IDE5LjIzOTcgMTk0Ljk0IDIxLjQ3NjMgMTkyLjE4MSAyMS40NzYzQzE4OS40MjIgMjEuNDc2MyAxODcuMTg2IDE5LjIzOTcgMTg3LjE4NiAxNi40ODA4QzE4Ny4xODYgMTMuNzIxOSAxODkuNDIyIDExLjQ4NTQgMTkyLjE4MSAxMS40ODU0QzE5NC45NCAxMS40ODU0IDE5Ny4xNzYgMTMuNzIxOSAxOTcuMTc2IDE2LjQ4MDhaIiBmaWxsPSIjQzhENEUzIi8+CjxwYXRoIGQ9Ik0xNzQuMDk5IC0wLjc0MTUzNUMxNzQuMjgzIC0wLjkwOTg0MyAxNzQuNTI0IC0xLjAwMzE3IDE3NC43NzMgLTEuMDAzMTdIMzE4LjQ5QzMxOC43MzkgLTEuMDAzMTcgMzE4Ljk4IC0wLjkwOTg0MyAzMTkuMTY0IC0wLjc0MTUzM1YtMC43NDE1MzNDMzE5LjgzNyAtMC4xMjYzMTYgMzE5LjQwMiAwLjk5NTAwOCAzMTguNDkgMC45OTUwMDhIMTc0Ljc3M0MxNzMuODYxIDAuOTk1MDA4IDE3My40MjYgLTAuMTI2MzE5IDE3NC4wOTkgLTAuNzQxNTM1Vi0wLjc0MTUzNVoiIGZpbGw9IiM1MDY3ODQiLz4KPHBhdGggZD0iTTM0Ljg3NSAxMTkuNzM1TDQyLjU0NjUgMTI2LjEzNkwzMC4zODU1IDE0MC43MTJMMjIuNzE0IDEzNC4zMTFMMzQuODc1IDExOS43MzVaIiBmaWxsPSIjRjNDNkJGIi8+CjxwYXRoIGQ9Ik0yNy4wOTcyIDEyOS4yNTdMMzQuNzY4NyAxMzUuNjU3QzM0Ljc2ODcgMTM1LjY1NyAzOC44MDggMTQxLjExMiAzOS4zMDM0IDE0Ni41OTdDMzkuNDk0MSAxNDguNzA4IDM3LjA2MzMgMTQ5LjI4MiAzNy4wNjMzIDE0OS4yODJMMjEuMzM2NyAxMzYuMTYxTDI3LjA5NzIgMTI5LjI1N1oiIGZpbGw9IiM1MDY3ODQiLz4KPHBhdGggZD0iTTUyLjg5MjEgMzIuODE0NUw5Mi4yNzE4IDY0LjI4NThDMTA0Ljg3NCA5Ni4yOTIzIDM4LjMyMDkgMTMzLjcyMyAzOC4zMjA5IDEzMy43MjNMMjcuODU1NiAxMjYuMDU4QzI3Ljg1NTYgMTI2LjA1OCAzOS42ODg4IDEwOC41MjYgNTAuODA5NSA4MS43Njk5QzU2LjgzMDEgNjcuMjg0MyA1NC41NzMxIDQ4LjE0ODggNTIuODkyMSAzMi44MTQ1WiIgZmlsbD0iIzBENzZCRiIvPgo8cGF0aCBkPSJNMTAzLjI2MiAxMzAuNzI2SDExMy4yNTNWMTQ5LjcwOEgxMDMuMjYyVjEzMC43MjZaIiBmaWxsPSIjRjNDNkJGIi8+CjxwYXRoIGQ9Ik01NC4zMDY3IDQyLjMwNTlDNTAuODEwMSAzNS44MTE4IDQ4LjgxMTcgMzEuMzE1OSA0OS43NzM5IDE3LjgyODFIMTE1LjAxMUMxMjEuMjQ2IDI4LjMxODYgMTI1LjI0MiA1NC4yOTQ5IDEyNS4yNDIgNzUuNzc1NEMxMjUuMjQyIDk3LjI1NTkgMTIyLjI0NSAxMTYuMjM5IDExNS4wMTEgMTQxLjIxNkgxMDAuNzY0QzEwMC43NjQgMTQxLjIxNiA5NC43NzAxIDEwMS4yNTIgOTIuMjcyMyA4Mi43NjlDOTAuOTY3OSA3My4xMTYgNTcuMDE5NyA0Ny4zNDQ1IDU0LjMwNjcgNDIuMzA1OVoiIGZpbGw9IiMxMTlERkYiLz4KPHBhdGggZD0iTTEwMy4yNjIgMTQ0LjQyNkgxMTMuMjUzQzExMy4yNTMgMTQ0LjQyNiAxMTkuODQ5IDE0Ni4wMjcgMTIzLjc0NCAxNDkuOTIxQzEyNS4yNDIgMTUxLjQyIDEyMy43NDQgMTUzLjQxOCAxMjMuNzQ0IDE1My40MThIMTAzLjI2MlYxNDQuNDI2WiIgZmlsbD0iIzUwNjc4NCIvPgo8L2c+Cjwvc3ZnPgo="},"6d26":function(e,t,i){},"72c0":function(e,t,i){"use strict";var a=i("7db5"),n=i.n(a);n.a},7314:function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuOTk5ODQgMTYuNjY2N0M2LjMyNDg0IDE2LjY2NjcgMy4zMzMxNyAxMy42NzUgMy4zMzMxNyAxMEMzLjMzMzE3IDYuMzI1MDIgNi4zMjQ4NCAzLjMzMzM1IDkuOTk5ODQgMy4zMzMzNUMxMy42NzQ4IDMuMzMzMzUgMTYuNjY2NSA2LjMyNTAyIDE2LjY2NjUgMTBDMTYuNjY2NSAxMy42NzUgMTMuNjc0OCAxNi42NjY3IDkuOTk5ODQgMTYuNjY2N1pNOS45OTk4NCAxLjY2NjY5QzguOTA1NDkgMS42NjY2OSA3LjgyMTg2IDEuODgyMjQgNi44MTA4MSAyLjMwMTAyQzUuNzk5NzYgMi43MTk4MSA0Ljg4MTEgMy4zMzM2NCA0LjEwNzI4IDQuMTA3NDZDMi41NDQ0OCA1LjY3MDI3IDEuNjY2NSA3Ljc4OTg4IDEuNjY2NSAxMEMxLjY2NjUgMTIuMjEwMiAyLjU0NDQ4IDE0LjMyOTggNC4xMDcyOCAxNS44OTI2QzQuODgxMSAxNi42NjY0IDUuNzk5NzYgMTcuMjgwMiA2LjgxMDgxIDE3LjY5OUM3LjgyMTg2IDE4LjExNzggOC45MDU0OSAxOC4zMzM0IDkuOTk5ODQgMTguMzMzNEMxMi4yMSAxOC4zMzM0IDE0LjMyOTYgMTcuNDU1NCAxNS44OTI0IDE1Ljg5MjZDMTcuNDU1MiAxNC4zMjk4IDE4LjMzMzIgMTIuMjEwMiAxOC4zMzMyIDEwQzE4LjMzMzIgOC45MDU2NyAxOC4xMTc2IDcuODIyMDQgMTcuNjk4OCA2LjgxMDk5QzE3LjI4IDUuNzk5OTUgMTYuNjY2MiA0Ljg4MTI5IDE1Ljg5MjQgNC4xMDc0NkMxNS4xMTg2IDMuMzMzNjQgMTQuMTk5OSAyLjcxOTgxIDEzLjE4ODkgMi4zMDEwMkMxMi4xNzc4IDEuODgyMjQgMTEuMDk0MiAxLjY2NjY5IDkuOTk5ODQgMS42NjY2OVoiIGZpbGw9IiNFRjU1M0IiLz4KPHJlY3QgeD0iNi4zNjc2OCIgeT0iNy41NDg1NSIgd2lkdGg9IjEuNjciIGhlaWdodD0iOC42MDM2MyIgdHJhbnNmb3JtPSJyb3RhdGUoLTQ1IDYuMzY3NjggNy41NDg1NSkiIGZpbGw9IiNFRjU1M0IiLz4KPHJlY3QgeD0iMTIuNDUxNyIgeT0iNi4zNjc3MSIgd2lkdGg9IjEuNjciIGhlaWdodD0iOC42MDM2MyIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgMTIuNDUxNyA2LjM2NzcxKSIgZmlsbD0iI0VGNTUzQiIvPgo8L3N2Zz4K"},7432:function(e,t,i){},7492:function(e,t,i){},"7a18":function(e,t,i){},"7bcd":function(e,t,i){},"7cf8":function(e,t,i){"use strict";var a=i("bbb1"),n=i.n(a);n.a},"7db5":function(e,t,i){},"7e41":function(e,t,i){"use strict";var a=i("b5b8"),n=i.n(a);n.a},"7fb6":function(e,t,i){},"7ff0":function(e,t,i){"use strict";var a=i("84e4"),n=i.n(a);n.a},8312:function(e,t,i){"use strict";var a=i("6681"),n=i.n(a);n.a},"83e3":function(e,t,i){},"84e4":function(e,t,i){},"85ec":function(e,t,i){},"87d4":function(e,t,i){e.exports=i.p+"img/file.f5540c43.png"},8913:function(e,t,i){},"8c0b":function(e,t,i){},"8fcc":function(e,t,i){},9224:function(e){e.exports=JSON.parse('{"name":"sqliteviz","version":"0.13.2","license":"Apache-2.0","private":true,"scripts":{"serve":"vue-cli-service serve","build":"NODE_OPTIONS=--max_old_space_size=4096 vue-cli-service build","test":"vue-cli-service karma","lint":"vue-cli-service lint"},"dependencies":{"codemirror":"^5.57.0","core-js":"^3.6.5","nanoid":"^3.1.12","papaparse":"^5.3.1","plotly.js":"^1.58.4","promise-worker":"^2.0.1","react":"^16.13.1","react-chart-editor":"^0.45.0","react-dom":"^16.13.1","sql.js":"^1.5.0","sqlite-parser":"^1.0.1","vue":"^2.6.11","vue-codemirror":"^4.0.6","vue-js-modal":"^2.0.0-rc.6","vue-router":"^3.2.0","vuejs-paginate":"^2.1.0","vuera":"^0.2.7","vuex":"^3.4.0"},"devDependencies":{"@vue/cli-plugin-babel":"^4.4.0","@vue/cli-plugin-eslint":"^4.4.0","@vue/cli-plugin-router":"^4.4.0","@vue/cli-plugin-vuex":"^4.4.0","@vue/cli-service":"^4.4.0","@vue/eslint-config-standard":"^5.1.2","@vue/test-utils":"^1.1.2","babel-eslint":"^10.1.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","eslint":"^6.7.2","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.0","eslint-plugin-vue":"^6.2.2","karma":"^3.1.4","karma-firefox-launcher":"^2.1.0","karma-webpack":"^4.0.2","vue-cli-plugin-ui-karma":"^0.2.5","vue-template-compiler":"^2.6.11","workbox-webpack-plugin":"^6.1.5","worker-loader":"^3.0.8"}}')},"93dd":function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgcng9IjIuNSIgZmlsbD0iIzExOURGRiIgc3Ryb2tlPSIjMEQ3NkJGIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2QpIj4KPHBhdGggZD0iTTE1Ljc1IDUuMjVMNi43NSAxNC4yNUwyLjYyNSAxMC4xMjVMMy42ODI1IDkuMDY3NUw2Ljc1IDEyLjEyNzVMMTQuNjkyNSA0LjE5MjVMMTUuNzUgNS4yNVoiIGZpbGw9IndoaXRlIi8+CjwvZz4KPGRlZnM+CjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZCIgeD0iMC42MjUiIHk9IjMuMTkyNSIgd2lkdGg9IjE3LjEyNSIgaGVpZ2h0PSIxNC4wNTc1IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+CjxmZU9mZnNldCBkeT0iMSIvPgo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxIi8+CjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAuMTY0NzA2IDAgMCAwIDAgMC4yNDcwNTkgMCAwIDAgMCAwLjM3MjU0OSAwIDAgMCAwLjcgMCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvdyIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8L3N2Zz4K"},"97b1":function(e,t,i){"use strict";var a=i("18a5"),n=i.n(a);n.a},"9bf4":function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTE0IiBoZWlnaHQ9IjkwIiB2aWV3Qm94PSIwIDAgMTE0IDkwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNOTYuMzgyOCAxLjkzODk1QzkxLjQyNDQgMC4wOTI4MTQgODYuNjAyMiA1LjYyNTA1IDg1Ljg1OCAxMC42ODE2TDk3LjI4NTEgMTUuNTQ5QzEwMC4xOTQgMTAuNTg1NiAxMDEuMzQxIDMuNzg1MDggOTYuMzgyOCAxLjkzODk1WiIgZmlsbD0iI0YzQzZCRiIvPgo8cGF0aCBkPSJNODQuOTc3NSA5LjEyNDEzQzc1LjA2NTMgMzUuMjAzNSAzMC43MTc5IDQ2LjczNTkgMjEuNDEwNiAzNy43MjY1TDE0LjUzNTkgNzkuNDg1N0M2Ny43NjA3IDg2LjQ5MTIgOTEuOTI2NCA1NS40MTExIDk5LjA5NzMgMTQuNzEzOEw4NC45Nzc1IDkuMTI0MTNaIiBmaWxsPSIjQTJCMUM2Ii8+Cjwvc3ZnPgo="},a1f0:function(e,t,i){"use strict";var a=i("5ca7"),n=i.n(a);n.a},a303:function(e,t,i){},a59c:function(e,t,i){},a96d:function(e,t,i){"use strict";var a=i("3a01"),n=i.n(a);n.a},b288:function(e,t,i){},b5b8:function(e,t,i){},b780:function(e,t,i){},b78a:function(e,t,i){"use strict";var a=i("07de"),n=i.n(a);n.a},bbb1:function(e,t,i){},bebb:function(e,t,i){},bebf:function(e,t,i){},c10c:function(e,t,i){},c603:function(e,t,i){"use strict";var a=i("e360"),n=i.n(a);n.a},c605:function(e,t,i){"use strict";var a=i("bebb"),n=i.n(a);n.a},cc8d:function(e,t,i){"use strict";var a=i("5f5e"),n=i.n(a);n.a},cd51:function(e,t,i){"use strict";var a=i("492c"),n=i.n(a);n.a},d08f:function(e,t,i){"use strict";var a=i("37c0"),n=i.n(a);n.a},d763:function(e,t,i){"use strict";var a=i("046f"),n=i.n(a);n.a},d9ad:function(e,t,i){"use strict";var a=i("a303"),n=i.n(a);n.a},daef:function(e,t,i){"use strict";var a=i("547f"),n=i.n(a);n.a},db39:function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExIDlIMTNWN0gxMVY5Wk0xMiAyMEM3LjU5IDIwIDQgMTYuNDEgNCAxMkM0IDcuNTkgNy41OSA0IDEyIDRDMTYuNDEgNCAyMCA3LjU5IDIwIDEyQzIwIDE2LjQxIDE2LjQxIDIwIDEyIDIwWk0xMiAyQzEwLjY4NjggMiA5LjM4NjQyIDIuMjU4NjYgOC4xNzMxNyAyLjc2MTJDNi45NTk5MSAzLjI2Mzc1IDUuODU3NTIgNC4wMDAzNSA0LjkyODkzIDQuOTI4OTNDMy4wNTM1NyA2LjgwNDMgMiA5LjM0Nzg0IDIgMTJDMiAxNC42NTIyIDMuMDUzNTcgMTcuMTk1NyA0LjkyODkzIDE5LjA3MTFDNS44NTc1MiAxOS45OTk3IDYuOTU5OTEgMjAuNzM2MiA4LjE3MzE3IDIxLjIzODhDOS4zODY0MiAyMS43NDEzIDEwLjY4NjggMjIgMTIgMjJDMTQuNjUyMiAyMiAxNy4xOTU3IDIwLjk0NjQgMTkuMDcxMSAxOS4wNzExQzIwLjk0NjQgMTcuMTk1NyAyMiAxNC42NTIyIDIyIDEyQzIyIDEwLjY4NjggMjEuNzQxMyA5LjM4NjQyIDIxLjIzODggOC4xNzMxN0MyMC43MzYyIDYuOTU5OTEgMTkuOTk5NyA1Ljg1NzUyIDE5LjA3MTEgNC45Mjg5M0MxOC4xNDI1IDQuMDAwMzUgMTcuMDQwMSAzLjI2Mzc1IDE1LjgyNjggMi43NjEyQzE0LjYxMzYgMi4yNTg2NiAxMy4zMTMyIDIgMTIgMlYyWk0xMSAxN0gxM1YxMUgxMVYxN1oiIGZpbGw9IiNBMkIxQzYiLz4KPC9zdmc+Cg=="},e360:function(e,t,i){},e3c0:function(e,t,i){},e4db:function(e,t,i){"use strict";var a=i("7492"),n=i.n(a);n.a},e506:function(e,t,i){},edb5:function(e,t,i){"use strict";var a=i("83e3"),n=i.n(a);n.a},f4da:function(e,t,i){"use strict";var a=i("8913"),n=i.n(a);n.a},f7a6:function(e,t,i){"use strict";var a=i("0720"),n=i.n(a);n.a}}); -//# sourceMappingURL=app.07e3c4a6.js.map \ No newline at end of file +(function(e){function t(t){for(var a,s,o=t[0],c=t[1],u=t[2],l=0,d=[];l0&&e.paneBefore.size>0}]},[100===e.after.max&&e.paneAfter.size>0?a("div",{staticClass:"toggle-btn",on:{click:function(t){return e.togglePane(e.paneBefore)}}},[a("img",{staticClass:"direction-icon",style:e.directionBeforeIconStyle,attrs:{src:i("0ca3")}})]):e._e(),100===e.before.max&&e.paneBefore.size>0?a("div",{staticClass:"toggle-btn",on:{click:function(t){return e.togglePane(e.paneAfter)}}},[a("img",{staticClass:"direction-icon",style:e.directionAfterIconStyle,attrs:{src:i("0ca3")}})]):e._e()])]),a("div",{ref:"right",staticClass:"splitpanes-pane",style:e.styles.after},[e._t("right-pane")],2)])}),I=[],h=i("5530"),D=i("ade3"),m={getCurrentMouseDrag:function(e,t){var i=t.getBoundingClientRect(),a="ontouchstart"in window&&e.touches?e.touches[0]:e,n=a.clientX,r=a.clientY;return{x:n-i.left,y:r-i.top}},getCurrentDragPercentage:function(e,t,i){var a=this.getCurrentMouseDrag(e,t);a=a[i?"y":"x"];var n=t[i?"clientHeight":"clientWidth"];return 100*a/n},calculateOffset:function(e,t){var i=t.container,a=t.isHorisontal,n=t.paneBeforeMax,r=t.paneAfterMax,s=this.getCurrentDragPercentage(e,i,a),o=n<100&&s>=n,c=r<100&&s<=100-r;return o||c?o?n:Math.max(100-r,0):Math.min(Math.max(s,0),n)}},j={name:"Splitpanes",props:{horizontal:{type:Boolean,default:!1},before:{type:Object},after:{type:Object}},data:function(){return{container:null,paneBefore:this.before,paneAfter:this.after,beforeMinimising:{before:this.before.size,after:this.after.size},dragging:!1,movableSplitter:{top:0,left:0,visibility:"hidden"}}},computed:{styles:function(){return{before:Object(D["a"])({},this.horizontal?"height":"width","".concat(this.paneBefore.size,"%")),after:Object(D["a"])({},this.horizontal?"height":"width","".concat(this.paneAfter.size,"%"))}},movableSplitterStyle:function(){var e=Object(h["a"])({},this.movableSplitter);return e.top+="%",e.left+="%",e},directionBeforeIconStyle:function(){var e=0!==this.paneBefore.size,t="translate(-50%, -50%) ",i="";return i=this.horizontal?e?"rotate(90deg)":"rotate(-90deg)":e?"rotate(0deg)":"rotate(180deg)",{transform:t+i}},directionAfterIconStyle:function(){var e=0!==this.paneAfter.size,t="translate(-50%, -50%)",i="";return i=this.horizontal?e?"rotate(-90deg)":"rotate(90deg)":e?"rotate(180deg)":"rotate(0deg)",{transform:t+i}}},methods:{bindEvents:function(){document.addEventListener("mousemove",this.onMouseMove,{passive:!1}),document.addEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.addEventListener("touchmove",this.onMouseMove,{passive:!1}),document.addEventListener("touchend",this.onMouseUp))},unbindEvents:function(){document.removeEventListener("mousemove",this.onMouseMove,{passive:!1}),document.removeEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.removeEventListener("touchmove",this.onMouseMove,{passive:!1}),document.removeEventListener("touchend",this.onMouseUp))},onMouseMove:function(e){e.preventDefault(),this.dragging=!0,this.movableSplitter.visibility="visible",this.moveSplitter(e)},onMouseUp:function(){if(this.dragging){var e=this.horizontal?this.movableSplitter.top:this.movableSplitter.left;this.paneBefore.size=e,this.paneAfter.size=100-e,this.movableSplitter={top:0,left:0,visibility:"hidden"},this.dragging=!1}this.unbindEvents()},moveSplitter:function(e){var t={container:this.container,paneBeforeMax:this.paneBefore.max,paneAfterMax:this.paneAfter.max,isHorisontal:this.horizontal},i=m.calculateOffset(e,t),a=this.horizontal?"top":"left";this.movableSplitter[a]=i},togglePane:function(e){if(e.size>0){this.beforeMinimising.before=this.paneBefore.size,this.beforeMinimising.after=this.paneAfter.size,e.size=0;var t=e===this.paneBefore?this.paneAfter:this.paneBefore;t.size=100-e.size}else this.paneBefore.size=this.beforeMinimising.before,this.paneAfter.size=this.beforeMinimising.after}},mounted:function(){this.container=this.$refs.container}},p=j,y=(i("a1f0"),Object(s["a"])(p,N,I,!1,null,null,null)),f=y.exports,v=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"schema-container"}},[i("div",{attrs:{id:"schema-filter"}},[i("text-field",{attrs:{placeholder:"Search table",width:"100%"},model:{value:e.filter,callback:function(t){e.filter=t},expression:"filter"}})],1),i("div",{attrs:{id:"db"}},[i("div",{staticClass:"db-name",on:{click:function(t){e.schemaVisible=!e.schemaVisible}}},[i("tree-chevron",{directives:[{name:"show",rawName:"v-show",value:e.schema.length>0,expression:"schema.length > 0"}],attrs:{expanded:e.schemaVisible}}),e._v(" "+e._s(e.dbName)+" ")],1),i("db-uploader",{attrs:{id:"db-edit",type:"small"}}),i("export-icon",{attrs:{tooltip:"Export database"},on:{click:e.exportToFile}}),i("add-table-icon",{on:{click:e.addCsv}})],1),i("div",{directives:[{name:"show",rawName:"v-show",value:e.schemaVisible,expression:"schemaVisible"}],staticClass:"schema"},e._l(e.schema,(function(e){return i("table-description",{key:e.name,attrs:{name:e.name,columns:e.columns}})})),1),i("csv-import",{ref:"addCsv",attrs:{file:e.file,db:e.$store.state.db,"dialog-name":"addCsv"}})],1)},z=[],T=(i("4de4"),i("b0c0"),i("ac1f"),i("5319"),i("2b3d"),{isDatabase:function(e){var t=["application/vnd.sqlite3","application/x-sqlite3"];return e.type?t.includes(e.type):/\.(db|sqlite(3)?)+$/.test(e.name)},getFileName:function(e){return e.name.replace(/\.[^.]+$/,"")},exportToFile:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"octet/stream",a=document.createElement("a"),n=new Blob([e],{type:i}),r=URL.createObjectURL(n);a.href=r,a.download=t,a.click(),URL.revokeObjectURL(r)},getFileFromUser:function(e){return new Promise((function(t){var i=document.createElement("input");i.type="file",i.accept=e,i.addEventListener("change",(function(){var e=i.files[0];t(e)})),i.click()}))},importFile:function(){var e=new FileReader;return this.getFileFromUser(".json").then((function(t){return new Promise((function(i,a){e.onload=function(e){i(e.target.result)},e.readAsText(t)}))}))},readFile:function(e){return fetch(e)},readAsArrayBuffer:function(e){var t=new FileReader;return new Promise((function(i,a){t.onerror=function(){t.abort(),a(new Error("Problem parsing input file."))},t.onload=function(){i(t.result)},t.readAsArrayBuffer(e)}))}}),b=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{staticClass:"table-name",on:{click:function(t){e.colVisible=!e.colVisible}}},[i("tree-chevron",{attrs:{expanded:e.colVisible}}),e._v(" "+e._s(e.name)+" ")],1),i("div",{directives:[{name:"show",rawName:"v-show",value:e.colVisible,expression:"colVisible"}],staticClass:"columns"},e._l(e.columns,(function(t,a){return i("div",{key:a,staticClass:"column"},[e._v(" "+e._s(t.name)+" "),i("span",{staticClass:"column-type"},[e._v(e._s(t.type))])])})),0)])},x=[],w=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("svg",{staticClass:"chevron-icon",style:{transform:e.expanded?"rotate(90deg)":"rotate(0)"},attrs:{width:"9",height:"9",viewBox:"0 0 8 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[i("path",{attrs:{d:"M0.721924 9.93097L4.85292 5.79997L0.721924 1.66897L1.99992 0.399973L7.39992 5.79997L1.99992 11.2L0.721924 9.93097Z",fill:e.expanded?"#506784":"rgba(80, 103, 132, 0.5)"}})])},C=[],A={name:"treeChevron",props:{expanded:{type:Boolean,required:!0}}},O=A,L=(i("2edc"),Object(s["a"])(O,w,C,!1,null,"bfc135e8",null)),E=L.exports,k={name:"TableDescription",components:{TreeChevron:E},props:["name","columns"],data:function(){return{colVisible:!1}}},Q=k,S=(i("167e"),Object(s["a"])(Q,b,x,!1,null,"a166000a",null)),Y=S.exports,U=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[e.label?i("div",{class:["text-field-label",{error:e.errorMsg},{disabled:e.disabled}]},[e._v(" "+e._s(e.label)+" "),e.hint?i("hint-icon",{staticClass:"hint",attrs:{hint:e.hint,"max-width":e.maxHintWidth||"149px"}}):e._e()],1):e._e(),i("input",{class:{error:e.errorMsg},style:{width:e.width},attrs:{type:"text",placeholder:e.placeholder,disabled:e.disabled},domProps:{value:e.value},on:{input:function(t){return e.$emit("input",t.target.value)}}}),i("div",{directives:[{name:"show",rawName:"v-show",value:e.errorMsg,expression:"errorMsg"}],staticClass:"text-field-error"},[e._v(e._s(e.errorMsg))])])},Z=[],P=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("svg",{staticClass:"hint-icon",attrs:{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("path",{attrs:{d:"M8.75 14.1666H10.4167V12.5H8.75V14.1666ZM9.58333 16.25C5.90833 16.25 2.91667 13.2583 2.91667 9.58333C2.91667 5.90833 5.90833 2.91667 9.58333 2.91667C13.2583 2.91667 16.25 5.90833 16.25 9.58333C16.25 13.2583 13.2583 16.25 9.58333 16.25ZM9.58333 1.25C8.48898 1.25 7.40535 1.46555 6.3943 1.88434C5.38326 2.30313 4.4646 2.91696 3.69078 3.69078C2.12797 5.25358 1.25 7.3732 1.25 9.58333C1.25 11.7935 2.12797 13.9131 3.69078 15.4759C4.4646 16.2497 5.38326 16.8635 6.3943 17.2823C7.40535 17.7011 8.48898 17.9167 9.58333 17.9167C11.7935 17.9167 13.9131 17.0387 15.4759 15.4759C17.0387 13.9131 17.9167 11.7935 17.9167 9.58333C17.9167 8.48898 17.7011 7.40535 17.2823 6.3943C16.8635 5.38326 16.2497 4.4646 15.4759 3.69078C14.7021 2.91696 13.7834 2.30313 12.7724 1.88434C11.7613 1.46555 10.6777 1.25 9.58333 1.25Z",fill:"#A2B1C6"}}),i("path",{attrs:{d:"M9.91601 4.51787C8.98167 4.42606 8.05144 4.69097 7.36309 5.24472C6.68735 5.78828 6.2998 6.56661 6.2998 7.38012H7.92488C7.92488 6.97463 8.11059 6.60187 8.44779 6.33061C8.79784 6.049 9.25647 5.92005 9.73896 5.96755C10.4832 6.04076 11.0828 6.57277 11.1647 7.23265C11.2306 7.764 10.9661 8.28194 10.4744 8.58426C9.38676 9.25303 8.73742 10.343 8.73742 11.5H10.3625C10.3625 10.8243 10.7477 10.184 11.3929 9.78733C12.3808 9.17985 12.9122 8.13913 12.7798 7.07124C12.6144 5.73863 11.41 4.66476 9.91601 4.51787Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:Object.assign({},e.tooltipStyle,{maxWidth:e.maxWidth})},[e._v(" "+e._s(e.hint)+" ")])])},_=[],G={data:function(){return{tooltipStyle:{visibility:"hidden"}}},methods:{showTooltip:function(e){this.tooltipStyle.top=e.clientY-12+"px",this.tooltipStyle.left=e.clientX+12+"px",this.tooltipStyle.visibility="visible"},hideTooltip:function(){this.tooltipStyle.visibility="hidden"}}},R={name:"HintIcon",props:["hint","maxWidth"],mixins:[G]},V=R,B=(i("d763"),Object(s["a"])(V,P,_,!1,null,"7fa48ff7",null)),H=B.exports,W={name:"textField",props:["placeholder","label","errorMsg","value","width","hint","maxHintWidth","disabled"],components:{HintIcon:H}},$=W,q=(i("daef"),Object(s["a"])($,U,Z,!1,null,"59fd41a8",null)),J=q.exports,F=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"db-uploader-container",style:{width:e.width}},["small"===e.type?a("change-db-icon",{nativeOn:{click:function(t){return e.browse(t)}}}):e._e(),"illustrated"===e.type?a("div",{staticClass:"drop-area-container"},[a("div",{staticClass:"drop-area",on:{dragover:function(t){t.preventDefault(),e.state="dragover"},dragleave:function(t){t.preventDefault(),e.state=""},drop:function(t){return t.preventDefault(),e.drop(t)},click:e.browse}},[a("div",{staticClass:"text"},[e._v(" Drop the database or CSV file here or click to choose a file from your computer. ")])])]):e._e(),"illustrated"===e.type?a("div",{attrs:{id:"img-container"}},[a("img",{attrs:{id:"drop-file-top-img",src:i("3a016")}}),a("img",{class:{swing:"dragover"===e.state},attrs:{id:"left-arm-img",src:i("9bf4")}}),a("img",{ref:"fileImg",class:{swing:"dragover"===e.state,fly:"dropping"===e.state,hidden:"dropped"===e.state},attrs:{id:"file-img",src:i("87d4")}}),a("img",{attrs:{id:"drop-file-bottom-img",src:i("6a0b")}}),a("img",{attrs:{id:"body-img",src:i("1678")}}),a("img",{class:{swing:"dragover"===e.state},attrs:{id:"right-arm-img",src:i("2335")}})]):e._e(),a("div",{staticClass:"error",attrs:{id:"error"}}),a("csv-import",{ref:"addCsv",attrs:{file:e.file,db:e.newDb,"dialog-name":"importFromCsv"},on:{cancel:e.cancelCsvImport,finish:e.finish}})],1)},X=[],K=(i("2ca0"),function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("svg",{staticClass:"db-edit-icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("path",{attrs:{d:"M3 10.5V12.75C3 14.25 5.2875 15.54 8.25 15.75V13.5825L8.3475 13.5C5.34 13.32 3 12.045 3 10.5ZM9 9.75C5.685 9.75 3 8.4075 3 6.75V9C3 10.6575 5.685 12 9 12C9.2925 12 9.5775 12 9.87 12L12.75 9.09C11.55 9.54 10.2825 9.75 9 9.75ZM9 2.25C5.685 2.25 3 3.5925 3 5.25C3 6.9075 5.685 8.25 9 8.25C12.315 8.25 15 6.9075 15 5.25C15 3.5925 12.315 2.25 9 2.25ZM15.75 8.3475C15.6375 8.3475 15.5325 8.3925 15.4575 8.475L14.7075 9.225L16.245 10.725L16.995 9.975C17.1525 9.825 17.16 9.57 16.995 9.3975L16.065 8.475C15.99 8.3925 15.885 8.3475 15.78 8.3475H15.75ZM14.28 9.66L9.75 14.205V15.75H11.295L15.84 11.1975L14.28 9.66Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Load another database or CSV ")])])}),ee=[],te={name:"changeDbIcon",mixins:[G]},ie=te,ae=(i("493f"),Object(s["a"])(ie,K,ee,!1,null,"cc62bccc",null)),ne=ae.exports,re=i("d4ec"),se=i("bee2"),oe=(i("159b"),i("53ca")),ce=(i("fb6a"),i("d81d"),i("99af"),i("6283")),ue=i.n(ce),le={generateChunks:regeneratorRuntime.mark((function e(t,i){var a,n,r,s;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:a=Math.ceil(t.length/i),n=0;case 2:if(!(n<=a-1)){e.next=10;break}return r=i*n,s=r+i,e.next=7,t.slice(r,s);case 7:n++,e.next=2;break;case 10:case"end":return e.stop()}}),e)})),getInsertStmt:function(e,t){var i='"'.concat(t.join('", "'),'"'),a=t.map((function(){return"?"})).join(", ");return'INSERT INTO "'.concat(e,'" (').concat(i,") VALUES (").concat(a,");")},getCreateStatement:function(e,t,i){var a='CREATE table "'.concat(e,'"(');return t.forEach((function(e,t){var n=i[0][t],r="";switch(Object(oe["a"])(n)){case"number":r="REAL";break;case"boolean":r="INTEGER";break;case"string":r="TEXT";break;default:r="TEXT"}a+='"'.concat(e,'" ').concat(r,", ")})),a=a.replace(/,\s$/,");"),a},getAst:function(e){var t=e.replace(/(tokenize=[^,]+)"tokenchars=.+?"/,"$1").replace(/(tokenize=[^,]+)"remove_diacritics=.+?"/,"$1").replace(/(tokenize=[^,]+)"separators=.+?"/,"$1").replace(/tokenize=.+?(,|\))/,"tokenize=unicode61$1");return ue()(t)},getColumns:function(e){var t=[],i=this.getAst(e),a="table"===i.statement[0].format?i.statement[0].definition:i.statement[0].result.args.expression;return a.forEach((function(e){if("column"===e.variant&&["identifier","definition"].includes(e.type)){var i=e.datatype?e.datatype.variant:"N/A";e.datatype&&e.datatype.args&&(i=i+"("+e.datatype.args.expression[0].value,2===e.datatype.args.expression.length&&(i=i+", "+e.datatype.args.expression[1].value),i+=")"),t.push({name:e.name,type:i})}})),t}};function Me(){return new Worker(i.p+"js/_worker.f23e8754.worker.js")}var de=i("ebb0"),ge=i.n(de);function Ne(){var e=new Me;return new De(e)}var Ie={getNewDatabase:Ne},he=0,De=function(){function e(t){var i=this;Object(re["a"])(this,e),this.dbName=null,this.schema=null,this.worker=t,this.pw=new ge.a(t),this.importProgresses={},t.addEventListener("message",(function(e){var t=e.data.progress;if(void 0!==t){var a=e.data.id;i.importProgresses[a].dispatchEvent(new CustomEvent("progress",{detail:t}))}}))}return Object(se["a"])(e,[{key:"shutDown",value:function(){this.worker.terminate()}},{key:"createProgressCounter",value:function(e){var t=he++;return this.importProgresses[t]=new EventTarget,this.importProgresses[t].addEventListener("progress",(function(t){e(t.detail)})),t}},{key:"deleteProgressCounter",value:function(e){delete this.importProgresses[e]}},{key:"addTableFromCsv",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t,i,a){var n;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.pw.postMessage({action:"import",columns:i.columns,values:i.values,progressCounterId:a,tabName:t});case 2:if(n=e.sent,!n.error){e.next=5;break}throw new Error(n.error);case 5:this.dbName=this.dbName||"database",this.refreshSchema();case 7:case"end":return e.stop()}}),e,this)})));function t(t,i,a){return e.apply(this,arguments)}return t}()},{key:"loadDb",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t){var i,a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!t){e.next=6;break}return e.next=3,T.readAsArrayBuffer(t);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=null;case 7:return i=e.t0,e.next=10,this.pw.postMessage({action:"open",buffer:i});case 10:if(a=e.sent,!a.error){e.next=13;break}throw new Error(a.error);case 13:this.dbName=t?T.getFileName(t):"database",this.refreshSchema();case 15:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"refreshSchema",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(){var t,i,a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return t="\n SELECT name, sql\n FROM sqlite_master\n WHERE type='table' AND name NOT LIKE 'sqlite_%';\n ",e.next=3,this.execute(t);case 3:i=e.sent,a=[],i&&i.values&&i.values.forEach((function(e){a.push({name:e[0],columns:le.getColumns(e[1])})})),this.schema=a;case 7:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"execute",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t){var i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.pw.postMessage({action:"reopen"});case 2:return e.next=4,this.pw.postMessage({action:"exec",sql:t});case 4:if(i=e.sent,!i.error){e.next=7;break}throw new Error(i.error);case 7:return e.abrupt("return",i[i.length-1]);case 8:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"export",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t){var i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.pw.postMessage({action:"export"});case 2:if(i=e.sent,!i.error){e.next=5;break}throw new Error(i.error);case 5:T.exportToFile(i,t);case 6:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"validateTableName",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!t.startsWith("sqlite_")){e.next=2;break}throw new Error("Table name can't start with sqlite_");case 2:if(!/[^\w]/.test(t)){e.next=4;break}throw new Error("Table name can contain only letters, digits and underscores");case 4:if(!/^(\d)/.test(t)){e.next=6;break}throw new Error("Table name can't start with a digit");case 6:return e.next=8,this.execute('BEGIN; CREATE TABLE "'.concat(t,'"(id); ROLLBACK;'));case 8:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"sanitizeTableName",value:function(e){return e.replace(/[^\w]/g,"_").replace(/^(\d)/,"_$1").replace(/_{2,}/g,"_")}}]),e}(),me=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("modal",{attrs:{name:e.dialogName,classes:"dialog",height:"auto",width:"80%",scrollable:"",clickToClose:!1}},[i("div",{staticClass:"dialog-header"},[e._v(" CSV import "),i("close-icon",{attrs:{disabled:e.disableDialog},on:{click:e.cancelCsvImport}})],1),i("div",{staticClass:"dialog-body"},[i("text-field",{attrs:{label:"Table name",width:"484px",disabled:e.disableDialog,"error-msg":e.tableNameError,id:"csv-table-name"},model:{value:e.tableName,callback:function(t){e.tableName=t},expression:"tableName"}}),i("div",{staticClass:"chars"},[i("delimiter-selector",{staticClass:"char-input",attrs:{width:"210px",disabled:e.disableDialog},on:{input:e.previewCsv},model:{value:e.delimiter,callback:function(t){e.delimiter=t},expression:"delimiter"}}),i("text-field",{staticClass:"char-input",attrs:{label:"Quote char",hint:"The character used to quote fields.",width:"93px",disabled:e.disableDialog,id:"quote-char"},model:{value:e.quoteChar,callback:function(t){e.quoteChar=t},expression:"quoteChar"}}),i("text-field",{staticClass:"char-input",attrs:{label:"Escape char",hint:'The character used to escape the quote character within a field (e.g. "column with ""quotes"" in text").',"max-hint-width":"242px",width:"93px",disabled:e.disableDialog,id:"escape-char"},model:{value:e.escapeChar,callback:function(t){e.escapeChar=t},expression:"escapeChar"}})],1),i("check-box",{attrs:{init:!0,label:"Use first row as column headers",disabled:e.disableDialog},on:{click:function(t){e.header=t}}}),e.previewData&&(e.previewData.values.length>0||e.previewData.columns.length>0)?i("sql-table",{staticClass:"preview-table",attrs:{"data-set":e.previewData,height:"160",preview:!0}}):i("div",{staticClass:"no-data"},[e._v("No data")]),i("logs",{staticClass:"import-csv-errors",attrs:{messages:e.importCsvMessages}})],1),i("div",{staticClass:"dialog-buttons-container"},[i("button",{staticClass:"secondary",attrs:{disabled:e.disableDialog,id:"csv-cancel"},on:{click:e.cancelCsvImport}},[e._v(" Cancel ")]),i("button",{directives:[{name:"show",rawName:"v-show",value:!e.importCsvCompleted,expression:"!importCsvCompleted"}],staticClass:"primary",attrs:{disabled:e.disableDialog,id:"csv-import"},on:{click:function(t){return e.loadFromCsv(e.file)}}},[e._v(" Import ")]),i("button",{directives:[{name:"show",rawName:"v-show",value:e.importCsvCompleted,expression:"importCsvCompleted"}],staticClass:"primary",attrs:{disabled:e.disableDialog,id:"csv-finish"},on:{click:e.finish}},[e._v(" Finish ")])])])},je=[],pe=(i("498a"),i("369b")),ye=i.n(pe),fe={MissingQuotes:"Edit your CSV so that the field has a closing quote char.",TooFewFields:"Add fields or try another delimiter.",TooManyFields:"Edit your CSV or try another delimiter."},ve={getResult:function(e){var t={};if(e.meta.fields)t.columns=e.meta.fields.map((function(e){return e.trim()})),t.values=e.data.map((function(t){var i=[];return e.meta.fields.forEach((function(e){var a=t[e];a instanceof Date&&(a=a.toISOString()),i.push(a)})),i}));else{t.values=e.data,t.columns=[];for(var i=1;i<=e.data[0].length;i++)t.columns.push("col".concat(i))}return t},parse:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(a,n){var r={delimiter:"",newline:"",quoteChar:'"',escapeChar:'"',header:!1,transformHeader:void 0,dynamicTyping:!0,preview:0,encoding:"UTF-8",worker:!0,comments:!1,step:void 0,complete:function(e){var i={data:t.getResult(e),delimiter:e.meta.delimiter,hasErrors:!1};i.messages=e.errors.map((function(e){return e.type="UndetectableDelimiter"===e.code?"info":"error","error"===e.type&&(i.hasErrors=!0),e.hint=fe[e.code],e})),a(i)},error:function(e,t){n(e)},download:!1,downloadRequestHeaders:void 0,downloadRequestBody:void 0,skipEmptyLines:"greedy",chunk:void 0,chunkSize:void 0,fastMode:void 0,beforeFirstChunk:void 0,withCredentials:void 0,transform:void 0,delimitersToGuess:[",","\t","|",";",ye.a.RECORD_SEP,ye.a.UNIT_SEP]};ye.a.parse(e,Object(h["a"])(Object(h["a"])({},r),i))}))}},ze=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("svg",{class:["icon",{disabled:e.disabled}],attrs:{width:e.size,height:e.size,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")}}},[i("path",{attrs:{d:"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z",fill:"#A2B1C6"}})])},Te=[],be=(i("a9e3"),{name:"CloseIcon",props:{size:{type:Number,required:!1,default:14},disabled:{type:Boolean,required:!1,default:!1}}}),xe=be,we=(i("f4da"),Object(s["a"])(xe,ze,Te,!1,null,"86f3a16c",null)),Ce=we.exports,Ae=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{class:{disabled:e.disabled}},[i("div",{staticClass:"text-field-label"},[e._v("Delimiter")]),i("div",{staticClass:"delimiter-selector-container",style:{width:e.width},on:{click:e.onContainerClick}},[i("div",{staticClass:"value"},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.inputValue,expression:"inputValue"}],ref:"delimiterInput",class:{filled:e.filled},attrs:{type:"text",maxlength:"1",disabled:e.disabled},domProps:{value:e.inputValue},on:{click:function(e){e.stopPropagation()},input:function(t){t.target.composing||(e.inputValue=t.target.value)}}}),i("div",{staticClass:"name"},[e._v(e._s(e.getSymbolName(e.value)))])]),i("div",{staticClass:"controls",on:{click:function(e){e.stopPropagation()}}},[i("clear-icon",{attrs:{disabled:e.disabled},nativeOn:{click:function(t){return e.clear(t)}}}),i("drop-down-chevron",{attrs:{disabled:e.disabled},nativeOn:{click:function(t){!e.disabled&&(e.showOptions=!e.showOptions)}}})],1)]),i("div",{directives:[{name:"show",rawName:"v-show",value:e.showOptions,expression:"showOptions"}],staticClass:"options",style:{width:e.width}},e._l(e.options,(function(t,a){return i("div",{key:a,staticClass:"option",on:{click:function(i){return e.chooseOption(t)}}},[i("pre",[e._v(e._s(t))]),i("div",[e._v(e._s(e.getSymbolName(t)))])])})),0)])},Oe=[],Le=(i("25f0"),{0:{name:"null character"},1:{name:"start of header"},2:{name:"start of text"},3:{name:"end of text"},4:{name:"end of transmission"},5:{name:"enquiry"},6:{name:"acknowledge"},7:{name:"bell (ring)"},8:{name:"backspace"},9:{name:"horizontal tab"},10:{name:"line feed"},11:{name:"vertical tab"},12:{name:"form feed"},13:{name:"carriage return"},14:{name:"shift out"},15:{name:"shift in"},16:{name:"data link escape"},17:{name:"device control 1"},18:{name:"device control 2"},19:{name:"device control 3"},20:{name:"device control 4"},21:{name:"negative acknowledge"},22:{name:"synchronize"},23:{name:"end transmission block"},24:{name:"cancel"},25:{name:"end of medium"},26:{name:"substitute"},27:{name:"escape"},28:{name:"file separator"},29:{name:"group separator"},30:{name:"record separator"},31:{name:"unit separator"},32:{name:"space"},33:{name:"exclamation mark"},34:{name:"quotation mark"},35:{name:"number sign"},36:{name:"dollar sign"},37:{name:"percent sign"},38:{name:"ampersand"},39:{name:"apostrophe"},40:{name:"left parenthesis"},41:{name:"right parenthesis"},42:{name:"asterisk"},43:{name:"plus sign"},44:{name:"comma"},45:{name:"hyphen"},46:{name:"period"},47:{name:"slash"},48:{name:"digit 0"},49:{name:"digit 1"},50:{name:"digit 2"},51:{name:"digit 3"},52:{name:"digit 4"},53:{name:"digit 5"},54:{name:"digit 6"},55:{name:"digit 7"},56:{name:"digit 8"},57:{name:"digit 9"},58:{name:"colon"},59:{name:"semicolon"},60:{name:"less-than"},61:{name:"equals-to"},62:{name:"greater-than"},63:{name:"question mark"},64:{name:"at sign"},65:{name:"uppercase A"},66:{name:"uppercase B"},67:{name:"uppercase C"},68:{name:"uppercase D"},69:{name:"uppercase E"},70:{name:"uppercase F"},71:{name:"uppercase G"},72:{name:"uppercase H"},73:{name:"uppercase I"},74:{name:"uppercase J"},75:{name:"uppercase K"},76:{name:"uppercase L"},77:{name:"uppercase M"},78:{name:"uppercase N"},79:{name:"uppercase O"},80:{name:"uppercase P"},81:{name:"uppercase Q"},82:{name:"uppercase R"},83:{name:"uppercase S"},84:{name:"uppercase T"},85:{name:"uppercase U"},86:{name:"uppercase V"},87:{name:"uppercase W"},88:{name:"uppercase X"},89:{name:"uppercase Y"},90:{name:"uppercase Z"},91:{name:"left square bracket"},92:{name:"backslash"},93:{name:"right square bracket"},94:{name:"caret"},95:{name:"underscore"},96:{name:"grave accent"},97:{name:"lowercase a"},98:{name:"lowercase b"},99:{name:"lowercase c"},100:{name:"lowercase d"},101:{name:"lowercase e"},102:{name:"lowercase f"},103:{name:"lowercase g"},104:{name:"lowercase h"},105:{name:"lowercase i"},106:{name:"lowercase j"},107:{name:"lowercase k"},108:{name:"lowercase l"},109:{name:"lowercase m"},110:{name:"lowercase n"},111:{name:"lowercase o"},112:{name:"lowercase p"},113:{name:"lowercase q"},114:{name:"lowercase r"},115:{name:"lowercase s"},116:{name:"lowercase t"},117:{name:"lowercase u"},118:{name:"lowercase v"},119:{name:"lowercase w"},120:{name:"lowercase x"},121:{name:"lowercase y"},122:{name:"lowercase z"},123:{name:"left curly brace"},124:{name:"vertical bar"},125:{name:"right curly brace"},126:{name:"tilde"},127:{name:"delete (rubout)"}}),Ee=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("svg",{class:["chevron-icon",{disabled:e.disabled}],attrs:{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[i("path",{attrs:{d:"M6.175 7.15002L10 10.975L13.825 7.15002L15 8.33336L10 13.3334L5 8.33336L6.175 7.15002Z",fill:"#C8D4E3"}})])},ke=[],Qe={name:"DropDownChevron",props:["disabled"]},Se=Qe,Ye=(i("493e"),Object(s["a"])(Se,Ee,ke,!1,null,"29bdb7bf",null)),Ue=Ye.exports,Ze=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("svg",{class:["clear-icon",{disabled:e.disabled}],attrs:{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[i("path",{attrs:{d:"M14.3481 14.849C13.8791 15.318 13.1191 15.318 12.6511 14.849L10.0001 11.819L7.34907 14.848C6.88007 15.317 6.12007 15.317 5.65207 14.848C5.18307 14.379 5.18307 13.619 5.65207 13.151L8.41007 10.001L5.65107 6.84898C5.18207 6.37998 5.18207 5.62098 5.65107 5.15198C6.12007 4.68298 6.87907 4.68298 7.34807 5.15198L10.0001 8.18298L12.6511 5.15198C13.1201 4.68298 13.8791 4.68298 14.3481 5.15198C14.8171 5.62098 14.8171 6.38098 14.3481 6.84898L11.5901 10.001L14.3481 13.151C14.8171 13.62 14.8171 14.38 14.3481 14.849V14.849Z",fill:"#C8D4E3"}})])},Pe=[],_e={name:"ClearIcon",props:["disabled"]},Ge=_e,Re=(i("f7a6"),Object(s["a"])(Ge,Ze,Pe,!1,null,"69060e4e",null)),Ve=Re.exports,Be={name:"DelimiterSelector",props:["value","width","disabled"],components:{DropDownChevron:Ue,ClearIcon:Ve},data:function(){return{showOptions:!1,options:[",","\t"," ","|",";","",""],filled:!1,inputValue:""}},watch:{inputValue:function(){this.inputValue?(this.filled=!0,this.inputValue!==this.value&&this.$emit("input",this.inputValue)):this.filled=!1}},created:function(){this.inputValue=this.value},methods:{getSymbolName:function(e){return e?Le[e.charCodeAt(0).toString()].name:""},chooseOption:function(e){this.inputValue=e,this.showOptions=!1},onContainerClick:function(e){this.$refs.delimiterInput.focus()},clear:function(){this.disabled||(this.inputValue="",this.$refs.delimiterInput.focus())}}},He=Be,We=(i("28f9"),Object(s["a"])(He,Ae,Oe,!1,null,"44b0b048",null)),$e=We.exports,qe=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:["checkbox-container",{checked:e.checked},{disabled:e.disabled}],on:{click:function(t){return t.stopPropagation(),e.onClick(t)}}},[a("div",{directives:[{name:"show",rawName:"v-show",value:!e.checked,expression:"!checked"}],staticClass:"unchecked"}),a("img",{directives:[{name:"show",rawName:"v-show",value:e.checked&&!e.disabled,expression:"checked && !disabled"}],attrs:{src:"light"===e.theme?i("69e6"):i("93dd")}}),a("img",{directives:[{name:"show",rawName:"v-show",value:e.checked&&e.disabled,expression:"checked && disabled"}],attrs:{src:i("3d10")}}),e.label?a("span",{staticClass:"label"},[e._v(e._s(e.label))]):e._e()])},Je=[],Fe={name:"CheckBox",props:{theme:{type:String,required:!1,default:"accent",validator:function(e){return["accent","light"].includes(e)}},init:{type:Boolean,required:!1,default:!1},label:{type:String,required:!1,default:""},disabled:{type:Boolean,required:!1,default:!1}},data:function(){return{checked:this.init}},methods:{onClick:function(){this.disabled||(this.checked=!this.checked,this.$emit("click",this.checked))}}},Xe=Fe,Ke=(i("a96d"),Object(s["a"])(Xe,qe,Je,!1,null,"0dd86013",null)),et=Ke.exports,tt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{staticClass:"rounded-bg"},[i("div",{ref:"header-container",staticClass:"header-container"},[i("div",e._l(e.header,(function(t,a){return i("div",{key:a,staticClass:"fixed-header",style:{width:t.width+"px"}},[e._v(" "+e._s(t.name)+" ")])})),0)]),i("div",{ref:"table-container",staticClass:"table-container",style:{maxHeight:e.height+"px"},on:{scroll:e.onScrollTable}},[i("table",{ref:"table"},[i("thead",[i("tr",e._l(e.dataSet.columns,(function(t,a){return i("th",{key:a,ref:"th",refInFor:!0},[i("div",{staticClass:"cell-data",style:e.cellStyle},[e._v(e._s(t))])])})),0)]),i("tbody",e._l(e.currentPageData,(function(t,a){return i("tr",{key:a},e._l(t,(function(t,a){return i("td",{key:a},[i("div",{staticClass:"cell-data",style:e.cellStyle},[e._v(e._s(t))])])})),0)})),0)])])]),i("div",{staticClass:"table-footer"},[i("div",{staticClass:"table-footer-count"},[e._v(" "+e._s(e.dataSet.values.length)+" "+e._s(1===e.dataSet.values.length?"row":"rows")+" retrieved "),e.preview?i("span",[e._v("for preview")]):e._e(),e.time?i("span",[e._v("in "+e._s(e.time))]):e._e()]),i("pager",{directives:[{name:"show",rawName:"v-show",value:e.pageCount>1,expression:"pageCount > 1"}],attrs:{"page-count":e.pageCount},model:{value:e.currentPage,callback:function(t){e.currentPage=t},expression:"currentPage"}})],1)])},it=[],at=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("paginate",{attrs:{"page-count":e.pageCount,"page-range":5,"margin-pages":1,"prev-text":e.chevron,"next-text":e.chevron,"no-li-surround":!0,"container-class":"paginator-continer","page-link-class":"paginator-page-link","active-class":"paginator-active-page","break-view-link-class":"paginator-break","next-link-class":"paginator-next","prev-link-class":"paginator-prev","disabled-class":"paginator-disabled"},model:{value:e.page,callback:function(t){e.page=t},expression:"page"}})},nt=[],rt=i("8832"),st=i.n(rt),ot={name:"Pager",components:{Paginate:st.a},props:["pageCount","value"],data:function(){return{page:this.value,chevron:'\n \n \n \n '}},watch:{page:function(){this.$emit("input",this.page)},value:function(){this.page=this.value}}},ct=ot,ut=(i("7e41"),Object(s["a"])(ct,at,nt,!1,null,"c74ce19a",null)),lt=ut.exports,Mt={name:"SqlTable",components:{Pager:lt},props:["dataSet","time","height","preview"],data:function(){return{header:null,tableWidth:null,currentPage:1,resizeObserver:null}},computed:{cellStyle:function(){var e=this.tableWidth/this.dataSet.columns.length;return{maxWidth:"".concat(Math.max(e,100),"px")}},pageSize:function(){return Math.max(Math.floor(this.height/40),20)},pageCount:function(){return Math.ceil(this.dataSet.values.length/this.pageSize)},currentPageData:function(){var e=(this.currentPage-1)*this.pageSize;return this.dataSet.values.slice(e,e+this.pageSize)}},methods:{calculateHeadersWidth:function(){var e=this;this.tableWidth=this.$refs["table-container"].offsetWidth,this.$nextTick((function(){e.header=e.$refs.th.map((function(e){return{name:e.innerText,width:e.getBoundingClientRect().width}}))}))},onScrollTable:function(){this.$refs["header-container"].scrollLeft=this.$refs["table-container"].scrollLeft}},mounted:function(){this.resizeObserver=new ResizeObserver(this.calculateHeadersWidth),this.resizeObserver.observe(this.$refs.table),this.calculateHeadersWidth()},beforeDestroy:function(){this.resizeObserver.unobserve(this.$refs.table)},watch:{currentPageData:"calculateHeadersWidth",dataSet:function(){this.currentPage=1}}},dt=Mt,gt=Object(s["a"])(dt,tt,it,!1,null,"778e321f",null),Nt=gt.exports,It=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{ref:"logsContainer",staticClass:"logs-container"},e._l(e.messages,(function(t,n){return a("div",{key:n,staticClass:"msg"},["error"===t.type?a("img",{attrs:{src:i("7314")}}):e._e(),"info"===t.type?a("img",{attrs:{src:i("db39"),width:"20px"}}):e._e(),"success"===t.type?a("img",{attrs:{src:i("0bf4")}}):e._e(),"loading"===t.type?a("loading-indicator",{attrs:{progress:t.progress}}):e._e(),a("span",{staticClass:"msg-text"},[e._v(e._s(e.serializeMessage(t)))])],1)})),0)},ht=[],Dt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("svg",{class:e.animationClass,attrs:{height:e.size,width:e.size,viewBox:"0 0 "+e.size+" "+e.size}},[i("circle",{staticClass:"loader-svg bg",style:{strokeWidth:e.strokeWidth},attrs:{cx:e.size/2,cy:e.size/2,r:e.radius}}),i("circle",{staticClass:"loader-svg front",style:{strokeDasharray:e.circleProgress,strokeDashoffset:e.offset,strokeWidth:e.strokeWidth},attrs:{cx:e.size/2,cy:e.size/2,r:e.radius}})])},mt=[],jt={name:"LoadingIndicator",props:{progress:{type:Number,required:!1},size:{type:Number,required:!1,default:20}},computed:{circleProgress:function(){var e=3.14*this.radius*2,t=this.progress?e*this.progress/100:1*e/3,i=e-t;return"".concat(t,"px, ").concat(i,"px")},animationClass:function(){return void 0===this.progress?"loading":"progress"},radius:function(){return this.size/2-this.strokeWidth},offset:function(){return 3.14*this.radius/2},strokeWidth:function(){return this.size/10}}},pt=jt,yt=(i("d9ad"),Object(s["a"])(pt,Dt,mt,!1,null,"62096452",null)),ft=yt.exports,vt={name:"logs",props:["messages"],components:{LoadingIndicator:ft},watch:{"messages.length":"scrollToBottom"},mounted:function(){this.scrollToBottom()},methods:{scrollToBottom:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(i=e.$refs.logsContainer,!i){t.next=5;break}return t.next=4,e.$nextTick();case 4:i.scrollTop=i.scrollHeight;case 5:case"end":return t.stop()}}),t)})))()},serializeMessage:function(e){var t="";return null!==e.row&&void 0!==e.row&&("error"===e.type?t+="Error in row ".concat(e.row,". "):t+="Information about row ".concat(e.row,". ")),t+=e.message,/(\.|!|\?)$/.test(t)||(t+="."),e.hint&&(t+=" ".concat(e.hint)),t}}},zt=vt,Tt=(i("0582"),Object(s["a"])(zt,It,ht,!1,null,"1c9f27dc",null)),bt=Tt.exports,xt=(i("b680"),{getPeriod:function(e,t){var i=t.getTime()-e.getTime(),a=i/1e3;return a.toFixed(3)+"s"},debounce:function(e,t){var i;return function(){var a=arguments,n=this;clearTimeout(i),i=setTimeout((function(){return e.apply(n,a)}),t)}}}),wt={name:"CsvImport",components:{CloseIcon:Ce,TextField:J,DelimiterSelector:$e,CheckBox:et,SqlTable:Nt,Logs:bt},props:["file","db","dialogName"],data:function(){return{disableDialog:!1,tableName:"",delimiter:"",quoteChar:'"',escapeChar:'"',header:!0,importCsvCompleted:!1,importCsvMessages:[],previewData:null,addedTable:null,tableNameError:""}},watch:{quoteChar:function(){this.previewCsv()},escapeChar:function(){this.previewCsv()},header:function(){this.previewCsv()},tableName:xt.debounce((function(){var e=this;this.tableNameError="",this.tableName&&this.db.validateTableName(this.tableName).catch((function(t){e.tableNameError=t.message+". Try another table name."}))}),400)},methods:{cancelCsvImport:function(){this.disableDialog||(this.addedTable&&(this.db.execute('DROP TABLE "'.concat(this.addedTable,'"')),this.db.refreshSchema()),this.$modal.hide(this.dialogName),this.$emit("cancel"))},reset:function(){this.header=!0,this.quoteChar='"',this.escapeChar='"',this.delimiter="",this.tableName="",this.disableDialog=!1,this.importCsvCompleted=!1,this.importCsvMessages=[],this.previewData=null,this.addedTable=null,this.tableNameError=""},open:function(){this.tableName=this.db.sanitizeTableName(T.getFileName(this.file)),this.$modal.show(this.dialogName)},previewCsv:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i,a,n,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.importCsvCompleted=!1,i={preview:3,quoteChar:e.quoteChar||'"',escapeChar:e.escapeChar,header:e.header,delimiter:e.delimiter},t.prev=2,a=new Date,t.next=6,ve.parse(e.file,i);case 6:n=t.sent,r=new Date,e.previewData=n.data,e.delimiter=n.delimiter,e.importCsvMessages=n.messages||[],n.hasErrors||e.importCsvMessages.push({message:"Preview parsing is completed in ".concat(xt.getPeriod(a,r),"."),type:"success"}),t.next=17;break;case 14:t.prev=14,t.t0=t["catch"](2),e.importCsvMessages=[{message:t.t0,type:"error"}];case 17:case"end":return t.stop()}}),t,null,[[2,14]])})))()},loadFromCsv:function(e){var t=this;return Object(l["a"])(regeneratorRuntime.mark((function e(){var i,a,n,r,s,o,c,u,l,M,d,g;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(t.tableName){e.next=3;break}return t.tableNameError="Table name can't be empty",e.abrupt("return");case 3:return t.disableDialog=!0,i={quoteChar:t.quoteChar||'"',escapeChar:t.escapeChar,header:t.header,delimiter:t.delimiter},a={message:"Parsing CSV...",type:"info"},t.importCsvMessages.push(a),n=setTimeout((function(){a.type="loading"}),1e3),r={message:"Importing CSV into a SQLite database...",type:"info"},s=null,o=function(e){t.$set(r,"progress",e)},c=t.db.createProgressCounter(o),e.prev=12,u=new Date,e.next=16,ve.parse(t.file,i);case 16:if(l=e.sent,M=new Date,l.hasErrors){e.next=38;break}return d=l.data.values.length,g=xt.getPeriod(u,M),a.type="success",l.messages.length>0?(t.importCsvMessages=t.importCsvMessages.concat(l.messages),a.message="".concat(d," rows are parsed in ").concat(g,".")):a.message="".concat(d," rows are parsed successfully in ").concat(g,"."),clearTimeout(n),t.importCsvMessages.push(r),s=setTimeout((function(){r.type="loading"}),1e3),u=new Date,e.next=29,t.db.addTableFromCsv(t.tableName,l.data,c);case 29:M=new Date,t.addedTable=t.tableName,g=xt.getPeriod(u,M),r.message="Importing CSV into a SQLite database is completed in ".concat(g,"."),r.type="success",clearTimeout(s),t.importCsvCompleted=!0,e.next=41;break;case 38:a.message="Parsing ended with errors.",a.type="info",t.importCsvMessages=t.importCsvMessages.concat(l.messages);case 41:e.next=48;break;case 43:e.prev=43,e.t0=e["catch"](12),"loading"===a.type&&(a.type="info"),"loading"===r.type&&(r.type="info"),t.importCsvMessages.push({message:e.t0,type:"error"});case 48:clearTimeout(n),clearTimeout(s),t.db.deleteProgressCounter(c),t.disableDialog=!1;case 52:case"end":return e.stop()}}),e,null,[[12,43]])})))()},finish:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.$modal.hide(e.dialogName),i=["/*"," * Your CSV file has been imported into ".concat(e.addedTable," table.")," * You can run this SQL query to make all CSV records available for charting."," */",'SELECT * FROM "'.concat(e.addedTable,'"')].join("\n"),t.next=4,e.$store.dispatch("addTab",{query:i});case 4:a=t.sent,e.$store.commit("setCurrentTabId",a),e.importCsvCompleted=!1,e.$emit("finish");case 8:case"end":return t.stop()}}),t)})))()}}},Ct=wt,At=(i("d08f"),Object(s["a"])(Ct,me,je,!1,null,"42183db6",null)),Ot=At.exports,Lt={name:"DbUploader",props:{type:{type:String,required:!1,default:"small",validator:function(e){return["illustrated","small"].includes(e)}},width:{type:String,required:!1,default:"unset"}},components:{ChangeDbIcon:ne,CsvImport:Ot},data:function(){return{state:"",animationPromise:Promise.resolve(),file:null,newDb:null}},mounted:function(){var e=this;"illustrated"===this.type&&(this.animationPromise=new Promise((function(t){e.$refs.fileImg.addEventListener("animationend",(function(i){i.animationName.startsWith("fly")&&(e.state="dropped",t())}))})))},methods:{cancelCsvImport:function(){this.newDb&&(this.newDb.shutDown(),this.newDb=null)},finish:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:e.$store.commit("setDb",e.newDb),"/editor"!==e.$route.path&&e.$router.push("/editor");case 2:case"end":return t.stop()}}),t)})))()},loadDb:function(e){return Promise.all([this.newDb.loadDb(e),this.animationPromise]).then(this.finish)},checkFile:function(e){var t=this;return Object(l["a"])(regeneratorRuntime.mark((function i(){var a;return regeneratorRuntime.wrap((function(i){while(1)switch(i.prev=i.next){case 0:if(t.state="dropping",t.newDb=Ie.getNewDatabase(),!T.isDatabase(e)){i.next=6;break}t.loadDb(e),i.next=12;break;case 6:return t.file=e,i.next=9,t.$nextTick();case 9:return a=t.$refs.addCsv,a.reset(),i.abrupt("return",Promise.all([a.previewCsv(),t.animationPromise]).then(a.open));case 12:case"end":return i.stop()}}),i)})))()},browse:function(){T.getFileFromUser(".db,.sqlite,.sqlite3,.csv").then(this.checkFile)},drop:function(e){this.checkFile(e.dataTransfer.files[0])}}},Et=Lt,kt=(i("8312"),Object(s["a"])(Et,F,X,!1,null,"525b8c89",null)),Qt=kt.exports,St=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("path",{attrs:{d:"M10.5 1.5H4.5C3.675 1.5 3 2.175 3 3V15C3 15.825 3.675 16.5 4.5 16.5H13.5C14.325 16.5 15 15.825 15 15V6L10.5 1.5ZM13.5 15H4.5V3H9.75V6.75H13.5V15ZM12 8.25V13.575L10.425 12L8.325 14.1L6.225 12L8.325 9.9L6.675 8.25H12Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" "+e._s(e.tooltip)+" ")])])},Yt=[],Ut={name:"ExportIcon",mixins:[G],props:["tooltip"]},Zt=Ut,Pt=(i("7cf8"),Object(s["a"])(Zt,St,Yt,!1,null,"7f50cd00",null)),_t=Pt.exports,Gt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("g",{attrs:{"clip-path":"url(#clip0)"}},[i("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"\n M13.6573 1.5H2.59985C1.77485 1.5 1.09985 2.175 1.09985 3V13.6649C1.09985 14.4899\n 1.77485 15.1649 2.59985\n 15.1649H9.84V13.6649H8.87866V9.08244H13.6573V9.83777H15.1573V3C15.1573\n 2.17 14.4873 1.5 13.6573 1.5ZM13.6573\n 7.58244V3H8.87866V7.58244H13.6573ZM7.37866 3H2.59985V7.58244H7.37866V3ZM2.59985\n 9.08244V13.6649H7.37866V9.08244H2.59985ZM13.1702\n 10.8434H15.6702V13.1717H18.0001V15.6717H15.6702V18H13.1702V15.6717H10.8401V13.1717H13.1702V10.8434Z\n ",fill:"#A2B1C6"}})]),i("defs",[i("clipPath",{attrs:{id:"clip0"}},[i("rect",{attrs:{width:"18",height:"18",fill:"white"}})])])]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Add new table from CSV ")])])},Rt=[],Vt={name:"AddTableIcon",mixins:[G],props:["tooltip"]},Bt=Vt,Ht=(i("4f22"),Object(s["a"])(Bt,Gt,Rt,!1,null,"de75f292",null)),Wt=Ht.exports,$t={name:"Schema",components:{TableDescription:Y,TextField:J,TreeChevron:E,DbUploader:Qt,ExportIcon:_t,AddTableIcon:Wt,CsvImport:Ot},data:function(){return{schemaVisible:!0,filter:null,file:null}},computed:{schema:function(){var e=this;return this.$store.state.db.schema?this.filter?this.$store.state.db.schema.filter((function(t){return-1!==t.name.toUpperCase().indexOf(e.filter.toUpperCase())})):this.$store.state.db.schema:[]},dbName:function(){return this.$store.state.db.dbName}},methods:{exportToFile:function(){this.$store.state.db.export("".concat(this.dbName,".sqlite"))},addCsv:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,T.getFileFromUser(".csv");case 2:return e.file=t.sent,t.next=5,e.$nextTick();case 5:return i=e.$refs.addCsv,i.reset(),t.next=9,i.previewCsv();case 9:i.open();case 10:case"end":return t.stop()}}),t)})))()}}},qt=$t,Jt=(i("1a2d"),Object(s["a"])(qt,v,z,!1,null,"2e186d82",null)),Ft=Jt.exports,Xt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"tabs"}},[e.tabs.length>0?i("div",{attrs:{id:"tabs-header"}},e._l(e.tabs,(function(t,a){return i("div",{key:a,class:[{"tab-selected":t.id===e.selectedIndex},"tab"],on:{click:function(i){return e.selectTab(t.id)}}},[i("div",{staticClass:"tab-name"},[i("span",{directives:[{name:"show",rawName:"v-show",value:t.isUnsaved,expression:"tab.isUnsaved"}],staticClass:"star"},[e._v("*")]),t.name?i("span",[e._v(e._s(t.name))]):i("span",{staticClass:"tab-untitled"},[e._v(e._s(t.tempName))])]),i("div",[i("close-icon",{staticClass:"close-icon",attrs:{size:10},on:{click:function(t){return e.beforeCloseTab(a)}}})],1)])})),0):e._e(),e._l(e.tabs,(function(e,t){return i("tab",{key:e.id,attrs:{id:e.id,"init-name":e.name,"init-query":e.query,"init-chart":e.chart,"is-predefined":e.isPredefined,"tab-index":t}})})),i("div",{directives:[{name:"show",rawName:"v-show",value:0===e.tabs.length,expression:"tabs.length === 0"}],attrs:{id:"start-guide"}},[i("span",{staticClass:"link",on:{click:function(t){return e.$root.$emit("createNewQuery")}}},[e._v("Create")]),e._v(" a new query from scratch or open the one from "),i("router-link",{staticClass:"link",attrs:{to:"/my-queries"}},[e._v("My queries")])],1),i("modal",{attrs:{name:"close-warn",classes:"dialog",height:"auto"}},[i("div",{staticClass:"dialog-header"},[e._v(" Close tab "+e._s(null!==e.closingTabIndex?e.tabs[e.closingTabIndex].name||"["+e.tabs[e.closingTabIndex].tempName+"]":"")+" "),i("close-icon",{on:{click:function(t){return e.$modal.hide("close-warn")}}})],1),i("div",{staticClass:"dialog-body"},[e._v(" You have unsaved changes. Save changes in "+e._s(null!==e.closingTabIndex?e.tabs[e.closingTabIndex].name||"["+e.tabs[e.closingTabIndex].tempName+"]":"")+" before closing? ")]),i("div",{staticClass:"dialog-buttons-container"},[i("button",{staticClass:"secondary",on:{click:function(t){return e.closeTab(e.closingTabIndex)}}},[e._v(" Close without saving ")]),i("button",{staticClass:"secondary",on:{click:function(t){return e.$modal.hide("close-warn")}}},[e._v("Cancel")]),i("button",{staticClass:"primary",on:{click:function(t){return e.saveAndClose(e.closingTabIndex)}}},[e._v("Save and close")])])])],2)},Kt=[],ei=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"show",rawName:"v-show",value:e.isActive,expression:"isActive"}],staticClass:"tab-content-container"},[i("splitpanes",{staticClass:"query-results-splitter",attrs:{horizontal:"",before:{size:50,max:100},after:{size:50,max:100}},scopedSlots:e._u([{key:"left-pane",fn:function(){return[i("div",{staticClass:"query-editor"},[i("sql-editor",{ref:"sqlEditor",model:{value:e.query,callback:function(t){e.query=t},expression:"query"}})],1)]},proxy:!0},{key:"right-pane",fn:function(){return[i("div",{ref:"bottomPane",attrs:{id:"bottomPane"}},[i("view-switcher",{attrs:{view:e.view},on:{"update:view":function(t){e.view=t}}}),i("div",{directives:[{name:"show",rawName:"v-show",value:"table"===e.view,expression:"view === 'table'"}],staticClass:"table-view"},[i("div",{directives:[{name:"show",rawName:"v-show",value:null===e.result&&!e.isGettingResults&&!e.error,expression:"result === null && !isGettingResults && !error"}],staticClass:"table-preview result-before"},[e._v(" Run your query and get results here ")]),e.isGettingResults?i("div",{staticClass:"table-preview result-in-progress"},[i("loading-indicator",{attrs:{size:30}}),e._v(" Fetching results... ")],1):e._e(),i("div",{directives:[{name:"show",rawName:"v-show",value:void 0===e.result&&!e.isGettingResults&&!e.error,expression:"result === undefined && !isGettingResults && !error"}],staticClass:"table-preview result-empty"},[e._v(" No rows retrieved according to your query ")]),e.error?i("logs",{attrs:{messages:[e.error]}}):e._e(),e.result?i("sql-table",{attrs:{"data-set":e.result,time:e.time,height:e.tableViewHeight}}):e._e()],1),i("chart",{ref:"chart",attrs:{visible:"chart"===e.view,"sql-result":e.result,"init-chart":e.initChart},on:{update:function(t){return e.$store.commit("updateTab",{index:e.tabIndex,isUnsaved:!0})}}})],1)]},proxy:!0}])})],1)},ti=[],ii=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"codemirror-container"},[i("codemirror",{ref:"cm",attrs:{options:e.cmOptions},on:{changes:e.onChange},model:{value:e.query,callback:function(t){e.query=t},expression:"query"}})],1)},ai=[],ni=i("56b3"),ri=i.n(ni),si=(i("9b74"),i("991c"),i("2f62")),oi={tabs:[],currentTab:null,currentTabId:null,untitledLastIndex:0,predefinedQueries:[],db:null},ci=(i("a434"),{setDb:function(e,t){e.db&&e.db.shutDown(),e.db=t},updateTab:function(e,t){var i=t.index,n=t.name,r=t.id,s=t.query,o=t.chart,c=t.isUnsaved,u=e.tabs[i],l=u.id;r&&e.currentTabId===l&&(e.currentTabId=r),r&&(u.id=r),n&&(u.name=n),s&&(u.query=s),o&&(u.chart=o),void 0!==c&&(u.isUnsaved=c),c||delete u.isPredefined,a["default"].set(e.tabs,i,u)},deleteTab:function(e,t){e.tabs[t].id===e.currentTabId&&(t0?e.currentTabId=e.tabs[t-1].id:(e.currentTabId=null,e.currentTab=null,e.untitledLastIndex=0)),e.tabs.splice(t,1)},setCurrentTabId:function(e,t){e.currentTabId=t},setCurrentTab:function(e,t){e.currentTab=t},updatePredefinedQueries:function(e,t){Array.isArray(t)?e.predefinedQueries=t:e.predefinedQueries=[t]}}),ui=i("e1bd"),li={addTab:function(e,t){return Object(l["a"])(regeneratorRuntime.mark((function i(){var a,n;return regeneratorRuntime.wrap((function(i){while(1)switch(i.prev=i.next){case 0:return a=e.state,n=t?JSON.parse(JSON.stringify(t)):{},t&&t.id?n.isUnsaved=!1:(n.id=Object(ui["a"])(),n.name=null,n.tempName=a.untitledLastIndex?"Untitled ".concat(a.untitledLastIndex):"Untitled",n.isUnsaved=!0),a.tabs.some((function(e){return e.id===n.id}))||(a.tabs.push(n),n.name||(a.untitledLastIndex+=1)),i.abrupt("return",n.id);case 5:case"end":return i.stop()}}),i)})))()}};a["default"].use(si["a"]);var Mi=new si["a"].Store({state:oi,mutations:ci,actions:li});function di(e,t){var i=e.getTokenAt(e.getCursor()).string.toUpperCase(),a=ri.a.hint.sql(e,t);return 1===a.list.length&&a.list[0].text.toUpperCase()===i&&(a.list=[]),a}var gi={get tables(){var e={};return Mi.state.db.schema&&Mi.state.db.schema.forEach((function(t){e[t.name]=t.columns.map((function(e){return e.name}))})),e},get defaultTable(){var e=Mi.state.db.schema;return e&&1===e.length?e[0].name:null},completeSingle:!1,completeOnSingleClick:!0,alignWithWord:!1};function Ni(e){ri.a.showHint(e,di,gi)}function Ii(e){var t=e.getTokenAt(e.getCursor()),i=t.string.slice(-1),a=t.type;"string"!==a&&i&&" "!==i&&";"!==i&&ri.a.showHint(e,di,gi)}var hi=i("8f94"),Di=(i("a7be"),i("ffda"),i("d5db"),i("f6b6"),i("f4ba"),{name:"SqlEditor",props:["value"],components:{codemirror:hi["codemirror"]},data:function(){return{query:this.value,cmOptions:{tabSize:4,mode:"text/x-mysql",theme:"neo",lineNumbers:!0,line:!0,autoRefresh:!0,extraKeys:{"Ctrl-Space":Ni}}}},watch:{query:function(){this.$emit("input",this.query)}},methods:{onChange:xt.debounce(Ii,400),focus:function(){this.$refs.cm.codemirror.focus()}}}),mi=Di,ji=(i("5327"),Object(s["a"])(mi,ii,ai,!1,null,"ad4bbbe4",null)),pi=ji.exports,yi=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"view-switcher"},[i("div",{class:["table-mode",{"active-mode":"table"===e.view}],on:{click:function(t){return e.$emit("update:view","table")}}},[e._v(" Table ")]),i("div",{class:["chart-mode",{"active-mode":"chart"===e.view}],on:{click:function(t){return e.$emit("update:view","chart")}}},[e._v(" Chart ")])])},fi=[],vi={name:"ViewSwitcher",props:["view"]},zi=vi,Ti=(i("c605"),Object(s["a"])(zi,yi,fi,!1,null,"59806640",null)),bi=Ti.exports,xi=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"chart-container"},[i("div",{directives:[{name:"show",rawName:"v-show",value:!e.sqlResult&&e.visible,expression:"!sqlResult && visible"}],staticClass:"warning chart-warning"},[e._v(" There is no data to build a chart. Run your sql query and make sure the result is not empty. ")]),i("PlotlyEditor",{ref:"plotlyEditor",staticClass:"chart",style:{height:e.sqlResult?"100%":"calc(100% - 40px)"},attrs:{data:e.state.data,layout:e.state.layout,frames:e.state.frames,config:{editable:!0,displaylogo:!1},dataSources:e.dataSources,dataSourceOptions:e.dataSourceOptions,plotly:e.plotly,useResizeHandler:!0,debug:!0,advancedTraceTypeSelector:!0},on:{onUpdate:e.update,onRender:e.go}})],1)},wi=[],Ci=i("f794"),Ai=i.n(Ci),Oi=(i("0848"),i("b1c6")),Li=i.n(Oi),Ei=i("3835"),ki=(i("b64b"),i("662f")),Qi=i.n(ki);function Si(e){if(!e)return{};var t={},i=e.values,a=Object(Ei["a"])(i,1),n=a[0],r=n.map((function(e,t){return i.map((function(e){return e[t]}))}));return e.columns.forEach((function(e,i){t[e]=r[i]})),t}function Yi(e){return Object.keys(e).map((function(e){return{value:e,label:e}}))}function Ui(e,t){var i=JSON.parse(JSON.stringify(e)),a={};for(var n in t)a[n]=[];return Qi()(i.data,a),i}var Zi={getDataSourcesFromSqlResult:Si,getOptionsFromDataSources:Yi,getChartStateForSave:Ui},Pi={name:"Chart",props:["sqlResult","initChart","visible"],components:{PlotlyEditor:Li.a},data:function(){return{plotly:Ai.a,state:this.initChart||{data:[],layout:{},frames:[]}}},computed:{dataSources:function(){return Zi.getDataSourcesFromSqlResult(this.sqlResult)},dataSourceOptions:function(){return Zi.getOptionsFromDataSources(this.dataSources)}},watch:{dataSources:function(){Qi()(this.state.data,this.dataSources)}},methods:{go:function(e,t,i){},update:function(e,t,i){this.state={data:e,layout:t,frames:i},this.$emit("update")},getChartStateForSave:function(){return Zi.getChartStateForSave(this.state,this.dataSources)}}},_i=Pi,Gi=(i("97b1"),Object(s["a"])(_i,xi,wi,!1,null,"291e46e5",null)),Ri=Gi.exports,Vi={name:"Tab",props:["id","initName","initQuery","initChart","tabIndex","isPredefined"],components:{SqlEditor:pi,SqlTable:Nt,Splitpanes:f,ViewSwitcher:bi,Chart:Ri,LoadingIndicator:ft,Logs:bt},data:function(){return{query:this.initQuery,result:null,view:"table",tableViewHeight:0,isGettingResults:!1,error:null,resizeObserver:null,time:0}},computed:{isActive:function(){return this.id===this.$store.state.currentTabId}},mounted:function(){this.resizeObserver=new ResizeObserver(this.handleResize),this.resizeObserver.observe(this.$refs.bottomPane),this.calculateTableHeight()},beforeDestroy:function(){this.resizeObserver.unobserve(this.$refs.bottomPane)},watch:{isActive:{immediate:!0,handler:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(!e.isActive){t.next=5;break}return e.$store.commit("setCurrentTab",e),t.next=4,e.$nextTick();case 4:e.$refs.sqlEditor.focus();case 5:case"end":return t.stop()}}),t)})))()}},query:function(){this.$store.commit("updateTab",{index:this.tabIndex,isUnsaved:!0})}},methods:{execute:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.isGettingResults=!0,e.result=null,e.error=null,i=e.$store.state,t.prev=4,a=new Date,t.next=8,i.db.execute(e.query+";");case 8:e.result=t.sent,e.time=xt.getPeriod(a,new Date),t.next=15;break;case 12:t.prev=12,t.t0=t["catch"](4),e.error={type:"error",message:t.t0};case 15:i.db.refreshSchema(),e.isGettingResults=!1;case 17:case"end":return t.stop()}}),t,null,[[4,12]])})))()},handleResize:function(){var e=this;"chart"===this.view&&(this.view="not chart",this.$nextTick((function(){e.view="chart"}))),this.calculateTableHeight()},calculateTableHeight:function(){var e=this.$refs.bottomPane,t=e.offsetHeight-88-34-12-5-35;this.tableViewHeight=t-t%35}}},Bi=Vi,Hi=(i("b78a"),Object(s["a"])(Bi,ei,ti,!1,null,"8b37f1a0",null)),Wi=Hi.exports,$i={components:{Tab:Wi,CloseIcon:Ce},data:function(){return{closingTabIndex:null}},computed:{tabs:function(){return this.$store.state.tabs},selectedIndex:function(){return this.$store.state.currentTabId}},created:function(){window.addEventListener("beforeunload",this.leavingSqliteviz)},methods:{leavingSqliteviz:function(e){this.tabs.some((function(e){return e.isUnsaved}))&&(e.preventDefault(),e.returnValue="")},selectTab:function(e){this.$store.commit("setCurrentTabId",e)},beforeCloseTab:function(e){this.closingTabIndex=e,this.tabs[e].isUnsaved?this.$modal.show("close-warn"):this.closeTab(e)},closeTab:function(e){this.$modal.hide("close-warn"),this.closingTabIndex=null,this.$store.commit("deleteTab",e)},saveAndClose:function(e){var t=this;this.$root.$on("querySaved",(function(){t.closeTab(e),t.$root.$off("querySaved")})),this.selectTab(this.tabs[e].id),this.$modal.hide("close-warn"),this.$nextTick((function(){t.$root.$emit("saveQuery")}))}}},qi=$i,Ji=(i("2d56"),Object(s["a"])(qi,Xt,Kt,!1,null,null,null)),Fi=Ji.exports,Xi={name:"Editor",components:{Schema:Ft,Splitpanes:f,Tabs:Fi},beforeCreate:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i,a,n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(i=e.$store.state.db.schema,i&&0!==i.length){t.next=7;break}return a=["/*"," * Your database is empty. In order to start building charts"," * you should create a table and insert data into it."," */","CREATE TABLE house","("," name TEXT,"," points INTEGER",");","INSERT INTO house VALUES","('Gryffindor', 100),","('Hufflepuff', 90),","('Ravenclaw', 95),","('Slytherin', 80);"].join("\n"),t.next=5,e.$store.dispatch("addTab",{query:a});case 5:n=t.sent,e.$store.commit("setCurrentTabId",n);case 7:case"end":return t.stop()}}),t)})))()}},Ki=Xi,ea=(i("c603"),Object(s["a"])(Ki,d,g,!1,null,"4dece747",null)),ta=ea.exports,ia=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[0===e.showedQueries.length?a("div",{attrs:{id:"start-guide"}},[e._v(" You don't have saved queries so far. "),a("span",{staticClass:"link",on:{click:function(t){return e.$root.$emit("createNewQuery")}}},[e._v("Create")]),e._v(" the one from scratch or "),a("span",{staticClass:"link",on:{click:e.importQueries}},[e._v("import")]),e._v(" from a file. ")]):e._e(),a("div",{directives:[{name:"show",rawName:"v-show",value:e.showedQueries.length>0,expression:"showedQueries.length > 0"}],ref:"my-queries-content",attrs:{id:"my-queries-content"}},[a("div",{attrs:{id:"my-queries-toolbar"}},[a("div",{attrs:{id:"toolbar-buttons"}},[a("button",{staticClass:"toolbar",attrs:{id:"toolbar-btns-import"},on:{click:e.importQueries}},[e._v(" Import ")]),a("button",{directives:[{name:"show",rawName:"v-show",value:e.selectedQueriesCount>0,expression:"selectedQueriesCount > 0"}],staticClass:"toolbar",attrs:{id:"toolbar-btns-export"},on:{click:function(t){return e.exportSelectedQueries()}}},[e._v(" Export ")]),a("button",{directives:[{name:"show",rawName:"v-show",value:e.selectedNotPredefinedCount>0,expression:"selectedNotPredefinedCount > 0"}],staticClass:"toolbar",attrs:{id:"toolbar-btns-delete"},on:{click:function(t){return e.showDeleteDialog(e.selectedQueriesIds)}}},[e._v(" Delete ")])]),a("div",{attrs:{id:"toolbar-search"}},[a("text-field",{attrs:{placeholder:"Search query by name",width:"300px"},model:{value:e.filter,callback:function(t){e.filter=t},expression:"filter"}})],1)]),a("div",{staticClass:"rounded-bg"},[a("div",{staticClass:"header-container"},[a("div",[a("div",{ref:"name-th",staticClass:"fixed-header"},[a("check-box",{ref:"mainCheckBox",attrs:{theme:"light"},on:{click:e.toggleSelectAll}}),a("div",{staticClass:"name-th"},[e._v("Name")])],1),a("div",{staticClass:"fixed-header"},[e._v(" Created at ")])])]),a("div",{staticClass:"table-container",style:{"max-height":e.maxTableHeight+"px"}},[a("table",{ref:"table"},[a("tbody",e._l(e.showedQueries,(function(t,i){return a("tr",{key:t.id,on:{click:function(t){return e.openQuery(i)}}},[a("td",{ref:"name-td",refInFor:!0},[a("div",{staticClass:"cell-data"},[a("check-box",{ref:"rowCheckBox",refInFor:!0,attrs:{init:e.selectAll||e.selectedQueriesIds.has(t.id)},on:{click:function(i){return e.toggleRow(i,t.id)}}}),a("div",{staticClass:"name"},[e._v(e._s(t.name))]),t.isPredefined?a("div",{staticClass:"badge",on:{mouseover:e.showTooltip,mouseout:e.hideTooltip}},[e._v(" Predefined "),a("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Predefined queries come from the server. These queries can’t be deleted or renamed. ")])]):e._e()],1)]),a("td",[a("div",{staticClass:"second-column"},[a("div",{staticClass:"date-container"},[e._v(e._s(e._f("date")(t.createdAt)))]),a("div",{staticClass:"icons-container"},[t.isPredefined?e._e():a("rename-icon",{on:{click:function(i){return e.showRenameDialog(t.id)}}}),a("copy-icon",{on:{click:function(t){return e.duplicateQuery(i)}}}),a("export-icon",{attrs:{tooltip:"Export query to file"},on:{click:function(i){return e.exportToFile([t],t.name+".json")}}}),t.isPredefined?e._e():a("delete-icon",{on:{click:function(i){e.showDeleteDialog((new Set).add(t.id))}}})],1)])])])})),0)])])])]),a("modal",{attrs:{name:"rename",classes:"dialog",height:"auto"}},[a("div",{staticClass:"dialog-header"},[e._v(" Rename query "),a("close-icon",{on:{click:function(t){return e.$modal.hide("rename")}}})],1),a("div",{staticClass:"dialog-body"},[a("text-field",{attrs:{label:"New query name","error-msg":e.errorMsg,width:"100%"},model:{value:e.newName,callback:function(t){e.newName=t},expression:"newName"}})],1),a("div",{staticClass:"dialog-buttons-container"},[a("button",{staticClass:"secondary",on:{click:function(t){return e.$modal.hide("rename")}}},[e._v("Cancel")]),a("button",{staticClass:"primary",on:{click:e.renameQuery}},[e._v("Rename")])])]),a("modal",{attrs:{name:"delete",classes:"dialog",height:"auto"}},[a("div",{staticClass:"dialog-header"},[e._v(" Delete "+e._s(e.deleteGroup?"queries":"query")+" "),a("close-icon",{on:{click:function(t){return e.$modal.hide("delete")}}})],1),a("div",{staticClass:"dialog-body"},[e._v(" "+e._s(e.deleteDialogMsg)+" "),a("div",{directives:[{name:"show",rawName:"v-show",value:e.selectedQueriesCount>e.selectedNotPredefinedCount,expression:"selectedQueriesCount > selectedNotPredefinedCount"}],attrs:{id:"note"}},[a("img",{attrs:{src:i("db39")}}),e._v(" Note: Predefined queries you've selected won't be deleted ")])]),a("div",{staticClass:"dialog-buttons-container"},[a("button",{staticClass:"secondary",on:{click:function(t){return e.$modal.hide("delete")}}},[e._v("Cancel")]),a("button",{staticClass:"primary",on:{click:e.deleteQuery}},[e._v("Delete")])])])],1)},aa=[],na=(i("6062"),i("c740"),function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("path",{attrs:{d:"M10.545 6.75L11.25 7.455L4.44 14.25H3.75V13.56L10.545 6.75ZM13.245 2.25C13.0575 2.25 12.8625 2.325 12.72 2.4675L11.3475 3.84L14.16 6.6525L15.5325 5.28C15.825 4.9875 15.825 4.5 15.5325 4.2225L13.7775 2.4675C13.6275 2.3175 13.44 2.25 13.245 2.25ZM10.545 4.6425L2.25 12.9375V15.75H5.0625L13.3575 7.455L10.545 4.6425Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Rename query ")])])}),ra=[],sa={name:"RenameIcon",mixins:[G]},oa=sa,ca=(i("cd51"),Object(s["a"])(oa,na,ra,!1,null,"45e6fb96",null)),ua=ca.exports,la=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("path",{attrs:{d:"M14.25 15.75H6V5.25H14.25V15.75ZM14.25 3.75H6C5.60218 3.75 5.22064 3.90804 4.93934 4.18934C4.65804 4.47064 4.5 4.85218 4.5 5.25V15.75C4.5 16.1478 4.65804 16.5294 4.93934 16.8107C5.22064 17.092 5.60218 17.25 6 17.25H14.25C14.6478 17.25 15.0294 17.092 15.3107 16.8107C15.592 16.5294 15.75 16.1478 15.75 15.75V5.25C15.75 4.85218 15.592 4.47064 15.3107 4.18934C15.0294 3.90804 14.6478 3.75 14.25 3.75ZM12 0.75H3C2.60218 0.75 2.22064 0.908035 1.93934 1.18934C1.65804 1.47064 1.5 1.85218 1.5 2.25V12.75H3V2.25H12V0.75Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Duplicate query ")])])},Ma=[],da={name:"CopyIcon",mixins:[G]},ga=da,Na=(i("cc8d"),Object(s["a"])(ga,la,Ma,!1,null,"9ee167fc",null)),Ia=Na.exports,ha=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:e.hideTooltip}},[i("path",{attrs:{d:"M6.75 2.25V3H3V4.5H3.75V14.25C3.75 14.6478 3.90804 15.0294 4.18934 15.3107C4.47064 15.592 4.85218 15.75 5.25 15.75H12.75C13.1478 15.75 13.5294 15.592 13.8107 15.3107C14.092 15.0294 14.25 14.6478 14.25 14.25V4.5H15V3H11.25V2.25H6.75ZM5.25 4.5H12.75V14.25H5.25V4.5ZM6.75 6V12.75H8.25V6H6.75ZM9.75 6V12.75H11.25V6H9.75Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Delete query ")])])},Da=[],ma={name:"DeleteIcon",mixins:[G]},ja=ma,pa=(i("e4db"),Object(s["a"])(ja,ha,Da,!1,null,"2e7a19b0",null)),ya=pa.exports,fa=(i("2532"),{getStoredQueries:function(){return JSON.parse(localStorage.getItem("myQueries"))||[]},duplicateQuery:function(e){var t=JSON.parse(JSON.stringify(e));return t.name=t.name+" Copy",t.id=Object(ui["a"])(),t.createdAt=new Date,delete t.isPredefined,t},isTabNeedName:function(e){var t=!e.initName;return e.isPredefined||t},save:function(e,t){var i={id:e.isPredefined?Object(ui["a"])():e.id,query:e.query,chart:e.$refs.chart.getChartStateForSave(),name:t||e.initName},a=this.getStoredQueries();if(t)i.createdAt=new Date;else{var n=a.findIndex((function(t){return t.id===e.id}));i.createdAt=a[n].createdAt}return t?a.push(i):a[n]=i,this.updateStorage(a),i},updateStorage:function(e){localStorage.setItem("myQueries",JSON.stringify(e))},serialiseQueries:function(e){var t=JSON.parse(JSON.stringify(e));return t.forEach((function(e){return delete e.isPredefined})),JSON.stringify(t,null,4)},deserialiseQueries:function(e){var t=this,i=JSON.parse(e);return Array.isArray(i)||(i=[i]),i.forEach((function(e){var i=t.getStoredQueries().map((function(e){return e.id}));i.includes(e.id)&&(e.id=Object(ui["a"])())})),i},importQueries:function(){var e=this;return T.importFile().then((function(t){return e.deserialiseQueries(t)}))},readPredefinedQueries:function(){return T.readFile("./queries.json").then((function(e){return e.json()}))}}),va={name:"MyQueries",components:{RenameIcon:ua,CopyIcon:Ia,ExportIcon:_t,DeleteIcon:ya,CloseIcon:Ce,TextField:J,CheckBox:et},mixins:[G],data:function(){return{queries:[],filter:null,newName:null,processedQueryId:null,errorMsg:null,selectedQueriesIds:new Set,selectedQueriesCount:0,selectedNotPredefinedCount:0,selectAll:!1,deleteGroup:!1,resizeObserver:null,maxTableHeight:0}},computed:{predefinedQueries:function(){return this.$store.state.predefinedQueries.map((function(e){return e.isPredefined=!0,e}))},predefinedQueriesIds:function(){return new Set(this.predefinedQueries.map((function(e){return e.id})))},showedQueries:function(){var e=this,t=this.allQueries;return this.filter&&(t=t.filter((function(t){return t.name.toUpperCase().indexOf(e.filter.toUpperCase())>=0}))),t},allQueries:function(){return this.predefinedQueries.concat(this.queries)},processedQueryIndex:function(){var e=this;return this.queries.findIndex((function(t){return t.id===e.processedQueryId}))},deleteDialogMsg:function(){if(!this.deleteGroup&&(null===this.processedQueryIndex||this.processedQueryIndex<0||this.processedQueryIndex>this.queries.length))return"";var e=this.deleteGroup?"".concat(this.selectedNotPredefinedCount," ").concat(this.selectedNotPredefinedCount>1?"queries":"query"):'"'.concat(this.queries[this.processedQueryIndex].name,'"');return"Are you sure you want to delete ".concat(e,"?")}},created:function(){var e=this;fa.readPredefinedQueries().then((function(t){e.$store.commit("updatePredefinedQueries",t)})).catch(console.error).finally((function(){e.queries=fa.getStoredQueries()}))},mounted:function(){this.resizeObserver=new ResizeObserver(this.calcMaxTableHeight),this.resizeObserver.observe(this.$refs["my-queries-content"]),this.tableResizeObserver=new ResizeObserver(this.calcNameWidth),this.tableResizeObserver.observe(this.$refs.table),this.calcNameWidth(),this.calcMaxTableHeight()},beforeDestroy:function(){this.resizeObserver.unobserve(this.$refs["my-queries-content"]),this.tableResizeObserver.unobserve(this.$refs.table)},filters:{date:function(e){if(!e)return"";var t={year:"numeric",month:"long",day:"numeric"},i={hour12:!1,hour:"2-digit",minute:"2-digit"};return new Date(e).toLocaleDateString("en-GB",t)+" "+new Date(e).toLocaleTimeString("en-GB",i)}},methods:{calcNameWidth:function(){var e=this.$refs["name-td"]?this.$refs["name-td"][0].getBoundingClientRect().width:0;this.$refs["name-th"].style="width: ".concat(e,"px")},calcMaxTableHeight:function(){var e=this.$refs["my-queries-content"].offsetHeight-200;this.maxTableHeight=e-e%40+1},openQuery:function(e){var t=this,i=this.showedQueries[e];this.$store.dispatch("addTab",i).then((function(e){t.$store.commit("setCurrentTabId",e),t.$router.push("/editor")}))},showRenameDialog:function(e){this.errorMsg=null,this.processedQueryId=e,this.newName=this.queries[this.processedQueryIndex].name,this.$modal.show("rename")},renameQuery:function(){if(this.newName){var e=this.queries[this.processedQueryIndex];e.name=this.newName,this.$set(this.queries,this.processedQueryIndex,e),fa.updateStorage(this.queries);var t=this.findTabIndex(e.id);t>=0&&this.$store.commit("updateTab",{index:t,name:this.newName,id:e.id}),this.$modal.hide("rename")}else this.errorMsg="Query name can't be empty"},duplicateQuery:function(e){var t=fa.duplicateQuery(this.showedQueries[e]);this.selectAll&&(this.selectedQueriesIds.add(t.id),this.selectedQueriesCount=this.selectedQueriesIds.size),this.queries.push(t),fa.updateStorage(this.queries)},showDeleteDialog:function(e){this.deleteGroup=e.size>1,this.deleteGroup||(this.processedQueryId=e.values().next().value),this.$modal.show("delete")},deleteQuery:function(){var e=this;if(this.$modal.hide("delete"),this.deleteGroup){this.queries=this.selectAll?[]:this.queries.filter((function(t){return!e.selectedQueriesIds.has(t.id)}));for(var t=this.$store.state.tabs,i=t.length-1;i>=0;i--)this.selectedQueriesIds.has(t[i].id)&&this.$store.commit("deleteTab",i);this.selectedQueriesIds.clear()}else{this.queries.splice(this.processedQueryIndex,1);var a=this.findTabIndex(this.processedQueryId);a>=0&&this.$store.commit("deleteTab",a),this.selectedQueriesIds.has(this.processedQueryId)&&this.selectedQueriesIds.delete(this.processedQueryId)}this.selectedQueriesCount=this.selectedQueriesIds.size,fa.updateStorage(this.queries)},findTabIndex:function(e){return this.$store.state.tabs.findIndex((function(t){return t.id===e}))},exportToFile:function(e,t){var i=fa.serialiseQueries(e);T.exportToFile(i,t)},exportSelectedQueries:function(){var e=this,t=this.selectAll?this.allQueries:this.allQueries.filter((function(t){return e.selectedQueriesIds.has(t.id)}));this.exportToFile(t,"My sqliteviz queries.json")},importQueries:function(){var e=this;fa.importQueries().then((function(t){e.selectAll&&(t.forEach((function(t){e.selectedQueriesIds.add(t.id)})),e.selectedQueriesCount=e.selectedQueriesIds.size),e.queries=e.queries.concat(t),fa.updateStorage(e.queries)}))},toggleSelectAll:function(e){this.selectAll=e,this.$refs.rowCheckBox.forEach((function(t){t.checked=e})),this.selectedQueriesIds=e?new Set(this.allQueries.map((function(e){return e.id}))):new Set,this.selectedQueriesCount=this.selectedQueriesIds.size,this.selectedNotPredefinedCount=e?this.queries.length:0},toggleRow:function(e,t){var i=this.predefinedQueriesIds.has(t);e?(this.selectedQueriesIds.add(t),i||(this.selectedNotPredefinedCount+=1)):(this.selectedQueriesIds.size===this.allQueries.length&&(this.$refs.mainCheckBox.checked=!1,this.selectAll=!1),this.selectedQueriesIds.delete(t),i||(this.selectedNotPredefinedCount-=1)),this.selectedQueriesCount=this.selectedQueriesIds.size}}},za=va,Ta=(i("72c0"),Object(s["a"])(za,ia,aa,!1,null,"0cc4e620",null)),ba=Ta.exports,xa=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"dbloader-container"}},[i("db-uploader",{attrs:{type:"illustrated"}}),i("div",{attrs:{id:"note"}},[e._v(" Sqliteviz is fully client-side. Your database never leaves your computer. ")]),i("button",{staticClass:"secondary",attrs:{id:"skip"},on:{click:function(t){return e.$router.push("/editor")}}},[e._v(" Create empty database ")])],1)},wa=[],Ca={name:"Welcome",components:{DbUploader:Qt}},Aa=Ca,Oa=(i("3ddc"),Object(s["a"])(Aa,xa,wa,!1,null,"cdca6642",null)),La=Oa.exports,Ea=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("main-menu"),i("keep-alive",{attrs:{include:"Editor"}},[i("router-view",{attrs:{id:"main-view"}})],1)],1)},ka=[],Qa=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("nav",[a("div",[a("router-link",{attrs:{to:"/editor"}},[e._v("Editor")]),a("router-link",{attrs:{to:"/my-queries"}},[e._v("My queries")]),a("a",{attrs:{href:"https://github.com/lana-k/sqliteviz/wiki",target:"_blank"}},[e._v("Help")])],1),a("div",{attrs:{id:"nav-buttons"}},[e.currentQuery&&"/editor"===e.$route.path?a("button",{staticClass:"primary",attrs:{id:"run-btn",disabled:e.runDisabled},on:{click:e.currentQuery.execute}},[e._v(" Run ")]):e._e(),a("button",{directives:[{name:"show",rawName:"v-show",value:e.currentQuery&&"/editor"===e.$route.path,expression:"currentQuery && $route.path === '/editor'"}],staticClass:"primary",attrs:{id:"save-btn",disabled:!e.isUnsaved},on:{click:e.checkQueryBeforeSave}},[e._v(" Save ")]),a("button",{staticClass:"primary",attrs:{id:"create-btn"},on:{click:e.createNewQuery}},[e._v(" Create ")]),a("app-diagnostic-info")],1),a("modal",{attrs:{name:"save",classes:"dialog",height:"auto"}},[a("div",{staticClass:"dialog-header"},[e._v(" Save query "),a("close-icon",{on:{click:e.cancelSave}})],1),a("div",{staticClass:"dialog-body"},[a("div",{directives:[{name:"show",rawName:"v-show",value:e.isPredefined,expression:"isPredefined"}],attrs:{id:"save-note"}},[a("img",{attrs:{src:i("db39")}}),e._v(" Note: Predefined queries can't be edited. That's why your modifications will be saved as a new query. Enter the name for it. ")]),a("text-field",{attrs:{label:"Query name","error-msg":e.errorMsg,width:"100%"},model:{value:e.name,callback:function(t){e.name=t},expression:"name"}})],1),a("div",{staticClass:"dialog-buttons-container"},[a("button",{staticClass:"secondary",on:{click:e.cancelSave}},[e._v("Cancel")]),a("button",{staticClass:"primary",on:{click:e.saveQuery}},[e._v("Save")])])])],1)},Sa=[],Ya=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{attrs:{id:"app-info-container"}},[a("img",{attrs:{id:"app-info-icon",src:i("db39")},on:{click:function(t){return e.$modal.show("app-info")}}}),a("modal",{attrs:{name:"app-info",classes:"dialog",height:"auto",width:"400px"}},[a("div",{staticClass:"dialog-header"},[e._v(" App info "),a("close-icon",{on:{click:function(t){return e.$modal.hide("app-info")}}})],1),a("div",{staticClass:"dialog-body"},e._l(e.info,(function(t,i){return a("div",{key:i,staticClass:"info-item"},[e._v(" "+e._s(t.name)+" "),a("div",{staticClass:"divider"}),a("div",{staticClass:"options"},e._l(t.info,(function(t,i){return a("div",{key:i},[e._v(" "+e._s(t)+" ")])})),0)])})),0)])],1)},Ua=[],Za={name:"AppDiagnosticInfo",components:{CloseIcon:Ce},data:function(){return{info:[{name:"sqliteviz version",info:[i("9224").version]}]}},created:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var i,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return i=e.$store.state,t.next=3,i.db.execute("select sqlite_version()");case 3:return a=t.sent,e.info.push({name:"SQLite version",info:a.values[0]}),t.next=7,i.db.execute("PRAGMA compile_options");case 7:a=t.sent,e.info.push({name:"SQLite compile options",info:a.values.map((function(e){return e[0]}))});case 9:case"end":return t.stop()}}),t)})))()}},Pa=Za,_a=(i("05c6"),Object(s["a"])(Pa,Ya,Ua,!1,null,"669c683a",null)),Ga=_a.exports,Ra={name:"MainMenu",components:{TextField:J,CloseIcon:Ce,AppDiagnosticInfo:Ga},data:function(){return{name:"",errorMsg:null}},computed:{currentQuery:function(){return this.$store.state.currentTab},isUnsaved:function(){if(!this.currentQuery)return!1;var e=this.currentQuery.tabIndex,t=this.$store.state.tabs[e];return t&&t.isUnsaved},isPredefined:function(){return!!this.currentQuery&&this.currentQuery.isPredefined},runDisabled:function(){return this.currentQuery&&(!this.$store.state.db||!this.currentQuery.query)}},created:function(){this.$root.$on("createNewQuery",this.createNewQuery),this.$root.$on("saveQuery",this.checkQueryBeforeSave),document.addEventListener("keydown",this._keyListener)},beforeDestroy:function(){document.removeEventListener("keydown",this._keyListener)},methods:{createNewQuery:function(){var e=this;this.$store.dispatch("addTab").then((function(t){e.$store.commit("setCurrentTabId",t),"/editor"!==e.$route.path&&e.$router.push("/editor")}))},cancelSave:function(){this.$modal.hide("save"),this.$root.$off("querySaved")},checkQueryBeforeSave:function(){this.errorMsg=null,this.name="",fa.isTabNeedName(this.currentQuery)?this.$modal.show("save"):this.saveQuery()},saveQuery:function(){var e=this,t=fa.isTabNeedName(this.currentQuery);if(!t||this.name){var i=this.currentQuery.result,a=this.currentQuery.view,n=fa.save(this.currentQuery,this.name);this.$store.commit("updateTab",{index:this.currentQuery.tabIndex,name:n.name,id:n.id,query:n.query,chart:n.chart,isUnsaved:!1}),this.$nextTick((function(){e.currentQuery.result=i,e.currentQuery.view=a})),this.$modal.hide("save"),this.$root.$emit("querySaved")}else this.errorMsg="Query name can't be empty"},_keyListener:function(e){if("/editor"===this.$route.path){if(("r"===e.key||"Enter"===e.key)&&(e.ctrlKey||e.metaKey))return e.preventDefault(),void(this.runDisabled||this.currentQuery.execute());if("s"===e.key&&(e.ctrlKey||e.metaKey))return e.preventDefault(),void(this.isUnsaved&&this.checkQueryBeforeSave())}"b"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),this.createNewQuery())}}},Va=Ra,Ba=(i("edb5"),Object(s["a"])(Va,Qa,Sa,!1,null,"74f776e4",null)),Ha=Ba.exports,Wa=(i("e506"),{name:"Main",components:{MainMenu:Ha}}),$a=Wa,qa=(i("7ff0"),Object(s["a"])($a,Ea,ka,!1,null,"7b856d32",null)),Ja=qa.exports;a["default"].use(M["a"]);var Fa=[{path:"/",name:"Welcome",component:La},{path:"/",name:"Main",component:Ja,children:[{path:"/editor",name:"Editor",component:ta},{path:"/my-queries",name:"MyQueries",component:ba}]}],Xa=new M["a"]({routes:Fa});Xa.beforeEach(function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t,i,a){var n;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(Mi.state.db){e.next=5;break}return n=Ie.getNewDatabase(),e.next=4,n.loadDb();case 4:Mi.commit("setDb",n);case 5:a();case 6:case"end":return e.stop()}}),e)})));return function(t,i,a){return e.apply(this,arguments)}}());var Ka=Xa,en=i("b8ae"),tn=i("1881"),an=i.n(tn);i("017d"),i("33da"),i("6d26"),i("bebf"),i("7432"),i("4a8d");["localhost","127.0.0.1"].includes(location.hostname)||i.e("chunk-60cbf026").then(i.t.bind(null,"ddb8",7)),a["default"].use(en["VuePlugin"]),a["default"].use(an.a),a["default"].config.productionTip=!1,new a["default"]({router:Ka,store:Mi,render:function(e){return e(u)}}).$mount("#app")},"5ca7":function(e,t,i){},"5f5e":function(e,t,i){},6681:function(e,t,i){},"69e6":function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgcng9IjIuNSIgZmlsbD0iI0YzRjZGQSIgc3Ryb2tlPSIjQzhENEUzIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2QpIj4KPHBhdGggZD0iTTE1Ljc1IDUuMjQ5ODhMNi43NSAxNC4yNDk5TDIuNjI1IDEwLjEyNDlMMy42ODI1IDkuMDY3MzhMNi43NSAxMi4xMjc0TDE0LjY5MjUgNC4xOTIzOEwxNS43NSA1LjI0OTg4WiIgZmlsbD0iIzExOURGRiIvPgo8L2c+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2QiIHg9IjAuNjI1IiB5PSIzLjE5MjM4IiB3aWR0aD0iMTcuMTI1IiBoZWlnaHQ9IjE0LjA1NzUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiLz4KPGZlT2Zmc2V0IGR5PSIxIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiLz4KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMC4xNjQ3MDYgMCAwIDAgMCAwLjI0NzA1OSAwIDAgMCAwIDAuMzcyNTQ5IDAgMCAwIDAuNDUgMCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvdyIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8L3N2Zz4K"},"6a0b":function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDUwIiBoZWlnaHQ9IjE2NyIgdmlld0JveD0iMCAwIDQ1MCAxNjciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtYXNrIGlkPSJtYXNrMCIgbWFzay10eXBlPSJhbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQ1MCIgaGVpZ2h0PSIxNjciPgo8cmVjdCB3aWR0aD0iNDUwIiBoZWlnaHQ9IjE2NyIgZmlsbD0iI0M0QzRDNCIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazApIj4KPHBhdGggZD0iTTEyOC4yMDcgLTE2OS4wMDdDNzAuMTk3MiAtMTgwLjg0OSAxOC43NDUgLTE0MC4xMSA0LjMxOTg1IC03OC4zMzIyQy0xMC4xMDU0IC0xNi41NTM5IDE0LjMzMzcgMTUuMzMxOCAzNy4zMjE4IDU1LjE4OTFDNzIuMzc4NCAxMTUuOTcxIDE4MS41NTEgMTcwLjIzNyAyNjUuMDgzIDE2Ni43ODlDMzM3LjUxNyAxNjMuOCAzODkuMDI4IDE0NS41MTQgNDI1LjkzNiA3Ny4xMTA3QzQ4OS4zNzggLTQwLjQ2NzkgNDE3LjQ0NCAtMTE3LjA5MyAzMjUuNTI3IC0xMDIuNzQ1QzIxNC41NzEgLTg1LjQyNCAyMTMuNjI5IC0xNTEuNTcgMTI4LjIwNyAtMTY5LjAwN1oiIGZpbGw9IiNERkU4RjMiLz4KPHBhdGggZD0iTTE0Ny4yMjIgOS40ODcxNkMxNDcuMjIyIDYuNzI4MjQgMTQ5LjQ1OCA0LjQ5MTcgMTUyLjIxNyA0LjQ5MTdIMzQzLjA0NEMzNDUuODAyIDQuNDkxNyAzNDguMDM5IDYuNzI4MjQgMzQ4LjAzOSA5LjQ4NzE1VjEyMi4zODRDMzQ4LjAzOSAxMjUuMTQzIDM0NS44MDIgMTI3LjM4IDM0My4wNDQgMTI3LjM4SDE1Mi4yMTdDMTQ5LjQ1OCAxMjcuMzggMTQ3LjIyMiAxMjUuMTQzIDE0Ny4yMjIgMTIyLjM4NFY5LjQ4NzE2WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTE1Ni4yODQgLTEuNTczNzNDMTU4LjE1OCAtMy40NDczOSAxNjAuNjk5IC00LjUgMTYzLjM0OSAtNC41SDMzMS45MTFDMzM0LjU2MSAtNC41IDMzNy4xMDIgLTMuNDQ3MzkgMzM4Ljk3NiAtMS41NzM3M0wzNDYuMDQxIDUuNDkwOTFIMTQ5LjIyTDE1Ni4yODQgLTEuNTczNzNaIiBmaWxsPSIjQzhENEUzIi8+CjxwYXRoIGQ9Ik0xNDcuMjIyIDkuNDg3MTVDMTQ3LjIyMiA2LjcyODI0IDE0OS40NTggNC40OTE3IDE1Mi4yMTcgNC40OTE3SDM0My4wNDRDMzQ1LjgwMiA0LjQ5MTcgMzQ4LjAzOSA2LjcyODI0IDM0OC4wMzkgOS40ODcxNVYyNy40NzA4SDE0Ny4yMjJWOS40ODcxNVoiIGZpbGw9IiNBMkIxQzYiLz4KPHBhdGggZD0iTTI1NC45MzkgNjcuOTU3MUMyNTQuMjUgNjcuNTMzNSAyNTMuNTk3IDY3LjA1MTkgMjUyLjk4OCA2Ni41MTc0VjU3LjY5MzVIMjU2LjgzMlY2OS4wMThDMjU2LjE5NSA2OC42ODY5IDI1NS41NjQgNjguMzMzMiAyNTQuOTM5IDY3Ljk1NzFaTTI2Mi4zNDEgNjMuNTAzMUgyNTguNDk4VjY5LjcyNTNDMjU5Ljc1MiA3MC4zMDkgMjYxLjAzNSA3MC44Mjg4IDI2Mi4zNDEgNzEuMjgyOVY2My41MDMxWk0yNTIuOTg4IDY4LjI4NTVMMjUyLjczNyA2OC4wODM0QzI1Mi4zNTIgNjcuNzYzNSAyNTEuOTkyIDY3LjQzNTEgMjUxLjY0OCA2Ny4xMDY4TDI0Mi41MyA2Ni4wNDU5TDI0NC4yMDUgNjkuMjk1OUwyNTUuOTI3IDcwLjI1NTdDMjU0Ljg5OSA2OS42NzU4IDI1My45MTYgNjkuMDE3MiAyNTIuOTg4IDY4LjI4NTVWNjguMjg1NVpNMjYyLjE0IDczLjAwOUMyNjAuODMyIDcyLjU3OTMgMjU5LjU0OSA3Mi4wNzYyIDI1OC4yOTcgNzEuNTAxOEwyNTcuODI4IDcxLjI2NjFMMjUwLjA5OSA3MC43NTI1TDI1MS40MDYgNzMuNDg4OUwyNjQuODg3IDczLjgwMDRDMjYzLjk2NiA3My41ODE1IDI2My4wMzYgNzMuMzEyMSAyNjIuMTQgNzMuMDA5Wk0yNDYuMDk3IDU3LjY5MzVDMjQ3LjU3MiA2MC4yODc1IDI0OS4zMjcgNjIuNzEwMSAyNTEuMzMgNjQuOTE3NlY1Ni4xMjc1TDI0Mi44ODIgNTEuOTQyOUwyNDIuMTI4IDYxLjc1MThMMjUwLjgyOCA2Ni4yMzk1QzI0OC41NDcgNjMuODQ2OSAyNDYuOTE4IDYwLjkwMzYgMjQ2LjA5NyA1Ny42OTM1VjU3LjY5MzVaIiBmaWxsPSIjMTE5REZGIi8+CjxwYXRoIGQ9Ik0yMTAuNzM4IDg0LjI4NThDMjExLjc5NSA4NC44NzYzIDIxMi44NTggODUuMTcxNSAyMTMuOTI2IDg1LjE3MTVDMjE0LjgxNSA4NS4xNzE1IDIxNS4zMzYgODQuODU1NyAyMTUuNDkgODQuMjI0MkMyMTUuNTQxIDg0LjAwODUgMjE1LjU2NyA4My43NDY3IDIxNS41NjcgODMuNDM4NkMyMTUuNTY3IDgzLjEyNTQgMjE1LjUzMSA4Mi44ODQgMjE1LjQ1OSA4Mi43MTQ2QzIxNS4zODcgODIuNTQgMjE1LjI2NiA4Mi40MTE3IDIxNS4wOTcgODIuMzI5NUMyMTQuOTI3IDgyLjI0MjIgMjE0LjcwMiA4Mi4xNzggMjE0LjQxOSA4Mi4xMzdDMjE0LjE0MiA4Mi4wOTU5IDIxMy43ODggODIuMDM5NCAyMTMuMzU2IDgxLjk2NzVDMjEyLjkyNSA4MS44OTA1IDIxMi41MyA4MS44MDU4IDIxMi4xNyA4MS43MTM0QzIxMS44MTEgODEuNjIwOSAyMTEuNTA1IDgxLjQ4NzQgMjExLjI1NCA4MS4zMTI5QzIxMC43MiA4MC45MzggMjEwLjQ2MyA4MC4zMDY1IDIxMC40ODMgNzkuNDE4MlY3OS4yMjU2QzIxMC40ODMgNzguMjkxMiAyMTAuNzkyIDc3LjYyNjIgMjExLjQwOCA3Ny4yMzA5QzIxMi4wMDMgNzYuODQwNiAyMTIuOTg3IDc2LjcwNzEgMjE0LjM1OCA3Ni44MzA0QzIxNS4yOTIgNzYuOTE3NiAyMTYuMDM3IDc3LjA3OTQgMjE2LjU5MSA3Ny4zMTU2TDIxNi4yMjkgNzguNDc4NkMyMTUuNjEzIDc4LjIxNjcgMjE0Ljg3NCA3OC4wMjY3IDIxNC4wMTEgNzcuOTA4NkMyMTMuNzQ0IDc3Ljg3MjcgMjEzLjQ5MiA3Ny44NTQ3IDIxMy4yNTYgNzcuODU0N0MyMTMuMDI1IDc3Ljg1NDcgMjEyLjgxNSA3Ny44NzI3IDIxMi42MjUgNzcuOTA4NkMyMTIuNDM1IDc3Ljk0NDYgMjEyLjI3NSA3OC4wMTEzIDIxMi4xNDcgNzguMTA4OUMyMTEuOTAxIDc4LjMwOTEgMjExLjc3MiA3OC42ODE0IDIxMS43NjIgNzkuMjI1NkMyMTEuNzQ3IDc5Ljg2NzUgMjExLjkyNiA4MC4yNzU3IDIxMi4zMDEgODAuNDUwM0MyMTIuNjYxIDgwLjYxOTcgMjEzLjA4NyA4MC43Mzc4IDIxMy41OCA4MC44MDQ1QzIxNC4wNzMgODAuODY2MiAyMTQuNDc2IDgwLjkyMjYgMjE0Ljc4OSA4MC45NzRDMjE1LjEwMiA4MS4wMjAyIDIxNS4zODcgODEuMDg0NCAyMTUuNjQ0IDgxLjE2NjVDMjE1LjkgODEuMjQ4NyAyMTYuMTIxIDgxLjM3OTYgMjE2LjMwNiA4MS41NTkzQzIxNi42OTEgODEuOTIzOSAyMTYuODc5IDgyLjU1OCAyMTYuODY4IDgzLjQ2MTdDMjE2Ljg0MyA4NS4wMzggMjE2LjE4NSA4NS45MzY2IDIxNC44OTcgODYuMTU3NEMyMTQuNTA2IDg2LjIyNDEgMjE0LjExNiA4Ni4yNTc1IDIxMy43MjYgODYuMjU3NUMyMTMuMzM2IDg2LjI1NzUgMjEyLjk3NiA4Ni4yMzE4IDIxMi42NDggODYuMTgwNUMyMTIuMzI0IDg2LjEzNDMgMjEyLjAxNCA4Ni4wNjc1IDIxMS43MTYgODUuOTgwMkMyMTEuMTUxIDg1LjgyMSAyMTAuNjQgODUuNjEwNSAyMTAuMTgzIDg1LjM0ODdMMjEwLjczOCA4NC4yODU4WiIgZmlsbD0iIzJBM0Y1RiIvPgo8cGF0aCBkPSJNMjI1Ljc3OSA4NS4yMjU0QzIyNC43OTkgODUuOTEzNSAyMjMuNzYyIDg2LjI1NzUgMjIyLjY2OCA4Ni4yNTc1QzIyMS4zODkgODYuMjU3NSAyMjAuNTM3IDg1LjgwMzEgMjIwLjExMSA4NC44OTQyQzIxOS44NjQgODQuMzgwOCAyMTkuNzIxIDgzLjczMTMgMjE5LjY4IDgyLjk0NTdDMjE5LjY2NCA4Mi41ODYyIDIxOS42NTYgODIuMTkwOSAyMTkuNjU2IDgxLjc1OTZDMjE5LjY1NiA4MS4zMjMxIDIxOS42NTkgODAuODg0MSAyMTkuNjY0IDgwLjQ0MjVDMjE5LjY3NCA4MC4wMDEgMjE5LjcwOCA3OS41OTI4IDIxOS43NjQgNzkuMjE3OUMyMTkuODIxIDc4Ljg0MzEgMjE5LjkwOCA3OC41MDY4IDIyMC4wMjYgNzguMjA5QzIyMC4xNDkgNzcuOTA2MSAyMjAuMzI0IDc3LjY0OTMgMjIwLjU1IDc3LjQzODhDMjIxLjAxNyA3Ny4wMDI0IDIyMS43MzYgNzYuNzg0MSAyMjIuNzA2IDc2Ljc4NDFDMjIzLjY4MiA3Ni43ODQxIDIyNC43MTkgNzcuMDQ2IDIyNS44MTggNzcuNTY5N0wyMjUuOTQxIDc2LjkzODJIMjI3LjA1TDIyNy4wNTggODkuNjA3OEgyMjUuNzc5Vjg1LjIyNTRaTTIyNS43NzkgNzguNjMyNkMyMjQuODU1IDc4LjE3MDUgMjIzLjk2MiA3Ny45Mzk0IDIyMy4wOTkgNzcuOTM5NEMyMjIuNDczIDc3LjkzOTQgMjIyLjA1OSA3Ny45OTA4IDIyMS44NTkgNzguMDkzNUMyMjEuNjU5IDc4LjE5NjIgMjIxLjUwNSA3OC4zMjk3IDIyMS4zOTcgNzguNDk0QzIyMS4yOTQgNzguNjU4MyAyMjEuMjEgNzguODg0MiAyMjEuMTQzIDc5LjE3MTdDMjIxLjAyNSA3OS43MTA5IDIyMC45NjYgODAuNTk5MiAyMjAuOTY2IDgxLjgzNjZWODIuMDA2QzIyMC45NjYgODMuMTQ1OSAyMjEuMTA3IDgzLjk0NDMgMjIxLjM4OSA4NC40MDEzQzIyMS42NzIgODQuODY4NiAyMjIuMTg4IDg1LjEwMjIgMjIyLjkzNyA4NS4xMDIySDIyMy4wNTNDMjIzLjc2MiA4NS4xMDIyIDIyNC40ODYgODQuOTA3MSAyMjUuMjI1IDg0LjUxNjlDMjI1LjQzNSA4NC40MDkgMjI1LjYyIDg0LjI5ODYgMjI1Ljc3OSA4NC4xODU3Vjc4LjYzMjZaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yMzAuNzAxIDczLjAxMDJMMjMxLjk3MiA3Mi45MDI0Vjg2LjEwMzRIMjMwLjcxNkwyMzAuNzAxIDczLjAxMDJaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yMzYuNjA4IDc0Ljc0MzFDMjM2LjI2NCA3NC43NDMxIDIzNi4wNDQgNzQuNjk0NCAyMzUuOTQ2IDc0LjU5NjhDMjM1Ljc5MiA3NC40Mzc2IDIzNS43MTUgNzQuMjE5NCAyMzUuNzE1IDczLjk0MjFDMjM1LjcxNSA3My42NTk3IDIzNS43MyA3My40NTk1IDIzNS43NjEgNzMuMzQxNEMyMzUuNzk3IDczLjIxODIgMjM1Ljg0OCA3My4xMjMyIDIzNS45MTUgNzMuMDU2NEMyMzYuMDM4IDcyLjkzMzIgMjM2LjIyNiA3Mi44NzE2IDIzNi40NzcgNzIuODcxNkMyMzYuNzM0IDcyLjg3MTYgMjM2LjkxNiA3Mi44ODQ0IDIzNy4wMjQgNzIuOTEwMUMyMzcuMTM3IDcyLjkzNTggMjM3LjIzIDcyLjk4NDUgMjM3LjMwMSA3My4wNTY0QzIzNy40MjUgNzMuMTc5NyAyMzcuNDg2IDczLjM4MjUgMjM3LjQ4NiA3My42NjQ5QzIzNy40ODYgNzMuOTQyMSAyMzcuNDcxIDc0LjE0MjQgMjM3LjQ0IDc0LjI2NTZDMjM3LjQxNCA3NC4zODM3IDIzNy4zNjggNzQuNDc4NyAyMzcuMzAxIDc0LjU1MDZDMjM3LjE3MyA3NC42NzkgMjM2Ljk0MiA3NC43NDMxIDIzNi42MDggNzQuNzQzMVpNMjM1Ljk4NCA3Ni45MzgySDIzNy4yNDhWODYuMTAzNEgyMzZMMjM1Ljk4NCA3Ni45MzgyWiIgZmlsbD0iIzJBM0Y1RiIvPgo8cGF0aCBkPSJNMjQ1LjQ3MyA4NS42NjQ0QzI0NC42MzYgODYuMDU5OCAyNDMuODY0IDg2LjI1NzUgMjQzLjE1NSA4Ni4yNTc1QzI0MS44NzEgODYuMjU3NSAyNDEuMTQyIDg1LjcwODEgMjQwLjk2OCA4NC42MDkzQzI0MC45MjcgODQuMzQ3NCAyNDAuOTA2IDgzLjk2NzUgMjQwLjkwNiA4My40Njk0Vjc4LjAwODdIMjM5Ljc5N1Y3Ny4wNjE0TDI0MC45MDYgNzYuOTM4MkwyNDEuMTA2IDc0Ljg0MzNIMjQyLjE3N1Y3Ni45MzgySDI0NC44NDlWNzguMDA4N0gyNDIuMTc3VjgzLjQ0NjNDMjQyLjE3NyA4NC4wNzc4IDI0Mi4yMjMgODQuNDgwOSAyNDIuMzE1IDg0LjY1NTVDMjQyLjQ4NSA4NC45NzM4IDI0Mi44MjQgODUuMTMzIDI0My4zMzIgODUuMTMzQzI0My44NCA4NS4xMzMgMjQ0LjQwOCA4NC45NzY0IDI0NS4wMzQgODQuNjYzMkwyNDUuNDczIDg1LjY2NDRaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yNTQuNzE1IDg1LjYxODJDMjUzLjY1MyA4Ni4wNDQ0IDI1Mi40NzkgODYuMjU3NSAyNTEuMTk2IDg2LjI1NzVDMjUwLjQ1MSA4Ni4yNTc1IDI0OS44MiA4Ni4xODA1IDI0OS4zMDEgODYuMDI2NEMyNDguNDc0IDg1Ljc5MDIgMjQ3LjkyNSA4NS4zMDI0IDI0Ny42NTMgODQuNTYzMUMyNDcuNDAxIDgzLjg2OTkgMjQ3LjI3NSA4Mi44NDMgMjQ3LjI3NSA4MS40ODIzVjgxLjA4OTVDMjQ3LjI3NSA3OS40NjE4IDI0Ny42MTQgNzguMzE5NCAyNDguMjkyIDc3LjY2MjJDMjQ4LjkwMyA3Ny4wNzY4IDI0OS45MjIgNzYuNzg0MSAyNTEuMzUgNzYuNzg0MUMyNTIuNzQxIDc2Ljc4NDEgMjUzLjY5MSA3Ny4xMjgyIDI1NC4xOTkgNzcuODE2MkMyNTQuNDQ2IDc4LjE0OTkgMjU0LjYwOCA3OC41NTU2IDI1NC42ODUgNzkuMDMzMUMyNTQuNzY3IDc5LjUwNTUgMjU0LjgwOCA3OS45NTczIDI1NC44MDggODAuMzg4NkMyNTQuODA4IDgxLjA2MTMgMjU0Ljc5MyA4MS41ODI0IDI1NC43NjIgODEuOTUyMUMyNTQuMDM4IDgxLjk4MjkgMjUzLjM4OCA4MS45OTgzIDI1Mi44MTMgODEuOTk4M0MyNTIuODEzIDgxLjk5ODMgMjUyLjQgODEuOTk4MyAyNTEuNTczIDgxLjk5ODNDMjUwLjI3OSA4MS45OTgzIDI0OS4yODMgODEuOTQxOSAyNDguNTg1IDgxLjgyODlDMjQ4LjU4NSA4My4wMDk4IDI0OC43MzQgODMuODM0IDI0OS4wMzEgODQuMzAxMkMyNDkuMzk2IDg0Ljg3MTEgMjUwLjEyMyA4NS4xNTYxIDI1MS4yMTEgODUuMTU2MUMyNTIuMyA4NS4xNTYxIDI1My4zNDIgODQuOTQzIDI1NC4zMzggODQuNTE2OUwyNTQuNzE1IDg1LjYxODJaTTI1My41MDYgODAuOTI3OFY4MC4xODg0QzI1My41MDYgNzkuMzgyMyAyNTMuMzUgNzguODA3MiAyNTMuMDM2IDc4LjQ2MzJDMjUyLjY4NyA3OC4wNzgxIDI1Mi4wODQgNzcuODg1NSAyNTEuMjI3IDc3Ljg4NTVDMjUwLjIgNzcuODg1NSAyNDkuNDk5IDc4LjEwODkgMjQ5LjEyNCA3OC41NTU2QzI0OC43NjQgNzguOTgxOCAyNDguNTg1IDc5Ljc3MjUgMjQ4LjU4NSA4MC45Mjc4SDI1My41MDZaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yNTYuOTU3IDc2LjkzODJIMjU4LjMzNUwyNjAuNzM4IDg0LjQxNjdMMjYwLjk2OSA4NS4xNzkyTDI2MS4xODUgODQuNDE2N0wyNjMuNDggNzYuOTM4MkgyNjQuODc0TDI2MS43NzggODYuMTAzNEgyNjAuMDk5TDI1Ni45NTcgNzYuOTM4MloiIGZpbGw9IiMyQTNGNUYiLz4KPHBhdGggZD0iTTI2OC4xNTUgNzQuNzQzMUMyNjcuODExIDc0Ljc0MzEgMjY3LjU5IDc0LjY5NDQgMjY3LjQ5MyA3NC41OTY4QzI2Ny4zMzkgNzQuNDM3NiAyNjcuMjYyIDc0LjIxOTQgMjY3LjI2MiA3My45NDIxQzI2Ny4yNjIgNzMuNjU5NyAyNjcuMjc3IDczLjQ1OTUgMjY3LjMwOCA3My4zNDE0QzI2Ny4zNDQgNzMuMjE4MiAyNjcuMzk1IDczLjEyMzIgMjY3LjQ2MiA3My4wNTY0QzI2Ny41ODUgNzIuOTMzMiAyNjcuNzczIDcyLjg3MTYgMjY4LjAyNCA3Mi44NzE2QzI2OC4yODEgNzIuODcxNiAyNjguNDYzIDcyLjg4NDQgMjY4LjU3MSA3Mi45MTAxQzI2OC42ODQgNzIuOTM1OCAyNjguNzc3IDcyLjk4NDUgMjY4Ljg0OCA3My4wNTY0QzI2OC45NzIgNzMuMTc5NyAyNjkuMDMzIDczLjM4MjUgMjY5LjAzMyA3My42NjQ5QzI2OS4wMzMgNzMuOTQyMSAyNjkuMDE4IDc0LjE0MjQgMjY4Ljk4NyA3NC4yNjU2QzI2OC45NjEgNzQuMzgzNyAyNjguOTE1IDc0LjQ3ODcgMjY4Ljg0OCA3NC41NTA2QzI2OC43MiA3NC42NzkgMjY4LjQ4OSA3NC43NDMxIDI2OC4xNTUgNzQuNzQzMVpNMjY3LjUzMSA3Ni45MzgySDI2OC43OTVWODYuMTAzNEgyNjcuNTQ3TDI2Ny41MzEgNzYuOTM4MloiIGZpbGw9IiMyQTNGNUYiLz4KPHBhdGggZD0iTTI3MS42MDYgODUuMjMzMUwyNzYuMjk2IDc4LjAwMUgyNzEuNTA2Vjc2LjkzODJIMjc3Ljg1MlY3Ny44MDg1TDI3My4xNzcgODUuMDMyOUgyNzguMDQ1Vjg2LjEwMzRIMjcxLjYwNlY4NS4yMzMxWiIgZmlsbD0iIzJBM0Y1RiIvPgo8cGF0aCBkPSJNMjA0LjE3IDE2LjQ4MUMyMDQuMTcgMTQuMjczOSAyMDUuOTU5IDEyLjQ4NDYgMjA4LjE2NiAxMi40ODQ2SDMzNi4wNUMzMzguMjU3IDEyLjQ4NDYgMzQwLjA0NiAxNC4yNzM5IDM0MC4wNDYgMTYuNDgxVjE2LjQ4MUMzNDAuMDQ2IDE4LjY4ODEgMzM4LjI1NyAyMC40NzczIDMzNi4wNSAyMC40NzczSDIwOC4xNjZDMjA1Ljk1OSAyMC40NzczIDIwNC4xNyAxOC42ODgxIDIwNC4xNyAxNi40ODFWMTYuNDgxWiIgZmlsbD0iI0YzRjZGQSIvPgo8cGF0aCBkPSJNMTY1LjIwNSAxNi40ODA4QzE2NS4yMDUgMTkuMjM5NyAxNjIuOTY5IDIxLjQ3NjMgMTYwLjIxIDIxLjQ3NjNDMTU3LjQ1MSAyMS40NzYzIDE1NS4yMTQgMTkuMjM5NyAxNTUuMjE0IDE2LjQ4MDhDMTU1LjIxNCAxMy43MjE5IDE1Ny40NTEgMTEuNDg1NCAxNjAuMjEgMTEuNDg1NEMxNjIuOTY5IDExLjQ4NTQgMTY1LjIwNSAxMy43MjE5IDE2NS4yMDUgMTYuNDgwOFoiIGZpbGw9IiNDOEQ0RTMiLz4KPHBhdGggZD0iTTE4MS4xOTEgMTYuNDgwOEMxODEuMTkxIDE5LjIzOTcgMTc4Ljk1NCAyMS40NzYzIDE3Ni4xOTUgMjEuNDc2M0MxNzMuNDM2IDIxLjQ3NjMgMTcxLjIgMTkuMjM5NyAxNzEuMiAxNi40ODA4QzE3MS4yIDEzLjcyMTkgMTczLjQzNiAxMS40ODU0IDE3Ni4xOTUgMTEuNDg1NEMxNzguOTU0IDExLjQ4NTQgMTgxLjE5MSAxMy43MjE5IDE4MS4xOTEgMTYuNDgwOFoiIGZpbGw9IiNDOEQ0RTMiLz4KPHBhdGggZD0iTTE5Ny4xNzYgMTYuNDgwOEMxOTcuMTc2IDE5LjIzOTcgMTk0Ljk0IDIxLjQ3NjMgMTkyLjE4MSAyMS40NzYzQzE4OS40MjIgMjEuNDc2MyAxODcuMTg2IDE5LjIzOTcgMTg3LjE4NiAxNi40ODA4QzE4Ny4xODYgMTMuNzIxOSAxODkuNDIyIDExLjQ4NTQgMTkyLjE4MSAxMS40ODU0QzE5NC45NCAxMS40ODU0IDE5Ny4xNzYgMTMuNzIxOSAxOTcuMTc2IDE2LjQ4MDhaIiBmaWxsPSIjQzhENEUzIi8+CjxwYXRoIGQ9Ik0xNzQuMDk5IC0wLjc0MTUzNUMxNzQuMjgzIC0wLjkwOTg0MyAxNzQuNTI0IC0xLjAwMzE3IDE3NC43NzMgLTEuMDAzMTdIMzE4LjQ5QzMxOC43MzkgLTEuMDAzMTcgMzE4Ljk4IC0wLjkwOTg0MyAzMTkuMTY0IC0wLjc0MTUzM1YtMC43NDE1MzNDMzE5LjgzNyAtMC4xMjYzMTYgMzE5LjQwMiAwLjk5NTAwOCAzMTguNDkgMC45OTUwMDhIMTc0Ljc3M0MxNzMuODYxIDAuOTk1MDA4IDE3My40MjYgLTAuMTI2MzE5IDE3NC4wOTkgLTAuNzQxNTM1Vi0wLjc0MTUzNVoiIGZpbGw9IiM1MDY3ODQiLz4KPHBhdGggZD0iTTM0Ljg3NSAxMTkuNzM1TDQyLjU0NjUgMTI2LjEzNkwzMC4zODU1IDE0MC43MTJMMjIuNzE0IDEzNC4zMTFMMzQuODc1IDExOS43MzVaIiBmaWxsPSIjRjNDNkJGIi8+CjxwYXRoIGQ9Ik0yNy4wOTcyIDEyOS4yNTdMMzQuNzY4NyAxMzUuNjU3QzM0Ljc2ODcgMTM1LjY1NyAzOC44MDggMTQxLjExMiAzOS4zMDM0IDE0Ni41OTdDMzkuNDk0MSAxNDguNzA4IDM3LjA2MzMgMTQ5LjI4MiAzNy4wNjMzIDE0OS4yODJMMjEuMzM2NyAxMzYuMTYxTDI3LjA5NzIgMTI5LjI1N1oiIGZpbGw9IiM1MDY3ODQiLz4KPHBhdGggZD0iTTUyLjg5MjEgMzIuODE0NUw5Mi4yNzE4IDY0LjI4NThDMTA0Ljg3NCA5Ni4yOTIzIDM4LjMyMDkgMTMzLjcyMyAzOC4zMjA5IDEzMy43MjNMMjcuODU1NiAxMjYuMDU4QzI3Ljg1NTYgMTI2LjA1OCAzOS42ODg4IDEwOC41MjYgNTAuODA5NSA4MS43Njk5QzU2LjgzMDEgNjcuMjg0MyA1NC41NzMxIDQ4LjE0ODggNTIuODkyMSAzMi44MTQ1WiIgZmlsbD0iIzBENzZCRiIvPgo8cGF0aCBkPSJNMTAzLjI2MiAxMzAuNzI2SDExMy4yNTNWMTQ5LjcwOEgxMDMuMjYyVjEzMC43MjZaIiBmaWxsPSIjRjNDNkJGIi8+CjxwYXRoIGQ9Ik01NC4zMDY3IDQyLjMwNTlDNTAuODEwMSAzNS44MTE4IDQ4LjgxMTcgMzEuMzE1OSA0OS43NzM5IDE3LjgyODFIMTE1LjAxMUMxMjEuMjQ2IDI4LjMxODYgMTI1LjI0MiA1NC4yOTQ5IDEyNS4yNDIgNzUuNzc1NEMxMjUuMjQyIDk3LjI1NTkgMTIyLjI0NSAxMTYuMjM5IDExNS4wMTEgMTQxLjIxNkgxMDAuNzY0QzEwMC43NjQgMTQxLjIxNiA5NC43NzAxIDEwMS4yNTIgOTIuMjcyMyA4Mi43NjlDOTAuOTY3OSA3My4xMTYgNTcuMDE5NyA0Ny4zNDQ1IDU0LjMwNjcgNDIuMzA1OVoiIGZpbGw9IiMxMTlERkYiLz4KPHBhdGggZD0iTTEwMy4yNjIgMTQ0LjQyNkgxMTMuMjUzQzExMy4yNTMgMTQ0LjQyNiAxMTkuODQ5IDE0Ni4wMjcgMTIzLjc0NCAxNDkuOTIxQzEyNS4yNDIgMTUxLjQyIDEyMy43NDQgMTUzLjQxOCAxMjMuNzQ0IDE1My40MThIMTAzLjI2MlYxNDQuNDI2WiIgZmlsbD0iIzUwNjc4NCIvPgo8L2c+Cjwvc3ZnPgo="},"6d26":function(e,t,i){},"72c0":function(e,t,i){"use strict";var a=i("7db5"),n=i.n(a);n.a},7314:function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuOTk5ODQgMTYuNjY2N0M2LjMyNDg0IDE2LjY2NjcgMy4zMzMxNyAxMy42NzUgMy4zMzMxNyAxMEMzLjMzMzE3IDYuMzI1MDIgNi4zMjQ4NCAzLjMzMzM1IDkuOTk5ODQgMy4zMzMzNUMxMy42NzQ4IDMuMzMzMzUgMTYuNjY2NSA2LjMyNTAyIDE2LjY2NjUgMTBDMTYuNjY2NSAxMy42NzUgMTMuNjc0OCAxNi42NjY3IDkuOTk5ODQgMTYuNjY2N1pNOS45OTk4NCAxLjY2NjY5QzguOTA1NDkgMS42NjY2OSA3LjgyMTg2IDEuODgyMjQgNi44MTA4MSAyLjMwMTAyQzUuNzk5NzYgMi43MTk4MSA0Ljg4MTEgMy4zMzM2NCA0LjEwNzI4IDQuMTA3NDZDMi41NDQ0OCA1LjY3MDI3IDEuNjY2NSA3Ljc4OTg4IDEuNjY2NSAxMEMxLjY2NjUgMTIuMjEwMiAyLjU0NDQ4IDE0LjMyOTggNC4xMDcyOCAxNS44OTI2QzQuODgxMSAxNi42NjY0IDUuNzk5NzYgMTcuMjgwMiA2LjgxMDgxIDE3LjY5OUM3LjgyMTg2IDE4LjExNzggOC45MDU0OSAxOC4zMzM0IDkuOTk5ODQgMTguMzMzNEMxMi4yMSAxOC4zMzM0IDE0LjMyOTYgMTcuNDU1NCAxNS44OTI0IDE1Ljg5MjZDMTcuNDU1MiAxNC4zMjk4IDE4LjMzMzIgMTIuMjEwMiAxOC4zMzMyIDEwQzE4LjMzMzIgOC45MDU2NyAxOC4xMTc2IDcuODIyMDQgMTcuNjk4OCA2LjgxMDk5QzE3LjI4IDUuNzk5OTUgMTYuNjY2MiA0Ljg4MTI5IDE1Ljg5MjQgNC4xMDc0NkMxNS4xMTg2IDMuMzMzNjQgMTQuMTk5OSAyLjcxOTgxIDEzLjE4ODkgMi4zMDEwMkMxMi4xNzc4IDEuODgyMjQgMTEuMDk0MiAxLjY2NjY5IDkuOTk5ODQgMS42NjY2OVoiIGZpbGw9IiNFRjU1M0IiLz4KPHJlY3QgeD0iNi4zNjc2OCIgeT0iNy41NDg1NSIgd2lkdGg9IjEuNjciIGhlaWdodD0iOC42MDM2MyIgdHJhbnNmb3JtPSJyb3RhdGUoLTQ1IDYuMzY3NjggNy41NDg1NSkiIGZpbGw9IiNFRjU1M0IiLz4KPHJlY3QgeD0iMTIuNDUxNyIgeT0iNi4zNjc3MSIgd2lkdGg9IjEuNjciIGhlaWdodD0iOC42MDM2MyIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgMTIuNDUxNyA2LjM2NzcxKSIgZmlsbD0iI0VGNTUzQiIvPgo8L3N2Zz4K"},7432:function(e,t,i){},7492:function(e,t,i){},"7a18":function(e,t,i){},"7bcd":function(e,t,i){},"7cf8":function(e,t,i){"use strict";var a=i("bbb1"),n=i.n(a);n.a},"7db5":function(e,t,i){},"7e41":function(e,t,i){"use strict";var a=i("b5b8"),n=i.n(a);n.a},"7fb6":function(e,t,i){},"7ff0":function(e,t,i){"use strict";var a=i("84e4"),n=i.n(a);n.a},8312:function(e,t,i){"use strict";var a=i("6681"),n=i.n(a);n.a},"83e3":function(e,t,i){},"84e4":function(e,t,i){},"85ec":function(e,t,i){},"87d4":function(e,t,i){e.exports=i.p+"img/file.f5540c43.png"},8913:function(e,t,i){},"8c0b":function(e,t,i){},"8fcc":function(e,t,i){},9224:function(e){e.exports=JSON.parse('{"name":"sqliteviz","version":"0.14.0","license":"Apache-2.0","private":true,"scripts":{"serve":"vue-cli-service serve","build":"NODE_OPTIONS=--max_old_space_size=4096 vue-cli-service build","test":"vue-cli-service karma","lint":"vue-cli-service lint"},"dependencies":{"codemirror":"^5.57.0","core-js":"^3.6.5","nanoid":"^3.1.12","papaparse":"^5.3.1","plotly.js":"^1.58.4","promise-worker":"^2.0.1","react":"^16.13.1","react-chart-editor":"^0.45.0","react-dom":"^16.13.1","sql.js":"file:./lib/sql-js","sqlite-parser":"^1.0.1","vue":"^2.6.11","vue-codemirror":"^4.0.6","vue-js-modal":"^2.0.0-rc.6","vue-router":"^3.2.0","vuejs-paginate":"^2.1.0","vuera":"^0.2.7","vuex":"^3.4.0"},"devDependencies":{"@vue/cli-plugin-babel":"^4.4.0","@vue/cli-plugin-eslint":"^4.4.0","@vue/cli-plugin-router":"^4.4.0","@vue/cli-plugin-vuex":"^4.4.0","@vue/cli-service":"^4.4.0","@vue/eslint-config-standard":"^5.1.2","@vue/test-utils":"^1.1.2","babel-eslint":"^10.1.0","chai":"^4.1.2","chai-as-promised":"^7.1.1","eslint":"^6.7.2","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.0","eslint-plugin-vue":"^6.2.2","karma":"^3.1.4","karma-firefox-launcher":"^2.1.0","karma-webpack":"^4.0.2","vue-cli-plugin-ui-karma":"^0.2.5","vue-template-compiler":"^2.6.11","workbox-webpack-plugin":"^6.1.5","worker-loader":"^3.0.8"}}')},"93dd":function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgcng9IjIuNSIgZmlsbD0iIzExOURGRiIgc3Ryb2tlPSIjMEQ3NkJGIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2QpIj4KPHBhdGggZD0iTTE1Ljc1IDUuMjVMNi43NSAxNC4yNUwyLjYyNSAxMC4xMjVMMy42ODI1IDkuMDY3NUw2Ljc1IDEyLjEyNzVMMTQuNjkyNSA0LjE5MjVMMTUuNzUgNS4yNVoiIGZpbGw9IndoaXRlIi8+CjwvZz4KPGRlZnM+CjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZCIgeD0iMC42MjUiIHk9IjMuMTkyNSIgd2lkdGg9IjE3LjEyNSIgaGVpZ2h0PSIxNC4wNTc1IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+CjxmZU9mZnNldCBkeT0iMSIvPgo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxIi8+CjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAuMTY0NzA2IDAgMCAwIDAgMC4yNDcwNTkgMCAwIDAgMCAwLjM3MjU0OSAwIDAgMCAwLjcgMCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvdyIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8L3N2Zz4K"},"97b1":function(e,t,i){"use strict";var a=i("18a5"),n=i.n(a);n.a},"9bf4":function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTE0IiBoZWlnaHQ9IjkwIiB2aWV3Qm94PSIwIDAgMTE0IDkwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNOTYuMzgyOCAxLjkzODk1QzkxLjQyNDQgMC4wOTI4MTQgODYuNjAyMiA1LjYyNTA1IDg1Ljg1OCAxMC42ODE2TDk3LjI4NTEgMTUuNTQ5QzEwMC4xOTQgMTAuNTg1NiAxMDEuMzQxIDMuNzg1MDggOTYuMzgyOCAxLjkzODk1WiIgZmlsbD0iI0YzQzZCRiIvPgo8cGF0aCBkPSJNODQuOTc3NSA5LjEyNDEzQzc1LjA2NTMgMzUuMjAzNSAzMC43MTc5IDQ2LjczNTkgMjEuNDEwNiAzNy43MjY1TDE0LjUzNTkgNzkuNDg1N0M2Ny43NjA3IDg2LjQ5MTIgOTEuOTI2NCA1NS40MTExIDk5LjA5NzMgMTQuNzEzOEw4NC45Nzc1IDkuMTI0MTNaIiBmaWxsPSIjQTJCMUM2Ii8+Cjwvc3ZnPgo="},a1f0:function(e,t,i){"use strict";var a=i("5ca7"),n=i.n(a);n.a},a303:function(e,t,i){},a59c:function(e,t,i){},a96d:function(e,t,i){"use strict";var a=i("3a01"),n=i.n(a);n.a},b288:function(e,t,i){},b5b8:function(e,t,i){},b780:function(e,t,i){},b78a:function(e,t,i){"use strict";var a=i("07de"),n=i.n(a);n.a},bbb1:function(e,t,i){},bebb:function(e,t,i){},bebf:function(e,t,i){},c10c:function(e,t,i){},c603:function(e,t,i){"use strict";var a=i("e360"),n=i.n(a);n.a},c605:function(e,t,i){"use strict";var a=i("bebb"),n=i.n(a);n.a},cc8d:function(e,t,i){"use strict";var a=i("5f5e"),n=i.n(a);n.a},cd51:function(e,t,i){"use strict";var a=i("492c"),n=i.n(a);n.a},d08f:function(e,t,i){"use strict";var a=i("37c0"),n=i.n(a);n.a},d763:function(e,t,i){"use strict";var a=i("046f"),n=i.n(a);n.a},d9ad:function(e,t,i){"use strict";var a=i("a303"),n=i.n(a);n.a},daef:function(e,t,i){"use strict";var a=i("547f"),n=i.n(a);n.a},db39:function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExIDlIMTNWN0gxMVY5Wk0xMiAyMEM3LjU5IDIwIDQgMTYuNDEgNCAxMkM0IDcuNTkgNy41OSA0IDEyIDRDMTYuNDEgNCAyMCA3LjU5IDIwIDEyQzIwIDE2LjQxIDE2LjQxIDIwIDEyIDIwWk0xMiAyQzEwLjY4NjggMiA5LjM4NjQyIDIuMjU4NjYgOC4xNzMxNyAyLjc2MTJDNi45NTk5MSAzLjI2Mzc1IDUuODU3NTIgNC4wMDAzNSA0LjkyODkzIDQuOTI4OTNDMy4wNTM1NyA2LjgwNDMgMiA5LjM0Nzg0IDIgMTJDMiAxNC42NTIyIDMuMDUzNTcgMTcuMTk1NyA0LjkyODkzIDE5LjA3MTFDNS44NTc1MiAxOS45OTk3IDYuOTU5OTEgMjAuNzM2MiA4LjE3MzE3IDIxLjIzODhDOS4zODY0MiAyMS43NDEzIDEwLjY4NjggMjIgMTIgMjJDMTQuNjUyMiAyMiAxNy4xOTU3IDIwLjk0NjQgMTkuMDcxMSAxOS4wNzExQzIwLjk0NjQgMTcuMTk1NyAyMiAxNC42NTIyIDIyIDEyQzIyIDEwLjY4NjggMjEuNzQxMyA5LjM4NjQyIDIxLjIzODggOC4xNzMxN0MyMC43MzYyIDYuOTU5OTEgMTkuOTk5NyA1Ljg1NzUyIDE5LjA3MTEgNC45Mjg5M0MxOC4xNDI1IDQuMDAwMzUgMTcuMDQwMSAzLjI2Mzc1IDE1LjgyNjggMi43NjEyQzE0LjYxMzYgMi4yNTg2NiAxMy4zMTMyIDIgMTIgMlYyWk0xMSAxN0gxM1YxMUgxMVYxN1oiIGZpbGw9IiNBMkIxQzYiLz4KPC9zdmc+Cg=="},e360:function(e,t,i){},e3c0:function(e,t,i){},e4db:function(e,t,i){"use strict";var a=i("7492"),n=i.n(a);n.a},e506:function(e,t,i){},edb5:function(e,t,i){"use strict";var a=i("83e3"),n=i.n(a);n.a},f4da:function(e,t,i){"use strict";var a=i("8913"),n=i.n(a);n.a},f7a6:function(e,t,i){"use strict";var a=i("0720"),n=i.n(a);n.a}}); +//# sourceMappingURL=app.42b58cb4.js.map \ No newline at end of file diff --git a/js/app.42b58cb4.js.map b/js/app.42b58cb4.js.map new file mode 100644 index 0000000..9aa888c --- /dev/null +++ b/js/app.42b58cb4.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?9b05","webpack:///./src/components/Logs.vue?0fc7","webpack:///./src/views/Main/AppDiagnosticInfo.vue?68e8","webpack:///./src/assets/images/success.svg","webpack:///./src/assets/images/chevron.svg","webpack:///./src/assets/images/body.svg","webpack:///./src/views/Main/Editor/Schema/TableDescription.vue?1b12","webpack:///./src/views/Main/Editor/Schema/index.vue?bbc9","webpack:///./src/assets/images/rightArm.svg","webpack:///./src/components/CsvImport/DelimiterSelector/index.vue?99f2","webpack:///./src/views/Main/Editor/Tabs/index.vue?218b","webpack:///./src/components/svg/treeChevron.vue?b6ad","webpack:///./src/assets/images/top.svg","webpack:///./src/assets/images/checkbox_checked_disabled.svg","webpack:///./src/views/Welcome.vue?ce1c","webpack:///./src/components/svg/dropDownChevron.vue?d4f2","webpack:///./src/components/svg/changeDb.vue?8c68","webpack:///./src/components/svg/addTable.vue?0921","webpack:///./src/views/Main/Editor/Tabs/Tab/SqlEditor/index.vue?bcf3","webpack:///./src/App.vue?a0da","webpack:///./src/App.vue","webpack:///./src/views/Main/Editor/index.vue?b4e2","webpack:///./src/components/Splitpanes/index.vue?f849","webpack:///./src/components/Splitpanes/splitter.js","webpack:///src/components/Splitpanes/index.vue","webpack:///./src/components/Splitpanes/index.vue?7002","webpack:///./src/components/Splitpanes/index.vue","webpack:///./src/views/Main/Editor/Schema/index.vue?6324","webpack:///./src/lib/utils/fileIo.js","webpack:///./src/views/Main/Editor/Schema/TableDescription.vue?3a09","webpack:///./src/components/svg/treeChevron.vue?942a","webpack:///src/components/svg/treeChevron.vue","webpack:///./src/components/svg/treeChevron.vue?1b38","webpack:///./src/components/svg/treeChevron.vue","webpack:///src/views/Main/Editor/Schema/TableDescription.vue","webpack:///./src/views/Main/Editor/Schema/TableDescription.vue?c1c8","webpack:///./src/views/Main/Editor/Schema/TableDescription.vue","webpack:///./src/components/TextField.vue?bbc9","webpack:///./src/components/svg/hint.vue?ce96","webpack:///./src/tooltipMixin.js","webpack:///src/components/svg/hint.vue","webpack:///./src/components/svg/hint.vue?7e42","webpack:///./src/components/svg/hint.vue","webpack:///src/components/TextField.vue","webpack:///./src/components/TextField.vue?2591","webpack:///./src/components/TextField.vue","webpack:///./src/components/DbUploader.vue?625d","webpack:///./src/components/svg/changeDb.vue?0712","webpack:///src/components/svg/changeDb.vue","webpack:///./src/components/svg/changeDb.vue?8a76","webpack:///./src/components/svg/changeDb.vue","webpack:///./src/lib/database/_statements.js","webpack:///./src/lib/database/_worker.js","webpack:///./src/lib/database/index.js","webpack:///./src/components/CsvImport/index.vue?f6a4","webpack:///./src/components/CsvImport/csv.js","webpack:///./src/components/svg/close.vue?76ff","webpack:///src/components/svg/close.vue","webpack:///./src/components/svg/close.vue?e99c","webpack:///./src/components/svg/close.vue","webpack:///./src/components/CsvImport/DelimiterSelector/index.vue?5f2f","webpack:///./src/components/CsvImport/DelimiterSelector/ascii.js","webpack:///./src/components/svg/dropDownChevron.vue?81e6","webpack:///src/components/svg/dropDownChevron.vue","webpack:///./src/components/svg/dropDownChevron.vue?82eb","webpack:///./src/components/svg/dropDownChevron.vue","webpack:///./src/components/svg/clear.vue?15ab","webpack:///src/components/svg/clear.vue","webpack:///./src/components/svg/clear.vue?295f","webpack:///./src/components/svg/clear.vue","webpack:///src/components/CsvImport/DelimiterSelector/index.vue","webpack:///./src/components/CsvImport/DelimiterSelector/index.vue?8465","webpack:///./src/components/CsvImport/DelimiterSelector/index.vue","webpack:///./src/components/CheckBox.vue?795d","webpack:///src/components/CheckBox.vue","webpack:///./src/components/CheckBox.vue?093c","webpack:///./src/components/CheckBox.vue","webpack:///./src/components/SqlTable/index.vue?75bf","webpack:///./src/components/SqlTable/Pager.vue?e3cb","webpack:///src/components/SqlTable/Pager.vue","webpack:///./src/components/SqlTable/Pager.vue?7612","webpack:///./src/components/SqlTable/Pager.vue","webpack:///src/components/SqlTable/index.vue","webpack:///./src/components/SqlTable/index.vue?c2e6","webpack:///./src/components/SqlTable/index.vue","webpack:///./src/components/Logs.vue?aa8c","webpack:///./src/components/LoadingIndicator.vue?d051","webpack:///src/components/LoadingIndicator.vue","webpack:///./src/components/LoadingIndicator.vue?19ce","webpack:///./src/components/LoadingIndicator.vue","webpack:///src/components/Logs.vue","webpack:///./src/components/Logs.vue?e94a","webpack:///./src/components/Logs.vue","webpack:///./src/lib/utils/time.js","webpack:///src/components/CsvImport/index.vue","webpack:///./src/components/CsvImport/index.vue?ee8f","webpack:///./src/components/CsvImport/index.vue","webpack:///src/components/DbUploader.vue","webpack:///./src/components/DbUploader.vue?1d2f","webpack:///./src/components/DbUploader.vue","webpack:///./src/components/svg/export.vue?6434","webpack:///src/components/svg/export.vue","webpack:///./src/components/svg/export.vue?fe2d","webpack:///./src/components/svg/export.vue","webpack:///./src/components/svg/addTable.vue?faef","webpack:///src/components/svg/addTable.vue","webpack:///./src/components/svg/addTable.vue?28ba","webpack:///./src/components/svg/addTable.vue","webpack:///src/views/Main/Editor/Schema/index.vue","webpack:///./src/views/Main/Editor/Schema/index.vue?d046","webpack:///./src/views/Main/Editor/Schema/index.vue","webpack:///./src/views/Main/Editor/Tabs/index.vue?5be3","webpack:///./src/views/Main/Editor/Tabs/Tab/index.vue?aae2","webpack:///./src/views/Main/Editor/Tabs/Tab/SqlEditor/index.vue?77cc","webpack:///./src/store/state.js","webpack:///./src/store/mutations.js","webpack:///./src/store/actions.js","webpack:///./src/store/index.js","webpack:///./src/views/Main/Editor/Tabs/Tab/SqlEditor/hint.js","webpack:///src/views/Main/Editor/Tabs/Tab/SqlEditor/index.vue","webpack:///./src/views/Main/Editor/Tabs/Tab/SqlEditor/index.vue?9327","webpack:///./src/views/Main/Editor/Tabs/Tab/SqlEditor/index.vue","webpack:///./src/views/Main/Editor/Tabs/Tab/ViewSwitcher.vue?331a","webpack:///src/views/Main/Editor/Tabs/Tab/ViewSwitcher.vue","webpack:///./src/views/Main/Editor/Tabs/Tab/ViewSwitcher.vue?7a18","webpack:///./src/views/Main/Editor/Tabs/Tab/ViewSwitcher.vue","webpack:///./src/views/Main/Editor/Tabs/Tab/Chart/index.vue?5e77","webpack:///./src/views/Main/Editor/Tabs/Tab/Chart/chartHelper.js","webpack:///src/views/Main/Editor/Tabs/Tab/Chart/index.vue","webpack:///./src/views/Main/Editor/Tabs/Tab/Chart/index.vue?811c","webpack:///./src/views/Main/Editor/Tabs/Tab/Chart/index.vue","webpack:///src/views/Main/Editor/Tabs/Tab/index.vue","webpack:///./src/views/Main/Editor/Tabs/Tab/index.vue?1a54","webpack:///./src/views/Main/Editor/Tabs/Tab/index.vue","webpack:///src/views/Main/Editor/Tabs/index.vue","webpack:///./src/views/Main/Editor/Tabs/index.vue?58ef","webpack:///./src/views/Main/Editor/Tabs/index.vue","webpack:///src/views/Main/Editor/index.vue","webpack:///./src/views/Main/Editor/index.vue?d8b5","webpack:///./src/views/Main/Editor/index.vue","webpack:///./src/views/Main/MyQueries/index.vue?6c85","webpack:///./src/views/Main/MyQueries/svg/rename.vue?fba4","webpack:///src/views/Main/MyQueries/svg/rename.vue","webpack:///./src/views/Main/MyQueries/svg/rename.vue?891f","webpack:///./src/views/Main/MyQueries/svg/rename.vue","webpack:///./src/views/Main/MyQueries/svg/copy.vue?69a8","webpack:///src/views/Main/MyQueries/svg/copy.vue","webpack:///./src/views/Main/MyQueries/svg/copy.vue?2261","webpack:///./src/views/Main/MyQueries/svg/copy.vue","webpack:///./src/views/Main/MyQueries/svg/delete.vue?aef6","webpack:///src/views/Main/MyQueries/svg/delete.vue","webpack:///./src/views/Main/MyQueries/svg/delete.vue?ad71","webpack:///./src/views/Main/MyQueries/svg/delete.vue","webpack:///./src/lib/storedQueries.js","webpack:///src/views/Main/MyQueries/index.vue","webpack:///./src/views/Main/MyQueries/index.vue?778e","webpack:///./src/views/Main/MyQueries/index.vue","webpack:///./src/views/Welcome.vue?f9f9","webpack:///src/views/Welcome.vue","webpack:///./src/views/Welcome.vue?253e","webpack:///./src/views/Welcome.vue","webpack:///./src/views/Main/index.vue?e031","webpack:///./src/views/Main/MainMenu.vue?5e50","webpack:///./src/views/Main/AppDiagnosticInfo.vue?f17b","webpack:///src/views/Main/AppDiagnosticInfo.vue","webpack:///./src/views/Main/AppDiagnosticInfo.vue?4caa","webpack:///./src/views/Main/AppDiagnosticInfo.vue","webpack:///src/views/Main/MainMenu.vue","webpack:///./src/views/Main/MainMenu.vue?76b3","webpack:///./src/views/Main/MainMenu.vue","webpack:///src/views/Main/index.vue","webpack:///./src/views/Main/index.vue?5975","webpack:///./src/views/Main/index.vue","webpack:///./src/router.js","webpack:///./src/main.js","webpack:///./src/assets/images/checkbox_checked_light.svg","webpack:///./src/assets/images/bottom.svg","webpack:///./src/views/Main/MyQueries/index.vue?ea8a","webpack:///./src/assets/images/error.svg","webpack:///./src/components/svg/export.vue?d884","webpack:///./src/components/SqlTable/Pager.vue?eb91","webpack:///./src/views/Main/index.vue?a1c2","webpack:///./src/components/DbUploader.vue?81da","webpack:///./src/assets/images/file.png","webpack:///./src/assets/images/checkbox_checked.svg","webpack:///./src/views/Main/Editor/Tabs/Tab/Chart/index.vue?86fb","webpack:///./src/assets/images/leftArm.svg","webpack:///./src/components/Splitpanes/index.vue?b0be","webpack:///./src/components/CheckBox.vue?8ce8","webpack:///./src/views/Main/Editor/Tabs/Tab/index.vue?b6b0","webpack:///./src/views/Main/Editor/index.vue?c388","webpack:///./src/views/Main/Editor/Tabs/Tab/ViewSwitcher.vue?982b","webpack:///./src/views/Main/MyQueries/svg/copy.vue?66e7","webpack:///./src/views/Main/MyQueries/svg/rename.vue?b8ce","webpack:///./src/components/CsvImport/index.vue?ee03","webpack:///./src/components/svg/hint.vue?ba95","webpack:///./src/components/LoadingIndicator.vue?d890","webpack:///./src/components/TextField.vue?c2e5","webpack:///./src/assets/images/info.svg","webpack:///./src/views/Main/MyQueries/svg/delete.vue?0b4e","webpack:///./src/views/Main/MainMenu.vue?15a1","webpack:///./src/components/svg/close.vue?17e8","webpack:///./src/components/svg/clear.vue?d1b6"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","attrs","staticRenderFns","component","staticClass","size","max","scopedSlots","_u","fn","proxy","ref","class","horizontal","dragging","style","styles","paneBefore","_t","on","bindEvents","after","before","paneAfter","$event","togglePane","_e","getCurrentMouseDrag","container","rect","getBoundingClientRect","touches","clientX","clientY","x","left","y","top","getCurrentDragPercentage","isHorisontal","drag","containerSize","calculateOffset","paneBeforeMax","paneAfterMax","dragPercentage","paneBeforeMaxReached","paneAfterMaxReached","Math","min","props","beforeMinimising","movableSplitter","visibility","computed","movableSplitterStyle","directionBeforeIconStyle","rotation","expanded","transform","translation","directionAfterIconStyle","methods","addEventListener","onMouseMove","onMouseUp","unbindEvents","removeEventListener","preventDefault","moveSplitter","dir","offset","pane","otherPane","mounted","$refs","model","callback","$$v","filter","expression","schemaVisible","directives","rawName","schema","_v","_s","dbName","exportToFile","addCsv","_l","table","columns","file","$store","state","db","isDatabase","dbTypes","includes","test","getFileName","replace","str","fileName","downloader","blob","Blob","url","URL","createObjectURL","href","download","click","revokeObjectURL","getFileFromUser","uploader","accept","files","importFile","reader","FileReader","then","readAsText","readFile","path","fetch","readAsArrayBuffer","fileReader","abort","colVisible","col","index","Boolean","required","components","errorMsg","disabled","label","hint","maxHintWidth","width","placeholder","domProps","$emit","showTooltip","hideTooltip","assign","tooltipStyle","maxWidth","mixins","tooltipMixin","nativeOn","browse","drop","newDb","cancelCsvImport","finish","generateChunks","arr","count","ceil","start","end","getInsertStmt","tabName","colList","join","params","map","getCreateStatement","values","forEach","getAst","sql","fixedSql","sqliteParser","getColumns","ast","columnDefinition","statement","format","definition","args","item","variant","datatype","Worker_fn","Worker","getNewDatabase","worker","Database","progressCounterIds","pw","PromiseWorker","importProgresses","progress","id","dispatchEvent","CustomEvent","detail","terminate","EventTarget","progressCounterId","postMessage","action","refreshSchema","fu","fileContent","buffer","res","getSchemaSql","execute","parsedSchema","stms","commands","results","startsWith","dialogName","disableDialog","tableNameError","tableName","previewCsv","delimiter","quoteChar","escapeChar","header","previewData","importCsvMessages","importCsvCompleted","loadFromCsv","hintsByCode","MissingQuotes","TooFewFields","TooManyFields","getResult","source","meta","fields","trim","row","resultRow","Date","toISOString","parse","config","defaultConfig","newline","transformHeader","dynamicTyping","preview","encoding","comments","step","complete","hasErrors","messages","errors","msg","code","downloadRequestHeaders","downloadRequestBody","skipEmptyLines","chunkSize","fastMode","beforeFirstChunk","withCredentials","delimitersToGuess","Papa","RECORD_SEP","UNIT_SEP","stopPropagation","Number","default","onContainerClick","filled","composing","inputValue","getSymbolName","clear","showOptions","option","chooseOption","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","options","watch","created","ascii","charCodeAt","toString","delimiterInput","focus","checked","onClick","theme","String","validator","init","th","maxHeight","height","onScrollTable","dataSet","refInFor","valIndex","time","pageCount","currentPage","chevron","page","tableWidth","resizeObserver","cellStyle","pageSize","floor","currentPageData","calculateHeadersWidth","offsetWidth","$nextTick","scrollLeft","ResizeObserver","observe","beforeDestroy","unobserve","serializeMessage","animationClass","strokeWidth","radius","strokeDasharray","circleProgress","strokeDashoffset","scrollToBottom","getPeriod","diff","getTime","seconds","toFixed","debounce","func","ms","arguments","CloseIcon","TextField","DelimiterSelector","CheckBox","SqlTable","Logs","addedTable","validateTableName","$modal","hide","reset","open","sanitizeTableName","show","ChangeDbIcon","CsvImport","animationPromise","animationName","shutDown","loadDb","checkFile","dataTransfer","tooltip","TableDescription","TreeChevron","DbUploader","ExportIcon","AddTableIcon","export","tabs","tab","selectedIndex","selectTab","tempName","beforeCloseTab","query","chart","isPredefined","$root","closingTabIndex","closeTab","saveAndClose","view","isGettingResults","tableViewHeight","initChart","commit","tabIndex","isUnsaved","cmOptions","onChange","currentTab","currentTabId","untitledLastIndex","predefinedQueries","setDb","updateTab","oldId","Vue","set","deleteTab","setCurrentTabId","setCurrentTab","updatePredefinedQueries","queries","Array","isArray","addTab","JSON","stringify","nanoid","some","openedTab","use","Vuex","Store","mutations","actions","getHints","cm","token","getTokenAt","getCursor","string","toUpperCase","CM","list","text","hintOptions","tables","store","column","completeSingle","completeOnSingleClick","alignWithWord","showHintOnDemand","editor","showHint","ch","tokenType","tabSize","lineNumbers","line","autoRefresh","extraKeys","codemirror","sqlResult","visible","layout","frames","editable","displaylogo","dataSources","dataSourceOptions","plotly","update","go","getDataSourcesFromSqlResult","dataSorces","matrix","transposedMatrix","getOptionsFromDataSources","keys","getChartStateForSave","stateCopy","emptySources","dereference","PlotlyEditor","chartHelper","SqlEditor","Splitpanes","ViewSwitcher","Chart","LoadingIndicator","initQuery","isActive","handleResize","bottomPane","calculateTableHeight","immediate","freeSpace","Tab","leavingSqliteviz","returnValue","$on","Schema","Tabs","showedQueries","importQueries","selectedQueriesCount","exportSelectedQueries","selectedNotPredefinedCount","showDeleteDialog","selectedQueriesIds","toggleSelectAll","maxTableHeight","openQuery","selectAll","has","toggleRow","_f","createdAt","showRenameDialog","duplicateQuery","Set","add","newName","renameQuery","deleteGroup","deleteDialogMsg","deleteQuery","getStoredQueries","localStorage","getItem","baseQuery","newQuery","isTabNeedName","queryTab","isFromScratch","initName","save","myQueries","queryIndex","findIndex","oldQuery","updateStorage","setItem","serialiseQueries","queryList","preparedData","deserialiseQueries","allQueriesIds","readPredefinedQueries","resp","json","RenameIcon","CopyIcon","DeleteIcon","processedQueryId","predefinedQueriesIds","allQueries","concat","processedQueryIndex","storedQueries","calcMaxTableHeight","tableResizeObserver","calcNameWidth","filters","date","hour12","hour","minute","toLocaleDateString","dateOptions","dispatch","processedQuery","$set","idsSet","next","delete","findTabIndex","rowCheckBox","mainCheckBox","$router","currentQuery","$route","runDisabled","checkQueryBeforeSave","createNewQuery","cancelSave","saveQuery","opt","info","AppDiagnosticInfo","_keyListener","$off","isNeedName","ctrlKey","metaKey","VueRouter","routes","Welcome","Main","children","Editor","MyQueries","router","beforeEach","to","from","database","location","hostname","VuePlugin","VModal","productionTip","render","h","App","$mount"],"mappings":"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","file":"js/app.42b58cb4.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-60cbf026\":\"37d9df6c\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logs.vue?vue&type=style&index=0&id=1c9f27dc&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logs.vue?vue&type=style&index=0&id=1c9f27dc&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDiagnosticInfo.vue?vue&type=style&index=0&id=669c683a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDiagnosticInfo.vue?vue&type=style&index=0&id=669c683a&scoped=true&lang=css&\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMSAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwLjQ5OTggMTYuNjY2N0M2LjgyNDg0IDE2LjY2NjcgMy44MzMxNyAxMy42NzUgMy44MzMxNyAxMEMzLjgzMzE3IDYuMzI1MDIgNi44MjQ4NCAzLjMzMzM1IDEwLjQ5OTggMy4zMzMzNUMxNC4xNzQ4IDMuMzMzMzUgMTcuMTY2NSA2LjMyNTAyIDE3LjE2NjUgMTBDMTcuMTY2NSAxMy42NzUgMTQuMTc0OCAxNi42NjY3IDEwLjQ5OTggMTYuNjY2N1pNMTAuNDk5OCAxLjY2NjY5QzkuNDA1NDkgMS42NjY2OSA4LjMyMTg2IDEuODgyMjQgNy4zMTA4MSAyLjMwMTAyQzYuMjk5NzYgMi43MTk4MSA1LjM4MTEgMy4zMzM2NCA0LjYwNzI4IDQuMTA3NDZDMy4wNDQ0OCA1LjY3MDI3IDIuMTY2NSA3Ljc4OTg4IDIuMTY2NSAxMEMyLjE2NjUgMTIuMjEwMiAzLjA0NDQ4IDE0LjMyOTggNC42MDcyOCAxNS44OTI2QzUuMzgxMSAxNi42NjY0IDYuMjk5NzYgMTcuMjgwMiA3LjMxMDgxIDE3LjY5OUM4LjMyMTg2IDE4LjExNzggOS40MDU0OSAxOC4zMzM0IDEwLjQ5OTggMTguMzMzNEMxMi43MSAxOC4zMzM0IDE0LjgyOTYgMTcuNDU1NCAxNi4zOTI0IDE1Ljg5MjZDMTcuOTU1MiAxNC4zMjk4IDE4LjgzMzIgMTIuMjEwMiAxOC44MzMyIDEwQzE4LjgzMzIgOC45MDU2NyAxOC42MTc2IDcuODIyMDQgMTguMTk4OCA2LjgxMDk5QzE3Ljc4IDUuNzk5OTUgMTcuMTY2MiA0Ljg4MTI5IDE2LjM5MjQgNC4xMDc0NkMxNS42MTg2IDMuMzMzNjQgMTQuNjk5OSAyLjcxOTgxIDEzLjY4ODkgMi4zMDEwMkMxMi42Nzc4IDEuODgyMjQgMTEuNTk0MiAxLjY2NjY5IDEwLjQ5OTggMS42NjY2OVoiIGZpbGw9IiMwMENDOTYiLz4KPHJlY3QgeD0iNi4wOTcxNyIgeT0iMTAuMjc3MSIgd2lkdGg9IjEuNjciIGhlaWdodD0iNC4zNDUiIHRyYW5zZm9ybT0icm90YXRlKC00NSA2LjA5NzE3IDEwLjI3NzEpIiBmaWxsPSIjMDBDQzk2Ii8+CjxyZWN0IHg9IjEzLjc1MiIgeT0iNi45NzU4OSIgd2lkdGg9IjEuNjciIGhlaWdodD0iNy43NDM1OSIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgMTMuNzUyIDYuOTc1ODkpIiBmaWxsPSIjMDBDQzk2Ii8+Cjwvc3ZnPgo=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNCIgaGVpZ2h0PSI5IiB2aWV3Qm94PSIwIDAgNCA5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNCAwLjk4MDU2VjQuNUw0LjAwMDA0IDcuNzE0MjhMNCA5TDEuMTA2OTRlLTA3IDQuNUw0IDBWMC45ODA1NloiIGZpbGw9IiM1MDY3ODQiLz4KPC9zdmc+Cg==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzQiIGhlaWdodD0iOTYiIHZpZXdCb3g9IjAgMCA3NCA5NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQyIDRMMjguODg1NyAwQzcuNDM3MjkgMTYuNDUxMiAxLjg0MzE4ZS0wNSA2MS43OTYxIDAgOTZINzRDNzEuNzQxNiA2Mi4xMDg1IDU3LjUgMjQgNDIgNFoiIGZpbGw9IiNDOEQ0RTMiLz4KPG1hc2sgaWQ9Im1hc2swIiBtYXNrLXR5cGU9ImFscGhhIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSIwIiB5PSIwIiB3aWR0aD0iNzQiIGhlaWdodD0iOTYiPgo8cGF0aCBkPSJNNDIgNEwyOC44ODU3IDBDNy40MzcyOSAxNi40NTEyIDEuODQzMThlLTA1IDYxLjc5NjEgMCA5Nkg3NEM3MS43NDE2IDYyLjEwODUgNTcuNSAyNCA0MiA0WiIgZmlsbD0iI0M4RDRFMyIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazApIj4KPHBhdGggZD0iTTMyLjAwMDEgNjAuNUMzOC41MDAxIDczIDYzLjUwMDEgNzYuNDk5OSA3My40OTk5IDczQzczLjQ5OTkgNzMgNzUuNzk5MiA2MC43OTk0IDc1LjUgNjAuNTAwMkM2OS43MzM5IDU0LjczMzggNDMuMDAwMyA1Ny45OTk4IDMyLjAwMDEgNjAuNVoiIGZpbGw9IiNBMkIxQzYiLz4KPC9nPgo8L3N2Zz4K\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableDescription.vue?vue&type=style&index=0&id=a166000a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableDescription.vue?vue&type=style&index=0&id=a166000a&scoped=true&lang=css&\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=2e186d82&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=2e186d82&scoped=true&lang=css&\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTA2IiBoZWlnaHQ9IjU2IiB2aWV3Qm94PSIwIDAgMTA2IDU2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTA0LjI1MiAxLjQwODU1QzEwMC4yNjIgLTIuMDQ5NCA5My43NzczIDEuNDA4NTQgOTEuMjgzMiA1Ljg1NDI2TDEwMC4yNjIgMTQuMzkzOUMxMDQuNzUxIDEwLjc5NDEgMTA4LjI0MyA0Ljg2NjQ2IDEwNC4yNTIgMS40MDg1NVoiIGZpbGw9IiNGM0M2QkYiLz4KPHBhdGggZD0iTTkxLjAxMjMgNC4zNzIwN0M3Mi40NTY4IDI1LjE3MDQgMzAuNDI3OSAyMi45MjYzIDE5Ljk1MjcgNC4zNzIwN0wwIDQ0LjY2MTVDMzguNDA5IDY5Ljg1NDcgODYuNzk0NCA1MC4wOTU0IDEwMi4yNTggMTQuNTI4Nkw5MS4wMTIzIDQuMzcyMDdaIiBmaWxsPSIjQzhENEUzIi8+Cjwvc3ZnPgo=\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=44b0b048&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=44b0b048&scoped=true&lang=css&\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./treeChevron.vue?vue&type=style&index=0&id=bfc135e8&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./treeChevron.vue?vue&type=style&index=0&id=bfc135e8&scoped=true&lang=css&\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDUwIiBoZWlnaHQ9IjE3NSIgdmlld0JveD0iMCAwIDQ1MCAxNzUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtYXNrIGlkPSJtYXNrMCIgbWFzay10eXBlPSJhbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQ1MCIgaGVpZ2h0PSIxNzUiPgo8cmVjdCB3aWR0aD0iNDUwIiBoZWlnaHQ9IjE3NSIgZmlsbD0iI0M0QzRDNCIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazApIj4KPHBhdGggZD0iTTEyOC4yMDcgMS45OTI3MkM3MC4xOTcyIC05Ljg0ODk3IDE4Ljc0NSAzMC44ODk1IDQuMzE5ODUgOTIuNjY3OEMtMTAuMTA1NCAxNTQuNDQ2IDE0LjMzMzcgMTg2LjMzMiAzNy4zMjE4IDIyNi4xODlDNzIuMzc4NCAyODYuOTcxIDE4MS41NTEgMzQxLjIzNyAyNjUuMDgzIDMzNy43ODlDMzM3LjUxNyAzMzQuOCAzODkuMDI4IDMxNi41MTQgNDI1LjkzNiAyNDguMTExQzQ4OS4zNzggMTMwLjUzMiA0MTcuNDQ0IDUzLjkwNjUgMzI1LjUyNyA2OC4yNTUxQzIxNC41NzEgODUuNTc2IDIxMy42MjkgMTkuNDMwMiAxMjguMjA3IDEuOTkyNzJaIiBmaWxsPSIjREZFOEYzIi8+CjxwYXRoIGQ9Ik0xNTYuMjg0IDE2OS40MjZDMTU4LjE1OCAxNjcuNTUzIDE2MC42OTkgMTY2LjUgMTYzLjM0OSAxNjYuNUgzMzEuOTExQzMzNC41NjEgMTY2LjUgMzM3LjEwMiAxNjcuNTUzIDMzOC45NzYgMTY5LjQyNkwzNDYuMDQxIDE3Ni40OTFIMTQ5LjIyTDE1Ni4yODQgMTY5LjQyNloiIGZpbGw9IiNDOEQ0RTMiLz4KPHBhdGggZD0iTTE3NC4wOTkgMTcwLjI1OEMxNzQuMjgzIDE3MC4wOSAxNzQuNTI0IDE2OS45OTcgMTc0Ljc3MyAxNjkuOTk3SDMxOC40OUMzMTguNzM5IDE2OS45OTcgMzE4Ljk4IDE3MC4wOSAzMTkuMTY0IDE3MC4yNThWMTcwLjI1OEMzMTkuODM3IDE3MC44NzQgMzE5LjQwMiAxNzEuOTk1IDMxOC40OSAxNzEuOTk1SDE3NC43NzNDMTczLjg2MSAxNzEuOTk1IDE3My40MjYgMTcwLjg3NCAxNzQuMDk5IDE3MC4yNThWMTcwLjI1OFoiIGZpbGw9IiM1MDY3ODQiLz4KPHBhdGggZD0iTTk0LjIyNyA4Ny44ODFDOTQuMzk2MiA4MC4xOTg4IDkyLjUwNDggNjUuMDYwOCA4My41ODU3IDY1Ljk2NjRDODMuNTg1NyA2NS45NjY0IDcwLjU3NzYgNzYuMDg3NyA3NS42MzkxIDgzLjYxODhDODAuNzAwNSA5MS4xNDk4IDkzLjQ2NzcgOTQuNTA4MyA5NC4yMjcgODcuODgxWiIgZmlsbD0iI0YzQzZCRiIvPgo8cGF0aCBkPSJNODkuMjc1IDkxLjMxMDVMODggOThDODUuNTAyMyA5OS40OTg2IDc2LjU1MzEgOTkuMDE5NiA3NC41IDk1Qzc0LjUgOTUgNzYuODI5OCA4OS45MTM1IDc3Ljg0NDYgODQuOTIyNkw4OS4yNzUgOTEuMzEwNVoiIGZpbGw9IiNGM0M2QkYiLz4KPHBhdGggZD0iTTkyLjI3MTkgNjcuMTE2MUM5Mi4yNzE5IDcyLjc2ODkgODQuMjI0MiA2OC44ODcyIDgyLjM0MjMgNzIuOTEyNkM4MC40NjA1IDc2LjkzNzkgNzcuMzk1MiA4Ni45MjA4IDc3LjM5NTIgODYuOTIwOEM3Mi42MzIzIDg0Ljc0MTQgNjYuNzI3MyA2OS4zMyA3My4yOTM2IDY1LjEwMzRDNzkuMzUwNiA2MS4yMDQ3IDkyLjI3MTkgNjMuMDEwMiA5Mi4yNzE5IDY3LjExNjFaIiBmaWxsPSIjNTA2Nzg0Ii8+CjxwYXRoIGQ9Ik03OS43NjU0IDgzLjk2MjhDNzUuMTUyMiA4MC43MjY5IDc2LjM3MSA3NS4xMzQzIDc5Ljc1NjIgNzYuOTUzNEM4NS4xOTk0IDc5Ljg3ODUgODEuMjkzNCA4Mi45ODA4IDc5Ljc2NTQgODMuOTYyOFoiIGZpbGw9IiNGM0M2QkYiLz4KPC9nPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgcng9IjIuNSIgZmlsbD0iI0RGRThGMyIgc3Ryb2tlPSIjQzhENEUzIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2QpIj4KPHBhdGggZD0iTTE1Ljc1IDUuMjVMNi43NSAxNC4yNUwyLjYyNSAxMC4xMjVMMy42ODI1IDkuMDY3NUw2Ljc1IDEyLjEyNzVMMTQuNjkyNSA0LjE5MjVMMTUuNzUgNS4yNVoiIGZpbGw9IiNBMkIxQzYiLz4KPC9nPgo8ZGVmcz4KPGZpbHRlciBpZD0iZmlsdGVyMF9kIiB4PSIwLjYyNSIgeT0iMy4xOTI1IiB3aWR0aD0iMTcuMTI1IiBoZWlnaHQ9IjE0LjA1NzUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiLz4KPGZlT2Zmc2V0IGR5PSIxIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiLz4KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMC4xNjQ3MDYgMCAwIDAgMCAwLjI0NzA1OSAwIDAgMCAwIDAuMzcyNTQ5IDAgMCAwIDAuMiAwIi8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0iZWZmZWN0MV9kcm9wU2hhZG93Ii8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iZWZmZWN0MV9kcm9wU2hhZG93IiByZXN1bHQ9InNoYXBlIi8+CjwvZmlsdGVyPgo8L2RlZnM+Cjwvc3ZnPgo=\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=style&index=0&id=cdca6642&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=style&index=0&id=cdca6642&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropDownChevron.vue?vue&type=style&index=0&id=29bdb7bf&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropDownChevron.vue?vue&type=style&index=0&id=29bdb7bf&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./changeDb.vue?vue&type=style&index=0&id=cc62bccc&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./changeDb.vue?vue&type=style&index=0&id=cc62bccc&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addTable.vue?vue&type=style&index=0&id=de75f292&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addTable.vue?vue&type=style&index=0&id=de75f292&scoped=true&lang=css&\"","import mod from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=ad4bbbe4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=ad4bbbe4&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=1fac0635&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('splitpanes',{staticClass:\"schema-tabs-splitter\",attrs:{\"before\":{ size: 20, max: 30 },\"after\":{ size: 80, max: 100 }},scopedSlots:_vm._u([{key:\"left-pane\",fn:function(){return [_c('schema')]},proxy:true},{key:\"right-pane\",fn:function(){return [_c('tabs')]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"container\",class:[\n 'splitpanes',\n (\"splitpanes-\" + (_vm.horizontal ? 'horizontal' : 'vertical')),\n { 'splitpanes-dragging': _vm.dragging }\n ]},[_c('div',{ref:\"movableSplitter\",staticClass:\"movable-splitter\",style:(_vm.movableSplitterStyle)}),_c('div',{ref:\"left\",staticClass:\"splitpanes-pane\",style:(_vm.styles.before),attrs:{\"size\":_vm.paneBefore.size,\"max-size\":\"30\"}},[_vm._t(\"left-pane\")],2),_c('div',{staticClass:\"splitpanes-splitter\",on:{\"mousedown\":_vm.bindEvents,\"touchstart\":_vm.bindEvents}},[_c('div',{class:[\n 'toggle-btns',\n {'both': _vm.after.max === 100 && _vm.before.max === 100 && _vm.paneAfter.size > 0 && _vm.paneBefore.size > 0}\n ]},[(_vm.after.max === 100 && _vm.paneAfter.size > 0)?_c('div',{staticClass:\"toggle-btn\",on:{\"click\":function($event){return _vm.togglePane(_vm.paneBefore)}}},[_c('img',{staticClass:\"direction-icon\",style:(_vm.directionBeforeIconStyle),attrs:{\"src\":require('@/assets/images/chevron.svg')}})]):_vm._e(),(_vm.before.max === 100 && _vm.paneBefore.size > 0)?_c('div',{staticClass:\"toggle-btn\",on:{\"click\":function($event){return _vm.togglePane(_vm.paneAfter)}}},[_c('img',{staticClass:\"direction-icon\",style:(_vm.directionAfterIconStyle),attrs:{\"src\":require('@/assets/images/chevron.svg')}})]):_vm._e()])]),_c('div',{ref:\"right\",staticClass:\"splitpanes-pane\",style:(_vm.styles.after)},[_vm._t(\"right-pane\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n // Get the cursor position relative to the splitpane container.\n getCurrentMouseDrag (event, container) {\n const rect = container.getBoundingClientRect()\n const { clientX, clientY } = ('ontouchstart' in window && event.touches)\n ? event.touches[0]\n : event\n return {\n x: clientX - rect.left,\n y: clientY - rect.top\n }\n },\n\n // Returns the drag percentage of the splitter relative to the 2 panes it's inbetween.\n getCurrentDragPercentage (event, container, isHorisontal) {\n let drag = this.getCurrentMouseDrag(event, container)\n drag = drag[isHorisontal ? 'y' : 'x']\n const containerSize = container[isHorisontal ? 'clientHeight' : 'clientWidth']\n return drag * 100 / containerSize\n },\n\n // Returns the new position in percents.\n calculateOffset (event, { container, isHorisontal, paneBeforeMax, paneAfterMax }) {\n const dragPercentage = this.getCurrentDragPercentage(event, container, isHorisontal)\n\n const paneBeforeMaxReached = paneBeforeMax < 100 && (dragPercentage >= paneBeforeMax)\n const paneAfterMaxReached = paneAfterMax < 100 && (dragPercentage <= 100 - paneAfterMax)\n\n // Prevent dragging beyond pane max.\n if (paneBeforeMaxReached || paneAfterMaxReached) {\n return paneBeforeMaxReached ? paneBeforeMax : Math.max(100 - paneAfterMax, 0)\n } else {\n return Math.min(Math.max(dragPercentage, 0), paneBeforeMax)\n }\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=82b9f68a&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"schema-container\"}},[_c('div',{attrs:{\"id\":\"schema-filter\"}},[_c('text-field',{attrs:{\"placeholder\":\"Search table\",\"width\":\"100%\"},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}})],1),_c('div',{attrs:{\"id\":\"db\"}},[_c('div',{staticClass:\"db-name\",on:{\"click\":function($event){_vm.schemaVisible = !_vm.schemaVisible}}},[_c('tree-chevron',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.schema.length > 0),expression:\"schema.length > 0\"}],attrs:{\"expanded\":_vm.schemaVisible}}),_vm._v(\" \"+_vm._s(_vm.dbName)+\" \")],1),_c('db-uploader',{attrs:{\"id\":\"db-edit\",\"type\":\"small\"}}),_c('export-icon',{attrs:{\"tooltip\":\"Export database\"},on:{\"click\":_vm.exportToFile}}),_c('add-table-icon',{on:{\"click\":_vm.addCsv}})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.schemaVisible),expression:\"schemaVisible\"}],staticClass:\"schema\"},_vm._l((_vm.schema),function(table){return _c('table-description',{key:table.name,attrs:{\"name\":table.name,\"columns\":table.columns}})}),1),_c('csv-import',{ref:\"addCsv\",attrs:{\"file\":_vm.file,\"db\":_vm.$store.state.db,\"dialog-name\":\"addCsv\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n isDatabase (file) {\n const dbTypes = ['application/vnd.sqlite3', 'application/x-sqlite3']\n return file.type\n ? dbTypes.includes(file.type)\n : /\\.(db|sqlite(3)?)+$/.test(file.name)\n },\n\n getFileName (file) {\n return file.name.replace(/\\.[^.]+$/, '')\n },\n\n exportToFile (str, fileName, type = 'octet/stream') {\n // Create downloader\n const downloader = document.createElement('a')\n const blob = new Blob([str], { type })\n const url = URL.createObjectURL(blob)\n downloader.href = url\n downloader.download = fileName\n\n // Trigger click\n downloader.click()\n\n // Clean up\n URL.revokeObjectURL(url)\n },\n\n /**\n * Note: if user press Cancel in file choosing dialog\n * it will be an unsettled promise. But it's grabbed by\n * the garbage collector (tested with FinalizationRegistry).\n */\n getFileFromUser (type) {\n return new Promise(resolve => {\n const uploader = document.createElement('input')\n\n uploader.type = 'file'\n uploader.accept = type\n\n uploader.addEventListener('change', () => {\n const file = uploader.files[0]\n resolve(file)\n })\n\n uploader.click()\n })\n },\n\n importFile () {\n const reader = new FileReader()\n\n return this.getFileFromUser('.json')\n .then(file => {\n return new Promise((resolve, reject) => {\n reader.onload = e => {\n resolve(e.target.result)\n }\n reader.readAsText(file)\n })\n })\n },\n\n readFile (path) {\n return fetch(path)\n },\n\n readAsArrayBuffer (file) {\n const fileReader = new FileReader()\n\n return new Promise((resolve, reject) => {\n fileReader.onerror = () => {\n fileReader.abort()\n reject(new Error('Problem parsing input file.'))\n }\n\n fileReader.onload = () => {\n resolve(fileReader.result)\n }\n fileReader.readAsArrayBuffer(file)\n })\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"table-name\",on:{\"click\":function($event){_vm.colVisible = !_vm.colVisible}}},[_c('tree-chevron',{attrs:{\"expanded\":_vm.colVisible}}),_vm._v(\" \"+_vm._s(_vm.name)+\" \")],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.colVisible),expression:\"colVisible\"}],staticClass:\"columns\"},_vm._l((_vm.columns),function(col,index){return _c('div',{key:index,staticClass:\"column\"},[_vm._v(\" \"+_vm._s(col.name)+\" \"),_c('span',{staticClass:\"column-type\"},[_vm._v(_vm._s(col.type))])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"chevron-icon\",style:({ transform: _vm.expanded ? 'rotate(90deg)' : 'rotate(0)' }),attrs:{\"width\":\"9\",\"height\":\"9\",\"viewBox\":\"0 0 8 12\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M0.721924 9.93097L4.85292 5.79997L0.721924 1.66897L1.99992 0.399973L7.39992 5.79997L1.99992 11.2L0.721924 9.93097Z\",\"fill\":_vm.expanded ? '#506784' : 'rgba(80, 103, 132, 0.5)'}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./treeChevron.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./treeChevron.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./treeChevron.vue?vue&type=template&id=bfc135e8&scoped=true&\"\nimport script from \"./treeChevron.vue?vue&type=script&lang=js&\"\nexport * from \"./treeChevron.vue?vue&type=script&lang=js&\"\nimport style0 from \"./treeChevron.vue?vue&type=style&index=0&id=bfc135e8&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bfc135e8\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableDescription.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableDescription.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TableDescription.vue?vue&type=template&id=a166000a&scoped=true&\"\nimport script from \"./TableDescription.vue?vue&type=script&lang=js&\"\nexport * from \"./TableDescription.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TableDescription.vue?vue&type=style&index=0&id=a166000a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a166000a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.label)?_c('div',{class:['text-field-label', { error: _vm.errorMsg }, {'disabled': _vm.disabled}]},[_vm._v(\" \"+_vm._s(_vm.label)+\" \"),(_vm.hint)?_c('hint-icon',{staticClass:\"hint\",attrs:{\"hint\":_vm.hint,\"max-width\":_vm.maxHintWidth || '149px'}}):_vm._e()],1):_vm._e(),_c('input',{class:{ error: _vm.errorMsg },style:({ width: _vm.width }),attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder,\"disabled\":_vm.disabled},domProps:{\"value\":_vm.value},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errorMsg),expression:\"errorMsg\"}],staticClass:\"text-field-error\"},[_vm._v(_vm._s(_vm.errorMsg))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('svg',{staticClass:\"hint-icon\",attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('path',{attrs:{\"d\":\"M8.75 14.1666H10.4167V12.5H8.75V14.1666ZM9.58333 16.25C5.90833 16.25 2.91667 13.2583 2.91667 9.58333C2.91667 5.90833 5.90833 2.91667 9.58333 2.91667C13.2583 2.91667 16.25 5.90833 16.25 9.58333C16.25 13.2583 13.2583 16.25 9.58333 16.25ZM9.58333 1.25C8.48898 1.25 7.40535 1.46555 6.3943 1.88434C5.38326 2.30313 4.4646 2.91696 3.69078 3.69078C2.12797 5.25358 1.25 7.3732 1.25 9.58333C1.25 11.7935 2.12797 13.9131 3.69078 15.4759C4.4646 16.2497 5.38326 16.8635 6.3943 17.2823C7.40535 17.7011 8.48898 17.9167 9.58333 17.9167C11.7935 17.9167 13.9131 17.0387 15.4759 15.4759C17.0387 13.9131 17.9167 11.7935 17.9167 9.58333C17.9167 8.48898 17.7011 7.40535 17.2823 6.3943C16.8635 5.38326 16.2497 4.4646 15.4759 3.69078C14.7021 2.91696 13.7834 2.30313 12.7724 1.88434C11.7613 1.46555 10.6777 1.25 9.58333 1.25Z\",\"fill\":\"#A2B1C6\"}}),_c('path',{attrs:{\"d\":\"M9.91601 4.51787C8.98167 4.42606 8.05144 4.69097 7.36309 5.24472C6.68735 5.78828 6.2998 6.56661 6.2998 7.38012H7.92488C7.92488 6.97463 8.11059 6.60187 8.44779 6.33061C8.79784 6.049 9.25647 5.92005 9.73896 5.96755C10.4832 6.04076 11.0828 6.57277 11.1647 7.23265C11.2306 7.764 10.9661 8.28194 10.4744 8.58426C9.38676 9.25303 8.73742 10.343 8.73742 11.5H10.3625C10.3625 10.8243 10.7477 10.184 11.3929 9.78733C12.3808 9.17985 12.9122 8.13913 12.7798 7.07124C12.6144 5.73863 11.41 4.66476 9.91601 4.51787Z\",\"fill\":\"#A2B1C6\"}})]),_c('span',{staticClass:\"icon-tooltip\",style:(Object.assign({}, _vm.tooltipStyle, {maxWidth: _vm.maxWidth}))},[_vm._v(\" \"+_vm._s(_vm.hint)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n data () {\n return {\n tooltipStyle: {\n visibility: 'hidden'\n }\n }\n },\n methods: {\n showTooltip (e) {\n this.tooltipStyle.top = e.clientY - 12 + 'px'\n this.tooltipStyle.left = e.clientX + 12 + 'px'\n this.tooltipStyle.visibility = 'visible'\n },\n hideTooltip () {\n this.tooltipStyle.visibility = 'hidden'\n }\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./hint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./hint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./hint.vue?vue&type=template&id=7fa48ff7&scoped=true&\"\nimport script from \"./hint.vue?vue&type=script&lang=js&\"\nexport * from \"./hint.vue?vue&type=script&lang=js&\"\nimport style0 from \"./hint.vue?vue&type=style&index=0&id=7fa48ff7&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7fa48ff7\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextField.vue?vue&type=template&id=59fd41a8&scoped=true&\"\nimport script from \"./TextField.vue?vue&type=script&lang=js&\"\nexport * from \"./TextField.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextField.vue?vue&type=style&index=0&id=59fd41a8&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"59fd41a8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"db-uploader-container\",style:({ width: _vm.width })},[(_vm.type === 'small')?_c('change-db-icon',{nativeOn:{\"click\":function($event){return _vm.browse($event)}}}):_vm._e(),(_vm.type === 'illustrated')?_c('div',{staticClass:\"drop-area-container\"},[_c('div',{staticClass:\"drop-area\",on:{\"dragover\":function($event){$event.preventDefault();_vm.state = 'dragover'},\"dragleave\":function($event){$event.preventDefault();_vm.state=''},\"drop\":function($event){$event.preventDefault();return _vm.drop($event)},\"click\":_vm.browse}},[_c('div',{staticClass:\"text\"},[_vm._v(\" Drop the database or CSV file here or click to choose a file from your computer. \")])])]):_vm._e(),(_vm.type === 'illustrated')?_c('div',{attrs:{\"id\":\"img-container\"}},[_c('img',{attrs:{\"id\":\"drop-file-top-img\",\"src\":require('@/assets/images/top.svg')}}),_c('img',{class:{'swing': _vm.state === 'dragover'},attrs:{\"id\":\"left-arm-img\",\"src\":require('@/assets/images/leftArm.svg')}}),_c('img',{ref:\"fileImg\",class:{\n 'swing': _vm.state === 'dragover',\n 'fly': _vm.state === 'dropping',\n 'hidden': _vm.state === 'dropped'\n },attrs:{\"id\":\"file-img\",\"src\":require('@/assets/images/file.png')}}),_c('img',{attrs:{\"id\":\"drop-file-bottom-img\",\"src\":require('@/assets/images/bottom.svg')}}),_c('img',{attrs:{\"id\":\"body-img\",\"src\":require('@/assets/images/body.svg')}}),_c('img',{class:{'swing': _vm.state === 'dragover'},attrs:{\"id\":\"right-arm-img\",\"src\":require('@/assets/images/rightArm.svg')}})]):_vm._e(),_c('div',{staticClass:\"error\",attrs:{\"id\":\"error\"}}),_c('csv-import',{ref:\"addCsv\",attrs:{\"file\":_vm.file,\"db\":_vm.newDb,\"dialog-name\":\"importFromCsv\"},on:{\"cancel\":_vm.cancelCsvImport,\"finish\":_vm.finish}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('svg',{staticClass:\"db-edit-icon\",attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('path',{attrs:{\"d\":\"M3 10.5V12.75C3 14.25 5.2875 15.54 8.25 15.75V13.5825L8.3475 13.5C5.34 13.32 3 12.045 3 10.5ZM9 9.75C5.685 9.75 3 8.4075 3 6.75V9C3 10.6575 5.685 12 9 12C9.2925 12 9.5775 12 9.87 12L12.75 9.09C11.55 9.54 10.2825 9.75 9 9.75ZM9 2.25C5.685 2.25 3 3.5925 3 5.25C3 6.9075 5.685 8.25 9 8.25C12.315 8.25 15 6.9075 15 5.25C15 3.5925 12.315 2.25 9 2.25ZM15.75 8.3475C15.6375 8.3475 15.5325 8.3925 15.4575 8.475L14.7075 9.225L16.245 10.725L16.995 9.975C17.1525 9.825 17.16 9.57 16.995 9.3975L16.065 8.475C15.99 8.3925 15.885 8.3475 15.78 8.3475H15.75ZM14.28 9.66L9.75 14.205V15.75H11.295L15.84 11.1975L14.28 9.66Z\",\"fill\":\"#A2B1C6\"}})]),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" Load another database or CSV \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./changeDb.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./changeDb.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./changeDb.vue?vue&type=template&id=cc62bccc&scoped=true&\"\nimport script from \"./changeDb.vue?vue&type=script&lang=js&\"\nexport * from \"./changeDb.vue?vue&type=script&lang=js&\"\nimport style0 from \"./changeDb.vue?vue&type=style&index=0&id=cc62bccc&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cc62bccc\",\n null\n \n)\n\nexport default component.exports","import sqliteParser from 'sqlite-parser'\n\nexport default {\n * generateChunks (arr, size) {\n const count = Math.ceil(arr.length / size)\n\n for (let i = 0; i <= count - 1; i++) {\n const start = size * i\n const end = start + size\n yield arr.slice(start, end)\n }\n },\n\n getInsertStmt (tabName, columns) {\n const colList = `\"${columns.join('\", \"')}\"`\n const params = columns.map(() => '?').join(', ')\n return `INSERT INTO \"${tabName}\" (${colList}) VALUES (${params});`\n },\n\n getCreateStatement (tabName, columns, values) {\n let result = `CREATE table \"${tabName}\"(`\n columns.forEach((col, index) => {\n // Get the first row of values to determine types\n const value = values[0][index]\n let type = ''\n switch (typeof value) {\n case 'number': {\n type = 'REAL'\n break\n }\n case 'boolean': {\n type = 'INTEGER'\n break\n }\n case 'string': {\n type = 'TEXT'\n break\n }\n default: type = 'TEXT'\n }\n result += `\"${col}\" ${type}, `\n })\n result = result.replace(/,\\s$/, ');')\n return result\n },\n\n getAst (sql) {\n // There is a bug is sqlite-parser\n // It throws an error if tokenizer has an arguments:\n // https://github.com/codeschool/sqlite-parser/issues/59\n const fixedSql = sql\n .replace(/(tokenize=[^,]+)\"tokenchars=.+?\"/, '$1')\n .replace(/(tokenize=[^,]+)\"remove_diacritics=.+?\"/, '$1')\n .replace(/(tokenize=[^,]+)\"separators=.+?\"/, '$1')\n .replace(/tokenize=.+?(,|\\))/, 'tokenize=unicode61$1')\n\n return sqliteParser(fixedSql)\n },\n\n /*\n * Return an array of columns with name and type. E.g.:\n * [\n * { name: 'id', type: 'INTEGER' },\n * { name: 'title', type: 'NVARCHAR(30)' },\n * ]\n */\n getColumns (sql) {\n const columns = []\n const ast = this.getAst(sql)\n\n const columnDefinition = ast.statement[0].format === 'table'\n ? ast.statement[0].definition\n : ast.statement[0].result.args.expression // virtual table\n\n columnDefinition.forEach(item => {\n if (item.variant === 'column' && ['identifier', 'definition'].includes(item.type)) {\n let type = item.datatype ? item.datatype.variant : 'N/A'\n if (item.datatype && item.datatype.args) {\n type = type + '(' + item.datatype.args.expression[0].value\n if (item.datatype.args.expression.length === 2) {\n type = type + ', ' + item.datatype.args.expression[1].value\n }\n type = type + ')'\n }\n columns.push({ name: item.name, type: type })\n }\n })\n return columns\n }\n}\n","export default function Worker_fn() {\n return new Worker(__webpack_public_path__ + \"js/_worker.f23e8754.worker.js\");\n}\n","import stms from './_statements'\nimport fu from '@/lib/utils/fileIo'\n// We can import workers like so because of worker-loader:\n// https://webpack.js.org/loaders/worker-loader/\nimport Worker from './_worker.js'\n\n// Use promise-worker in order to turn worker into the promise based one:\n// https://github.com/nolanlawson/promise-worker\nimport PromiseWorker from 'promise-worker'\n\nfunction getNewDatabase () {\n const worker = new Worker()\n return new Database(worker)\n}\n\nexport default {\n getNewDatabase\n}\n\nlet progressCounterIds = 0\nclass Database {\n constructor (worker) {\n this.dbName = null\n this.schema = null\n this.worker = worker\n this.pw = new PromiseWorker(worker)\n\n this.importProgresses = {}\n worker.addEventListener('message', e => {\n const progress = e.data.progress\n if (progress !== undefined) {\n const id = e.data.id\n this.importProgresses[id].dispatchEvent(new CustomEvent('progress', {\n detail: progress\n }))\n }\n })\n }\n\n shutDown () {\n this.worker.terminate()\n }\n\n createProgressCounter (callback) {\n const id = progressCounterIds++\n this.importProgresses[id] = new EventTarget()\n this.importProgresses[id].addEventListener('progress', e => { callback(e.detail) })\n return id\n }\n\n deleteProgressCounter (id) {\n delete this.importProgresses[id]\n }\n\n async addTableFromCsv (tabName, data, progressCounterId) {\n const result = await this.pw.postMessage({\n action: 'import',\n columns: data.columns,\n values: data.values,\n progressCounterId,\n tabName\n })\n\n if (result.error) {\n throw new Error(result.error)\n }\n this.dbName = this.dbName || 'database'\n this.refreshSchema()\n }\n\n async loadDb (file) {\n const fileContent = file ? await fu.readAsArrayBuffer(file) : null\n const res = await this.pw.postMessage({ action: 'open', buffer: fileContent })\n\n if (res.error) {\n throw new Error(res.error)\n }\n\n this.dbName = file ? fu.getFileName(file) : 'database'\n this.refreshSchema()\n }\n\n async refreshSchema () {\n const getSchemaSql = `\n SELECT name, sql\n FROM sqlite_master\n WHERE type='table' AND name NOT LIKE 'sqlite_%';\n `\n const result = await this.execute(getSchemaSql)\n // Parse DDL statements to get column names and types\n const parsedSchema = []\n if (result && result.values) {\n result.values.forEach(item => {\n parsedSchema.push({\n name: item[0],\n columns: stms.getColumns(item[1])\n })\n })\n }\n\n // Refresh schema\n this.schema = parsedSchema\n }\n\n async execute (commands) {\n await this.pw.postMessage({ action: 'reopen' })\n const results = await this.pw.postMessage({ action: 'exec', sql: commands })\n\n if (results.error) {\n throw new Error(results.error)\n }\n // if it was more than one select - take only the last one\n return results[results.length - 1]\n }\n\n async export (fileName) {\n const data = await this.pw.postMessage({ action: 'export' })\n\n if (data.error) {\n throw new Error(data.error)\n }\n fu.exportToFile(data, fileName)\n }\n\n async validateTableName (name) {\n if (name.startsWith('sqlite_')) {\n throw new Error(\"Table name can't start with sqlite_\")\n }\n\n if (/[^\\w]/.test(name)) {\n throw new Error('Table name can contain only letters, digits and underscores')\n }\n\n if (/^(\\d)/.test(name)) {\n throw new Error(\"Table name can't start with a digit\")\n }\n\n await this.execute(`BEGIN; CREATE TABLE \"${name}\"(id); ROLLBACK;`)\n }\n\n sanitizeTableName (tabName) {\n return tabName\n .replace(/[^\\w]/g, '_') // replace everything that is not letter, digit or _ with _\n .replace(/^(\\d)/, '_$1') // add _ at beginning if starts with digit\n .replace(/_{2,}/g, '_') // replace multiple _ with one _\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"name\":_vm.dialogName,\"classes\":\"dialog\",\"height\":\"auto\",\"width\":\"80%\",\"scrollable\":\"\",\"clickToClose\":false}},[_c('div',{staticClass:\"dialog-header\"},[_vm._v(\" CSV import \"),_c('close-icon',{attrs:{\"disabled\":_vm.disableDialog},on:{\"click\":_vm.cancelCsvImport}})],1),_c('div',{staticClass:\"dialog-body\"},[_c('text-field',{attrs:{\"label\":\"Table name\",\"width\":\"484px\",\"disabled\":_vm.disableDialog,\"error-msg\":_vm.tableNameError,\"id\":\"csv-table-name\"},model:{value:(_vm.tableName),callback:function ($$v) {_vm.tableName=$$v},expression:\"tableName\"}}),_c('div',{staticClass:\"chars\"},[_c('delimiter-selector',{staticClass:\"char-input\",attrs:{\"width\":\"210px\",\"disabled\":_vm.disableDialog},on:{\"input\":_vm.previewCsv},model:{value:(_vm.delimiter),callback:function ($$v) {_vm.delimiter=$$v},expression:\"delimiter\"}}),_c('text-field',{staticClass:\"char-input\",attrs:{\"label\":\"Quote char\",\"hint\":\"The character used to quote fields.\",\"width\":\"93px\",\"disabled\":_vm.disableDialog,\"id\":\"quote-char\"},model:{value:(_vm.quoteChar),callback:function ($$v) {_vm.quoteChar=$$v},expression:\"quoteChar\"}}),_c('text-field',{staticClass:\"char-input\",attrs:{\"label\":\"Escape char\",\"hint\":\"The character used to escape the quote character within a field (e.g. \\\"column with \\\"\\\"quotes\\\"\\\" in text\\\").\",\"max-hint-width\":\"242px\",\"width\":\"93px\",\"disabled\":_vm.disableDialog,\"id\":\"escape-char\"},model:{value:(_vm.escapeChar),callback:function ($$v) {_vm.escapeChar=$$v},expression:\"escapeChar\"}})],1),_c('check-box',{attrs:{\"init\":true,\"label\":\"Use first row as column headers\",\"disabled\":_vm.disableDialog},on:{\"click\":function($event){_vm.header = $event}}}),(_vm.previewData && (_vm.previewData.values.length > 0 || _vm.previewData.columns.length > 0))?_c('sql-table',{staticClass:\"preview-table\",attrs:{\"data-set\":_vm.previewData,\"height\":\"160\",\"preview\":true}}):_c('div',{staticClass:\"no-data\"},[_vm._v(\"No data\")]),_c('logs',{staticClass:\"import-csv-errors\",attrs:{\"messages\":_vm.importCsvMessages}})],1),_c('div',{staticClass:\"dialog-buttons-container\"},[_c('button',{staticClass:\"secondary\",attrs:{\"disabled\":_vm.disableDialog,\"id\":\"csv-cancel\"},on:{\"click\":_vm.cancelCsvImport}},[_vm._v(\" Cancel \")]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.importCsvCompleted),expression:\"!importCsvCompleted\"}],staticClass:\"primary\",attrs:{\"disabled\":_vm.disableDialog,\"id\":\"csv-import\"},on:{\"click\":function($event){return _vm.loadFromCsv(_vm.file)}}},[_vm._v(\" Import \")]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.importCsvCompleted),expression:\"importCsvCompleted\"}],staticClass:\"primary\",attrs:{\"disabled\":_vm.disableDialog,\"id\":\"csv-finish\"},on:{\"click\":_vm.finish}},[_vm._v(\" Finish \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Papa from 'papaparse'\n\nconst hintsByCode = {\n MissingQuotes: 'Edit your CSV so that the field has a closing quote char.',\n TooFewFields: 'Add fields or try another delimiter.',\n TooManyFields: 'Edit your CSV or try another delimiter.'\n}\n\nexport default {\n getResult (source) {\n const result = {}\n if (source.meta.fields) {\n result.columns = source.meta.fields.map(col => col.trim())\n result.values = source.data.map(row => {\n const resultRow = []\n source.meta.fields.forEach(col => {\n let value = row[col]\n if (value instanceof Date) {\n value = value.toISOString()\n }\n resultRow.push(value)\n })\n\n return resultRow\n })\n } else {\n result.values = source.data\n result.columns = []\n for (let i = 1; i <= source.data[0].length; i++) {\n result.columns.push(`col${i}`)\n }\n }\n\n return result\n },\n\n parse (file, config = {}) {\n return new Promise((resolve, reject) => {\n const defaultConfig = {\n delimiter: '', // auto-detect\n newline: '', // auto-detect\n quoteChar: '\"',\n escapeChar: '\"',\n header: false,\n transformHeader: undefined,\n dynamicTyping: true,\n preview: 0,\n encoding: 'UTF-8',\n worker: true,\n comments: false,\n step: undefined,\n complete: results => {\n const res = {\n data: this.getResult(results),\n delimiter: results.meta.delimiter,\n hasErrors: false\n }\n res.messages = results.errors.map(msg => {\n msg.type = msg.code === 'UndetectableDelimiter' ? 'info' : 'error'\n if (msg.type === 'error') res.hasErrors = true\n msg.hint = hintsByCode[msg.code]\n return msg\n })\n resolve(res)\n },\n error: (error, file) => {\n reject(error)\n },\n download: false,\n downloadRequestHeaders: undefined,\n downloadRequestBody: undefined,\n skipEmptyLines: 'greedy',\n chunk: undefined,\n chunkSize: undefined,\n fastMode: undefined,\n beforeFirstChunk: undefined,\n withCredentials: undefined,\n transform: undefined,\n delimitersToGuess: [',', '\\t', '|', ';', Papa.RECORD_SEP, Papa.UNIT_SEP]\n }\n\n Papa.parse(file, { ...defaultConfig, ...config })\n })\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:['icon', {'disabled': _vm.disabled }],attrs:{\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 14 14\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')}}},[_c('path',{attrs:{\"d\":\"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z\",\"fill\":\"#A2B1C6\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./close.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./close.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./close.vue?vue&type=template&id=86f3a16c&scoped=true&\"\nimport script from \"./close.vue?vue&type=script&lang=js&\"\nexport * from \"./close.vue?vue&type=script&lang=js&\"\nimport style0 from \"./close.vue?vue&type=style&index=0&id=86f3a16c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"86f3a16c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'disabled': _vm.disabled }},[_c('div',{staticClass:\"text-field-label\"},[_vm._v(\"Delimiter\")]),_c('div',{staticClass:\"delimiter-selector-container\",style:({ width: _vm.width }),on:{\"click\":_vm.onContainerClick}},[_c('div',{staticClass:\"value\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],ref:\"delimiterInput\",class:{ 'filled': _vm.filled },attrs:{\"type\":\"text\",\"maxlength\":\"1\",\"disabled\":_vm.disabled},domProps:{\"value\":(_vm.inputValue)},on:{\"click\":function($event){$event.stopPropagation();},\"input\":function($event){if($event.target.composing){ return; }_vm.inputValue=$event.target.value}}}),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.getSymbolName(_vm.value)))])]),_c('div',{staticClass:\"controls\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('clear-icon',{attrs:{\"disabled\":_vm.disabled},nativeOn:{\"click\":function($event){return _vm.clear($event)}}}),_c('drop-down-chevron',{attrs:{\"disabled\":_vm.disabled},nativeOn:{\"click\":function($event){!_vm.disabled && (_vm.showOptions = !_vm.showOptions)}}})],1)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showOptions),expression:\"showOptions\"}],staticClass:\"options\",style:({ width: _vm.width })},_vm._l((_vm.options),function(option,index){return _c('div',{key:index,staticClass:\"option\",on:{\"click\":function($event){return _vm.chooseOption(option)}}},[_c('pre',[_vm._v(_vm._s(option))]),_c('div',[_vm._v(_vm._s(_vm.getSymbolName(option)))])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n 0: { name: 'null character' },\n 1: { name: 'start of header' },\n 2: { name: 'start of text' },\n 3: { name: 'end of text' },\n 4: { name: 'end of transmission' },\n 5: { name: 'enquiry' },\n 6: { name: 'acknowledge' },\n 7: { name: 'bell (ring)' },\n 8: { name: 'backspace' },\n 9: { name: 'horizontal tab' },\n 10: { name: 'line feed' },\n 11: { name: 'vertical tab' },\n 12: { name: 'form feed' },\n 13: { name: 'carriage return' },\n 14: { name: 'shift out' },\n 15: { name: 'shift in' },\n 16: { name: 'data link escape' },\n 17: { name: 'device control 1' },\n 18: { name: 'device control 2' },\n 19: { name: 'device control 3' },\n 20: { name: 'device control 4' },\n 21: { name: 'negative acknowledge' },\n 22: { name: 'synchronize' },\n 23: { name: 'end transmission block' },\n 24: { name: 'cancel' },\n 25: { name: 'end of medium' },\n 26: { name: 'substitute' },\n 27: { name: 'escape' },\n 28: { name: 'file separator' },\n 29: { name: 'group separator' },\n 30: { name: 'record separator' },\n 31: { name: 'unit separator' },\n 32: { name: 'space' },\n 33: { name: 'exclamation mark' },\n 34: { name: 'quotation mark' },\n 35: { name: 'number sign' },\n 36: { name: 'dollar sign' },\n 37: { name: 'percent sign' },\n 38: { name: 'ampersand' },\n 39: { name: 'apostrophe' },\n 40: { name: 'left parenthesis' },\n 41: { name: 'right parenthesis' },\n 42: { name: 'asterisk' },\n 43: { name: 'plus sign' },\n 44: { name: 'comma' },\n 45: { name: 'hyphen' },\n 46: { name: 'period' },\n 47: { name: 'slash' },\n 48: { name: 'digit 0' },\n 49: { name: 'digit 1' },\n 50: { name: 'digit 2' },\n 51: { name: 'digit 3' },\n 52: { name: 'digit 4' },\n 53: { name: 'digit 5' },\n 54: { name: 'digit 6' },\n 55: { name: 'digit 7' },\n 56: { name: 'digit 8' },\n 57: { name: 'digit 9' },\n 58: { name: 'colon' },\n 59: { name: 'semicolon' },\n 60: { name: 'less-than' },\n 61: { name: 'equals-to' },\n 62: { name: 'greater-than' },\n 63: { name: 'question mark' },\n 64: { name: 'at sign' },\n 65: { name: 'uppercase A' },\n 66: { name: 'uppercase B' },\n 67: { name: 'uppercase C' },\n 68: { name: 'uppercase D' },\n 69: { name: 'uppercase E' },\n 70: { name: 'uppercase F' },\n 71: { name: 'uppercase G' },\n 72: { name: 'uppercase H' },\n 73: { name: 'uppercase I' },\n 74: { name: 'uppercase J' },\n 75: { name: 'uppercase K' },\n 76: { name: 'uppercase L' },\n 77: { name: 'uppercase M' },\n 78: { name: 'uppercase N' },\n 79: { name: 'uppercase O' },\n 80: { name: 'uppercase P' },\n 81: { name: 'uppercase Q' },\n 82: { name: 'uppercase R' },\n 83: { name: 'uppercase S' },\n 84: { name: 'uppercase T' },\n 85: { name: 'uppercase U' },\n 86: { name: 'uppercase V' },\n 87: { name: 'uppercase W' },\n 88: { name: 'uppercase X' },\n 89: { name: 'uppercase Y' },\n 90: { name: 'uppercase Z' },\n 91: { name: 'left square bracket' },\n 92: { name: 'backslash' },\n 93: { name: 'right square bracket' },\n 94: { name: 'caret' },\n 95: { name: 'underscore' },\n 96: { name: 'grave accent' },\n 97: { name: 'lowercase a' },\n 98: { name: 'lowercase b' },\n 99: { name: 'lowercase c' },\n 100: { name: 'lowercase d' },\n 101: { name: 'lowercase e' },\n 102: { name: 'lowercase f' },\n 103: { name: 'lowercase g' },\n 104: { name: 'lowercase h' },\n 105: { name: 'lowercase i' },\n 106: { name: 'lowercase j' },\n 107: { name: 'lowercase k' },\n 108: { name: 'lowercase l' },\n 109: { name: 'lowercase m' },\n 110: { name: 'lowercase n' },\n 111: { name: 'lowercase o' },\n 112: { name: 'lowercase p' },\n 113: { name: 'lowercase q' },\n 114: { name: 'lowercase r' },\n 115: { name: 'lowercase s' },\n 116: { name: 'lowercase t' },\n 117: { name: 'lowercase u' },\n 118: { name: 'lowercase v' },\n 119: { name: 'lowercase w' },\n 120: { name: 'lowercase x' },\n 121: { name: 'lowercase y' },\n 122: { name: 'lowercase z' },\n 123: { name: 'left curly brace' },\n 124: { name: 'vertical bar' },\n 125: { name: 'right curly brace' },\n 126: { name: 'tilde' },\n 127: { name: 'delete (rubout)' }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:['chevron-icon', {'disabled': _vm.disabled}],attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M6.175 7.15002L10 10.975L13.825 7.15002L15 8.33336L10 13.3334L5 8.33336L6.175 7.15002Z\",\"fill\":\"#C8D4E3\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropDownChevron.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropDownChevron.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./dropDownChevron.vue?vue&type=template&id=29bdb7bf&scoped=true&\"\nimport script from \"./dropDownChevron.vue?vue&type=script&lang=js&\"\nexport * from \"./dropDownChevron.vue?vue&type=script&lang=js&\"\nimport style0 from \"./dropDownChevron.vue?vue&type=style&index=0&id=29bdb7bf&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"29bdb7bf\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:['clear-icon', {'disabled': _vm.disabled}],attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"d\":\"M14.3481 14.849C13.8791 15.318 13.1191 15.318 12.6511 14.849L10.0001 11.819L7.34907 14.848C6.88007 15.317 6.12007 15.317 5.65207 14.848C5.18307 14.379 5.18307 13.619 5.65207 13.151L8.41007 10.001L5.65107 6.84898C5.18207 6.37998 5.18207 5.62098 5.65107 5.15198C6.12007 4.68298 6.87907 4.68298 7.34807 5.15198L10.0001 8.18298L12.6511 5.15198C13.1201 4.68298 13.8791 4.68298 14.3481 5.15198C14.8171 5.62098 14.8171 6.38098 14.3481 6.84898L11.5901 10.001L14.3481 13.151C14.8171 13.62 14.8171 14.38 14.3481 14.849V14.849Z\",\"fill\":\"#C8D4E3\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clear.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clear.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./clear.vue?vue&type=template&id=69060e4e&scoped=true&\"\nimport script from \"./clear.vue?vue&type=script&lang=js&\"\nexport * from \"./clear.vue?vue&type=script&lang=js&\"\nimport style0 from \"./clear.vue?vue&type=style&index=0&id=69060e4e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69060e4e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=44b0b048&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=44b0b048&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44b0b048\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:['checkbox-container', { 'checked': _vm.checked }, {'disabled': _vm.disabled}],on:{\"click\":function($event){$event.stopPropagation();return _vm.onClick($event)}}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.checked),expression:\"!checked\"}],staticClass:\"unchecked\"}),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.checked && !_vm.disabled),expression:\"checked && !disabled\"}],attrs:{\"src\":_vm.theme === 'light'\n ? require('@/assets/images/checkbox_checked_light.svg')\n : require('@/assets/images/checkbox_checked.svg')}}),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.checked && _vm.disabled),expression:\"checked && disabled\"}],attrs:{\"src\":require('@/assets/images/checkbox_checked_disabled.svg')}}),(_vm.label)?_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.label))]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckBox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckBox.vue?vue&type=template&id=0dd86013&scoped=true&\"\nimport script from \"./CheckBox.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CheckBox.vue?vue&type=style&index=0&id=0dd86013&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0dd86013\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"rounded-bg\"},[_c('div',{ref:\"header-container\",staticClass:\"header-container\"},[_c('div',_vm._l((_vm.header),function(th,index){return _c('div',{key:index,staticClass:\"fixed-header\",style:({ width: ((th.width) + \"px\") })},[_vm._v(\" \"+_vm._s(th.name)+\" \")])}),0)]),_c('div',{ref:\"table-container\",staticClass:\"table-container\",style:({maxHeight: (_vm.height + \"px\")}),on:{\"scroll\":_vm.onScrollTable}},[_c('table',{ref:\"table\"},[_c('thead',[_c('tr',_vm._l((_vm.dataSet.columns),function(th,index){return _c('th',{key:index,ref:\"th\",refInFor:true},[_c('div',{staticClass:\"cell-data\",style:(_vm.cellStyle)},[_vm._v(_vm._s(th))])])}),0)]),_c('tbody',_vm._l((_vm.currentPageData),function(row,index){return _c('tr',{key:index},_vm._l((row),function(value,valIndex){return _c('td',{key:valIndex},[_c('div',{staticClass:\"cell-data\",style:(_vm.cellStyle)},[_vm._v(_vm._s(value))])])}),0)}),0)])])]),_c('div',{staticClass:\"table-footer\"},[_c('div',{staticClass:\"table-footer-count\"},[_vm._v(\" \"+_vm._s(_vm.dataSet.values.length)+\" \"+_vm._s(_vm.dataSet.values.length === 1 ? 'row' : 'rows')+\" retrieved \"),(_vm.preview)?_c('span',[_vm._v(\"for preview\")]):_vm._e(),(_vm.time)?_c('span',[_vm._v(\"in \"+_vm._s(_vm.time))]):_vm._e()]),_c('pager',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.pageCount > 1),expression:\"pageCount > 1\"}],attrs:{\"page-count\":_vm.pageCount},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('paginate',{attrs:{\"page-count\":_vm.pageCount,\"page-range\":5,\"margin-pages\":1,\"prev-text\":_vm.chevron,\"next-text\":_vm.chevron,\"no-li-surround\":true,\"container-class\":\"paginator-continer\",\"page-link-class\":\"paginator-page-link\",\"active-class\":\"paginator-active-page\",\"break-view-link-class\":\"paginator-break\",\"next-link-class\":\"paginator-next\",\"prev-link-class\":\"paginator-prev\",\"disabled-class\":\"paginator-disabled\"},model:{value:(_vm.page),callback:function ($$v) {_vm.page=$$v},expression:\"page\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pager.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pager.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Pager.vue?vue&type=template&id=c74ce19a&scoped=true&\"\nimport script from \"./Pager.vue?vue&type=script&lang=js&\"\nexport * from \"./Pager.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Pager.vue?vue&type=style&index=0&id=c74ce19a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c74ce19a\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=778e321f&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"778e321f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"logsContainer\",staticClass:\"logs-container\"},_vm._l((_vm.messages),function(msg,index){return _c('div',{key:index,staticClass:\"msg\"},[(msg.type === 'error')?_c('img',{attrs:{\"src\":require('@/assets/images/error.svg')}}):_vm._e(),(msg.type === 'info')?_c('img',{attrs:{\"src\":require('@/assets/images/info.svg'),\"width\":\"20px\"}}):_vm._e(),(msg.type === 'success')?_c('img',{attrs:{\"src\":require('@/assets/images/success.svg')}}):_vm._e(),(msg.type === 'loading')?_c('loading-indicator',{attrs:{\"progress\":msg.progress}}):_vm._e(),_c('span',{staticClass:\"msg-text\"},[_vm._v(_vm._s(_vm.serializeMessage(msg)))])],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:_vm.animationClass,attrs:{\"height\":_vm.size,\"width\":_vm.size,\"viewBox\":(\"0 0 \" + _vm.size + \" \" + _vm.size)}},[_c('circle',{staticClass:\"loader-svg bg\",style:({ strokeWidth: _vm.strokeWidth }),attrs:{\"cx\":_vm.size / 2,\"cy\":_vm.size / 2,\"r\":_vm.radius}}),_c('circle',{staticClass:\"loader-svg front\",style:({ strokeDasharray: _vm.circleProgress, strokeDashoffset: _vm.offset, strokeWidth: _vm.strokeWidth }),attrs:{\"cx\":_vm.size / 2,\"cy\":_vm.size / 2,\"r\":_vm.radius}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingIndicator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingIndicator.vue?vue&type=template&id=62096452&scoped=true&\"\nimport script from \"./LoadingIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingIndicator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoadingIndicator.vue?vue&type=style&index=0&id=62096452&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62096452\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Logs.vue?vue&type=template&id=1c9f27dc&scoped=true&\"\nimport script from \"./Logs.vue?vue&type=script&lang=js&\"\nexport * from \"./Logs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Logs.vue?vue&type=style&index=0&id=1c9f27dc&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1c9f27dc\",\n null\n \n)\n\nexport default component.exports","export default {\n getPeriod (start, end) {\n const diff = end.getTime() - start.getTime()\n const seconds = diff / 1000\n return seconds.toFixed(3) + 's'\n },\n\n debounce (func, ms) {\n let timeout\n return function () {\n clearTimeout(timeout)\n timeout = setTimeout(() => func.apply(this, arguments), ms)\n }\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=42183db6&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=42183db6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42183db6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DbUploader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DbUploader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DbUploader.vue?vue&type=template&id=525b8c89&scoped=true&\"\nimport script from \"./DbUploader.vue?vue&type=script&lang=js&\"\nexport * from \"./DbUploader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DbUploader.vue?vue&type=style&index=0&id=525b8c89&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"525b8c89\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('svg',{staticClass:\"icon\",attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('path',{attrs:{\"d\":\"M10.5 1.5H4.5C3.675 1.5 3 2.175 3 3V15C3 15.825 3.675 16.5 4.5 16.5H13.5C14.325 16.5 15 15.825 15 15V6L10.5 1.5ZM13.5 15H4.5V3H9.75V6.75H13.5V15ZM12 8.25V13.575L10.425 12L8.325 14.1L6.225 12L8.325 9.9L6.675 8.25H12Z\",\"fill\":\"#A2B1C6\"}})]),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" \"+_vm._s(_vm.tooltip)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./export.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./export.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./export.vue?vue&type=template&id=7f50cd00&scoped=true&\"\nimport script from \"./export.vue?vue&type=script&lang=js&\"\nexport * from \"./export.vue?vue&type=script&lang=js&\"\nimport style0 from \"./export.vue?vue&type=style&index=0&id=7f50cd00&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7f50cd00\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('svg',{staticClass:\"icon\",attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('g',{attrs:{\"clip-path\":\"url(#clip0)\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"\\n M13.6573 1.5H2.59985C1.77485 1.5 1.09985 2.175 1.09985 3V13.6649C1.09985 14.4899\\n 1.77485 15.1649 2.59985\\n 15.1649H9.84V13.6649H8.87866V9.08244H13.6573V9.83777H15.1573V3C15.1573\\n 2.17 14.4873 1.5 13.6573 1.5ZM13.6573\\n 7.58244V3H8.87866V7.58244H13.6573ZM7.37866 3H2.59985V7.58244H7.37866V3ZM2.59985\\n 9.08244V13.6649H7.37866V9.08244H2.59985ZM13.1702\\n 10.8434H15.6702V13.1717H18.0001V15.6717H15.6702V18H13.1702V15.6717H10.8401V13.1717H13.1702V10.8434Z\\n \",\"fill\":\"#A2B1C6\"}})]),_c('defs',[_c('clipPath',{attrs:{\"id\":\"clip0\"}},[_c('rect',{attrs:{\"width\":\"18\",\"height\":\"18\",\"fill\":\"white\"}})])])]),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" Add new table from CSV \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./addTable.vue?vue&type=template&id=de75f292&scoped=true&\"\nimport script from \"./addTable.vue?vue&type=script&lang=js&\"\nexport * from \"./addTable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./addTable.vue?vue&type=style&index=0&id=de75f292&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"de75f292\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2e186d82&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=2e186d82&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e186d82\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"tabs\"}},[(_vm.tabs.length > 0)?_c('div',{attrs:{\"id\":\"tabs-header\"}},_vm._l((_vm.tabs),function(tab,index){return _c('div',{key:index,class:[{'tab-selected': (tab.id === _vm.selectedIndex)}, 'tab'],on:{\"click\":function($event){return _vm.selectTab(tab.id)}}},[_c('div',{staticClass:\"tab-name\"},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(tab.isUnsaved),expression:\"tab.isUnsaved\"}],staticClass:\"star\"},[_vm._v(\"*\")]),(tab.name)?_c('span',[_vm._v(_vm._s(tab.name))]):_c('span',{staticClass:\"tab-untitled\"},[_vm._v(_vm._s(tab.tempName))])]),_c('div',[_c('close-icon',{staticClass:\"close-icon\",attrs:{\"size\":10},on:{\"click\":function($event){return _vm.beforeCloseTab(index)}}})],1)])}),0):_vm._e(),_vm._l((_vm.tabs),function(tab,index){return _c('tab',{key:tab.id,attrs:{\"id\":tab.id,\"init-name\":tab.name,\"init-query\":tab.query,\"init-chart\":tab.chart,\"is-predefined\":tab.isPredefined,\"tab-index\":index}})}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tabs.length === 0),expression:\"tabs.length === 0\"}],attrs:{\"id\":\"start-guide\"}},[_c('span',{staticClass:\"link\",on:{\"click\":function($event){return _vm.$root.$emit('createNewQuery')}}},[_vm._v(\"Create\")]),_vm._v(\" a new query from scratch or open the one from \"),_c('router-link',{staticClass:\"link\",attrs:{\"to\":\"/my-queries\"}},[_vm._v(\"My queries\")])],1),_c('modal',{attrs:{\"name\":\"close-warn\",\"classes\":\"dialog\",\"height\":\"auto\"}},[_c('div',{staticClass:\"dialog-header\"},[_vm._v(\" Close tab \"+_vm._s(_vm.closingTabIndex !== null ? (_vm.tabs[_vm.closingTabIndex].name || (\"[\" + (_vm.tabs[_vm.closingTabIndex].tempName) + \"]\")) : '')+\" \"),_c('close-icon',{on:{\"click\":function($event){return _vm.$modal.hide('close-warn')}}})],1),_c('div',{staticClass:\"dialog-body\"},[_vm._v(\" You have unsaved changes. Save changes in \"+_vm._s(_vm.closingTabIndex !== null ? (_vm.tabs[_vm.closingTabIndex].name || (\"[\" + (_vm.tabs[_vm.closingTabIndex].tempName) + \"]\")) : '')+\" before closing? \")]),_c('div',{staticClass:\"dialog-buttons-container\"},[_c('button',{staticClass:\"secondary\",on:{\"click\":function($event){return _vm.closeTab(_vm.closingTabIndex)}}},[_vm._v(\" Close without saving \")]),_c('button',{staticClass:\"secondary\",on:{\"click\":function($event){return _vm.$modal.hide('close-warn')}}},[_vm._v(\"Cancel\")]),_c('button',{staticClass:\"primary\",on:{\"click\":function($event){return _vm.saveAndClose(_vm.closingTabIndex)}}},[_vm._v(\"Save and close\")])])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isActive),expression:\"isActive\"}],staticClass:\"tab-content-container\"},[_c('splitpanes',{staticClass:\"query-results-splitter\",attrs:{\"horizontal\":\"\",\"before\":{ size: 50, max: 100 },\"after\":{ size: 50, max: 100 }},scopedSlots:_vm._u([{key:\"left-pane\",fn:function(){return [_c('div',{staticClass:\"query-editor\"},[_c('sql-editor',{ref:\"sqlEditor\",model:{value:(_vm.query),callback:function ($$v) {_vm.query=$$v},expression:\"query\"}})],1)]},proxy:true},{key:\"right-pane\",fn:function(){return [_c('div',{ref:\"bottomPane\",attrs:{\"id\":\"bottomPane\"}},[_c('view-switcher',{attrs:{\"view\":_vm.view},on:{\"update:view\":function($event){_vm.view=$event}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.view === 'table'),expression:\"view === 'table'\"}],staticClass:\"table-view\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.result === null && !_vm.isGettingResults && !_vm.error),expression:\"result === null && !isGettingResults && !error\"}],staticClass:\"table-preview result-before\"},[_vm._v(\" Run your query and get results here \")]),(_vm.isGettingResults)?_c('div',{staticClass:\"table-preview result-in-progress\"},[_c('loading-indicator',{attrs:{\"size\":30}}),_vm._v(\" Fetching results... \")],1):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.result === undefined && !_vm.isGettingResults && !_vm.error),expression:\"result === undefined && !isGettingResults && !error\"}],staticClass:\"table-preview result-empty\"},[_vm._v(\" No rows retrieved according to your query \")]),(_vm.error)?_c('logs',{attrs:{\"messages\":[_vm.error]}}):_vm._e(),(_vm.result)?_c('sql-table',{attrs:{\"data-set\":_vm.result,\"time\":_vm.time,\"height\":_vm.tableViewHeight}}):_vm._e()],1),_c('chart',{ref:\"chart\",attrs:{\"visible\":_vm.view === 'chart',\"sql-result\":_vm.result,\"init-chart\":_vm.initChart},on:{\"update\":function($event){return _vm.$store.commit('updateTab', { index: _vm.tabIndex, isUnsaved: true })}}})],1)]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"codemirror-container\"},[_c('codemirror',{ref:\"cm\",attrs:{\"options\":_vm.cmOptions},on:{\"changes\":_vm.onChange},model:{value:(_vm.query),callback:function ($$v) {_vm.query=$$v},expression:\"query\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n tabs: [],\n currentTab: null,\n currentTabId: null,\n untitledLastIndex: 0,\n predefinedQueries: [],\n db: null\n}\n","import Vue from 'vue'\n\nexport default {\n setDb (state, db) {\n if (state.db) {\n state.db.shutDown()\n }\n state.db = db\n },\n\n updateTab (state, { index, name, id, query, chart, isUnsaved }) {\n const tab = state.tabs[index]\n const oldId = tab.id\n\n if (id && state.currentTabId === oldId) {\n state.currentTabId = id\n }\n\n if (id) { tab.id = id }\n if (name) { tab.name = name }\n if (query) { tab.query = query }\n if (chart) { tab.chart = chart }\n if (isUnsaved !== undefined) { tab.isUnsaved = isUnsaved }\n if (!isUnsaved) {\n // Saved query is not predefined\n delete tab.isPredefined\n }\n\n Vue.set(state.tabs, index, tab)\n },\n deleteTab (state, index) {\n // If closing tab is the current opened\n if (state.tabs[index].id === state.currentTabId) {\n if (index < state.tabs.length - 1) {\n state.currentTabId = state.tabs[index + 1].id\n } else if (index > 0) {\n state.currentTabId = state.tabs[index - 1].id\n } else {\n state.currentTabId = null\n state.currentTab = null\n state.untitledLastIndex = 0\n }\n }\n state.tabs.splice(index, 1)\n },\n setCurrentTabId (state, id) {\n state.currentTabId = id\n },\n setCurrentTab (state, tab) {\n state.currentTab = tab\n },\n updatePredefinedQueries (state, queries) {\n if (Array.isArray(queries)) {\n state.predefinedQueries = queries\n } else {\n state.predefinedQueries = [queries]\n }\n }\n}\n","import { nanoid } from 'nanoid'\n\nexport default {\n async addTab ({ state }, data) {\n const tab = data ? JSON.parse(JSON.stringify(data)) : {}\n // If no data then create a new blank one...\n // No data.id means to create new tab, but not blank,\n // e.g. with 'select * from csv_import' query after csv import\n if (!data || !data.id) {\n tab.id = nanoid()\n tab.name = null\n tab.tempName = state.untitledLastIndex\n ? `Untitled ${state.untitledLastIndex}`\n : 'Untitled'\n tab.isUnsaved = true\n } else {\n tab.isUnsaved = false\n }\n\n // add new tab only if was not already opened\n if (!state.tabs.some(openedTab => openedTab.id === tab.id)) {\n state.tabs.push(tab)\n if (!tab.name) {\n state.untitledLastIndex += 1\n }\n }\n\n return tab.id\n }\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport state from '@/store/state'\nimport mutations from '@/store/mutations'\nimport actions from '@/store/actions'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state,\n mutations,\n actions\n})\n","import CM from 'codemirror'\nimport 'codemirror/addon/hint/show-hint.js'\nimport 'codemirror/addon/hint/sql-hint.js'\nimport store from '@/store'\n\nexport function getHints (cm, options) {\n const token = cm.getTokenAt(cm.getCursor()).string.toUpperCase()\n const result = CM.hint.sql(cm, options)\n // Don't show the hint if there is only one option\n // and the token is already completed with this option\n if (result.list.length === 1 && result.list[0].text.toUpperCase() === token) {\n result.list = []\n }\n return result\n}\n\nconst hintOptions = {\n get tables () {\n const tables = {}\n if (store.state.db.schema) {\n store.state.db.schema.forEach(table => {\n tables[table.name] = table.columns.map(column => column.name)\n })\n }\n return tables\n },\n get defaultTable () {\n const schema = store.state.db.schema\n return schema && schema.length === 1 ? schema[0].name : null\n },\n completeSingle: false,\n completeOnSingleClick: true,\n alignWithWord: false\n}\n\nexport function showHintOnDemand (editor) {\n CM.showHint(editor, getHints, hintOptions)\n}\n\nexport default function showHint (editor) {\n // Don't show autocomplete after a space or semicolon or in string literals\n const token = editor.getTokenAt(editor.getCursor())\n const ch = token.string.slice(-1)\n const tokenType = token.type\n if (tokenType === 'string' || !ch || ch === ' ' || ch === ';') {\n return\n }\n\n CM.showHint(editor, getHints, hintOptions)\n}\n","\n\n\n\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=ad4bbbe4&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=ad4bbbe4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ad4bbbe4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"view-switcher\"},[_c('div',{class:['table-mode', {'active-mode': _vm.view === 'table'}],on:{\"click\":function($event){return _vm.$emit('update:view','table')}}},[_vm._v(\" Table \")]),_c('div',{class:['chart-mode', {'active-mode': _vm.view === 'chart'}],on:{\"click\":function($event){return _vm.$emit('update:view','chart')}}},[_vm._v(\" Chart \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewSwitcher.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewSwitcher.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ViewSwitcher.vue?vue&type=template&id=59806640&scoped=true&\"\nimport script from \"./ViewSwitcher.vue?vue&type=script&lang=js&\"\nexport * from \"./ViewSwitcher.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ViewSwitcher.vue?vue&type=style&index=0&id=59806640&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"59806640\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"chart-container\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.sqlResult && _vm.visible),expression:\"!sqlResult && visible\"}],staticClass:\"warning chart-warning\"},[_vm._v(\" There is no data to build a chart. Run your sql query and make sure the result is not empty. \")]),_c('PlotlyEditor',{ref:\"plotlyEditor\",staticClass:\"chart\",style:({ height: !_vm.sqlResult ? 'calc(100% - 40px)' : '100%' }),attrs:{\"data\":_vm.state.data,\"layout\":_vm.state.layout,\"frames\":_vm.state.frames,\"config\":{ editable: true, displaylogo: false },\"dataSources\":_vm.dataSources,\"dataSourceOptions\":_vm.dataSourceOptions,\"plotly\":_vm.plotly,\"useResizeHandler\":true,\"debug\":true,\"advancedTraceTypeSelector\":true},on:{\"onUpdate\":_vm.update,\"onRender\":_vm.go}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import dereference from 'react-chart-editor/lib/lib/dereference'\n\nexport function getDataSourcesFromSqlResult (sqlResult) {\n if (!sqlResult) {\n return {}\n }\n const dataSorces = {}\n const matrix = sqlResult.values\n const [row] = matrix\n const transposedMatrix = row.map((value, column) => matrix.map(row => row[column]))\n sqlResult.columns.forEach((column, index) => {\n dataSorces[column] = transposedMatrix[index]\n })\n return dataSorces\n}\n\nexport function getOptionsFromDataSources (dataSources) {\n return Object.keys(dataSources).map(name => ({\n value: name,\n label: name\n }))\n}\n\nexport function getChartStateForSave (state, dataSources) {\n // we don't need to save the data, only settings\n // so we modify state.data using dereference\n const stateCopy = JSON.parse(JSON.stringify(state))\n const emptySources = {}\n for (const key in dataSources) {\n emptySources[key] = []\n }\n dereference(stateCopy.data, emptySources)\n return stateCopy\n}\n\nexport default {\n getDataSourcesFromSqlResult,\n getOptionsFromDataSources,\n getChartStateForSave\n}\n","\n\n\n\n\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=291e46e5&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=291e46e5&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"291e46e5\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=8b37f1a0&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=8b37f1a0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8b37f1a0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=bfe8f4ee&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=4dece747&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=4dece747&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4dece747\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.showedQueries.length === 0)?_c('div',{attrs:{\"id\":\"start-guide\"}},[_vm._v(\" You don't have saved queries so far. \"),_c('span',{staticClass:\"link\",on:{\"click\":function($event){return _vm.$root.$emit('createNewQuery')}}},[_vm._v(\"Create\")]),_vm._v(\" the one from scratch or \"),_c('span',{staticClass:\"link\",on:{\"click\":_vm.importQueries}},[_vm._v(\"import\")]),_vm._v(\" from a file. \")]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showedQueries.length > 0),expression:\"showedQueries.length > 0\"}],ref:\"my-queries-content\",attrs:{\"id\":\"my-queries-content\"}},[_c('div',{attrs:{\"id\":\"my-queries-toolbar\"}},[_c('div',{attrs:{\"id\":\"toolbar-buttons\"}},[_c('button',{staticClass:\"toolbar\",attrs:{\"id\":\"toolbar-btns-import\"},on:{\"click\":_vm.importQueries}},[_vm._v(\" Import \")]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedQueriesCount > 0),expression:\"selectedQueriesCount > 0\"}],staticClass:\"toolbar\",attrs:{\"id\":\"toolbar-btns-export\"},on:{\"click\":function($event){return _vm.exportSelectedQueries()}}},[_vm._v(\" Export \")]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedNotPredefinedCount > 0),expression:\"selectedNotPredefinedCount > 0\"}],staticClass:\"toolbar\",attrs:{\"id\":\"toolbar-btns-delete\"},on:{\"click\":function($event){return _vm.showDeleteDialog(_vm.selectedQueriesIds)}}},[_vm._v(\" Delete \")])]),_c('div',{attrs:{\"id\":\"toolbar-search\"}},[_c('text-field',{attrs:{\"placeholder\":\"Search query by name\",\"width\":\"300px\"},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}})],1)]),_c('div',{staticClass:\"rounded-bg\"},[_c('div',{staticClass:\"header-container\"},[_c('div',[_c('div',{ref:\"name-th\",staticClass:\"fixed-header\"},[_c('check-box',{ref:\"mainCheckBox\",attrs:{\"theme\":\"light\"},on:{\"click\":_vm.toggleSelectAll}}),_c('div',{staticClass:\"name-th\"},[_vm._v(\"Name\")])],1),_c('div',{staticClass:\"fixed-header\"},[_vm._v(\" Created at \")])])]),_c('div',{staticClass:\"table-container\",style:({ 'max-height': (_vm.maxTableHeight + \"px\") })},[_c('table',{ref:\"table\"},[_c('tbody',_vm._l((_vm.showedQueries),function(query,index){return _c('tr',{key:query.id,on:{\"click\":function($event){return _vm.openQuery(index)}}},[_c('td',{ref:\"name-td\",refInFor:true},[_c('div',{staticClass:\"cell-data\"},[_c('check-box',{ref:\"rowCheckBox\",refInFor:true,attrs:{\"init\":_vm.selectAll || _vm.selectedQueriesIds.has(query.id)},on:{\"click\":function($event){return _vm.toggleRow($event, query.id)}}}),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(query.name))]),(query.isPredefined)?_c('div',{staticClass:\"badge\",on:{\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_vm._v(\" Predefined \"),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" Predefined queries come from the server. These queries can’t be deleted or renamed. \")])]):_vm._e()],1)]),_c('td',[_c('div',{staticClass:\"second-column\"},[_c('div',{staticClass:\"date-container\"},[_vm._v(_vm._s(_vm._f(\"date\")(query.createdAt)))]),_c('div',{staticClass:\"icons-container\"},[(!query.isPredefined)?_c('rename-icon',{on:{\"click\":function($event){return _vm.showRenameDialog(query.id)}}}):_vm._e(),_c('copy-icon',{on:{\"click\":function($event){return _vm.duplicateQuery(index)}}}),_c('export-icon',{attrs:{\"tooltip\":\"Export query to file\"},on:{\"click\":function($event){return _vm.exportToFile([query], ((query.name) + \".json\"))}}}),(!query.isPredefined)?_c('delete-icon',{on:{\"click\":function($event){_vm.showDeleteDialog((new Set()).add(query.id))}}}):_vm._e()],1)])])])}),0)])])])]),_c('modal',{attrs:{\"name\":\"rename\",\"classes\":\"dialog\",\"height\":\"auto\"}},[_c('div',{staticClass:\"dialog-header\"},[_vm._v(\" Rename query \"),_c('close-icon',{on:{\"click\":function($event){return _vm.$modal.hide('rename')}}})],1),_c('div',{staticClass:\"dialog-body\"},[_c('text-field',{attrs:{\"label\":\"New query name\",\"error-msg\":_vm.errorMsg,\"width\":\"100%\"},model:{value:(_vm.newName),callback:function ($$v) {_vm.newName=$$v},expression:\"newName\"}})],1),_c('div',{staticClass:\"dialog-buttons-container\"},[_c('button',{staticClass:\"secondary\",on:{\"click\":function($event){return _vm.$modal.hide('rename')}}},[_vm._v(\"Cancel\")]),_c('button',{staticClass:\"primary\",on:{\"click\":_vm.renameQuery}},[_vm._v(\"Rename\")])])]),_c('modal',{attrs:{\"name\":\"delete\",\"classes\":\"dialog\",\"height\":\"auto\"}},[_c('div',{staticClass:\"dialog-header\"},[_vm._v(\" Delete \"+_vm._s(_vm.deleteGroup ? 'queries' : 'query')+\" \"),_c('close-icon',{on:{\"click\":function($event){return _vm.$modal.hide('delete')}}})],1),_c('div',{staticClass:\"dialog-body\"},[_vm._v(\" \"+_vm._s(_vm.deleteDialogMsg)+\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedQueriesCount > _vm.selectedNotPredefinedCount),expression:\"selectedQueriesCount > selectedNotPredefinedCount\"}],attrs:{\"id\":\"note\"}},[_c('img',{attrs:{\"src\":require('@/assets/images/info.svg')}}),_vm._v(\" Note: Predefined queries you've selected won't be deleted \")])]),_c('div',{staticClass:\"dialog-buttons-container\"},[_c('button',{staticClass:\"secondary\",on:{\"click\":function($event){return _vm.$modal.hide('delete')}}},[_vm._v(\"Cancel\")]),_c('button',{staticClass:\"primary\",on:{\"click\":_vm.deleteQuery}},[_vm._v(\"Delete\")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('svg',{staticClass:\"icon\",attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('path',{attrs:{\"d\":\"M10.545 6.75L11.25 7.455L4.44 14.25H3.75V13.56L10.545 6.75ZM13.245 2.25C13.0575 2.25 12.8625 2.325 12.72 2.4675L11.3475 3.84L14.16 6.6525L15.5325 5.28C15.825 4.9875 15.825 4.5 15.5325 4.2225L13.7775 2.4675C13.6275 2.3175 13.44 2.25 13.245 2.25ZM10.545 4.6425L2.25 12.9375V15.75H5.0625L13.3575 7.455L10.545 4.6425Z\",\"fill\":\"#A2B1C6\"}})]),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" Rename query \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rename.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rename.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./rename.vue?vue&type=template&id=45e6fb96&scoped=true&\"\nimport script from \"./rename.vue?vue&type=script&lang=js&\"\nexport * from \"./rename.vue?vue&type=script&lang=js&\"\nimport style0 from \"./rename.vue?vue&type=style&index=0&id=45e6fb96&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"45e6fb96\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('svg',{staticClass:\"icon\",attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('path',{attrs:{\"d\":\"M14.25 15.75H6V5.25H14.25V15.75ZM14.25 3.75H6C5.60218 3.75 5.22064 3.90804 4.93934 4.18934C4.65804 4.47064 4.5 4.85218 4.5 5.25V15.75C4.5 16.1478 4.65804 16.5294 4.93934 16.8107C5.22064 17.092 5.60218 17.25 6 17.25H14.25C14.6478 17.25 15.0294 17.092 15.3107 16.8107C15.592 16.5294 15.75 16.1478 15.75 15.75V5.25C15.75 4.85218 15.592 4.47064 15.3107 4.18934C15.0294 3.90804 14.6478 3.75 14.25 3.75ZM12 0.75H3C2.60218 0.75 2.22064 0.908035 1.93934 1.18934C1.65804 1.47064 1.5 1.85218 1.5 2.25V12.75H3V2.25H12V0.75Z\",\"fill\":\"#A2B1C6\"}})]),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" Duplicate query \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./copy.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./copy.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./copy.vue?vue&type=template&id=9ee167fc&scoped=true&\"\nimport script from \"./copy.vue?vue&type=script&lang=js&\"\nexport * from \"./copy.vue?vue&type=script&lang=js&\"\nimport style0 from \"./copy.vue?vue&type=style&index=0&id=9ee167fc&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9ee167fc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('svg',{staticClass:\"icon\",attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')},\"mouseover\":_vm.showTooltip,\"mouseout\":_vm.hideTooltip}},[_c('path',{attrs:{\"d\":\"M6.75 2.25V3H3V4.5H3.75V14.25C3.75 14.6478 3.90804 15.0294 4.18934 15.3107C4.47064 15.592 4.85218 15.75 5.25 15.75H12.75C13.1478 15.75 13.5294 15.592 13.8107 15.3107C14.092 15.0294 14.25 14.6478 14.25 14.25V4.5H15V3H11.25V2.25H6.75ZM5.25 4.5H12.75V14.25H5.25V4.5ZM6.75 6V12.75H8.25V6H6.75ZM9.75 6V12.75H11.25V6H9.75Z\",\"fill\":\"#A2B1C6\"}})]),_c('span',{staticClass:\"icon-tooltip\",style:(_vm.tooltipStyle)},[_vm._v(\" Delete query \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./delete.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./delete.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./delete.vue?vue&type=template&id=2e7a19b0&scoped=true&\"\nimport script from \"./delete.vue?vue&type=script&lang=js&\"\nexport * from \"./delete.vue?vue&type=script&lang=js&\"\nimport style0 from \"./delete.vue?vue&type=style&index=0&id=2e7a19b0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e7a19b0\",\n null\n \n)\n\nexport default component.exports","import { nanoid } from 'nanoid'\nimport fu from '@/lib/utils/fileIo'\n\nexport default {\n getStoredQueries () {\n return JSON.parse(localStorage.getItem('myQueries')) || []\n },\n\n duplicateQuery (baseQuery) {\n const newQuery = JSON.parse(JSON.stringify(baseQuery))\n newQuery.name = newQuery.name + ' Copy'\n newQuery.id = nanoid()\n newQuery.createdAt = new Date()\n delete newQuery.isPredefined\n\n return newQuery\n },\n\n isTabNeedName (queryTab) {\n const isFromScratch = !queryTab.initName\n return queryTab.isPredefined || isFromScratch\n },\n\n save (queryTab, newName) {\n const value = {\n id: queryTab.isPredefined ? nanoid() : queryTab.id,\n query: queryTab.query,\n chart: queryTab.$refs.chart.getChartStateForSave(),\n name: newName || queryTab.initName\n }\n\n // Get queries from local storage\n const myQueries = this.getStoredQueries()\n\n // Set createdAt\n if (newName) {\n value.createdAt = new Date()\n } else {\n var queryIndex = myQueries.findIndex(oldQuery => oldQuery.id === queryTab.id)\n value.createdAt = myQueries[queryIndex].createdAt\n }\n\n // Insert in queries list\n if (newName) {\n myQueries.push(value)\n } else {\n myQueries[queryIndex] = value\n }\n\n // Save to local storage\n this.updateStorage(myQueries)\n return value\n },\n\n updateStorage (value) {\n localStorage.setItem('myQueries', JSON.stringify(value))\n },\n\n serialiseQueries (queryList) {\n const preparedData = JSON.parse(JSON.stringify(queryList))\n preparedData.forEach(query => delete query.isPredefined)\n return JSON.stringify(preparedData, null, 4)\n },\n\n deserialiseQueries (str) {\n let queryList = JSON.parse(str)\n // Turn data into array if they are not\n if (!Array.isArray(queryList)) {\n queryList = [queryList]\n }\n\n // Generate new ids if they are the same as existing queries\n queryList.forEach(query => {\n const allQueriesIds = this.getStoredQueries().map(query => query.id)\n if (allQueriesIds.includes(query.id)) {\n query.id = nanoid()\n }\n })\n\n return queryList\n },\n\n importQueries () {\n return fu.importFile()\n .then(data => {\n return this.deserialiseQueries(data)\n })\n },\n\n readPredefinedQueries () {\n return fu.readFile('./queries.json')\n .then(resp => {\n return resp.json()\n })\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=0cc4e620&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=0cc4e620&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0cc4e620\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"dbloader-container\"}},[_c('db-uploader',{attrs:{\"type\":\"illustrated\"}}),_c('div',{attrs:{\"id\":\"note\"}},[_vm._v(\" Sqliteviz is fully client-side. Your database never leaves your computer. \")]),_c('button',{staticClass:\"secondary\",attrs:{\"id\":\"skip\"},on:{\"click\":function($event){return _vm.$router.push('/editor')}}},[_vm._v(\" Create empty database \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Welcome.vue?vue&type=template&id=cdca6642&scoped=true&\"\nimport script from \"./Welcome.vue?vue&type=script&lang=js&\"\nexport * from \"./Welcome.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Welcome.vue?vue&type=style&index=0&id=cdca6642&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cdca6642\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('main-menu'),_c('keep-alive',{attrs:{\"include\":\"Editor\"}},[_c('router-view',{attrs:{\"id\":\"main-view\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',[_c('div',[_c('router-link',{attrs:{\"to\":\"/editor\"}},[_vm._v(\"Editor\")]),_c('router-link',{attrs:{\"to\":\"/my-queries\"}},[_vm._v(\"My queries\")]),_c('a',{attrs:{\"href\":\"https://github.com/lana-k/sqliteviz/wiki\",\"target\":\"_blank\"}},[_vm._v(\"Help\")])],1),_c('div',{attrs:{\"id\":\"nav-buttons\"}},[(_vm.currentQuery && _vm.$route.path === '/editor')?_c('button',{staticClass:\"primary\",attrs:{\"id\":\"run-btn\",\"disabled\":_vm.runDisabled},on:{\"click\":_vm.currentQuery.execute}},[_vm._v(\" Run \")]):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentQuery && _vm.$route.path === '/editor'),expression:\"currentQuery && $route.path === '/editor'\"}],staticClass:\"primary\",attrs:{\"id\":\"save-btn\",\"disabled\":!_vm.isUnsaved},on:{\"click\":_vm.checkQueryBeforeSave}},[_vm._v(\" Save \")]),_c('button',{staticClass:\"primary\",attrs:{\"id\":\"create-btn\"},on:{\"click\":_vm.createNewQuery}},[_vm._v(\" Create \")]),_c('app-diagnostic-info')],1),_c('modal',{attrs:{\"name\":\"save\",\"classes\":\"dialog\",\"height\":\"auto\"}},[_c('div',{staticClass:\"dialog-header\"},[_vm._v(\" Save query \"),_c('close-icon',{on:{\"click\":_vm.cancelSave}})],1),_c('div',{staticClass:\"dialog-body\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isPredefined),expression:\"isPredefined\"}],attrs:{\"id\":\"save-note\"}},[_c('img',{attrs:{\"src\":require('@/assets/images/info.svg')}}),_vm._v(\" Note: Predefined queries can't be edited. That's why your modifications will be saved as a new query. Enter the name for it. \")]),_c('text-field',{attrs:{\"label\":\"Query name\",\"error-msg\":_vm.errorMsg,\"width\":\"100%\"},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}})],1),_c('div',{staticClass:\"dialog-buttons-container\"},[_c('button',{staticClass:\"secondary\",on:{\"click\":_vm.cancelSave}},[_vm._v(\"Cancel\")]),_c('button',{staticClass:\"primary\",on:{\"click\":_vm.saveQuery}},[_vm._v(\"Save\")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app-info-container\"}},[_c('img',{attrs:{\"id\":\"app-info-icon\",\"src\":require('@/assets/images/info.svg')},on:{\"click\":function($event){return _vm.$modal.show('app-info')}}}),_c('modal',{attrs:{\"name\":\"app-info\",\"classes\":\"dialog\",\"height\":\"auto\",\"width\":\"400px\"}},[_c('div',{staticClass:\"dialog-header\"},[_vm._v(\" App info \"),_c('close-icon',{on:{\"click\":function($event){return _vm.$modal.hide('app-info')}}})],1),_c('div',{staticClass:\"dialog-body\"},_vm._l((_vm.info),function(item,index){return _c('div',{key:index,staticClass:\"info-item\"},[_vm._v(\" \"+_vm._s(item.name)+\" \"),_c('div',{staticClass:\"divider\"}),_c('div',{staticClass:\"options\"},_vm._l((item.info),function(opt,index){return _c('div',{key:index},[_vm._v(\" \"+_vm._s(opt)+\" \")])}),0)])}),0)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDiagnosticInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDiagnosticInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppDiagnosticInfo.vue?vue&type=template&id=669c683a&scoped=true&\"\nimport script from \"./AppDiagnosticInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./AppDiagnosticInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppDiagnosticInfo.vue?vue&type=style&index=0&id=669c683a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"669c683a\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainMenu.vue?vue&type=template&id=74f776e4&scoped=true&\"\nimport script from \"./MainMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./MainMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainMenu.vue?vue&type=style&index=0&id=74f776e4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74f776e4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7b856d32&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=7b856d32&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7b856d32\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport Editor from '@/views/Main/Editor'\nimport MyQueries from '@/views/Main/MyQueries'\nimport Welcome from '@/views/Welcome'\nimport Main from '@/views/Main'\nimport store from '@/store'\nimport database from '@/lib/database'\n\nVue.use(VueRouter)\n\nconst routes = [\n {\n path: '/',\n name: 'Welcome',\n component: Welcome\n },\n {\n path: '/',\n name: 'Main',\n component: Main,\n children: [\n {\n path: '/editor',\n name: 'Editor',\n component: Editor\n },\n {\n path: '/my-queries',\n name: 'MyQueries',\n component: MyQueries\n }\n ]\n }\n]\n\nconst router = new VueRouter({\n routes\n})\n\nrouter.beforeEach(async (to, from, next) => {\n if (!store.state.db) {\n const newDb = database.getNewDatabase()\n await newDb.loadDb()\n store.commit('setDb', newDb)\n }\n next()\n})\n\nexport default router\n","import Vue from 'vue'\nimport App from '@/App.vue'\nimport router from '@/router'\nimport store from '@/store'\nimport { VuePlugin } from 'vuera'\nimport VModal from 'vue-js-modal'\n\nimport '@/assets/styles/variables.css'\nimport '@/assets/styles/buttons.css'\nimport '@/assets/styles/tables.css'\nimport '@/assets/styles/dialogs.css'\nimport '@/assets/styles/tooltips.css'\nimport '@/assets/styles/messages.css'\n\nif (!['localhost', '127.0.0.1'].includes(location.hostname)) {\n import('./registerServiceWorker') // eslint-disable-line no-unused-expressions\n}\n\nVue.use(VuePlugin)\nVue.use(VModal)\n\nVue.config.productionTip = false\n\nnew Vue({\n router,\n store,\n render: h => h(App)\n}).$mount('#app')\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgcng9IjIuNSIgZmlsbD0iI0YzRjZGQSIgc3Ryb2tlPSIjQzhENEUzIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2QpIj4KPHBhdGggZD0iTTE1Ljc1IDUuMjQ5ODhMNi43NSAxNC4yNDk5TDIuNjI1IDEwLjEyNDlMMy42ODI1IDkuMDY3MzhMNi43NSAxMi4xMjc0TDE0LjY5MjUgNC4xOTIzOEwxNS43NSA1LjI0OTg4WiIgZmlsbD0iIzExOURGRiIvPgo8L2c+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2QiIHg9IjAuNjI1IiB5PSIzLjE5MjM4IiB3aWR0aD0iMTcuMTI1IiBoZWlnaHQ9IjE0LjA1NzUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiLz4KPGZlT2Zmc2V0IGR5PSIxIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiLz4KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMC4xNjQ3MDYgMCAwIDAgMCAwLjI0NzA1OSAwIDAgMCAwIDAuMzcyNTQ5IDAgMCAwIDAuNDUgMCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvdyIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDUwIiBoZWlnaHQ9IjE2NyIgdmlld0JveD0iMCAwIDQ1MCAxNjciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtYXNrIGlkPSJtYXNrMCIgbWFzay10eXBlPSJhbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMCIgeT0iMCIgd2lkdGg9IjQ1MCIgaGVpZ2h0PSIxNjciPgo8cmVjdCB3aWR0aD0iNDUwIiBoZWlnaHQ9IjE2NyIgZmlsbD0iI0M0QzRDNCIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazApIj4KPHBhdGggZD0iTTEyOC4yMDcgLTE2OS4wMDdDNzAuMTk3MiAtMTgwLjg0OSAxOC43NDUgLTE0MC4xMSA0LjMxOTg1IC03OC4zMzIyQy0xMC4xMDU0IC0xNi41NTM5IDE0LjMzMzcgMTUuMzMxOCAzNy4zMjE4IDU1LjE4OTFDNzIuMzc4NCAxMTUuOTcxIDE4MS41NTEgMTcwLjIzNyAyNjUuMDgzIDE2Ni43ODlDMzM3LjUxNyAxNjMuOCAzODkuMDI4IDE0NS41MTQgNDI1LjkzNiA3Ny4xMTA3QzQ4OS4zNzggLTQwLjQ2NzkgNDE3LjQ0NCAtMTE3LjA5MyAzMjUuNTI3IC0xMDIuNzQ1QzIxNC41NzEgLTg1LjQyNCAyMTMuNjI5IC0xNTEuNTcgMTI4LjIwNyAtMTY5LjAwN1oiIGZpbGw9IiNERkU4RjMiLz4KPHBhdGggZD0iTTE0Ny4yMjIgOS40ODcxNkMxNDcuMjIyIDYuNzI4MjQgMTQ5LjQ1OCA0LjQ5MTcgMTUyLjIxNyA0LjQ5MTdIMzQzLjA0NEMzNDUuODAyIDQuNDkxNyAzNDguMDM5IDYuNzI4MjQgMzQ4LjAzOSA5LjQ4NzE1VjEyMi4zODRDMzQ4LjAzOSAxMjUuMTQzIDM0NS44MDIgMTI3LjM4IDM0My4wNDQgMTI3LjM4SDE1Mi4yMTdDMTQ5LjQ1OCAxMjcuMzggMTQ3LjIyMiAxMjUuMTQzIDE0Ny4yMjIgMTIyLjM4NFY5LjQ4NzE2WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTE1Ni4yODQgLTEuNTczNzNDMTU4LjE1OCAtMy40NDczOSAxNjAuNjk5IC00LjUgMTYzLjM0OSAtNC41SDMzMS45MTFDMzM0LjU2MSAtNC41IDMzNy4xMDIgLTMuNDQ3MzkgMzM4Ljk3NiAtMS41NzM3M0wzNDYuMDQxIDUuNDkwOTFIMTQ5LjIyTDE1Ni4yODQgLTEuNTczNzNaIiBmaWxsPSIjQzhENEUzIi8+CjxwYXRoIGQ9Ik0xNDcuMjIyIDkuNDg3MTVDMTQ3LjIyMiA2LjcyODI0IDE0OS40NTggNC40OTE3IDE1Mi4yMTcgNC40OTE3SDM0My4wNDRDMzQ1LjgwMiA0LjQ5MTcgMzQ4LjAzOSA2LjcyODI0IDM0OC4wMzkgOS40ODcxNVYyNy40NzA4SDE0Ny4yMjJWOS40ODcxNVoiIGZpbGw9IiNBMkIxQzYiLz4KPHBhdGggZD0iTTI1NC45MzkgNjcuOTU3MUMyNTQuMjUgNjcuNTMzNSAyNTMuNTk3IDY3LjA1MTkgMjUyLjk4OCA2Ni41MTc0VjU3LjY5MzVIMjU2LjgzMlY2OS4wMThDMjU2LjE5NSA2OC42ODY5IDI1NS41NjQgNjguMzMzMiAyNTQuOTM5IDY3Ljk1NzFaTTI2Mi4zNDEgNjMuNTAzMUgyNTguNDk4VjY5LjcyNTNDMjU5Ljc1MiA3MC4zMDkgMjYxLjAzNSA3MC44Mjg4IDI2Mi4zNDEgNzEuMjgyOVY2My41MDMxWk0yNTIuOTg4IDY4LjI4NTVMMjUyLjczNyA2OC4wODM0QzI1Mi4zNTIgNjcuNzYzNSAyNTEuOTkyIDY3LjQzNTEgMjUxLjY0OCA2Ny4xMDY4TDI0Mi41MyA2Ni4wNDU5TDI0NC4yMDUgNjkuMjk1OUwyNTUuOTI3IDcwLjI1NTdDMjU0Ljg5OSA2OS42NzU4IDI1My45MTYgNjkuMDE3MiAyNTIuOTg4IDY4LjI4NTVWNjguMjg1NVpNMjYyLjE0IDczLjAwOUMyNjAuODMyIDcyLjU3OTMgMjU5LjU0OSA3Mi4wNzYyIDI1OC4yOTcgNzEuNTAxOEwyNTcuODI4IDcxLjI2NjFMMjUwLjA5OSA3MC43NTI1TDI1MS40MDYgNzMuNDg4OUwyNjQuODg3IDczLjgwMDRDMjYzLjk2NiA3My41ODE1IDI2My4wMzYgNzMuMzEyMSAyNjIuMTQgNzMuMDA5Wk0yNDYuMDk3IDU3LjY5MzVDMjQ3LjU3MiA2MC4yODc1IDI0OS4zMjcgNjIuNzEwMSAyNTEuMzMgNjQuOTE3NlY1Ni4xMjc1TDI0Mi44ODIgNTEuOTQyOUwyNDIuMTI4IDYxLjc1MThMMjUwLjgyOCA2Ni4yMzk1QzI0OC41NDcgNjMuODQ2OSAyNDYuOTE4IDYwLjkwMzYgMjQ2LjA5NyA1Ny42OTM1VjU3LjY5MzVaIiBmaWxsPSIjMTE5REZGIi8+CjxwYXRoIGQ9Ik0yMTAuNzM4IDg0LjI4NThDMjExLjc5NSA4NC44NzYzIDIxMi44NTggODUuMTcxNSAyMTMuOTI2IDg1LjE3MTVDMjE0LjgxNSA4NS4xNzE1IDIxNS4zMzYgODQuODU1NyAyMTUuNDkgODQuMjI0MkMyMTUuNTQxIDg0LjAwODUgMjE1LjU2NyA4My43NDY3IDIxNS41NjcgODMuNDM4NkMyMTUuNTY3IDgzLjEyNTQgMjE1LjUzMSA4Mi44ODQgMjE1LjQ1OSA4Mi43MTQ2QzIxNS4zODcgODIuNTQgMjE1LjI2NiA4Mi40MTE3IDIxNS4wOTcgODIuMzI5NUMyMTQuOTI3IDgyLjI0MjIgMjE0LjcwMiA4Mi4xNzggMjE0LjQxOSA4Mi4xMzdDMjE0LjE0MiA4Mi4wOTU5IDIxMy43ODggODIuMDM5NCAyMTMuMzU2IDgxLjk2NzVDMjEyLjkyNSA4MS44OTA1IDIxMi41MyA4MS44MDU4IDIxMi4xNyA4MS43MTM0QzIxMS44MTEgODEuNjIwOSAyMTEuNTA1IDgxLjQ4NzQgMjExLjI1NCA4MS4zMTI5QzIxMC43MiA4MC45MzggMjEwLjQ2MyA4MC4zMDY1IDIxMC40ODMgNzkuNDE4MlY3OS4yMjU2QzIxMC40ODMgNzguMjkxMiAyMTAuNzkyIDc3LjYyNjIgMjExLjQwOCA3Ny4yMzA5QzIxMi4wMDMgNzYuODQwNiAyMTIuOTg3IDc2LjcwNzEgMjE0LjM1OCA3Ni44MzA0QzIxNS4yOTIgNzYuOTE3NiAyMTYuMDM3IDc3LjA3OTQgMjE2LjU5MSA3Ny4zMTU2TDIxNi4yMjkgNzguNDc4NkMyMTUuNjEzIDc4LjIxNjcgMjE0Ljg3NCA3OC4wMjY3IDIxNC4wMTEgNzcuOTA4NkMyMTMuNzQ0IDc3Ljg3MjcgMjEzLjQ5MiA3Ny44NTQ3IDIxMy4yNTYgNzcuODU0N0MyMTMuMDI1IDc3Ljg1NDcgMjEyLjgxNSA3Ny44NzI3IDIxMi42MjUgNzcuOTA4NkMyMTIuNDM1IDc3Ljk0NDYgMjEyLjI3NSA3OC4wMTEzIDIxMi4xNDcgNzguMTA4OUMyMTEuOTAxIDc4LjMwOTEgMjExLjc3MiA3OC42ODE0IDIxMS43NjIgNzkuMjI1NkMyMTEuNzQ3IDc5Ljg2NzUgMjExLjkyNiA4MC4yNzU3IDIxMi4zMDEgODAuNDUwM0MyMTIuNjYxIDgwLjYxOTcgMjEzLjA4NyA4MC43Mzc4IDIxMy41OCA4MC44MDQ1QzIxNC4wNzMgODAuODY2MiAyMTQuNDc2IDgwLjkyMjYgMjE0Ljc4OSA4MC45NzRDMjE1LjEwMiA4MS4wMjAyIDIxNS4zODcgODEuMDg0NCAyMTUuNjQ0IDgxLjE2NjVDMjE1LjkgODEuMjQ4NyAyMTYuMTIxIDgxLjM3OTYgMjE2LjMwNiA4MS41NTkzQzIxNi42OTEgODEuOTIzOSAyMTYuODc5IDgyLjU1OCAyMTYuODY4IDgzLjQ2MTdDMjE2Ljg0MyA4NS4wMzggMjE2LjE4NSA4NS45MzY2IDIxNC44OTcgODYuMTU3NEMyMTQuNTA2IDg2LjIyNDEgMjE0LjExNiA4Ni4yNTc1IDIxMy43MjYgODYuMjU3NUMyMTMuMzM2IDg2LjI1NzUgMjEyLjk3NiA4Ni4yMzE4IDIxMi42NDggODYuMTgwNUMyMTIuMzI0IDg2LjEzNDMgMjEyLjAxNCA4Ni4wNjc1IDIxMS43MTYgODUuOTgwMkMyMTEuMTUxIDg1LjgyMSAyMTAuNjQgODUuNjEwNSAyMTAuMTgzIDg1LjM0ODdMMjEwLjczOCA4NC4yODU4WiIgZmlsbD0iIzJBM0Y1RiIvPgo8cGF0aCBkPSJNMjI1Ljc3OSA4NS4yMjU0QzIyNC43OTkgODUuOTEzNSAyMjMuNzYyIDg2LjI1NzUgMjIyLjY2OCA4Ni4yNTc1QzIyMS4zODkgODYuMjU3NSAyMjAuNTM3IDg1LjgwMzEgMjIwLjExMSA4NC44OTQyQzIxOS44NjQgODQuMzgwOCAyMTkuNzIxIDgzLjczMTMgMjE5LjY4IDgyLjk0NTdDMjE5LjY2NCA4Mi41ODYyIDIxOS42NTYgODIuMTkwOSAyMTkuNjU2IDgxLjc1OTZDMjE5LjY1NiA4MS4zMjMxIDIxOS42NTkgODAuODg0MSAyMTkuNjY0IDgwLjQ0MjVDMjE5LjY3NCA4MC4wMDEgMjE5LjcwOCA3OS41OTI4IDIxOS43NjQgNzkuMjE3OUMyMTkuODIxIDc4Ljg0MzEgMjE5LjkwOCA3OC41MDY4IDIyMC4wMjYgNzguMjA5QzIyMC4xNDkgNzcuOTA2MSAyMjAuMzI0IDc3LjY0OTMgMjIwLjU1IDc3LjQzODhDMjIxLjAxNyA3Ny4wMDI0IDIyMS43MzYgNzYuNzg0MSAyMjIuNzA2IDc2Ljc4NDFDMjIzLjY4MiA3Ni43ODQxIDIyNC43MTkgNzcuMDQ2IDIyNS44MTggNzcuNTY5N0wyMjUuOTQxIDc2LjkzODJIMjI3LjA1TDIyNy4wNTggODkuNjA3OEgyMjUuNzc5Vjg1LjIyNTRaTTIyNS43NzkgNzguNjMyNkMyMjQuODU1IDc4LjE3MDUgMjIzLjk2MiA3Ny45Mzk0IDIyMy4wOTkgNzcuOTM5NEMyMjIuNDczIDc3LjkzOTQgMjIyLjA1OSA3Ny45OTA4IDIyMS44NTkgNzguMDkzNUMyMjEuNjU5IDc4LjE5NjIgMjIxLjUwNSA3OC4zMjk3IDIyMS4zOTcgNzguNDk0QzIyMS4yOTQgNzguNjU4MyAyMjEuMjEgNzguODg0MiAyMjEuMTQzIDc5LjE3MTdDMjIxLjAyNSA3OS43MTA5IDIyMC45NjYgODAuNTk5MiAyMjAuOTY2IDgxLjgzNjZWODIuMDA2QzIyMC45NjYgODMuMTQ1OSAyMjEuMTA3IDgzLjk0NDMgMjIxLjM4OSA4NC40MDEzQzIyMS42NzIgODQuODY4NiAyMjIuMTg4IDg1LjEwMjIgMjIyLjkzNyA4NS4xMDIySDIyMy4wNTNDMjIzLjc2MiA4NS4xMDIyIDIyNC40ODYgODQuOTA3MSAyMjUuMjI1IDg0LjUxNjlDMjI1LjQzNSA4NC40MDkgMjI1LjYyIDg0LjI5ODYgMjI1Ljc3OSA4NC4xODU3Vjc4LjYzMjZaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yMzAuNzAxIDczLjAxMDJMMjMxLjk3MiA3Mi45MDI0Vjg2LjEwMzRIMjMwLjcxNkwyMzAuNzAxIDczLjAxMDJaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yMzYuNjA4IDc0Ljc0MzFDMjM2LjI2NCA3NC43NDMxIDIzNi4wNDQgNzQuNjk0NCAyMzUuOTQ2IDc0LjU5NjhDMjM1Ljc5MiA3NC40Mzc2IDIzNS43MTUgNzQuMjE5NCAyMzUuNzE1IDczLjk0MjFDMjM1LjcxNSA3My42NTk3IDIzNS43MyA3My40NTk1IDIzNS43NjEgNzMuMzQxNEMyMzUuNzk3IDczLjIxODIgMjM1Ljg0OCA3My4xMjMyIDIzNS45MTUgNzMuMDU2NEMyMzYuMDM4IDcyLjkzMzIgMjM2LjIyNiA3Mi44NzE2IDIzNi40NzcgNzIuODcxNkMyMzYuNzM0IDcyLjg3MTYgMjM2LjkxNiA3Mi44ODQ0IDIzNy4wMjQgNzIuOTEwMUMyMzcuMTM3IDcyLjkzNTggMjM3LjIzIDcyLjk4NDUgMjM3LjMwMSA3My4wNTY0QzIzNy40MjUgNzMuMTc5NyAyMzcuNDg2IDczLjM4MjUgMjM3LjQ4NiA3My42NjQ5QzIzNy40ODYgNzMuOTQyMSAyMzcuNDcxIDc0LjE0MjQgMjM3LjQ0IDc0LjI2NTZDMjM3LjQxNCA3NC4zODM3IDIzNy4zNjggNzQuNDc4NyAyMzcuMzAxIDc0LjU1MDZDMjM3LjE3MyA3NC42NzkgMjM2Ljk0MiA3NC43NDMxIDIzNi42MDggNzQuNzQzMVpNMjM1Ljk4NCA3Ni45MzgySDIzNy4yNDhWODYuMTAzNEgyMzZMMjM1Ljk4NCA3Ni45MzgyWiIgZmlsbD0iIzJBM0Y1RiIvPgo8cGF0aCBkPSJNMjQ1LjQ3MyA4NS42NjQ0QzI0NC42MzYgODYuMDU5OCAyNDMuODY0IDg2LjI1NzUgMjQzLjE1NSA4Ni4yNTc1QzI0MS44NzEgODYuMjU3NSAyNDEuMTQyIDg1LjcwODEgMjQwLjk2OCA4NC42MDkzQzI0MC45MjcgODQuMzQ3NCAyNDAuOTA2IDgzLjk2NzUgMjQwLjkwNiA4My40Njk0Vjc4LjAwODdIMjM5Ljc5N1Y3Ny4wNjE0TDI0MC45MDYgNzYuOTM4MkwyNDEuMTA2IDc0Ljg0MzNIMjQyLjE3N1Y3Ni45MzgySDI0NC44NDlWNzguMDA4N0gyNDIuMTc3VjgzLjQ0NjNDMjQyLjE3NyA4NC4wNzc4IDI0Mi4yMjMgODQuNDgwOSAyNDIuMzE1IDg0LjY1NTVDMjQyLjQ4NSA4NC45NzM4IDI0Mi44MjQgODUuMTMzIDI0My4zMzIgODUuMTMzQzI0My44NCA4NS4xMzMgMjQ0LjQwOCA4NC45NzY0IDI0NS4wMzQgODQuNjYzMkwyNDUuNDczIDg1LjY2NDRaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yNTQuNzE1IDg1LjYxODJDMjUzLjY1MyA4Ni4wNDQ0IDI1Mi40NzkgODYuMjU3NSAyNTEuMTk2IDg2LjI1NzVDMjUwLjQ1MSA4Ni4yNTc1IDI0OS44MiA4Ni4xODA1IDI0OS4zMDEgODYuMDI2NEMyNDguNDc0IDg1Ljc5MDIgMjQ3LjkyNSA4NS4zMDI0IDI0Ny42NTMgODQuNTYzMUMyNDcuNDAxIDgzLjg2OTkgMjQ3LjI3NSA4Mi44NDMgMjQ3LjI3NSA4MS40ODIzVjgxLjA4OTVDMjQ3LjI3NSA3OS40NjE4IDI0Ny42MTQgNzguMzE5NCAyNDguMjkyIDc3LjY2MjJDMjQ4LjkwMyA3Ny4wNzY4IDI0OS45MjIgNzYuNzg0MSAyNTEuMzUgNzYuNzg0MUMyNTIuNzQxIDc2Ljc4NDEgMjUzLjY5MSA3Ny4xMjgyIDI1NC4xOTkgNzcuODE2MkMyNTQuNDQ2IDc4LjE0OTkgMjU0LjYwOCA3OC41NTU2IDI1NC42ODUgNzkuMDMzMUMyNTQuNzY3IDc5LjUwNTUgMjU0LjgwOCA3OS45NTczIDI1NC44MDggODAuMzg4NkMyNTQuODA4IDgxLjA2MTMgMjU0Ljc5MyA4MS41ODI0IDI1NC43NjIgODEuOTUyMUMyNTQuMDM4IDgxLjk4MjkgMjUzLjM4OCA4MS45OTgzIDI1Mi44MTMgODEuOTk4M0MyNTIuODEzIDgxLjk5ODMgMjUyLjQgODEuOTk4MyAyNTEuNTczIDgxLjk5ODNDMjUwLjI3OSA4MS45OTgzIDI0OS4yODMgODEuOTQxOSAyNDguNTg1IDgxLjgyODlDMjQ4LjU4NSA4My4wMDk4IDI0OC43MzQgODMuODM0IDI0OS4wMzEgODQuMzAxMkMyNDkuMzk2IDg0Ljg3MTEgMjUwLjEyMyA4NS4xNTYxIDI1MS4yMTEgODUuMTU2MUMyNTIuMyA4NS4xNTYxIDI1My4zNDIgODQuOTQzIDI1NC4zMzggODQuNTE2OUwyNTQuNzE1IDg1LjYxODJaTTI1My41MDYgODAuOTI3OFY4MC4xODg0QzI1My41MDYgNzkuMzgyMyAyNTMuMzUgNzguODA3MiAyNTMuMDM2IDc4LjQ2MzJDMjUyLjY4NyA3OC4wNzgxIDI1Mi4wODQgNzcuODg1NSAyNTEuMjI3IDc3Ljg4NTVDMjUwLjIgNzcuODg1NSAyNDkuNDk5IDc4LjEwODkgMjQ5LjEyNCA3OC41NTU2QzI0OC43NjQgNzguOTgxOCAyNDguNTg1IDc5Ljc3MjUgMjQ4LjU4NSA4MC45Mjc4SDI1My41MDZaIiBmaWxsPSIjMkEzRjVGIi8+CjxwYXRoIGQ9Ik0yNTYuOTU3IDc2LjkzODJIMjU4LjMzNUwyNjAuNzM4IDg0LjQxNjdMMjYwLjk2OSA4NS4xNzkyTDI2MS4xODUgODQuNDE2N0wyNjMuNDggNzYuOTM4MkgyNjQuODc0TDI2MS43NzggODYuMTAzNEgyNjAuMDk5TDI1Ni45NTcgNzYuOTM4MloiIGZpbGw9IiMyQTNGNUYiLz4KPHBhdGggZD0iTTI2OC4xNTUgNzQuNzQzMUMyNjcuODExIDc0Ljc0MzEgMjY3LjU5IDc0LjY5NDQgMjY3LjQ5MyA3NC41OTY4QzI2Ny4zMzkgNzQuNDM3NiAyNjcuMjYyIDc0LjIxOTQgMjY3LjI2MiA3My45NDIxQzI2Ny4yNjIgNzMuNjU5NyAyNjcuMjc3IDczLjQ1OTUgMjY3LjMwOCA3My4zNDE0QzI2Ny4zNDQgNzMuMjE4MiAyNjcuMzk1IDczLjEyMzIgMjY3LjQ2MiA3My4wNTY0QzI2Ny41ODUgNzIuOTMzMiAyNjcuNzczIDcyLjg3MTYgMjY4LjAyNCA3Mi44NzE2QzI2OC4yODEgNzIuODcxNiAyNjguNDYzIDcyLjg4NDQgMjY4LjU3MSA3Mi45MTAxQzI2OC42ODQgNzIuOTM1OCAyNjguNzc3IDcyLjk4NDUgMjY4Ljg0OCA3My4wNTY0QzI2OC45NzIgNzMuMTc5NyAyNjkuMDMzIDczLjM4MjUgMjY5LjAzMyA3My42NjQ5QzI2OS4wMzMgNzMuOTQyMSAyNjkuMDE4IDc0LjE0MjQgMjY4Ljk4NyA3NC4yNjU2QzI2OC45NjEgNzQuMzgzNyAyNjguOTE1IDc0LjQ3ODcgMjY4Ljg0OCA3NC41NTA2QzI2OC43MiA3NC42NzkgMjY4LjQ4OSA3NC43NDMxIDI2OC4xNTUgNzQuNzQzMVpNMjY3LjUzMSA3Ni45MzgySDI2OC43OTVWODYuMTAzNEgyNjcuNTQ3TDI2Ny41MzEgNzYuOTM4MloiIGZpbGw9IiMyQTNGNUYiLz4KPHBhdGggZD0iTTI3MS42MDYgODUuMjMzMUwyNzYuMjk2IDc4LjAwMUgyNzEuNTA2Vjc2LjkzODJIMjc3Ljg1MlY3Ny44MDg1TDI3My4xNzcgODUuMDMyOUgyNzguMDQ1Vjg2LjEwMzRIMjcxLjYwNlY4NS4yMzMxWiIgZmlsbD0iIzJBM0Y1RiIvPgo8cGF0aCBkPSJNMjA0LjE3IDE2LjQ4MUMyMDQuMTcgMTQuMjczOSAyMDUuOTU5IDEyLjQ4NDYgMjA4LjE2NiAxMi40ODQ2SDMzNi4wNUMzMzguMjU3IDEyLjQ4NDYgMzQwLjA0NiAxNC4yNzM5IDM0MC4wNDYgMTYuNDgxVjE2LjQ4MUMzNDAuMDQ2IDE4LjY4ODEgMzM4LjI1NyAyMC40NzczIDMzNi4wNSAyMC40NzczSDIwOC4xNjZDMjA1Ljk1OSAyMC40NzczIDIwNC4xNyAxOC42ODgxIDIwNC4xNyAxNi40ODFWMTYuNDgxWiIgZmlsbD0iI0YzRjZGQSIvPgo8cGF0aCBkPSJNMTY1LjIwNSAxNi40ODA4QzE2NS4yMDUgMTkuMjM5NyAxNjIuOTY5IDIxLjQ3NjMgMTYwLjIxIDIxLjQ3NjNDMTU3LjQ1MSAyMS40NzYzIDE1NS4yMTQgMTkuMjM5NyAxNTUuMjE0IDE2LjQ4MDhDMTU1LjIxNCAxMy43MjE5IDE1Ny40NTEgMTEuNDg1NCAxNjAuMjEgMTEuNDg1NEMxNjIuOTY5IDExLjQ4NTQgMTY1LjIwNSAxMy43MjE5IDE2NS4yMDUgMTYuNDgwOFoiIGZpbGw9IiNDOEQ0RTMiLz4KPHBhdGggZD0iTTE4MS4xOTEgMTYuNDgwOEMxODEuMTkxIDE5LjIzOTcgMTc4Ljk1NCAyMS40NzYzIDE3Ni4xOTUgMjEuNDc2M0MxNzMuNDM2IDIxLjQ3NjMgMTcxLjIgMTkuMjM5NyAxNzEuMiAxNi40ODA4QzE3MS4yIDEzLjcyMTkgMTczLjQzNiAxMS40ODU0IDE3Ni4xOTUgMTEuNDg1NEMxNzguOTU0IDExLjQ4NTQgMTgxLjE5MSAxMy43MjE5IDE4MS4xOTEgMTYuNDgwOFoiIGZpbGw9IiNDOEQ0RTMiLz4KPHBhdGggZD0iTTE5Ny4xNzYgMTYuNDgwOEMxOTcuMTc2IDE5LjIzOTcgMTk0Ljk0IDIxLjQ3NjMgMTkyLjE4MSAyMS40NzYzQzE4OS40MjIgMjEuNDc2MyAxODcuMTg2IDE5LjIzOTcgMTg3LjE4NiAxNi40ODA4QzE4Ny4xODYgMTMuNzIxOSAxODkuNDIyIDExLjQ4NTQgMTkyLjE4MSAxMS40ODU0QzE5NC45NCAxMS40ODU0IDE5Ny4xNzYgMTMuNzIxOSAxOTcuMTc2IDE2LjQ4MDhaIiBmaWxsPSIjQzhENEUzIi8+CjxwYXRoIGQ9Ik0xNzQuMDk5IC0wLjc0MTUzNUMxNzQuMjgzIC0wLjkwOTg0MyAxNzQuNTI0IC0xLjAwMzE3IDE3NC43NzMgLTEuMDAzMTdIMzE4LjQ5QzMxOC43MzkgLTEuMDAzMTcgMzE4Ljk4IC0wLjkwOTg0MyAzMTkuMTY0IC0wLjc0MTUzM1YtMC43NDE1MzNDMzE5LjgzNyAtMC4xMjYzMTYgMzE5LjQwMiAwLjk5NTAwOCAzMTguNDkgMC45OTUwMDhIMTc0Ljc3M0MxNzMuODYxIDAuOTk1MDA4IDE3My40MjYgLTAuMTI2MzE5IDE3NC4wOTkgLTAuNzQxNTM1Vi0wLjc0MTUzNVoiIGZpbGw9IiM1MDY3ODQiLz4KPHBhdGggZD0iTTM0Ljg3NSAxMTkuNzM1TDQyLjU0NjUgMTI2LjEzNkwzMC4zODU1IDE0MC43MTJMMjIuNzE0IDEzNC4zMTFMMzQuODc1IDExOS43MzVaIiBmaWxsPSIjRjNDNkJGIi8+CjxwYXRoIGQ9Ik0yNy4wOTcyIDEyOS4yNTdMMzQuNzY4NyAxMzUuNjU3QzM0Ljc2ODcgMTM1LjY1NyAzOC44MDggMTQxLjExMiAzOS4zMDM0IDE0Ni41OTdDMzkuNDk0MSAxNDguNzA4IDM3LjA2MzMgMTQ5LjI4MiAzNy4wNjMzIDE0OS4yODJMMjEuMzM2NyAxMzYuMTYxTDI3LjA5NzIgMTI5LjI1N1oiIGZpbGw9IiM1MDY3ODQiLz4KPHBhdGggZD0iTTUyLjg5MjEgMzIuODE0NUw5Mi4yNzE4IDY0LjI4NThDMTA0Ljg3NCA5Ni4yOTIzIDM4LjMyMDkgMTMzLjcyMyAzOC4zMjA5IDEzMy43MjNMMjcuODU1NiAxMjYuMDU4QzI3Ljg1NTYgMTI2LjA1OCAzOS42ODg4IDEwOC41MjYgNTAuODA5NSA4MS43Njk5QzU2LjgzMDEgNjcuMjg0MyA1NC41NzMxIDQ4LjE0ODggNTIuODkyMSAzMi44MTQ1WiIgZmlsbD0iIzBENzZCRiIvPgo8cGF0aCBkPSJNMTAzLjI2MiAxMzAuNzI2SDExMy4yNTNWMTQ5LjcwOEgxMDMuMjYyVjEzMC43MjZaIiBmaWxsPSIjRjNDNkJGIi8+CjxwYXRoIGQ9Ik01NC4zMDY3IDQyLjMwNTlDNTAuODEwMSAzNS44MTE4IDQ4LjgxMTcgMzEuMzE1OSA0OS43NzM5IDE3LjgyODFIMTE1LjAxMUMxMjEuMjQ2IDI4LjMxODYgMTI1LjI0MiA1NC4yOTQ5IDEyNS4yNDIgNzUuNzc1NEMxMjUuMjQyIDk3LjI1NTkgMTIyLjI0NSAxMTYuMjM5IDExNS4wMTEgMTQxLjIxNkgxMDAuNzY0QzEwMC43NjQgMTQxLjIxNiA5NC43NzAxIDEwMS4yNTIgOTIuMjcyMyA4Mi43NjlDOTAuOTY3OSA3My4xMTYgNTcuMDE5NyA0Ny4zNDQ1IDU0LjMwNjcgNDIuMzA1OVoiIGZpbGw9IiMxMTlERkYiLz4KPHBhdGggZD0iTTEwMy4yNjIgMTQ0LjQyNkgxMTMuMjUzQzExMy4yNTMgMTQ0LjQyNiAxMTkuODQ5IDE0Ni4wMjcgMTIzLjc0NCAxNDkuOTIxQzEyNS4yNDIgMTUxLjQyIDEyMy43NDQgMTUzLjQxOCAxMjMuNzQ0IDE1My40MThIMTAzLjI2MlYxNDQuNDI2WiIgZmlsbD0iIzUwNjc4NCIvPgo8L2c+Cjwvc3ZnPgo=\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=0cc4e620&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=0cc4e620&scoped=true&lang=css&\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuOTk5ODQgMTYuNjY2N0M2LjMyNDg0IDE2LjY2NjcgMy4zMzMxNyAxMy42NzUgMy4zMzMxNyAxMEMzLjMzMzE3IDYuMzI1MDIgNi4zMjQ4NCAzLjMzMzM1IDkuOTk5ODQgMy4zMzMzNUMxMy42NzQ4IDMuMzMzMzUgMTYuNjY2NSA2LjMyNTAyIDE2LjY2NjUgMTBDMTYuNjY2NSAxMy42NzUgMTMuNjc0OCAxNi42NjY3IDkuOTk5ODQgMTYuNjY2N1pNOS45OTk4NCAxLjY2NjY5QzguOTA1NDkgMS42NjY2OSA3LjgyMTg2IDEuODgyMjQgNi44MTA4MSAyLjMwMTAyQzUuNzk5NzYgMi43MTk4MSA0Ljg4MTEgMy4zMzM2NCA0LjEwNzI4IDQuMTA3NDZDMi41NDQ0OCA1LjY3MDI3IDEuNjY2NSA3Ljc4OTg4IDEuNjY2NSAxMEMxLjY2NjUgMTIuMjEwMiAyLjU0NDQ4IDE0LjMyOTggNC4xMDcyOCAxNS44OTI2QzQuODgxMSAxNi42NjY0IDUuNzk5NzYgMTcuMjgwMiA2LjgxMDgxIDE3LjY5OUM3LjgyMTg2IDE4LjExNzggOC45MDU0OSAxOC4zMzM0IDkuOTk5ODQgMTguMzMzNEMxMi4yMSAxOC4zMzM0IDE0LjMyOTYgMTcuNDU1NCAxNS44OTI0IDE1Ljg5MjZDMTcuNDU1MiAxNC4zMjk4IDE4LjMzMzIgMTIuMjEwMiAxOC4zMzMyIDEwQzE4LjMzMzIgOC45MDU2NyAxOC4xMTc2IDcuODIyMDQgMTcuNjk4OCA2LjgxMDk5QzE3LjI4IDUuNzk5OTUgMTYuNjY2MiA0Ljg4MTI5IDE1Ljg5MjQgNC4xMDc0NkMxNS4xMTg2IDMuMzMzNjQgMTQuMTk5OSAyLjcxOTgxIDEzLjE4ODkgMi4zMDEwMkMxMi4xNzc4IDEuODgyMjQgMTEuMDk0MiAxLjY2NjY5IDkuOTk5ODQgMS42NjY2OVoiIGZpbGw9IiNFRjU1M0IiLz4KPHJlY3QgeD0iNi4zNjc2OCIgeT0iNy41NDg1NSIgd2lkdGg9IjEuNjciIGhlaWdodD0iOC42MDM2MyIgdHJhbnNmb3JtPSJyb3RhdGUoLTQ1IDYuMzY3NjggNy41NDg1NSkiIGZpbGw9IiNFRjU1M0IiLz4KPHJlY3QgeD0iMTIuNDUxNyIgeT0iNi4zNjc3MSIgd2lkdGg9IjEuNjciIGhlaWdodD0iOC42MDM2MyIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgMTIuNDUxNyA2LjM2NzcxKSIgZmlsbD0iI0VGNTUzQiIvPgo8L3N2Zz4K\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./export.vue?vue&type=style&index=0&id=7f50cd00&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./export.vue?vue&type=style&index=0&id=7f50cd00&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pager.vue?vue&type=style&index=0&id=c74ce19a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pager.vue?vue&type=style&index=0&id=c74ce19a&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=7b856d32&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=7b856d32&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DbUploader.vue?vue&type=style&index=0&id=525b8c89&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DbUploader.vue?vue&type=style&index=0&id=525b8c89&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/file.f5540c43.png\";","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgcng9IjIuNSIgZmlsbD0iIzExOURGRiIgc3Ryb2tlPSIjMEQ3NkJGIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2QpIj4KPHBhdGggZD0iTTE1Ljc1IDUuMjVMNi43NSAxNC4yNUwyLjYyNSAxMC4xMjVMMy42ODI1IDkuMDY3NUw2Ljc1IDEyLjEyNzVMMTQuNjkyNSA0LjE5MjVMMTUuNzUgNS4yNVoiIGZpbGw9IndoaXRlIi8+CjwvZz4KPGRlZnM+CjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZCIgeD0iMC42MjUiIHk9IjMuMTkyNSIgd2lkdGg9IjE3LjEyNSIgaGVpZ2h0PSIxNC4wNTc1IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+CjxmZU9mZnNldCBkeT0iMSIvPgo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxIi8+CjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAuMTY0NzA2IDAgMCAwIDAgMC4yNDcwNTkgMCAwIDAgMCAwLjM3MjU0OSAwIDAgMCAwLjcgMCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvdyIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8L3N2Zz4K\"","import mod from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=291e46e5&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=291e46e5&scoped=true&lang=css&\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTE0IiBoZWlnaHQ9IjkwIiB2aWV3Qm94PSIwIDAgMTE0IDkwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNOTYuMzgyOCAxLjkzODk1QzkxLjQyNDQgMC4wOTI4MTQgODYuNjAyMiA1LjYyNTA1IDg1Ljg1OCAxMC42ODE2TDk3LjI4NTEgMTUuNTQ5QzEwMC4xOTQgMTAuNTg1NiAxMDEuMzQxIDMuNzg1MDggOTYuMzgyOCAxLjkzODk1WiIgZmlsbD0iI0YzQzZCRiIvPgo8cGF0aCBkPSJNODQuOTc3NSA5LjEyNDEzQzc1LjA2NTMgMzUuMjAzNSAzMC43MTc5IDQ2LjczNTkgMjEuNDEwNiAzNy43MjY1TDE0LjUzNTkgNzkuNDg1N0M2Ny43NjA3IDg2LjQ5MTIgOTEuOTI2NCA1NS40MTExIDk5LjA5NzMgMTQuNzEzOEw4NC45Nzc1IDkuMTI0MTNaIiBmaWxsPSIjQTJCMUM2Ii8+Cjwvc3ZnPgo=\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckBox.vue?vue&type=style&index=0&id=0dd86013&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckBox.vue?vue&type=style&index=0&id=0dd86013&scoped=true&lang=css&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=8b37f1a0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=8b37f1a0&scoped=true&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=4dece747&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=4dece747&scoped=true&lang=css&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewSwitcher.vue?vue&type=style&index=0&id=59806640&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewSwitcher.vue?vue&type=style&index=0&id=59806640&scoped=true&lang=css&\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./copy.vue?vue&type=style&index=0&id=9ee167fc&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./copy.vue?vue&type=style&index=0&id=9ee167fc&scoped=true&lang=css&\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rename.vue?vue&type=style&index=0&id=45e6fb96&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rename.vue?vue&type=style&index=0&id=45e6fb96&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=42183db6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=42183db6&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./hint.vue?vue&type=style&index=0&id=7fa48ff7&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./hint.vue?vue&type=style&index=0&id=7fa48ff7&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingIndicator.vue?vue&type=style&index=0&id=62096452&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingIndicator.vue?vue&type=style&index=0&id=62096452&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=style&index=0&id=59fd41a8&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=style&index=0&id=59fd41a8&scoped=true&lang=css&\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExIDlIMTNWN0gxMVY5Wk0xMiAyMEM3LjU5IDIwIDQgMTYuNDEgNCAxMkM0IDcuNTkgNy41OSA0IDEyIDRDMTYuNDEgNCAyMCA3LjU5IDIwIDEyQzIwIDE2LjQxIDE2LjQxIDIwIDEyIDIwWk0xMiAyQzEwLjY4NjggMiA5LjM4NjQyIDIuMjU4NjYgOC4xNzMxNyAyLjc2MTJDNi45NTk5MSAzLjI2Mzc1IDUuODU3NTIgNC4wMDAzNSA0LjkyODkzIDQuOTI4OTNDMy4wNTM1NyA2LjgwNDMgMiA5LjM0Nzg0IDIgMTJDMiAxNC42NTIyIDMuMDUzNTcgMTcuMTk1NyA0LjkyODkzIDE5LjA3MTFDNS44NTc1MiAxOS45OTk3IDYuOTU5OTEgMjAuNzM2MiA4LjE3MzE3IDIxLjIzODhDOS4zODY0MiAyMS43NDEzIDEwLjY4NjggMjIgMTIgMjJDMTQuNjUyMiAyMiAxNy4xOTU3IDIwLjk0NjQgMTkuMDcxMSAxOS4wNzExQzIwLjk0NjQgMTcuMTk1NyAyMiAxNC42NTIyIDIyIDEyQzIyIDEwLjY4NjggMjEuNzQxMyA5LjM4NjQyIDIxLjIzODggOC4xNzMxN0MyMC43MzYyIDYuOTU5OTEgMTkuOTk5NyA1Ljg1NzUyIDE5LjA3MTEgNC45Mjg5M0MxOC4xNDI1IDQuMDAwMzUgMTcuMDQwMSAzLjI2Mzc1IDE1LjgyNjggMi43NjEyQzE0LjYxMzYgMi4yNTg2NiAxMy4zMTMyIDIgMTIgMlYyWk0xMSAxN0gxM1YxMUgxMVYxN1oiIGZpbGw9IiNBMkIxQzYiLz4KPC9zdmc+Cg==\"","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./delete.vue?vue&type=style&index=0&id=2e7a19b0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./delete.vue?vue&type=style&index=0&id=2e7a19b0&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenu.vue?vue&type=style&index=0&id=74f776e4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainMenu.vue?vue&type=style&index=0&id=74f776e4&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./close.vue?vue&type=style&index=0&id=86f3a16c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./close.vue?vue&type=style&index=0&id=86f3a16c&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clear.vue?vue&type=style&index=0&id=69060e4e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clear.vue?vue&type=style&index=0&id=69060e4e&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/js/sql-wasm.wasm b/js/sql-wasm.wasm index 5bb506f01de6400d0b12260a126a03c8920b7ef3..7555b3913c841d009badb2a27d12554cf967e461 100644 GIT binary patch literal 1330242 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%0AwbK4T-9wVGwprN{V#x7HQ>Ua7OHzE!w7C4GAuBO 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

    S$0nr5g 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

    }a@JF%4aauf}ql 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 z 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

    QsG*Di+bP!k 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

    1wB8cY>M(4nu-$ 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

    {{$8RUe&GtbrclbuHBvFB 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

    ZalRBi4b42kxKIBzx0E^HQCAHZ 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 z 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

    9{#ZxmeIP*HIfmF{paO2ZcKGnTa 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 qP)jhJ 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�&PK6ABi|S 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 IR;mp9e_A|&l>h($ diff --git a/service-worker.js b/service-worker.js index 3b2357c..0fc7469 100644 --- a/service-worker.js +++ b/service-worker.js @@ -1,2 +1,2 @@ -if(!self.define){const e=e=>{"require"!==e&&(e+=".js");let s=Promise.resolve();return r[e]||(s=new Promise((async s=>{if("document"in self){const r=document.createElement("script");r.src=e,document.head.appendChild(r),r.onload=s}else importScripts(e),s()}))),s.then((()=>{if(!r[e])throw new Error(`Module ${e} didn’t register its module`);return r[e]}))},s=(s,r)=>{Promise.all(s.map(e)).then((e=>r(1===e.length?e[0]:e)))},r={require:Promise.resolve(s)};self.define=(s,n,i)=>{r[s]||(r[s]=Promise.resolve().then((()=>{let r={};const o={uri:location.origin+s.slice(1)};return Promise.all(n.map((s=>{switch(s){case"exports":return r;case"module":return o;default:return e(s)}}))).then((e=>{const s=i(...e);return r.default||(r.default=s),r}))})))}}define("./service-worker.js",["./workbox-15dd0bab"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.clientsClaim(),e.precacheAndRoute([{url:"Logo192x192.png",revision:"15e06927b5e6e2b55c5ae6fb783d2618"},{url:"Logo48x48.png",revision:"65270f0df7353ad8c75ba5140d6d7c6a"},{url:"Logo512x512.png",revision:"50991847b13d0d0de738dc34d15e0920"},{url:"css/app.8dca9e27.css",revision:null},{url:"css/chunk-vendors.e38bc993.css",revision:null},{url:"favicon.png",revision:"f3da3682ba8d648ebaa9e09a27875c20"},{url:"fonts/OpenSans-Bold.21b37d1a.woff2",revision:"21b37d1abf90816560781f286c7dfa90"},{url:"fonts/OpenSans-BoldItalic.95149f80.woff2",revision:"95149f80a181cfb7c63078e3f44134cb"},{url:"fonts/OpenSans-Italic.ee451d9a.woff2",revision:"ee451d9aa59d5cf65407f17971d12090"},{url:"fonts/OpenSans-Regular.8abbb9d9.woff2",revision:"8abbb9d98c0c7304060190592408ab78"},{url:"fonts/OpenSans-SemiBold.2595cae6.woff2",revision:"2595cae6483bb50cbeb0cb40e3292231"},{url:"fonts/OpenSans-SemiBoldItalic.40ca9121.woff2",revision:"40ca91217266fa60c6e81c539a059190"},{url:"img/file.f5540c43.png",revision:"f5540c433396049050945be85ee9c4b1"},{url:"index.html",revision:"de78c94008a824caf3ffb7d393b070c2"},{url:"js/_worker.8030f477.worker.js",revision:null},{url:"js/app.07e3c4a6.js",revision:null},{url:"js/chunk-60cbf026.37d9df6c.js",revision:null},{url:"js/chunk-vendors.62e7c650.js",revision:null},{url:"js/sql-wasm.wasm",revision:"e96391fc594b5869546a3cdac4e76b10"},{url:"manifest.webmanifest",revision:"6b085b7ef6a4cd86a1cf5ad97b0d7160"}],{})})); +if(!self.define){const e=e=>{"require"!==e&&(e+=".js");let s=Promise.resolve();return r[e]||(s=new Promise((async s=>{if("document"in self){const r=document.createElement("script");r.src=e,document.head.appendChild(r),r.onload=s}else importScripts(e),s()}))),s.then((()=>{if(!r[e])throw new Error(`Module ${e} didn’t register its module`);return r[e]}))},s=(s,r)=>{Promise.all(s.map(e)).then((e=>r(1===e.length?e[0]:e)))},r={require:Promise.resolve(s)};self.define=(s,n,i)=>{r[s]||(r[s]=Promise.resolve().then((()=>{let r={};const o={uri:location.origin+s.slice(1)};return Promise.all(n.map((s=>{switch(s){case"exports":return r;case"module":return o;default:return e(s)}}))).then((e=>{const s=i(...e);return r.default||(r.default=s),r}))})))}}define("./service-worker.js",["./workbox-15dd0bab"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.clientsClaim(),e.precacheAndRoute([{url:"Logo192x192.png",revision:"15e06927b5e6e2b55c5ae6fb783d2618"},{url:"Logo48x48.png",revision:"65270f0df7353ad8c75ba5140d6d7c6a"},{url:"Logo512x512.png",revision:"50991847b13d0d0de738dc34d15e0920"},{url:"css/app.8dca9e27.css",revision:null},{url:"css/chunk-vendors.e38bc993.css",revision:null},{url:"favicon.png",revision:"f3da3682ba8d648ebaa9e09a27875c20"},{url:"fonts/OpenSans-Bold.21b37d1a.woff2",revision:"21b37d1abf90816560781f286c7dfa90"},{url:"fonts/OpenSans-BoldItalic.95149f80.woff2",revision:"95149f80a181cfb7c63078e3f44134cb"},{url:"fonts/OpenSans-Italic.ee451d9a.woff2",revision:"ee451d9aa59d5cf65407f17971d12090"},{url:"fonts/OpenSans-Regular.8abbb9d9.woff2",revision:"8abbb9d98c0c7304060190592408ab78"},{url:"fonts/OpenSans-SemiBold.2595cae6.woff2",revision:"2595cae6483bb50cbeb0cb40e3292231"},{url:"fonts/OpenSans-SemiBoldItalic.40ca9121.woff2",revision:"40ca91217266fa60c6e81c539a059190"},{url:"img/file.f5540c43.png",revision:"f5540c433396049050945be85ee9c4b1"},{url:"index.html",revision:"bceb7af4e0474f4620ec1f90471537a1"},{url:"js/_worker.f23e8754.worker.js",revision:null},{url:"js/app.42b58cb4.js",revision:null},{url:"js/chunk-60cbf026.37d9df6c.js",revision:null},{url:"js/chunk-vendors.62e7c650.js",revision:null},{url:"js/sql-wasm.wasm",revision:"0e5325d0fff4dc0e465001b053b44bb7"},{url:"manifest.webmanifest",revision:"6b085b7ef6a4cd86a1cf5ad97b0d7160"}],{})})); //# sourceMappingURL=service-worker.js.map diff --git a/service-worker.js.map b/service-worker.js.map index 6b5cce1..52af375 100644 --- a/service-worker.js.map +++ b/service-worker.js.map @@ -1 +1 @@ -{"version":3,"file":"service-worker.js","sources":["../../../../../tmp/e6812f074ad112f72638e9bd310771ed/service-worker.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from '/home/runner/work/sqliteviz/sqliteviz/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/sqliteviz/sqliteviz/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"Logo192x192.png\",\n \"revision\": \"15e06927b5e6e2b55c5ae6fb783d2618\"\n },\n {\n \"url\": \"Logo48x48.png\",\n \"revision\": \"65270f0df7353ad8c75ba5140d6d7c6a\"\n },\n {\n \"url\": \"Logo512x512.png\",\n \"revision\": \"50991847b13d0d0de738dc34d15e0920\"\n },\n {\n \"url\": \"css/app.8dca9e27.css\",\n \"revision\": null\n },\n {\n \"url\": \"css/chunk-vendors.e38bc993.css\",\n \"revision\": null\n },\n {\n \"url\": \"favicon.png\",\n \"revision\": \"f3da3682ba8d648ebaa9e09a27875c20\"\n },\n {\n \"url\": \"fonts/OpenSans-Bold.21b37d1a.woff2\",\n \"revision\": \"21b37d1abf90816560781f286c7dfa90\"\n },\n {\n \"url\": \"fonts/OpenSans-BoldItalic.95149f80.woff2\",\n \"revision\": \"95149f80a181cfb7c63078e3f44134cb\"\n },\n {\n \"url\": \"fonts/OpenSans-Italic.ee451d9a.woff2\",\n \"revision\": \"ee451d9aa59d5cf65407f17971d12090\"\n },\n {\n \"url\": \"fonts/OpenSans-Regular.8abbb9d9.woff2\",\n \"revision\": \"8abbb9d98c0c7304060190592408ab78\"\n },\n {\n \"url\": \"fonts/OpenSans-SemiBold.2595cae6.woff2\",\n \"revision\": \"2595cae6483bb50cbeb0cb40e3292231\"\n },\n {\n \"url\": \"fonts/OpenSans-SemiBoldItalic.40ca9121.woff2\",\n \"revision\": \"40ca91217266fa60c6e81c539a059190\"\n },\n {\n \"url\": \"img/file.f5540c43.png\",\n \"revision\": \"f5540c433396049050945be85ee9c4b1\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"de78c94008a824caf3ffb7d393b070c2\"\n },\n {\n \"url\": \"js/_worker.8030f477.worker.js\",\n \"revision\": null\n },\n {\n \"url\": \"js/app.07e3c4a6.js\",\n \"revision\": null\n },\n {\n \"url\": \"js/chunk-60cbf026.37d9df6c.js\",\n \"revision\": null\n },\n {\n \"url\": \"js/chunk-vendors.62e7c650.js\",\n \"revision\": null\n },\n {\n \"url\": \"js/sql-wasm.wasm\",\n \"revision\": \"e96391fc594b5869546a3cdac4e76b10\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"6b085b7ef6a4cd86a1cf5ad97b0d7160\"\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting"],"mappings":"szBAoBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,qDAY2B,CAClC,KACS,2BACK,oCAEd,KACS,yBACK,oCAEd,KACS,2BACK,oCAEd,KACS,gCACK,MAEd,KACS,0CACK,MAEd,KACS,uBACK,oCAEd,KACS,8CACK,oCAEd,KACS,oDACK,oCAEd,KACS,gDACK,oCAEd,KACS,iDACK,oCAEd,KACS,kDACK,oCAEd,KACS,wDACK,oCAEd,KACS,iCACK,oCAEd,KACS,sBACK,oCAEd,KACS,yCACK,MAEd,KACS,8BACK,MAEd,KACS,yCACK,MAEd,KACS,wCACK,MAEd,KACS,4BACK,oCAEd,KACS,gCACK,qCAEb"} \ No newline at end of file +{"version":3,"file":"service-worker.js","sources":["../../../../../tmp/380fb086e9cb26582ab440ec2dd557c5/service-worker.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from '/home/runner/work/sqliteviz/sqliteviz/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/sqliteviz/sqliteviz/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"Logo192x192.png\",\n \"revision\": \"15e06927b5e6e2b55c5ae6fb783d2618\"\n },\n {\n \"url\": \"Logo48x48.png\",\n \"revision\": \"65270f0df7353ad8c75ba5140d6d7c6a\"\n },\n {\n \"url\": \"Logo512x512.png\",\n \"revision\": \"50991847b13d0d0de738dc34d15e0920\"\n },\n {\n \"url\": \"css/app.8dca9e27.css\",\n \"revision\": null\n },\n {\n \"url\": \"css/chunk-vendors.e38bc993.css\",\n \"revision\": null\n },\n {\n \"url\": \"favicon.png\",\n \"revision\": \"f3da3682ba8d648ebaa9e09a27875c20\"\n },\n {\n \"url\": \"fonts/OpenSans-Bold.21b37d1a.woff2\",\n \"revision\": \"21b37d1abf90816560781f286c7dfa90\"\n },\n {\n \"url\": \"fonts/OpenSans-BoldItalic.95149f80.woff2\",\n \"revision\": \"95149f80a181cfb7c63078e3f44134cb\"\n },\n {\n \"url\": \"fonts/OpenSans-Italic.ee451d9a.woff2\",\n \"revision\": \"ee451d9aa59d5cf65407f17971d12090\"\n },\n {\n \"url\": \"fonts/OpenSans-Regular.8abbb9d9.woff2\",\n \"revision\": \"8abbb9d98c0c7304060190592408ab78\"\n },\n {\n \"url\": \"fonts/OpenSans-SemiBold.2595cae6.woff2\",\n \"revision\": \"2595cae6483bb50cbeb0cb40e3292231\"\n },\n {\n \"url\": \"fonts/OpenSans-SemiBoldItalic.40ca9121.woff2\",\n \"revision\": \"40ca91217266fa60c6e81c539a059190\"\n },\n {\n \"url\": \"img/file.f5540c43.png\",\n \"revision\": \"f5540c433396049050945be85ee9c4b1\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"bceb7af4e0474f4620ec1f90471537a1\"\n },\n {\n \"url\": \"js/_worker.f23e8754.worker.js\",\n \"revision\": null\n },\n {\n \"url\": \"js/app.42b58cb4.js\",\n \"revision\": null\n },\n {\n \"url\": \"js/chunk-60cbf026.37d9df6c.js\",\n \"revision\": null\n },\n {\n \"url\": \"js/chunk-vendors.62e7c650.js\",\n \"revision\": null\n },\n {\n \"url\": \"js/sql-wasm.wasm\",\n \"revision\": \"0e5325d0fff4dc0e465001b053b44bb7\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"6b085b7ef6a4cd86a1cf5ad97b0d7160\"\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting"],"mappings":"szBAoBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,qDAY2B,CAClC,KACS,2BACK,oCAEd,KACS,yBACK,oCAEd,KACS,2BACK,oCAEd,KACS,gCACK,MAEd,KACS,0CACK,MAEd,KACS,uBACK,oCAEd,KACS,8CACK,oCAEd,KACS,oDACK,oCAEd,KACS,gDACK,oCAEd,KACS,iDACK,oCAEd,KACS,kDACK,oCAEd,KACS,wDACK,oCAEd,KACS,iCACK,oCAEd,KACS,sBACK,oCAEd,KACS,yCACK,MAEd,KACS,8BACK,MAEd,KACS,yCACK,MAEd,KACS,wCACK,MAEd,KACS,4BACK,oCAEd,KACS,gCACK,qCAEb"} \ No newline at end of file

    WpD-1TEU00Z0_Wvr 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

    >xDicTTj`55cYR_x=+ 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

  • cC6#wxQKDH-3p1uIn3oYkxr4(a^CMDr62<2( zK>VaRB`8sHJ>&^4TgJTlp#qGw`qg$#bpmzHsfU{IBsQ;4{+^Hiqrvl&BF>~PeVaQH z5f>JrTMNp*ltk~Ba&*Hw175zPbu1f7Ft$0r6TZDji;pv>YupiYJc6d zGC0Id=;#I=GNeqj-q1rYjZKlLHA8}ChJ?)oiN@zgs`Eqo?*1xm=0~>H{ODkQbjtLW zGQ<4nwC6|A8ZK!L>6hAWg=T(e>fnm`5v?&l+>PV&Bl7bj8h>9x&OFdpJQeDqvdWeb z&=ZPWphPrrh1G!Ct?}d;`E!(q?H?AsSxn$G$b~aPFF@S6_!8U%dzt{}+m%`HwwmGZ8mWdy?27F8)nAQLoQJ*>BW{m-NX~W|KZhzMpaChVQ zfLk}<($cZ_h00w2rLfpKunL_kga0Kr_#EY@0vw9I6T2m%FFvmHz$1D-9@ONFAitF1 zQ57mJvc9KH$|n7UZ8v621?L}kfHrSanE&UbA#R~|3#3oR^XT$F*6=XO>G}u=P-KrR zp_I@Q>!V{FZKN$;;Wp`6w|}3{kdrNP{I-e!>-bxq+Xg>ZZEf17 z6lFU2&ZLgRjod zyc1_Bi0bQ41EDEY@_!prt-v{3Ho;;cZqTTw`br3f3-RqojbdblmDO+|_p~~Tu^m0H zxy|LZQYnc%@s11Wbx8QX$@~;Y*=;>-nIlgN>-htiNm@reUTIZ<`6DgZdO(q)J*vLK z(&Ktx&szgaJdXNTj8nwJ`icVzRYoO_&s}jqcdSK9|5(fWe@3X7@jQ4H2$iyHtB2fokCkX!e=xwTmbS2Eu5 zQZx4?aKeaBF7H4f5Zbt?0LZQflpoJMr@@)1PtXp4ltaq_nFGVg<|(H?XdiBH&5+^l zUd;mD&g%@@et(Yx-ww21I}h|7LU?(!{z~BfvZMM!0EcU~YOGDYjk(5&`iO+JyTMh7 z(4Lp>_fuO3wF=!FsJpa!a!Q9 zx{mde2{&J(BRp0`k`=A4K%^CL5rd;Cu&+M@L;~&fQGYX5&66HN!RycSoXJu8vq15P z$~xKig0YE{-1%nYU;lZ+`#dMuhZXkl%aIiyYQ{ZM*_yw-{4~pO#RYk)c-ut z8|CY6MM7;$B~!m#dP<(+LcF|rYFG2nXGXQ(qv(|K?IoP?wQ-f(KgZuc7bxDQFZvQc zr?}@}E`L#4D2dc1`-z6B!NIoPv42iawWqKutP6Kk)MI|d3x3&*R^49(3J)n?Kg+MM z4Ag%SsFDQnk2)IOd%lw|rasT(VWEE8u@J3>?T(h-L~a8Ap9%8u)yEp>tNzl{;XsNZ zBvmI=v~rOcCoz86G$=k^@`jpKB~5lTXU#k+V}IrYwl68os4}{~fHCFumx88Ylt*?X z3UUVUg7M5Oxzh+#x>9)vMCN^q29g)~%dJ^5C!i%}qMs^NxG3o?ieLx93&WuJ22CEX zH!M0zjDnxVeuU)M{NqMSu_x*!r8HOwzR5w5@W0@;Dt4)&56NHOT(x8jeto|G5SN^HLwf4|z@ z5scr#MW3GxmFQ99u3Vtii0xBDtTf7hi$eDqJw`RBGb-7=Vet;^K+M-P8o7-ruu*P6 zdXusu)L(j62o`e%U#ba%rw4&rw2^wL*nbWV0{iT6MB98tn4OPxG>zVGimy|iTt!}| z_Jp;V5}ywT1~PK`j^GyXY*N_!Ft7ZBq3B~e3Lp<*a`5YLg71;Sgxaf2SkO$?_x%<8 z!Y`qPOb(cdJNkkgW2t_t(n%n#wYXX|>!-^lJ;okg`plNy_H~FHb_!DQQauyA9)G>$ zdK9Z}m(Gp|s;K;pBxv|DiNG%&i$6Jg;$y%GIW4&n$MRJ^BiwNzI&uR zK^S-tx~`zDa{N<;3HoQS(DR<$rlJ&@nW0ohdp<1h+jlB}Awtzh%(MZSY3rVLT5<6vlEX6!u_S8T zh@dtgL2aM}wX~CFYT3bkJ;oI2qgKfsP$vf><@sSlgwfL!zf%u`t`>>b;(uX=ETI~H z2O<8MS|eO764oNoS|nPFWZ_}?li-42pj}+b8G@}c1Y5@t?E4io zBEQtFKQA4d%xUg`sUKrE7t+nx+f=-LuQ^b4TvFd=ay4*WZ5w3d8&PxwfSiSUG;C%k z)6cb!cA;O(jP8|fL<`ds=YMYNNTaTjXS#T1)KaT0eMFVlcHt59q3)L9nq`lM$MF}hRkjXHQ>YslnpQfRvU(LophHQ!w(KnITG(Cx-bc`f z9|?xV|6YZ2IG{qeL18);Jb?!AMe(nB{g~B{LO)=bc#lzrC=ZS)lUAZ16d5@L)NMcQ5z>DYpEBc*?&-j>|e0r#3C zFsE47C|R>cD!G}!M{|v^Z)9&j!kk2m92LbFj@r;UfoE8F|oiNWLwO%$xjn;B(b|E-HJ( z4tkGz@bH(&Md^b-3HE<07xwqkr-WFVGG(q%*8#W_U$LVKWTtvk#)E%nM{qe{r-3s; zp@$?Iyq=k~Zm5~1!m@luy)y4*I1ICL9Z2O=kveX|KS!zvjbx0j)T8G{R;!1R%`qa8 z(zWZzMu@)wUreejJKZtXc00z}j-F%;Q`srL-ynzx5pD2oQ9FN>8^60ui*F_OD_+#c z^w4)59};_4Zh6D7{<3DvYlYRoG^$wrokKk)U5Nvk#wc-n88EJ5rqWcnE{F13D)U|P zNoDzoCUwGbwL3HT_8_jKMGq>M>9KGG*7k`La+WrMr!Of7CT@~C zla^rH5D1RBs?;%}T?!(11~@U~n$g>3uv+b~fXgmP^;*sEYx6(Fnq0^TV9PlP|mNF;2Bwo%qw*p@^-J`x`D5Ijr0Yd|UR1Rhs`RS`> zvF^#q994gq)(`X@mz&7uqV63X6wNuWo2spt(=XAmLD}ri=DJp8#jSa+$mk6FZ zts%-dj0C|6>LSGNZF0n$!PMm9gSqQTquWXs^05ZCNpJMV&fK71A`&4uaCp#kgjIn# zg9zE4e8`AqPKsfrPw8|l)LK|hlrsd@M*c|Oi$;IYZ574$)9^9fkX36AtYN;4Q9B*y zMvoJMN^d4(y`<4U%+}-n&jIb|KC~@hv`A5WYw7o-`ay$E(WlXxrE7D|{NSe4$+;_q zEY+1cDv>EIWh;BwL>5R9e(3bSHC0%XFN1K2jKc^6M zq|al)avdW(XXuGQbI1* z#AIONj?FTgCXr2T*m2gyX%!&jN7bJ5{4dEHMYk$l4xM_e?=q@Stg8QG=yvF{XET3+ zLhbf^tlJ+8Ml;Bj?S}NN25EBAlNT#H{Q6_sZJ+PTNiF=XYV2HdJy)y=#_y{-`$F*B zYxmUPD{}T#-x)3t;w}Sjp;2W6t?c)pveFgk2>jld6S9^$p>_b(xu#@xRehgS#rAuQ z+Q%U_hg|+s&VVwlK|(9W%c|c?#w&l+Du(0Z-GM+qg* z%zOIE3jz6!xu)uTMq%8%vd34(`pQ@*8-cVkC6Gn>(1mMGhw&%fbQo)MubF?5k(-fc zQG>45ARMc~_>A=8QlE@;LPnz+OmNsI00s`FrJO2$(b<(bEu!&h(P@@3GEJ*Ur$sb2 zEjsyHgZa18``Fyq9Za=$MB1g1PTNQxUA2B)p??=}{dUf3hIDj>gkxp@UEn*5YJamW zc(uRIxGN|i6FUS8mwwx3;YNR4xE(CqTvwE=^R%_j)6=f=R2PsepMIi7z*3EXo8eg+ zjZL?NZp5+482FGWsqPvpx7Q5O=~r%Vyf>YIxeN!i)(EX7U%a_8Rl(9#!EzZp5xU+* zH&?-7%78AhaaOp3^-%-EM0$wt*Oz&LUPh_ zjT1@p8a*fIZrw=BziW9DeW~0qSgK0Dr%~*R<(Z5y8EX>L-dZ*->VJINtgco;_Y%QcdGg7l{=yE;0}5Xkin zb$`E4B(kgPGePQ%^{ap5CW;!e8sqBW#tuUp-h( ztB7CWwF+f}jT@~ZUZGX!m2J*hj))tP`@L4+&ThOA6#yNEE&G2%X1^8G4U$GT7(d(> zUMc7xC0JHLp{t;1cYC464IRo*S3#(D(@>8v;kZ)ZcVzdVu7S|6fu4)RUA-DtDZ*PDpsy-F1}!k%KMj8vt9UEC5es=3>&aku5x;Ep6BIy9z2HL936oD+Rd zFl6?P9hIGYy;5ZSIVwO##p{*qw;5Vp^WS`>J%1?%sQ5#Q3ZsVB4eGX|7R;<;xGS&M zkAwO_CzF5XSisx=vO{yA0PYa4V1z~oeC!X>NZF|$asXiOJS8hu{W-F#F>8RoyeM;R za(i%XT`bO3=hfw6H9c2ttUnnX5n21?cv!z_QO-e+1j7f4=MTEL6()0%)K9v|Tsd+w zG8f3hjLq#LHg}S-x!voS4Ls>%b0;Ba9%4}CBx8SbyBJsA@PW|{AAlWu6#URVM*ySl zco<1{JXE)<8dO)ur>o=BRdU9zuBdLg5g@l+@KDd_{;`Mqo@M|ifI#Y&=Ur*$f%1X* z!;j6l@g$fUAXtL!dUcEb^%DK~I{nxOo8#`_TKRY~CRhdfxY#zh0J6C3@m<&AJDf|^ z`GkKTLD#_K8UmG!IA!z9wb?V&l)->6gWKaLi)+j|7n9RZ;IGF*|%T-FYdxQrRKzm>DfESYGq( z!S)d@(7|eoW?01&byz`ziCS~ZmB&6TCjft5XJKcYV6LGHJCpSUU}d}L!tF-p-U+Qs z2Xb`_yuKQO@nKAI!T>r?h&od#8&-ID=|6=Pcr9md%gg)IV_shGr7qx_j73yWC{Q6` zsTsK~M>X%wi!{fA_pz?_ z(p!g_S^io~v{$(4c)lK4ZE-KDI1hhe2!OVxTQtSrq$*H&QWc2vnLe&Fjfa`A-l-Ph zE@qaD?bdL9A^0YG-8Q<63Z$h|;NGYoH>pep7R?0H@Nw~VP_V8vz@_=k085M+3(Uip zZhO(Dva`b+^MOb6iVINIMezps{&$#e9UZ;WbQ?{h1IjVDwGKLsgI!b2I*)$@dr>JC zNNEW;cCv`3`fLI+LAuho0~9d}0{j<8?|Q za1;9!U5hn!T>i3`E98&8GFX3<3X48?teS%Sh=!LMMC6{3a|RXx)3lWLVTZ^>uGPf@ z(USMn5r#ZcOYruf&v)Ve5{C+xn0TW!hAS$+(%fepn8H2O7I^Qx+^ZexJkq0wA%{TY zp$|e7-RPeG`>(te;x@IWyXA&7qosbT*5eLupOi6xQqY6_4Mul9CjLe>-{>7t#= zn4LrF&FaUzdvcxcXk72a~*#uzEp?H?aEm*@AdluvVz>YMaEV~>v9)+pKX=y@7H?|Zw-UnPyQfAY)%L(5`fT%b6+A4tl4!GMe^#nsE?s*L29 z810$S#Kcrj)eK}oZPg4U+%4;_XB;t2tl=GlTy1L^1k8W7K~I-dN(I?Rr=gaqeA&Zw zv{M7tw$%6BZ8#kADJLyye~(kO>`~tZx9NnkEBD-vl>&$hb`x8FCLQ8*mf8~wjF%Bz zxDXLtZ9;%z520FC6^;c_QXaUS=Xqx(dotYLH=F#1Utrr@2y*m?40YKDqr2?Og~47nZ#WS~){3uGUROc7hYqh6{DN$WR`UV)}9t1p!ttxJZ86id3j-Z(aBuiYg_N-55PYx2jzvuha!E^h3-=E8&R%a2k10l ztH8)^MKezhN@baGkA9G_xXo|!>OTzt>l8x0$Tfd(8>hj|^~aW_TZ>C_ju9rb)ItMq z7zDagg#OfirGRp04<1i*CXPm&k3MlUZzqoC{&1SR#8JI>lsKCE!)fjkM?;20+O@Ms z&j$9pojn?kWsmmUJ|)Kz>AKg9Q2eEZTPg&UQgAa0X*u(hDVz0Dikt^KmX-WWYPK@3 zl}mr8#K#rEX8m<}*?2^$(xvVCBmpoYyF}jAD~~wk966CcciRvsPzdm8l?%<-`JmQLZ|Hda3%V-Al}ft8JSkc1{bLs7^~2d z5}YK9^*GugD~&$n@>EV+c&vq&T6iplms+@t+(nR87d0k{gN>LRT$r;lqSvuGIaGfc zfc-+RxIiQ~{U<%x*M=4Gd_ovFXk$tBh>iZ3-KR%{i`jwD(nUU27nK*@rV^efMaH~4 zk2DddfJh@JTZDJ11x3!a!i99Esj+FU$n6F)^c#$U_hr6ok4%4g+7%@TP+(2v-DwnD}G4!J#>vsb%d!^IZSLD zVcg${6=n}$a3K-Q_dNEb zQ8EE);lKpXQcX@l+R6R?S4GyyPA>cH-Pa^(1RRsSs)->)IQT09s+}XH# z0AHI>-Rxr2Pq%O&CQrEC02Ub@1ZimBTe*YZB*&Y+$AN8pdbE<18|wRb1lw6FVArwY zvQ3V7X%ADIkcx11dRB*+JFy;9Kxq+DFQhZKY$5|cV! zYA&f?c1SgmE%oE<%njbPC9i!5N+H$D>cThQd$_#tdZ@A+U_;-qI%aPJSru+^F?&{h z42?&40|UWyST;2AUI@qTHvw@BrrfL$+zfn2R15l4`8X#a(Urh6a{+(#xXkFl)W^Kj z?YP7ylBk8TQPQh~yd+RXneOi^ngi4FiGrv&17+%9NU=lBO822!QiSO4k7nz_7Xj-UzlgzLx!h-pCqv-v%Cvaq3_{#A}8kWf}-%H4upL^0FY+ zoY;z&XXr?oB3?fB7O{USQ{#VDf42Y3Ez5sGR0CU2 za$$CHS|*vPeA}U9rl%dt+PbmqVNpcRKSZNJ;2=X_Vw6U* z>QUVm-?j-VI3@F8V9FObPfc`bh}Ip|hm#0j)ZQ;8kd z=uN=!JW@?zY?4+69J%}wM$}<&5;Sb;%o%W9q-KU{0kxFtv&8(Ne3`B`seBO`gldsx zjZ;q{y!zNaAz`?(IIEez?nls7kV0TAC?o(G?)Fz^jS|T{%EMC zPgpzc$l3|ZP~U%L3#rk&_(_Muid~AOIpY$x!?$>Sc6zk^S-%7oqAYUA96S-re&Z@k z$*xmC)gb9p8Ou#vl+kco&@cXknM)}%_GMINXd;pp&0sr@^gutOPK2Vq+t&BoY8`?k zV(QZtcd(p}ERJ&UxQ#YqrU%MddfP$ubnbNAIkegVRhNJMvpIs|k*_Q&8C$rM4-vw8 zuvuj{jxWW27RjS%&uNxDk9*S_>B+sep4{`AWp9Lg(`zfpJ+E2z8r+-m^oN9ATeIw) zyLz0JbI>TWax;-CBZdA|Fi5A9sqL;&CT6d8u7VGqG}voJKEcAkkNI+1Hi~KvTSY17 z+oiX*#^itGZK8wC&~sG33`28pPR)rj##jl}W(+!@%;f)v<{lVSnE!Mw$q3$YFS0^p z-??zX9Iq}ct8Y>pHgQiDhH@ZZdi5M2qYIHP^~878DF-u#1pBTERw6K7M~F(1U-;vY z2h-=>Ke*5?Im$2&(S^nH(N7l^m*#prBO8$HN6&vN5SL>0F@pY-#gzuBfrWH6>?4q0 z&m)Ntfq}sG9y4wVJv)TADO2Bn|Q(e{p;LQKd+A{ZYGYmYyczHS2GD6{WI@Qm&%1QD>2u2>C4YBo#r=sG}t$U&!29 z)Qo@f0_w4hjb^E*#U6DyM-63Tq(7_tiTJzTSfyl#!X@JvsaF=|k+O=)B|632nOX(p zT0#zF>H6Mz2b3(kbSjg&#H0p5ne&6D3VEf$%TBd+lYHfjEWK2gS&2EhU{vdF^+-&P zt)_H&`*`uDHHXV@a-JhB7@5D)8CV~(W66Ig)i0yMd6q?c1|vML=bO=k4fEH^N1Ym@ zF}CyN1g+=_8SZw+Sa-)Kpj{VDAVt!sE=fyu(LjnA*4Ml_= zr8iPjB9}hVO6!YPr1eQb=j&wW#_o67nR+`BQs_02m9qs5CaatCaM0}b@oC!=>280I zv~K1n>UJNw?S9%Rp{>FrEgZ?An25fsqIS_MBA8P~Fl%gCq!{H<-DiibDt7|qvd)pB zt*=pVss*R&c}}&&RO1g#uFm>&MbWflC-ud!Be>$*_12$9ujuJ3dishUngHYd#V&}c zua1JWiR5D>Mv6!b=ou;9sTrLNa>9Rts<)+yea%i6_neVsNJE3N6>-lD9-L4Qf*;nu zw1WcIvcdRlw%U_#HMAU$X0vVgZqm*;p(b`+=Iw(i^qEdpy)) z1zt7OxMnNwO^cT~wH!RskVTp6#u<2^6tO~YPh7qk_TjSd$=G3`!k2;SSkxYvntQ2c00Yn1fiER-VzrB=B+-)(=;o{n-*nKCj= zPn@AY^6k@Ci0ZV3+&hSD`?aWHLt!}A9-`0_3cH)X#6ed@6#;^>23!?$``RhG{4_h8 z`>o}snSVMoxyPC@Tgdr1J76|QcfjPYPSv5LtGYCTfUW~@r^!)RM&PrA`nf$2om1iA z=It)5%EX0h%THv>G~jESZA5iLsC!sng z2P(q%SsUwW6CSN%O(l&{3A~St!hC5wU=V8^4zHnKvU%4Y`TTEhBeR(C%wqbko%$}q z;3U@(8BodAO#P|1k!;O)vNe66)Ca61Ub&WQJS#gxcngoghgW~uS1_K_fySHq&)%l= zpB^-x1-VjaC$fjxzc6wIz2?z_^7((ijT~UcbAV|b!2ea}IjNBq1;XZcCyEADx`ciY zWw$MOdF3329k;z~@Gmk(@{&LOG{s(1>zt;1?G z_3W{F_PcamzKMUv$mUIU)thYlP1e83`ZqbG=&?5`Tm=anDtYjj3%uJ~5qu!b70l7r z;VXI4B&|fijEG+Bg5e5A+m6no<{Uj8X8b&A#=ux>2Fv+G3aQw@8M)?31RK;}3J`z^ z5WwQ3(KH7>LlQq2#a>=IBa@7gy&~ABwCNGyH@LoU+P8mSIUseOh4pX0FVZc=lM`5- zFkx|tVg*=*8QZTPmz56Ya&Zv}bEKY~Wj(l6S-z0UjNxf)zrMRepb_vW`SLE)cw+$h zM~a~n?B+{2T)~J5p~Wu`Qu$-6N#?a<%BEu!2{m*ABdkC9J_?MmA>i;$R00k}5@|Qq zg~Cmgx;lSuHVWQJh|5UcVZ!%WAL|!*L|Nj^^VJ&u13Y_(nTDO*vz{Xsd%(@- zkY;-kgcj42*n4A-9nOEl$ST!E8S0`8n>AxwtK}K2%diPX3Uv|sxIRp#HOd~Ng)nVe zh<4fN*HakJJb#-p$|D|WZok6`KY41GmaG+q9>Sp$p}YE6s&vn7?ht^c;*xhJgltNT0g`D4}J$s3r!J+P@g5 zWG(Pvl~mLqW7%V`CPwe$7n4>sR+e-`%rDl<#=*1JF9T&&a_p%7ZUzC7#s*2*+{g*= z)l+{+A&To0iwMBk-^T%MSzf@;o8-O+Ls2S`PNy+XaoHy{u+out>)^m3C36{1+f7Yg z$wlgF7-^W>8a0eqL;j8$x-U|1qv~BQDZvljE;Ys z8Fk`*g}2rg2kb5)ui_4wGO=zUw{j+f){2n4D8%}HYR~z9=ozJ?TxfVdU{g^0l6he1 zSTDKRQG!-;f@d<>SSFDUQ#P2gOK+_I$Q+duPQUa**QLzJr8>y32qs*DL4R0$M3l23 za40#ytVVgHZd$HC{bzhO9mn3d3YyVk=$xj4ej#+Uf*nN-JADO%*3_TVl8v{CDv(w;RXgV#SmP4&e7X+?h}calN= z+^;9OHGA>zYc(V9V?fxaBy6CJ>g|Yvr5xSYPgwQ+j(J79jDMHpd!^gjbrFIm4KV%K zo~6-_{P)(^aT({=%mIJm>N!pc+ABLEs8XQtKu*<$A}ZR?bU4s92Cj-K%rQk)O_jg5 z;lOAxj<0NOAyw)oNa|~pXpMi;u^OeQQNkJ}TBFq0C_QbB0HrvpQKB_UMm0)R&PNDY zzzKAc#`7{gTAvE8>3g^i7k8hw{@9O*OU@xE8c;xbfd5ZPcaSNhT%7-*ZBD>;OHlvx zL&3nbfbHnmu7BjCKYi=}v7fOxw}0WUZe7x^cmC94e-J67z)w7iM7@7{WButT@h6TI zh)&t8$eIt|<*<7`cQ^U3HsbJMN@v%e!> zdE0<+a7rT)+x6)b-SXt~dC5WPP_+Y}AC zAI4Yc6AQPRe@>!UTzy2YUc=z*@WtlG?Q3A9!=lTIf14|eHr^MHQSP}yW#TvGGVXd* znjBt!Tmg?q#)iB~m==cv(Tz}j>Y4A{ZEs>94``U8!IZI2>>QDX4pj~3ohqS0x&%HK zPgMA3E9V1qkdc2${rD$?hHfNKw#y@Bx+}VLsMs>!SI%IH8=z>5%B>Lbf zC4#$JG3p`7!}^za@qnX4xK1MwGkV3tn_=uZRzGqo93FqzggzsvJctbL5%F{npR7-m z_PZAyiiLvGLwrjgF#H^$d-9I;U_tV&HFtlVMEogZ%nw-pr&E^``$>df3Fynr3T+nDjxLAjP zW4-TGs42|QLQX8|^piQ}@W8_%f1PCJh@(!zv#fg52}p* zk{f?NLx*C)R9hLyLr_X8dh%x0qKu9n#*#Y5-C^Sp zyZF(1vx3bKv8!wbOqnk2UN=IBm?)*}l+Ay7A9c!<&GIz5&ANv}8o|}(=EDHf+CO(p zCyLA`oTtg$%ta%rn%wZbn+N1^!d+M_(ITAsg>C?xS$KiN65&|7E(_fnAQ5n&R~3nVsg* z%w$XT`@R-7p>R`ORa0hMRtLR5JoUpG*-l!ITm(SKAk9&#dF=4fw+FK>gll{7GiKj_ zjC6|5SDQCBMWXx_rEU*0l39zsQM@zc$uX`iPDM%*9gp61&||SbWyypa@Em_A^?8cw z{}bL@!OW4kVM1;2V+=!zUastn(l?@GZgT975TDpN=uC5@Jsx_1w*PFFydlxJ>s03H6LNaJPggLKF$`C5 z=6tvf>95^k-f8NmPKi2-T={qE3?|Pn_``n{8yAw=KNITbleAGH!TEpGsc*mSa@ihP z;Af1ko792Meq&!Z^(SOwMwRkknX;LPOSLT|TVM(dHIgW3>Jj=p;@O*Yu|Md#^|84?HH*(0*ezotr~ zkpnx$NHRhr9wmk=$Ly$@VY`~)nUi)M4E!J~b}E_3!G2P9fd~75h>i?ad}fCcG6hSq zcvYnrDj<*y8KPchhpVjE3afFSAsl0Qz{FGD%mIuc3sQd-0EDqhG@6)eJS;nhYrv;+ zu_quG`5wDz?Zw<_H?wo*#jJNmfl*g2=(%fQi9CB&Y3y+ur88j zU^E%4ZAS83MptQ-(dLBogwmM9x~3CP$F=rqJPUrpGp|M&yc~lNi+EXcmYrjp{ak3z zelNGiuB8my(Ni}E&>~1o=75L>NXi40Y`X7k4@!TCwvo_Q-avqS1&0Q-{FTZK_49>I zn{o3bHx)KocwW>|-g7?n5WD;kx545I{pIM4& z!h?U%)2`829ZH4A$#sQ!8YSOfv7AMhKrw6-?_P%T;PuLhlPu^-YpSPqxj@74=z`=V zppUbwN~^k=O5?H?XAu4yIlcFwO5S+CVw6HDQa_q;nr@HrBIBrJIW?#zpfSd1kVe_i-84JZ zSSzEl1B{mLw~TJ=y1P)5R!i0O)*BdAXLYt|&+~}O#5i(V-OoxfjB)c+tYysGJ(%d6 zE!*^C4|Zd(-s6c$9STOCE9@&d0t5H;6Q<(v*if8H&zSocy0_n=*k$l74DVmMcOZZL zdt$+5yCQjLlV`|r=}$m3iAl}=z`_&3iCnf|qu>`t9QarY~mhq_X)JNiAWcGil`NV9o zZ4)3Vw0{VPS>LTUCtmh`(&)*0d$5h3p6$U4eW))&Q{@F6CsOuIMX(=n2Hc1bKxpt| zM?=%tEPmwXVKA!DnHa88-*4jbH3}vZn8iB0T7Q3+833z*%RgCT?N{>V`zz5#9yn2T zzme;42_!?WRuOa63W=Z;e!YL=a)U0*N5Mj8ifw~fZ^r==kMwTgF?%Gv6te-5{tyYC za5(aho$Ij^@$xQQZSFAfIt6JS43?HR|IRvX9YcFLac?rMcA1*Wpk)nnz#P z(R_iC+g$wh3me>dUj;{;CU5EQ)4Q1w3Bjsi?^6)?j%<3$QEKjTVxBwb`XNDd}H9zzR&r97U=GmJ>>dV(I6815@%D zMlz#H>^@yTSoX-6y48OU_*D}Z(E*4_&h#VjL8gII!w^WZrWz2n)qv=Xiiw_c1C1qL zdHlt6t-sGQ5K_k=$Ul9)-Lw=rrLDIm@FdWVF|U3+06vP0>0g_x$SkbCpbsdz>JTOo7a6XR%cxn3p2ZHS1Clk>h zyA%xv->#}iym5b3mBQV7n1B&;#dZ4UTu#nlOC);D9zLAwd62YHe6>1dInkL-Df?Mc zZq$|mf>;v_m;uDJTY{;geza_89UKieYKEdvw^`sil3r1xKnh|`9qdQtCZtpyS|nCP zM^^52uyYw^o=()TD6@02mbYQv+1Rcs5yf6cngALWNcn$q2+R`<5SbWc${;#}cp43G z%3UFQ;F!Z)#;nnZgL!+cj5I`r{sFJvE;ZR$fR2Q^B4$eFPZ+v#blVMp)k`O_UM+U^ zNz6*bq2SQm1H}QD*{lYA6g-cXL9umHNyw%Gd0|gbNJ%a6|7+$39fz2dH=Y*2)To&M zYj4NhL+pPHNY_j!=nZPudX4TB2iXq!Mjo-qfsuB(ncMOZ!=f88vX7llAO>Q^5m!hZZ9QtOpzbXoiYF0*40KImY$iOr zE@>*{D`gW@&j(YI>aUr_GCI0X!9ABn#7EwV*i~$yoU0`*CpnyDa@ZpUgon$R#5TZ? z2~`E>8ARR%AS1*%rw))~6M`{=MO?I1Qm22%jt)fUWq@b%v->@i-zWHcxZ-zrLnJqB z(IXTJ`vmFd9WJHXL<-YxmyBFfZ@2AfBSTALTrJF3lu3{gulXS#p9 ze8XJXmnAq<1_6zCz*6(lM>G>F5-6kfmJ3cL5Xlzl+bnXmUH38e7wjV$Ek@nSq`2tb z3NgJ$l?H${xd=76$khZojr16QE=4T#0p7X62}D$k_SqQ1EtWqkjq4d|G9C-;OQQ$R zYvv)Cia7TYsYQf7pb0wgRzpAM5O04f+8Tn0FnKrMTgASfI)TP}EX3)^5r43{vYHY| zufrNn%#{^hl+X9)WuBYYDcNkML%~_BpdG_R#GT2OxI!M4_m1uwUwdi#H zqElaV7YWE*lyWApzMn!(V`3*ExB*SiX(K&{UP1>stjOoV^6I)lr$Wj%NPF_R!SjGO z%!$!KO0y_Wu~(k{p=7t0+#v0=qmb>!XXz3E8!R* zpbF|8p#^}BFI|)uJ9+r&Aa$-^b`djJ$QV^355QfgeKxsobkihe3GRP%6qA8xpC=M^ z2lBc@J(CsUUIZ=D;F;plOhn9tVj-~VRky-$(wG)9sO3{Z{Rc#WMB?!r4!09P51py{ z#1REr0!#_z#9|%FRO;hhxq}#upxuIzs{Zt-h(VX0GlOJVmeTkGo|0t+Q6Qeb(x(eb(xayJTE52>{)W zjoBwvH*Y-3C}jBEtGu3ERJ=I{OrhVnxB$dzkJWn*W14i;MaX{@jVA~Bh^Q@cx9Xf> z7bsUkKVnbj{kZIDPJx@soZ-RNu(&)7>i_$%MYtC)(XRC-e0<;!`Il%r;(`C++1 z%EIVrCdTT%D(c_=oTb!}?&|vPN?dn!*Xyn}@m0UwUH#K^S9i_sI)cIU&D-F*2x#xp zY0^k@{|U75c&mX;N4dr|9koF^s_D6%dSPDXXmN$i$|rxAjo+(F=w!*9Xh9T>>AnF{ zJ$rodTZ}xw@0Q<7;7H0hc6(Hu;E@g|{Eo_iH&ryccXpUNO&wp&PQS+tkyCTe?*_%| zMPIhL3JX(Tu$y7x7Zlgv#~i=vUMB^}cH2?&2t95_k>xir`muO%F2j~Xf0!R^@M4`t zNBpzl`o4dQ;>6*PBUSc`p9(9Ph5F2NnWC1{gAFXC984=%=`mw9)bDU`c-i2Slo{q?zuh8y1$1OOtXhiNZA{ zk@ay-mf&z+7%{}W_$}pTZ3(4tL_`Roq!@Y(OZU^t=NotAX)oF#XvhT9t9N2Q&j}yV z8CmFc{n1DM znl^t7$Gk`Kk!_93?p2Q2$rLXhWKBK5bD4v~U@rf^tWi_#jHbWsFullyqFseh0E5Ws zs~W&iO^>TT`Blw}xJHgdkGbziWx8Kh`~Bk~Jx_d9qhtAvA@ucUz8d2H41dxn?E16# zt^Ncr9(0b8U@Z9RK`HvdcJS4jVMb?z#Ik>0m=SHK>i%=`>P-$l=^%rk09XL%47i`v z*D~_>6%(m7f&7Q9>U}H25rg7qY!jqN!7P`ZX`T)MngTvY?|Shbo9BOQOt_>aXPVN$ zXhwQX0!=H#K}8d1y^#$*FEzTno|Ehd#oNW(PlJ8T48pBDM|Ia7Zr z(e}*TtfIk<7jnOILp~12GMebzdAjf|q$2UIQCTFVOz)6H!J8)z~^DkaVT`OF~5L)Ng zh3ZMmD*YUnZJNwAUD0T|qIo9iipHfYPP+AH6*rPL$>LilU6KeIKzIO{}I#+yyhm3z3f;+l8 z1`fmU5hL3gnFK&)3s6cpwtJcdz{w?Li ztI55^J2bJ!)DQZ1avMWIZJ2*2CsxS9jFs~!|GY-tBHxH-ledM9X>R-yFI?B>H{J-< zpcuU_uUv8ywlVCCJw=S_4Y9p3w0)};xlSx7WCbfDyEN?Wmc9g$S=>`hBMX!%D0l!X z==m;yMFue_wgLvu8+KfB`6OpMj*~b81)S1y29mBD1fC>~d6l$}Xvlwng?Yki?mBZt zVb_QKJaou~xCIDLif=`z7h)hO5n8P{hIXLbb(}V6(9G!1iuAOA&`fZuR{GnXW75sa zq}V~u8Rr_0JV}NUdoipqz-iA3TujEyQGGGYT@(?G*3TH^Zm!ecK8&wyVdjI}GgM52 z+%pEbn`@XVk@+BZ-mrfn$o*Ny2V-wYD-X6CEp1mk9Ul|II;QQ4r>n*!Jx7w>biCr} zcwAmbsWd@$YKniA(+(n1wv#_{ewZvpC(Q8?)Ktc>NhMA5*eZWX{qYmSi7W_BDE|ea zx@Fx00c_hK$;Zt&Uh8L4ep=tpoa40Kf|So+>JGXKhIW$rL(1kz|7I7j>ZmINF3Wh3 z%D(1fd|Zj0HkLv{bi}0o~Uhe#LG%-`Xuxzgxb*@0Ro9yJfDsrF6&r zRj=7C`)lo%Id;n&!7qL6mYw!)nYMPz7$!vQmhl?9WvVM_e78*3*e%_Sez(lHTQaaL z%cY5}-7@su}0;e;w@MZF(5Por3jXbFARhCyi{!k zvG&X;0rDG}i|PJ)@!}cwGq7*z ztj&MXp(>pTQqSwo5h$aRiwGfI-NonZzqHp*efvf>(s#Gz9n6Ix`XSBmYx@_>(s zu&w{Fa{v-ET4xT}XMGNYqd5?+oCDOdG3%|q9#_R<7KcVJOHui zdYloBv406u7W_-%ro6cIp`7snh@be9*w25s*rgi7N)eI9s5HB5b^=tY&GL`STIm8thG!j=OJGQAvwe#m^3~9ja0E@tt0Dc|S zten@$t^|U!q(wWRp@3~5I9po)!9|WHi9IW8_IgdRI*HD8ptyb+TfdC0E@Q-sJMJPk z2$2Ulh(<#YwTB?`LlBLIAZiam$`cD%F5!Sh9(NVm6h%`e#0`n0L}^ zX1v#2T8$&AhXGro3~iavE*t27x9oE30(uKgED2Tnc-!Yic`W8(RJVj4L@apjLwr6G z!vkkDGO2WIY=)Ue)VjBfE|p9aGL9G7kc~4^cBvit2v`7r*DlC^{O`>x?w@V_?Jy}k zANGp9+qU;^JKDS5qHpcpc6{%4i@vpYufOQeCTDhCx$C`2(K;;&&!HuM;h9=upPQDT z-s*OB6*t8TCVjolsNT+6-KsaO)sw#3&RE^5HjUMjr?FL^jqcPkPEU@Ts`LM}!Di}o z+B>YGEec&K`_L=ZvA46duhb=}7^zYHYxhUW0M?>AiAZ;%jqg#Ay5(`O8b|bJDlR`1 z@L%JkjCz(rb<%EQl=Uco`z>*#ou5!xmV`MCF7&5W6t>FdO^kQOA}{{bxGZI2>(K?N zdN`v5G@0+9#_R4;3&t+ZIc<4J4}vF}4(zRTd>cbRJ#p8sk#qqreQRK*^D#Z~PqOW+=MV*sY= z*<+$|c;bzt`0hA2LUL|Y%y>EDZM%al?fm6gJ;)jF-z8#tR9}TC9H1qcsVE>|t#!#L zzIP8ej4h-gqf-xR7oVAkuDbP!;i%E`^7)nf z$;A}4xtJnyF}X&gUlEA;rr|65)NtHnN!OYzX?wDyr<*M4_#*6Oyd)DPJ>5i+Ns?$V z5?mpg0df}WD$+zS=9Qe8B4>Ayd6+V{3^n&x8w_Qxr$ED-tJE16WYk|rcX3+(C6bW~ zBqKY%q_D4llMFpIvZgIZEpuAv&1t7XZ%hQNZ~vW$)E} z#j9=%YGKQu23?;9wQvoC8l%RO6$Z6r4TGAy(Hqnv8q~aXOIq1_A57WI{NL+SRo%cx z4lI~cAgmEzQa=^S>Q{EZK=X$8y7X0ggs;}X6H!fnKF$XTg5d<29Jc8XK3mC|v?V7t zw?U?$sRuQ>{H!D=ii+4V^iZ`qyX<~ zk2KC688r6D0QSgk@eNhF+8)_0Q`#d%h$-Z!Sz(Vf^=||RRAtteS;gDlrU1;EYA{=u zukeheGe{IISkiX2RH}c!tb^j^c#{;P+E}4~N%BV3fB?v(nL>wOjMUqOmwiu_9xv0k z4$^wYfyBl{#)j7*UFa@XorUg+TkfrQI)}g#*tF7x&Nm}`7AH=)29WudEi8QtBdm%c zj&a+sp#Av-&YI95hV|4iuQ!(FaItlhBiOvsY*DP;%?+q|>4?Khg2>wA@LKtr|3@}| zQaU<+X{hks_2VxPvHlu`|1P~-0?jU7sH9(41nNgt&xv|e&^z_V{w{xaY{Q_>owdf>a|uI1X<248k}j z$D=s%k6RLzkv2i&4)OIh2<}okA8TO$M*iEzMr2TbP)aNk zqLYEIJX(JR3$?aB|4-An08(AWn!~me@yJ9va9l?!F+%1?x^&TKH6nhpWB+ud$LhA% znDx}r82^f41PqbK8U>@*(l0uHUcbn_deJ+LcF}o8+C`_e+jqQn(OE;g=xRRGxOUN9 zL%VP{j=OBT&Sl$czpno*I&T#1MV&X;j}@Ad3#6l*za1rd?r3K78pBd{I4lhOq^iO~ z8bQ)I$56Mn?4JZs+2T54yd*V-`isB&gKs-ok&t8?`F^+$F0kBA(#r^H-n35lgYjVOh)#P7uQw-N% zoP$NmgQ}d0Y$B3Z20vvCK}b4Nrr4@q6~XU^$s}@O5d^+4T1%aOhooEu005mHh+2p= zYJo=RHx5AU2k9yWE)MfbgKDebl~Auj=RLGu*cwN3k`PVrYELUid)ljq6QQvIQTvl2 zlXg-yQYDVKJVd6zD_OJ1Z69#7C8!b$BVLDsf-oZ+0B*bDXy<408^FK9ZZ9+ zXklgiz``kW+wp~e>yHnRhip-(C7krtj$^5NwWxR9g(X=WE!g)~cvYFsk*#_`1mZ0K zIg$ND!}0eM;yo^P%sNtPb`<+AaL43f4%@;4wIs`xW<#EDQpnz`~YC7yGKANmDC%5_*8vR1~AfGWpmm_A`KC# z60v+QBl5_ue=nwVod2O$>~t6K-nqbg=K}T40Y9r+v5Es)iOneR*R%tFTZ=ewR$|kR z`)#e^V5OD#S=1MQF_kX0C&rAQb0?~1mt)MM%KoX1@+R*(}9 zOcN6LCRWx@0N;eQRmcthv-{o3?-TqzT=BcRL3VEf--LCv@&!17?JO zIU7|kQVLi9xMB4W*C28h)iX7zgGN8Q->v*U!QaCbzq=bkxnU!3h*sXaFb8DAoX;gmGR+2o&vF?iKdDi>&mPuHT)JkY!1ZJMRc1uoC#(%GgW9-PyB?G z%$z#|f<#_8#F1erb7$)&y=k)^mdNRU3&J4fyT^V3td%nG>1i>OjhlYt5=0XLpyJSt zjDsf94HnoBsvB!}T7^NHSo6lv-{|fP9p2IEJ0k~P@4MKJy13#EvCGsW_C)S*ytL2V z>Em#zkVoueoEc!_k0JduBEjYlOxVs+;xY#NTWH=4lyW8jGlU*RI#jz3=wcv$&97QM zK>RCuqMr>J`>BKGciB&w%(ia(XZL$3zfbV@aK-QLhDdJM$Qz=SH@G_*6sQb~As+%# zBxN-T+&Zdbs>9~XAXE=7`Z^|KbxgF5>8Os$SRE5r$8=Q3WUP*fuVdP(W8&(V5*=bj z0lOzOHwdWes4_!dG~$GyK^jPZlid$``ZAHz;N-pRYFa~Gn9U@xf+juml=eRjk)5)y z5Jw#_GWP*MGzsh;y_h1@W^%zIVHLksQ~G^!;RN6ortl%Ff^XhX&Kw7Xg$uq^*rpgBS+s;)}<>W03_ISG`z4cqt^H@-SG6}U%S^pD! z?NOeSIn?&*zFpC(f(<&(7L-$iNe1n7+|9v?e%Ua(dBfPvvhoQwMN1~&lQQMFHlE`e zn|lMFM6UR(d4lUi@z?{+V&4S8*{eoI~L$jiCzoJ&%vBr{8`+iq?mpOrD0+_XPA3l!3KUSee z{Aksce3RJq0~Kt3c)&89jG6=$>L0BPi=|k@2+Oc7JPknDh7&!51ROoWuETk#dR`&Uvd!?Xqn=a~_~g4l3`4 z4*jPAY`%7m(YoGGx9lv2LGiOz)za<3Um3?6u(Lh|^e}vX-KFNi0FL!alj9Ts!{cB5 z-WP$|@DiHGp*_1$#vb!u2^gk&{7vi^Yr8nTB!7=?A74{|6$I zEinKU8>E^fHbdLskydd_f)*O0)tQk1ojU4A3M!H~z~p3J{SNp7G75a2e zO_10{&ChuaHD-i4@m7q-El`+#;zR2& zK`1W`tL`9B=P%s)bpDo|S1_GF@ZBV{nm)@^J(CK1-N0B6Vh!5zVJ9&GV}RkbuZ$IO zJ9J>%yz45dm4>n*QVqbBinz@`=kh8BYkKVRy<3ReIp5!)QHF{}N#N}SFuJ;MjiOQ3 z3c{Ixzds7&C3C_Y$LzU8^T;k4dhq}GecqD?Gs>esu)Hj5SK}z)p-dK*pZe|FZhhp> z$qq|fjT&FVdHpE$qh-fYGfsV}+UKNWmO!xj*hglLFD!rH-CLLLt?c_>9t6SOM{l|6 zgZJQDaL4cc@!t1V>AU$y5IkOg2R7lKg$IX!e71Q-G!IiBf5Wi;8#&LL_rLt#;J@3y z?IA58_{7cYmjF42ICokX&0_t)kJ%&j6Tx>LuA=w9{9oSiO)t3T-CuvEI*8bMqf}zz z;2bRq2%7420x!$0{QM{qzl^;K_x*#>rtv<%<>6Vf*? zNAkh@?|Erh=J}@*lP@WaWXxC~KtXAuPoP-P4hl-+6{lQavz(HYi4oC=i7qV-9QZr4 z2y|UCZUhRPx;@xHM_Hf?V<*5^Ul}cb)oQsq0oV~1I$y`%DGTqW!xi+I`p!>=Zf$J& z&i!*`Fl0t9W6q+nA1mT5WX!{eo$EEOf9XAuMuNJaZ`pqsq!|~N@CZr1xIKtR4iFF- zv;rc7Ca^1DVAr7ItH+vw1+DBHE>|`K0Sfs|z}7dzvb!H6&njbElk?xO#7qQ#m`8Lq z;7_hzJPdKelou-nBYvHQ1*a(tr};oLeB^O5YLw~zzP{la<|k@MZe0Jz_b|99_93}V z;~AFQvu+Dia6ftal|1#poce&Foo1iLsj7R&sx=ii%07ELvK~-p_{1PuBYJjn#hoMI z*PjOaMgMhkrHA;ngoK7ZxyDC-`hnMw;eJ=^AFpfeu}Set-TTOKVD*N(=$_W_zNC1y z-jEbG3`Qf0h`qA?#}@xbYm70l$5s#Y?qIX>c<A%s2})W5^tT&(0+-tpE%A{zI95yFPhGni$+ zY8J7s&IjeTT^vjxP;qfEiJ;HLK>_jac6-NrR?yzM1aL$p*^vj6CQ>K-VZY=n);o zIuntmQ8wiSL!6Z@J*_8yG&EvT10(E}W`_10kxs>nHkIiPGvh)msQ3PqQ1u;O3zeygs*?tc-^eyOyfQ+;!6x%j^$%$VM#TY@Gfd(xW^!C4JU)Vz zE#s4O$3(bZFPUfBOW4i}j<}MBxII4QM9P0KHIqvX`3hMRV9N7AVJ>aeZ><@ z&6{V+%ghnSCNcqN9;=>u0My|l-LFiYu{zmYVq5CI?AP!HP3G4uJ7&4{f}F~rb5)RB zQxq1Y+Q$1@u?fr(&pk*`s+8mhVU)9kVcKCXJD}WCyIl9UyTJ&{kYB-4JF)S&7Gnmztn)us8h$ zoe$Zs_s*Bm+#n*PbTx(NOI4@CmFbjypH2yFkpvw%NfC0UA#T8kIXV~H3_)K@nD*&~ z8cQ=ZEH`NV2~oVi-*IR{Xh+uTxAG6C+xds%0|bLdt}|SJn;*4OJp0Xa;mW*43@l&V z-H#tr%&*k*%>S@)*}H*4$@WNqOuh<*DGloX=WReko=4aR6ZnnYJHqr_k)S!nC5Xc>F1m8IA!v-p99Xcd7U;rQ_BEr!C=&SxkMsEQ>J-*aj zf;U@#rKyq^R~wnSH-uNK(17{Fe3*RYz#7KGYP%RK24%Za9nB~=67G;(0D#UX&cZb6yAhXvHlo~Os{-y%v8TF#R>uHIPxb4ka6src z@(JB_(BT>by&pR0<#>8kWhj-YU^dl~CpxVPa5SXF(`=uAeFyQch(PVQ*JCZnQdvC8 zdThYs8^}TBfDidX7YhZpKfJE^gi%(UE@u_`BUBO}cdvX!Hrf1Q?+u?iEbSCw1J*kK5Nj+Ro>M?xArN7Lugx&UaI{oJ{yN56<&7gB%D}~g{8T6}3 zs2TEjsXU`1hoD|UOd?T4l#V+glqW?@|2#=ZU8}gJs?M;+X>}V)MMbA}+t+(O0Y_OT zJJevqsEN_Qp>R-3#kQ>(c9T%^=H+9565;WaQ1f`m@4yP8#~-e(yQ zYJ6et7iSJN1Z!5l>h#D58errm28Kz`F?jgeYP#G2)kSq|8S6wO$J}6}4rc*Hu7G?v z4~kqN6ISkT)ZL;y&na>Rf_2MSf>WaXo4i*g#9UZIMd6o4gEcy$*|)Vd;n|J@I_ zavxz@vjeFVqaqWiNEa2Es2>YtX?El}RVgR9@uMaas7aSK>1yssmwIX0EUYO)hD!<5 z8*=qI$<%r6pug6e{uV2@(B+^OkXrOWVtm}F8@zHE$QaD^_CVT-O2QEiT@;exphKWCg#V}?ol z1beoW@M8ex; zW)BQ{b>I=nr2n2z{QcrmBDBF#2Kdrqt8{s!KqbDQqRP}cs0Br5E+{J_7L@6}FykOx zMin{j)1Zh)Env@}dWAER6tRtTw)nOavO~FtnH+_0TM$qqhq#MjK3Y`rX?^uUjk-$D z?$zu7SWTILMXT1u`ezJ(YCn;lFBh#?F|(GgmBAvpZ{VDGxLb}Jxh9#xBodQ+u2>}U zI18E8lr?1~jlhDAXGy=y+c(SYKTAVh)BU^HdyE@GtcHjz5be=0D|%a58dL5L(C|!#-(OFS}vSINz4JDgt?RhJIH1vNGKoGxXZ7Azb z6!Av`pUVgbt40$cH0@PRe~btZu4^`ytsnK+N}ec!*PP2GGlyWZsD9Ufhw+Ybhu_-K7f@AFTPn9toW8<$MaTLyCOMU2pY#J%-WIY9?%al;%L!Mq6r zITt02fQrSJYEpq?MYLrm2Nt3nH8qE>iYj+}b-GQJJ4Xj{z~^BH_t+{L-6K_we3d(+ zDtD#I9j}qF%AGZ<3?K(`FEBL|5zeqj(+n1C6k)7;VGI%{U0934t$e2 z>M((DI)G(=Dq{)+1G%^~^%qLt`d>1vozBmwe$BA>I(4VLZV0F^^1Jom2vuaD{AUqe z5S>^P0oqLTj18kWNz*I~Ove%3%BjD;by;!4MggpfB&K`cPB6nY9#^`qYopQBh=>Wc z1>`jLzZ3fK*wOo$nxMBKo`-jbYut_0ZKO~fJF3rrgcLsGcb(DD%O|51l?oYK0KfZ- z0!%T4G$57cMN*-()u1w2C~hy)h1uIrmhnP%`^l58T1OvPC~rTBq7(E9qX$?f?nj|~ z1jRBY!(9z;F^qnDQ-!k_&3 z#<{qEj&cl2Hkr5juYS`Ih?+WTWuU?5ramSUc;N?r^~;4c!kp?8aZ7YigHX`0omhDlA>F;@T&l7ZN^*}Km70t7e+MZ z!qDh!xSC*0Q2?JEW>y^tkp|~5)nBeMI|6}!KIWJPEMp2GM)~L>)*B8<`y6IHGf`*d z*OogdY9>#_$%C}p;+-NW2sKP_b`jjaAIb%*WX%cdQbkw0&2{t!B984D&Ij3<-A>JW zT&}TWSkOQTjf=3l(K|lCsQ6psXa^gF1v@&Pd9RCY<11JkFp(~ys0t)_K|3s+Ep{z` zECn*t8|~dxb9Rpw@3!iTCjNnWTKESZv>;Znf++uprhL!a*T^z-38@KdUYf%=Y9sR6 z*5NVIIEnbF9}zWqZm8kJuLE|0ax=tgbrkJco$iDvj1j&D9;mT<^Wryc>xw4oS{LRp zTc%nExU=9M29$Bq&fL&^KsY;?y^$b)dn3+U1uAK5tfza5|5E=_sM@g54@3#X8V3Mg zV+FdALo|SHLUeFU-iuO6?(rJzdJHtt)Wyb0&o?3A>o3AEg0Me60?u+7QL%zCBuA0u zO=MX4z)W5|tob*g2aHV?E6d%bUK)fNJ&+;{CaAJk^&6N8QL$f5p_4Ut0y9E?CI>!x z-_e)tLN1D4{`$Tp1`)xd6?0di(<9NBSbp(7OI#g3Tl|G#anaUrC*o7KhI^_EA0;gD zTf_OPTl}SgJwN0dQf#SZxA>%7JJb*PsxW5}F}dsP>NcSAtPx8{kkrmF6Q;-EQO&yq z^nhN%M=9WW14unR21$vMQPaCRU)sZjkg}Q(Y8n?+ z3dK(ux{X3K&5N+Y;?X~@2oio`<$-?gT15VVhv#PaEsq_pI*Lvaf{z@39;U4B5n=>> z?J7N7D`dqC>qgIX&_KJI`nwnF6T=D7RY()XmT@mxB3x4o*2c9<wy#*#wfkZdQXcLB+f|^JHi(uMEXQl*p`D~h!abvizt=VPij+NFsklB3$DGW4R5Z+R|r#$b7Rtu}9$4{-c{q)`^9?ZGzvU<{2y zFanmn?l{lXo~bC<Z+=Nvs9klod9iEE*2dYR$Rx61YB{@Rx9q-jx}{-^18~!e5tM=1@x{6HZ*{P+k-wm za0=^Df`V3SG*!oc2O>ACrt;B~4JKDn)5RUsvEG0iH6?AHpli5ay*OVr`s;?;yGi!K z4U=E$6U#xMPQJ5@uIBPp zSUXdH;QJJR&&I>rjoM#2t=kKydWl8}nZ?_K3cfi^u;L5pfc?2sLtrAQa{ljQmm-Pb z6Z7@S8L>j&l!(yB4rXd6xFzBvgfa1LJ+0#g>cv1$;r=jYZ z9cYa_lN4L!`M0WEe{OJJ#^G;cw^N)Q0B&+70NnUA0JvviLF`32yh+mMJyOHW5Q^x? zP>q&}i^IHkkVBHEkt-DE0pzP5ZfYqP#csP82yTCTbK=9V$>H ztl~c?TpB8LQA$Pm2Ms}E(o--8f63o41q{Z%T7 zEJakk(Mis{96d0{=@%sKc-l)+q?F5lB%5&f-jL$((`I}GQGq~ef5mtQFm~~*q z1)25t8O5+&R#X+AA+z+8qys)Rd5~4O^-V(sBwTsJSI_4^2j}Xy+@#dOyc;fmLw{=# z=&iTibckhrEp<1pyy5m6`Ol%b`l-pGqm8UjrNajncHRE#Kbimc5HjwBrUY0OwJoTw z+bYin`Ov9vINnf0KD7LwmyX{+3hU^0IbdIP2XjN42PbcxTlhsfP95;RAOJ%tGMcP*pBHgc?6^I~;}&RFPDZP}_H?k-{iu zvb{Xa@+Fxnepj|Iq1Y3pxjx#vplSyeI}nYd<7M>LDq4^_y&3)ZBJCb@hwr(!*1xuF z@YaQ$w;x|oaqXob*B3{Ba2Qy%HGX^oDW-H<$HYpuWY#8>5)C-=vJsflS{~#vZ*o}w z)Y5QbkVVaZq5Cxa*Xkdg00tcea{9L6L@yZKA4f3UC)h8PBfKuJ?spZmPmk-go<#Ly zfu@L6AQLt;k=K?de`IMO?R`iJUA*81Gtv5Q?2j}3XPSRa>x!9wFu?@FqD>1Gx8En( z@~SK0sw>gh6`xpA8Q}RX1q)4i$Qh&UEN(*G2x7gGJa9?EghhD-<=dwGeC_fr%4eb{qfRR0a4qZ3HS}`9Sh({L%|uLOa@M%y2Q)*hCoJ7kFZq`cj?u4>RFELgN2iKV;E=oqFkw1Y)Xye^Ku|cocwo z9lsz5b}8j6;wKW}@le{&fKJNiP|@uN`XMPNWZuFDH=yw~WqfehwDmf2b!!QDQs38) zYB_k9=^XiMWY$KjI+&olI%l)B=WL{Nmi}c6R}v^#nL8HNUqyC7ePR;b|7oPQ)VGKV z(rA2vIziljP$q6DoxmqV7hh#`EKQw^)IuxE)QK6}5;IFf9c{cTK0va62}>y&9F+lQ5=lH9I1mc}`dCG> zZS{+-uQhimq7z@&_`?%S`zrmOB^kf$hAVIwG;K8;XqjaQCjnGx2oG?OZ#>m~n- z8SbA0ct>Yx{G_c`sz7!18JNJ;L_O>BV>i>9^PJd_ctVUc1R>H8goqv?Vi;6uZ4OqQ zea?7)h9lf8{EDxwG!6x)F-K;Q(G8%f5iUI(g@=q`4vA%u5sn^i5hW+Y>t3TozBl+# z>#n94IYfu_fP-@Y6m`dE38b!ED1%ZRL`1(95g8hqmS}Bc+o&H2hG@pi9?Ca}OU-|W)PJFh#k5BgpUSh^F^V+)5bh=2Sh6O^8d=#&C z8y5R#x&9v|5hcTZ5$dyBF4(;*>}lql%=1s%z&2A43oHu+QT+Nd+4V|I6`O- z+X(HUpBmvA5ZaUW)JV=97DkPZF&*^<9O-K`#@lw}=4MW1)PKNq^dmA|&fU)wn{fB!>F-DesVH#Y8ncZUPxy60{; z?qDAu8~10`v57a`<;MJ;uymYT7<2oyXWBTbpY^m|c*VOyFQ%TfE5?0oZ;6iSKL1PU z%G?d=U;NaQ|Le`JIopGKtZT|6_PGl< zeookD{xGsJxajtJ%UtLHQj48^+oqj+yJ_*xMV@!=`-~@^d%GEbXP!%yc`hxZ`>V8J zp3Bx^p6h^lu2ZJBl-a9km2EN4MdQ4-(P?>YbsDc=p0jH(&$$~t^PC~`oK-a*tsHwF z@VM$H)O4i0VR-vIjAtHat02dis6vnQCB; zvLl_$^+cGBs;yXmVx@Lk>_`)%(%j25St8F{rBF0Lo;MD8K2mIKCR#YAUO6|Z(#<`P zrA9-K5*?~M%pXzEgYAKAT6MBt4}tTWCY2V)UhUZ~K53luVyXC}ureAOJ}mxe9DI2OzMbI>8g}=5G?C_Twe+l51CnEh7S&tFEPOWda6Pl|(-pGg z3SI0JIyI7i`nQ~i)Rkgnj=7{b)doy5-gsB3~B=Q{(>2F7nT-e zmdp_w3rrMXSr`Omwl&Pk?uh}paEDc@!0rK6yOcnsmXPfoxu2ujMxVn~q4k1g6x+M|4b7z)FT@5z@5<-MC z>sdK&x?t|Oa??p&_tTn<5PKzBWLeyKubFeG)k|Qh!OH5q7hL3|YdLN){6peVuI6Qn2ebTj+qCuMG zFs^BTa*2Vbe3*Mq)={p z+#uKCR{Z*3Kdb46@~cwzI-GMn%KFq#K4pi0+&+qz%_KFL&oB*~fT zrHg8B~vMb9z&=a6qSu_~}bc}eN4Vh>2&%L#BfhH9w{6nBMx zT%yDXe=Mj!Jt~yJCA3GwI!*G`cq(GRp-xCLFVaD&V8Yj zzWjUG=%RDo=%TR$X*Al;B6eZ~JuSo6wyOV7u$HR-GOy`B6pU;7ld9=YLenoAO@C@F zO@9)a{$yF)QcitKAABdL(e%@OeJUujbFJ3&)y}&@(~s8B^xci)nttRoeQD%>*!yJV zqzhyuq6yCq%GS?!_ zM^m5xdby$z!?OIC>+M~X?QyAp`WhXRaV~1uUg8c!@`UUTa_&S*d33Cb5g{J!3X|!cD>zoy{(CQJpvGpI=wpukT~u1wB6}|`mJ(ydhV1B*XjAn zPS4M+(^HhaW~b*M4s0*?nYC8?v|sHr&&FbZHMhUhEOrbr7kjkEV%K(mu2}5x8jIcC zIKJ3px7cUKU&lCOu66X99QY!)h<&7slk5I8Z|_I0Lf^Pv?yW75&nB2Y&5=S#bfwZ3 z+myKh>JF)FIlRV^(_79w2N1~Jk8?h2YcH|a1FW*FsMp-75tt~Ng~BaV34@HAPDwMJ zh&D-FF4aNCrW2lVGYT+&1bACJxX1^)={~|(8rixgn>_|!+gnhW-?269iP{zd++*1& z>O-g?BcU>Rgv#U*YLH5(5iI=3yfVGd)5{wGYZTX0XWcU#H2LnJ&m^2PYU-mY4pt*n z3h0Qb%f+ep9;QWs*FXSX#xD%_GGhLwci&b2WHsHeS$qT7ET$iSY(<@Dx)=B#g-zzjKXqkUdTy4-Dc9LrNuwHiDzrf0VynMMw|0 zK{>^u;?4PBTHmr&UOoL%>AmUZ#(z_rH%cXVq5Qt38|v@S3tB68Bird4`LcV)TCB`U z(+^6EdXE1&X>l!oM-6E*M4h6W5$1cb&jjOQHxUg(9_fI#O<*MeLg3p|fQ;G2uX|<1 z>{RrlA>k;t?+2sLZy?_Zpmd+Mb;#G$-67G`qbgHS@Jun(8WMEb`?~cf01IFC`h*D& zi=Tmw88@OeFjBqHF`ZnZeJ`o zOT}RO+=p#_>%+Fb>tP)J07??o5zzm()IavHRd}bDD9xI~C}FIh$M%h&RjKIGRPB-M z%G$CkJ9ChK3+RM=W_hQ{EQb!Iq2tR8y5gqqUqiYdJ-KNT0)r%5*gY4F}xmnW`@-4NE9N zVNTt{`*oL`;{C<9Z&GoPVZJf7?s)y%56jH1KPdlpbmgX^J!LovualPHsU8seeO=N^ zdcCCiuXoP>S^bbc>zN*!nACrQT9v?{ma{-26MuJ}H+?pO+ z(UDt!(GieyR;=h?y%inliax_~o@kb{eMT{B6BskMoRelb_w$ApbURriDQ`1f)vc$y zIVGXOz(S-K_l1K(yg<;uHP|2Fw`}*HX|JVOqkTvyx((tC0>oUWI$9JUW^?$qY9eSauE^Ysz zh?wcqFU+;%i>8+zXXB)zk3Vep_dU~v1K8f~NIfyRpa}ZDt`hddh|dH}7%b&4P)fK? zDdD=MXzBx95h;Mz)UK)!oLB7UN3(6}3imvunG=1fO1$9Oe%D)Nuh9IB=0PQ2Rlt*f zhTo%AELcrPAR1@YV)e?&diF@wuW$WLtFs4$A}4>7Hc^?%J%}~kjKaNcXC|h#>&i~ME357S zE-;RP+u>v_9Ky;_V3rOe@bmUVgRYW)aS&BqgyOWk{|t(HTt$dFV?8W!lk)E&u| z)yIwyil--4h~EDbG&!|ja)uYAqr#@k^!-1PbCr2HAZura?Y&dm`;%v0KaFgE@T&-X z1DNfTfP^y4Bx{KiES^jq3WOoNQ9oX%AFt7m>-FQHevs8?h?#{Ppw2aO)G9=8>%(Og zZx3$7X?kn8cTmvT2nPl(50xrNcA!bww~QlMIweJ{8-{Qm9IK1(lArDj-=N=d@$M!5vAmoOamCU0{qB!A z^1`!Ir>cVW-5wm?N2CF1_-pFNKM|5w>V|sx(|=%&4DVMp?R6umeCBC?P#izrlzoI{ zW7v=2<4PI5SauPlQt(~(-@;oV{ELO<_x<8wM@6UwP?_FN;;04D^ZdO!Lsx7~n0)f; z*7S>^{Iymylv{Q9IhxAQ@mGd`XX~fBZ{VQnX)9&Ab+9{ufqTU_K8)QCW|Crz)v|pE z4%Ryhs~&l&9?6!_0c}=)%V=#@%k`IZ1ZnSCEwi;*E!QbQ)*{3P7T5|_%dE|6xo#cE zYMCmlWk(NPw3D@2E!Qc4td^l;wd|19GHS6}Uc%2SgBP|tmXX&o59aI7KI{%}r#-eg zfZJ6^AJKa2FFd2Czl^6xd|i<~mwCm~&B}gDPs^H_nK#F-7Cn}Kv<->l1-urGVzT0R zruXT@b@wD|-m_vUun`$xeN;z?Rv(Yd`2M_kFSfZswEnh&x5AUFz=zma{uNfq*yg7T zcdbR7K2S~RlG?DaeAl0Som&hGsR)FHHy;51bf_NXzUtfS%^@)B;Rz*|Grhlzy0ttnS; zQBv???5SIt9p5d^?Yi&z%^yV~w|D|dz=Tg8!^?T1l-gX1!!%FxCD8lf7A_V}{hi9v zZwCBE`+UrUXx`kJ=f9boShF4nE;Ko7!Yh&5_Ql_Q^6epiGL#()_5s34*y8Iq!;gIIJ&3@C~d%}2>Hs&;~#)CodLTMaYE8?8xq0g9h3gFCcxln3u z2dy6l+(d+b`u2ak}gs+>mq{h3d@-&xQ5D%+71PQ=$20et<6@#hJodQIeaCE#|s=mL~>;Sth zJ}#*`hX-9?>dsd&J}#*y4i6@gBVJBiLl80e-)`a2OG*5dSV&LDPn_YDX^b-_JC-DBa|oVl z=!=fsuZD3%8ac;NEI@T^P-llppcH8x)VfuRd6dDBh z9%}JPeT}>A8i%WE>@w{mt#Jzbk|x`iy>^AOR)vAqe|H|INBj1L8aii?Eh#HAfdyF^7OQ-TLTvzfWAoB{AsIH37menO}fRnU$2 zapN~ag8>B+;6%6w5`Th`i-=YxfWAWsVA?2Lv_Toji%_-V(A*&K`ThyH`S??Mh~}nJ z&20e3e~1_|0q1N6Sa${^1P5-y)+l5Dh;`uI^hGB$s>V{XEZSWGy!AYIPyYyoV>A?5MlG^D=(RXQQ?$ThCL|?{u zIgMoCH_hftpqg8)3CHJ@ zgKBOy!=q4_rw^k&n~AkP6g3x)$06Gxe~X9uTJTB@$KI(Jd?~<5fJ-&3zj7*Fq&5Q9 z=1?PHa3dd<%f(jBchMaS+ulEd{VHvDQ~ETj3)1C2GGSMnxaEn!3D zw^@QR;afq#A$-edrB+2WP~0u_*e2Dkxstt7ri;re(vx3c4!)+O8sT7{oamF)e}8cu zEwFr{%gU_2jmRqx4gy+{0~ z!K4N|^cArQJO#wQ>?`om6o|_v7{E`!rwpz{v;~u5f@})lxT!XP_{o&^w$ead+_1y+ z%Fy{+<>s6|9%p>3va+vQZ$Yg*e>_%f6Rkf|5}jz_g3CkTI{o`!`|-Q};`bi?l~2%J z&;rLoQdZehM&4mncp}!l;EA4ZPJeZ$TxIl&)~vk_v(`H7w%1{I z?RA)qufuE{#3I9NVtPXxf1z|@rrr7OzZfi^BFqAz`3vqL@=$BD&=_U}#ic*Xa>Gmav=pIVKO5p4sjg*4F6^35VKIYro@&3bVb`C+IhZ!V)HW*h->9TaFRX@g~O z>3nsbbHhCOvVW}_OsQA?^+!Kl|LfYkQCHlFvbpaYzN7gb1pfvhU+4V-+_ynqnFW9o z*Wmau3#ZICGj)qrNV8yX=tua4vhn62Z;5Wefq22(UTqv0e_(^QS{p!N5JMOK!N9wyCMBD{;%7w|-kdJ4hl4+)h4^8DVi?9pk4ta?!Lr1~0 z@m{1qm}B*$N*X#uoidCwtq7eaWslr_r)d~=Ds5W0=`7l2&(yYOr4>2QBRiOzTk2Ea zzNiztcdTA6e;1D`*?gyX5Yn*I=+2$z_R!hkz787$>Hf0($09-sI#&mR)-|H&=gt0z ze^_#sD?ak~8jUl0&>;H8)H6fJ7&-%fDz)Hg;HUwES*GOHOGCwM%?1R+D*gbe;ZmcU z@XwJdpoOOXD4il@R9w7?Ir19Megya2D1X4U=jkcof4k`^W>Th^;c(Y|6pNMMnRIrd zR)Y=_!aWRHrm^OtFf@>eOcAc);@T=HV{A?z4eHfKNtf6zLv!O~iMKfC}rZJ$%5;l+D9*!^$9 zKdvj%`hQ`xvu2#qrZdt}XEfuK={R+Coc@=mER1z0P2Ahc{!n=^SI>(2BRD|G#8`J) z=p5#>=;^e`G+85J3CyDjxVa;#s;6oi`!{mk$%sRAr(080-eZ4m*-T)=nue@MdMZa| zf6!sTwU*tX;-fc9FVUs<7!DG$8M%5hyKA)e64pD^dWWTp0f{wgEmE@h#~cr#OL@^z zkB6Feos$tABNerVDAyq(U;##GKvIiTBvWgM^09Ygq*^bXaS7r^bHP>>{e_@awmG-5 zzn~2wD_h@nzv`Fn9ihJC_mRrgrPR__e}wH-zep-`6)0pDI?|W4r)T zGtTQfz6NJL^nFp}_vvppO0}fifzmJrs^N7a#YwSkll2D+xtAmU z-BROkb*lW0{(V|mCDR6WcT|6O@m`}dBGNFPFM~F_F-M0g7-%z|E_;Wo4R~S3f43eM zv0BGRsu|fNa8!?6WY()Rr1%CVeeg6Aj!q+?KaGU$G(upL(P<>)X+%%`&1poYE-dO% zx#3EKECr>3l-3MgV#xKJ{GqP57!-FAwM!ryfWCI7K0cIA60Np(Ei)Z@*dOW$e0)7x z$Rk{o=8=V&=GmawQ-u(7u}hrDe{zCvAh&SC5Nj`k7)3M*Se+HY!g+fN?M+T2PO#9= ztXL-%1GUR=G^d&g6_3jhZIjD^^fIJyOVP{GP~~XYB(H6AnYi0D3ZgeQuM@38j}DNL z;7r=nS|viFf-}*C<)n1u_Zz<|&%9z*EXwb9fJWtn^9at4e=YmaOOy$` zVcqhz>Y+x3ggDK3fx;zmMD#4IyvVP-XbFGEzKo?|2^A_hIEUhL?SV!}aC2BCWIuxa zqu)r1^@XgH6n(8;SF5L+!&%l3`CDW4Yx+$$NS)psre^xNUGqiKf$>>xnohZy(5d$# zH$JO2;sGYp8H#k1TF1PZf6W87xm(IHFdi#8(~_UBSz;pNGc7u67ro}5yJEdO-}ma6 zh;>hvQ?l^+aQ#)vzSV8}YVfoh_f@ZCbaXyH!#&=*J$|)v%^lvhcKG$Q>&}>V9jS7t zJA8e+so!e64mc-oQ0Z}EmjQ~kd*XKY#N)3Hn-uTXf2%!xc1tf^dq=F` z!q?#n{BUJXRBWa*RTmHK3S&EMraP@!b3J9chzQu8KWdG#&t?M$F@Sx<9+Lym{j$vw zcL<}x0HTIqWi^Z3bfPp5g!#e{oZB*(Uxh!%G!9Yvx-0oxs(Yq}JUe0Jh%V@x|L0Nql=>umE zLj`%4B{rK(4Ov@34A}Y~w>gwNM=Cy>-)3bZIO;_`(Gn*of2cne)FDWEob)1s&ge{Q zxb%(gNM_+S4Y39?&Bq#cbSa7eRK9dq@Xne*R3e+qX$uY)jOq#s+PCnamapZydRi^+ z!=9?>;!ULSP~5(zJlh<;1H-#1(C}x6+4(_Hn*1x79Jm$Bs-yJhN7@y$c^?CgN8lZ9D9nA}4r-)^EUtT}X z_hh0{ErY|L$XD=sbkx_>sUM*z>R>G9Ni&MbyIoe1fB$f14jnTIt3g8$0DuQw9}JvQ znpcSwj#m@U3>B?l|CQ&K?NJ2p&@KybV9=;neLjgUK_8s@YAAvW8A)=RJd_qM+5|KA z7TI`3E0kjWEhUR*Y`%sgWB8QrJZm}%=x5qF;2F#4m2(`NV182a0_e=>MqYA#m^LF; z$2ZqYe{Ylxxs15`Yv08#woLcN?LpyQZQ*5=K03^?bX`@_K(5M$f3+@_T~*>NAjDB= z=@yad78~Wfgv{cLwX$KO|AZs`C(#W)K}1BuwIXLKJu+up^Iy)i83A8$6{|Eo7BaTpuP#}e_LG3sJKb^0acg~D4=lFO;Fup{AiPE zJtwrDR79iz(wR{aVWb2-@IBeocjRS%ThOn6BhbnJ2lVC8XV@Q#n7M3|2H>Ihq>HhF z)yvn?I6~ECmWB-4YBczmDKmb0eT~zrHlUg5Vu?F9rM*pGolI3J4ldSGK&G=mOnXXClyTb$$)5z=)YqXG}36Ufp1%45+0QrVxTR|lDl_= zT{GLluIYH}n)5w&&FnaK%`~xV$Z$4YcJ8mH8~mD?weV{;0>5TsIekkx1N@q-gwQC zx(o-{x3GCdUvFLuCuq+1_2#wu8p);S+RxGHaDsaK`ougF3GnQJf`ubcurQY3TWw5YxxyYrC9y~fwf0P1F zaL(-=qMg(~fY5R51kh&)dWo<1>&||^?YSBy5KYMFS-8^{?^g^GC}2FaF_u!Jg81}( z`t*H@o;h!SY5cZdTJttsc~GxBXq)%6r^B7LH6LO>AJ_m+h&$~%t1mv+SrM;XeQ|4M z#2!H^eimnj9nB0xRoV8`Pz1}!e`PGmkHt1o1jrJ0Z3)gW`*QubN*pLCLU?oI+!tC!?aVwy!WuR#b+fcth^O`=no>T+oaG z1tKO-9zHT8G{8FxPjsCh7!+FhIyzcSA~OOkx5&m;TQx=~zasb{f1`1nL|`H?xYYUq z!;DeYSVR+-(|lGOlySUlQ;Vcm(@x*AM83~}F)S!wiZ1?$abSpP3W`NVyWSwL&C3ls zs0ez1diFy&%KdhTW6DiDtElC+TYqhIegf`Kw=vyz$4$2ZP8DC{@hQ~fQ^?~J7Q}c} z;QRYoqu)0dzZL20fA#OO`1z>#$Qh~;KAmdVQ8nyR9cWjCga*rh_bsu>N;h+*+E=f~Zv#EldVs|>dkCuOS*weF;BwV{>` zb+(f&nh+5?SUrB*qLCHyt>-*MaVuXeRz`(?l3Z_^itbK8Thx?);{aB;2{}R!i(igK z(a~Oa7P=edf~svjw0s+(Wo2jw2;O3TGk=HbBbV=B+Bv_zoj-E7!rAWUXc=uRydE5x z?vu1hstv}He`*yR*&7PmNwq7ip{aJinnTl(IW)bFn@P(YnvQdfq}PznqGb=IE(9?i!HzIR0d0&rRC)+{8B^8O8A@ZG&#&8<0H5ar_;e_%i?m zAm%pzpfk8Bfstbe0NHeDUTk(PnB&Ez72Sp*cQA|Cf9zePQP5K$ZL(n1K)h2GIFp7* zqE~42cBIzc?Ll7yznAuFT+Vz$N?P2M%cA&T&@f*I^2b47(}%Q>;cH%hD98t%4s}=t zo)Dwb3SHe-e`7%+zcO@$7rf%sbJ`(ar6{5|kmiS;=V0V{4!q|%aGqyQ!jb1Wpyyd9 zEAwsK%tt_Y}fP>KE8BNYW4oqO84GTdJbL?Ql6g#3T3T^!k zb3jLfr337CRz5TnzN;a(T}0tg2BdB$$W(~-f42vf27BvDC^L*~rty~*L)bLy-T?)5 zH1@mxk+<3U$3-2s^(kOTZD3%em5prwU>f8K=D=VEz;jJsh`7r{U$eAby8N`FnqU9` z>a|f#QxoW%LP|rNUg2zyz~{vzgNihPW}YWE00;Oy>8X$rqG-8xs^SeHzKOkiKDu>^ ze08VhEk0rza(- zquGTrOFa&boIp{DTaHEp*b9czIq_iO>G{$f?WJ*q{0 zXgCoW8wP4~8tbPT(bI8r zoUvi;kqrXltChM=JW?_9VZB01X%KrKBHee;2zVT+X?`x$=`-Q*Y!g4U4cUN^pwSxu6PjSFa#N2t&EuvXlQd+fLy|_04NlWI#zOlu zlD?ElaV>}%Mn1uCMLhq=huOVWvxLxRP2YwLRBv3E-SJLHe;fw62IX;rhZ@fx>IAoI z^zx*0X8OTftCv>O}!$`SIw^ekm8x?iZ0*2Ra z8=HiP*0{FHN;8^&*3Un?GG`;!oDJk%wgX(^wn`SSwF}{db{YXYHva-Y|IFC@3)<5q zSW}B|X*Db7pDXZ3fe-?CqO&Nm^!=qZPqg44)eOImf3mp!htL|wdJ6wCdSzkf3U}wu zmU}Dl?yVi(yS4K)Y^TY&vYn2(JCl}EEAj5mWDTd5bFPm&wSqOATJFYicW2<-ojcn; zt%O{|j)~U=Rt4$`P|I0}s}a9OxEj0Y!oS4=n}jox&e24=*ni9XHziR@ltd{}5~W1X zDkL_;f3aRV;lLHaj0ShNLcL=KbL78sz|QDC_-J^z>TL-cW5>u!2@%7bUb2L44<0d! zNWTJ2UY__Fm`(bn8cKRqzCE}Omg@kK%ID+qteo=X>MM{o8Ud6UNAjSMV<7AteHhtu zqU+20M=7E?%Mo-!tpL5&gL3-u4@Nkt+e3p5f8~UThYig!M(@K*nUFf0qlW)tpReI; zT^z+#EH#Ha5y+cx8go{NNX-x1gT5^Me(3E16Am;{=~CoY&4t1k=I8>R&_47j$bxyG zxWkWOir+ES2J%C0QnT%oh#&jJr;MB`pEO8_?&Ns`u82Tg3NAjp!)}kUp<(lf4OD?^JPNOwy@TpFxt0|qi=uyFVMG-qi@w% zIMq|4zb6cuo~XumkgiMFEKbmla6US#&#uK^?A{H&dpG#*wVVMg4hPv@>DCFlVhi^2 zUi}B3H}xNX-i+o@PlhSnKZhSke!C1Xj9>pe>bPt%{t+E75zwp34d}gtZXIogf0@n2 zRv9(+-(k^ECaNgH6+PV#TDATfAhx4Nt~B>pMp1Obny)$Mt6ec)IR=x>e*!3V0%PzH1iC>vHC!KYEXhsd-2RVZ4t$pV`zY5J zUANPS1lUqLs2S+_)#N_%w@x~s3ybMEIhe+|cM|h!Qmuce{w5zCfM*~iu+i0@kwwf2 zJwe;fgag=zu=G}3X^Gs0jquO)W;1s4$5!6_=X&#B=*@QQ=8vqr`7iY5f4|h5!?BzH z%gUSoQg8mO-W-kH{E3w}e^zh)E4?`$yZPajH~*F1{5icj8Qlyd=Jt(pM?S(m#@IW2 znq~)~+3g_=;E#U+1Ne|p$Nr>C73|TMftm52zMx`OukUHDe|&U(ldh4$X17h9FV#Mu zvR;F@Cb3}qxD-|S1MrwUe_zJ8`H8Lv#2e694qkxUt-uQ@q(traAk?)Y+fp75HhimgDXQ&u|x&%Ea1_Q zd95W3>tFcdr$7JZe+mFk$e?mS*D1GHZ@ok9n zAb2#TsdlFCEV8BR{;WnCUD|iTb-Uf|KeG15x8R z!_5eE^iiwFJ5Jn=NMyvUV+)&8g{+)C%D9br`w3fbsGs~`P(S?jdP7YU(LA&z)wyeCzzzmw7Jw=;w*zQpcYZb86xw`zIR73!d7~w(;&^~RaC!($-c}0(HIkc zl=_h=#P&}8YhFKQ^#e=jO7-kYSy!40Ay)M+dXzGre{o8Cptr^a#ZmNYD zKT|iEI(_)2Ap8T$AN4<39p9lwx4ur@I$H^KMvLS!&Xlp zfBzXu@bg8d#^(z}qYm}n2SeWb5bk{>)U(2)491xqR#VVaEssdYMZK6h=wzn^OLw@!-}CsC5Hs*B{VyjR8$Lpd7(eM^LmHjOw5m z4Pt$d4EH@U+@gIo1N_Ve){YHqih)i2z)GE7*9`3A;{$6)1IuAtD_He30}C0af1{)v zd)9YghhIh-5w``Xha z;x*!=92?eOgWM1Ns{XR9YFWfAh1DsXn55o@mtJa05pE1Xl}J?uO+IlA~R%f6}5-?HWKGqNFZb;RPc}Elc7&7tmN)(fg+m;{x=P z^IYf!cEN)#;amOf&i|Fx_s*B;923F30?sLD(Zkn^+)nZ3XG~QTKW61Ui0ZYmCS1yx zzzinm0fb`~Uokn4nQ7VSYpTh-$mUD~GYMISgKsv3dV!FSi8<`2$buU*f9XV6z*Ty+ zi&B_|sRdUy?&D56A#-CIO_*>IU<0DCMRI-#sJo`jWvkAM6rXMikvY6k<9Vi0p$Ui8 zhI-=f!vCF*wDuWg-q{4rW`>qpsn{-VF1z4{n(^xGrgq$u!+dM0@XYj*J@7o;Ij7p= z+v=UMdbN9M8lOCjT|u%Re{9F>k-^4>6lEjZ{7NVx_#xF7w{9u6K%sc^5ONtXV{<56${p4pd6?N} zg!fEc=~q+1_HcTv&-r+u`CYRuw+FjvDac0t42UN zo(LTyI_xx)7N>MtKqayoq(YUyVD*NV8W~}P41%X>MnOp#G&n&m23fm4(qu|4Jv9y) z4-7790vnu>t$-zZD;T_TumBuW+_42UcmvA+( z)bkHE;t#36)SPg+n$qYZ%2w*L?y#woc|2S>Zin7_d2WIW&vaRuvuB}ZpsS;*J@k>Uh2 zs<&2h8gg6fnz61}m{rQ!rsXs~4-oEDrkRROC!h+f*?gsRno{X>o{Jc4QZWzo!?EbW z^V;@>)xwD;f6Qz@ek^eEEtDuh9VXYvX_*@WDXw8BXAH&rOl1*Vpo>nnBEK~jSixyI zq2rU*h%Xfh#SdyFaI4(*CE7QkNALmNfndg9+-X5MAlf!ET4>lTq*rB&dxPCEw_XJZ>c>@;&|#?{n4e_#LhhXS5RMIG9Vw3%N0x!Yxr zdbxbL_2S)jZ=Kg)Eai{Ahl@+(b_SYs`YF0MbSGAtWzl(~xC_P<229Oz%7{Lrf~>Jq zSlB6YwNrE#8PDG>^O2nbC!BBFCUz=8a=ne-BQ@8GR$*TmB2nEQZB5`Ouuci?{EW z-QoqBFV<(oefK*3^~3l|sJXt6xbNdt8gbue#C=y8Q~EyQo;R$BxbLS z-yM&*?~Z3|gdTM=D;~1mnbEj|)F;fq8KpbJVA}>Z%GQ4rU>Y`kRJu~5LS6tSy;FXc1vaQCPV31e}(w9WDf4Tjbr#~KY`V0TFFOiKoVIEx3Hu_ zC7y_t=SBcrmN9kRH35ULWixoW8bjf-E@im`|M4vE008V;jT29_d?fg|0Uw&9&>!U} z^nH#(-{mOK6+OyP==&Un#N{YJId<-9Lw9w{Q?gGtU2L9Mcf{GuMu)(bSZ6>=e+N8p z#6H#si5Jhs7$ESVLlk=VHwoc7E#8Ix`0{nw`~4C2e!q>q-&(xE_~Lcg`>n+rtXjOm zIWFFHX<~esyQhQejOZoSYE*a*jSA1yDEr(r3iVbuwX1liJsO=+#XHyWq~5A{XM8j| z8Y9`NcxTmUbj~q(sWV>jPP^jNfAazdQcPAR(NAii_HF`LR7C_$l5*+~JS+gCI3Li+ zF;jKbpwV^DArG{xd1GDTc+berK!6$9pNGvuDqYxDDdu{_uMt9T`ej&LkC22lr^IBt zXD3HJJBgm1Z1?Qsc+XBM8Ck1mCs+0C{2o)D{ zuHU|})xJaS;qfwbzD-Maca;e8NmE8}cbU_>yUgj`UB;t`WX?dFQ3=H76b-bz{$QwS zYxjrsL&2cuHv^_jKPUtA<5`tV^jDH@h$c~dg5>i)l3l(YgHrQg*pLY4`Zt6X05Xs* z!=!s07?>;*Q(0-Ee=TDmpqZA&5;xJ7@#-`MPcj`5IZasn9%zNTHY_fNhYBZnO=Fc%kt6lRQon9+FS~e~moJpB*EH!YjE|K;RdK zM4EO;zL>#nz;j-?Jd=9<$PleQRzLn( z4q{V@u~&h8{D9J34opjc;U&_lFX?NfizhBgre1JSe({!>O+`KzY}k0-1)b+VZ}arl z`8*2$*=*08Z~NWy!fKFBOp*dybdh5f<;J_9s=v#)f9+1m00WI?ZO%k)ALgORowCZV zLLt!lVTraM*PZ&wAGF11_@OIg~<4=?-Qx^zi)CNAWWvX zFRa4DWvE>6vST29VCfL1_G%M~EK#+d1gz2xsQ$=$g3T!bb*3|;;FjyhB%M)7_eU@p zijZ$4f1PPdI*0YB=Ut=F1*TT`Wo@GI=UunikXpB-$&0Qb{$pL7U&KHL*!)e`UniESBnat{D6?e;B3&SfCCuRiWOZ z*yN^OK0d6MpCUz^`L{IzM!^<_RL8nJG)J9cIf6Zi1>Kx?rkv*YGt0;VT{SX*!x&t{ixs51*2o7~4O0W@yeK}5Pf|e7u zNjpx=$v@hu0*cx$XY8W}u@?3ibvYM)e~hZlc)&>N?Wr=bh+^EZt^|=!d1i-cD2Ux* zX6rA)v>eL8Vzwbgan_xvZx*0vEP(O0Z#NNMqSC;7PG)&rL0nhOu-ve=efPFCsJO^|rQ_QRKcL5$xS(eq2r&sN$-}5A?UL zT!r)(t#OIY_#wi44^}dr@aNJHVJ&l2?^-!3&*%BN1L#7p=I&K3K-9cX$e49@$;Y#_ zSmw`pvAkfND!U3}{GbC#MejDxQbk{I&J}(BniVZ}4o3Zpl(dBeMe{%sKC zxt#l!Io#T3PMTCW4169Ne#0#b!8gtId6hrsQm%0Yt!nYYQYm}#(`xp`=iKZq>x|D} zj?H%yE71D;w7bn{H~#;sxpMCMIecFTUOiW__3uJEUDn>Wpnz8|Vu7>OcRcH@-g3^Z z{%6{1P1*irIB;Zf2Z}Dk76vI;Qn=9!2X5bS zTTX?5bpT?Y#a@=`UY6@#*3*rr(tscw`ih}uZe>oP`I1%Z%9El6){ngt*1{((tc3s)ZxwJ6Kb@ZrhY=%v)oP7_HIfO z*$+7HxOG4n=PuF<-fSSbG2B)_Eb%skh zxU|UDSUaeIe^s5Gl#YgCJ>#yqd=1XaWQEe(9z93jbbrfBkMHH zV-NmVNb?vB)vmSAfxTMJqx9Z+UlRkv`cRHiM6O;AW3sy*fI@=&NS?p=HczKGt)Mxw+hu#q%o z|FMz}FbHNRPUL5gH{UX>U)O0dS)=&5~;NaE(@{x{GxtazLPg ze~|T&A@w7KUP*&tCIfl5D%IRSx7AMs1H@B4p)x$Lm*m_*TKn!khum)Rk!aUTP957o zAouYS)NOAFJI(rr!v-FV*7Aou%p}M9to$KfY*>H$;$Rj5WCsX`s_EINBfNFxfAoPl59_hoBw4I7Nfs@Wq~l%!olfN9rgMzK-Hww%DDuUrgjFk(>Mf$dtm0hIslm>e*z%> zhUS#Mj&SuI+vqhIohq9uGKy0j!l{OG4qGXr>V4sg_qYaKJjQ>zzJv-?LWL@!F7_PjO_38? z_0V2QNK zaB~;$Hu?%uv89dza6Fj74eTIvao3dka1MQnX|kg`SS8!^exiNw;@XWRqbka{2{(^h zEX5925M6AfETzuGSaN9#G#KzxHY&_J6jrJm6f6=b7MNa(O1aU5H z{9M@fE*T^vpP`!QJiKz`0jqEV7{KL?4Fa=kkrScgdQT~{s}%UtJ>)$E+V$*#U23G# zBadN(sd5 z?j@ov^}@X?X~$*PIzW7d3;|0-if4}o6qR=)BfZRvzqEsVtp)jUg#DbO?lZZ&B?s`f zdqSdPgUxFfFlScF$qUO#phSC!Ns{^lD(Z$cwdt?R=&R6kZ z))5bxB%Hijmnu8{L}9=?c{j^Yu)s-AZg(_r`eD{_7f% zyFkLTZ-hg|K066MrlwJXH?0fV@DrY@*QkUi zbSe|Li{RoL^v+U81l82US$5UL*to?jo1LuP>~aD+qPDrgGv|rajV2C2kGauo^m{mR zYc(sQRjT|bkzY+|Zz&xct zh861u9NbDk1<-T=HUwJ1j9S4W7nn!m)n(&Pdiu> zE~>#%dTwKy)o77Ly2$<*_x8(?gEDHbGG+MoNN9@86@gnbQ<~j~FYy%L*&rh2+xHvI z%8EQ*G!tCETYmXg7sYua@y1=@p8p{N|HGG+|6#NNMQ#H^=tf&9F?fF4KM-)IKC*;bS=WR5PCT zlZGAcrYWU3ysxlVs`#r?I$(!9Z-&Q)^%m)oIfhV|6T@m_@oux$)^b_75q8b9G68YO z(sHA+2aao_td>7eyO1Bg;IRO7f9j%}N&gi8k*qf}r%{(Kd$UR>bI0a zmZUn}5xS&p%le%9TEE38v(j0`@fKSATg>Hpif>AJBp8)q&a#w80#AFBe=#1Z$GG_S zxp<^|tdw$I{oiTVxyKHRpD}AqfsaAHMQ3@UkMu;pp%p(wjr*`4%e9r~w57MEW6HBm z-S;^qxZ@IaF>xK9M2D%m$VtH0592Ef?f6t(hU96gZilJ5OoiYL9~j-RB2~AYX^^%v z4bpSZG*~V3qSZkd&h8$Me^DEq#_X;pe0gj3Ill=xei7OU?&= z33n-rKPWP#*U$I6a_D#E#33RS3>G3zQj_h83gLc7SL7g>h8^5<1oXp~C7MuD*{ zgOWJ5EE%MpjQ$Y*e+2_(w+gmGs;DQ|h7m?MTe4WMQ$`I0bPWYtQ$cd;9f!GaAhpIjIye*z?}&?%VgCd+xaa zGeFG0=boSM9E1(fl#g=x&2jnVT5N&?-dU9->{^68s@6Z25)I7Ml7APqwNzSqqKj77*6N=4;yQ{)_dUq5;A?rS28`OL%j12 z8nQV=g%{@-wY+v%s{~p87$cfw;I{}5R57nz5wW}-K!T)p|p- zV~^uwq(^3>3PiAJSUbiJj5tPolAkjII0N&&UFBg~h~HqFt7~iWz*T#-!I&DF$pqWtUT5P)(gIbI2Iwsp-i+>jLJ>@#K06ncjljbOtq}|0Z z-?=%Ms-4_!(m6p)R}aR`q`-VP@&}mjA){tu7d4Zr?->}%UAN#EHREDf-T2xyiU|os zSjJjKWO-CeHR7Ep`51S1W=srtuFV&Bh?jDmQt@XvzCf8OFKb z{DsRU7=Kpw){XiNDpoGz3OcMo z5xRnW>n&TG6GlUWPI5iWDXt)t+z{q|VBfK|X@3>gP~yV!V{C2f9tvTY5QeN-Tqh3S3{r^oJ=iXp^dpqMAAJtgXQ0ppLl}Xoj$Wq*HS%->#v&gDe){HHqo^k~) z5TA2U2jkV2s4QazJJ734GE@_os)Znp^vq+NgGvbJv0N**W!$A zIE}n(FF5`T8tYP3Q#b1BI8XQB4f1Cd3qFI_Cw1>x2bRw}dk_hYHT2=z{qi>9{Lu+v z{+ufbH187edYoq<1!S=KIBK0}k6IuEMVt`j!C_7yg3Sl!goOkhv?2_^PEh34A%7#h zMIa-*Wk5z)4crQ{=2=0$FgLL-*z$=Rr@Slfdm%X*V=E4b&eDN*7ZXg}J#Zt!AugZj zP9Xl#8j>|{O}d{?9K0aNwM@5upPGH|jTi94++2PI&dtbcJ|3itWd+nzcgzb&-C+p# z<&aGM1fJ1a0uK*1pz2R~iBOsZUw@kqAwD3>aN~^!?~xTWt92|4P{Ox5bYfkTVHwYe ztO>VwvCsRvS=QQYN6erBs#6n&+f5!rfKXq=5a~!Z`!yv}#gZ9(^3y_Y1$0zQFxgU= zb|OdPqSiCd%AeS~3DQ@7iuNG_(g0TUc{8(D*3l-9+I7a2T$OmS6!-14(WXf4P} zV)2>me%R(}yR8400vT`>3w=P?vk`baNT30^P;)ZEZLBYWI zrL~VLTI3|e>`4d_<*@IJmnPNiMKzPDx84ZRxZ}R5=qBhac1vm2wv^_N?3U6T)Ewm8 ze4c;VX_8~D6*EtB(S&EGC3r9eRCrdGSs<$+^q?B6Kz1v7mwyI0tv@yQq_eGs3;pwPT3^`~*lBwAOr z+gwnutzD)5EbzcxBz-tlwBT?haEl#x(SkPX^Y1M)+t<`HeHUx(Pte-z3UY_vsV)A= zNn6~&V3%bzXn(7#PaUl+BXov&OE|;41rd!vCPF584U)^Za9rQD$$_qh6`-mt$bf%f zijb$Mh`DCUpECHeYT|UER3$53m~lVz@g#UfW&kxTToN^`%Ku*yK*1JF1_XRDsRcVRHlzrLuL2SaPJakQx7j>R#a+(R9Txedqgci;n>Pkg zNzEX@LbwRJLc^jfEC{_q3=?$r<;0N%j3d)p7NO!@gs{Of0mjxfI_<0>G;G`P=gso# zUXRw;8nmHb`mc5Vt^ndDu;|$X%ct;=B;eU~0EllP(K)3S!140-Ca(`E)?7+EcEd7XZ#tRe-S3Gh+&Kudy>@{n(i?L_3VtV`s(& zV`s)-9vG{~&WtUHof%sp%>CHl0e@`ZfUm}f=3wwotKR)qzx%e7Os)H^!S35qGPUk6 zT}oy--Cv@V48jbE(*I;;+Osbc?S4-&vVV>q7o7Af+%2EDTM82bE=|;kmU zn4vChkN&5o^SQBTf_2gokDW1^!4MvMKs@#d8%ExL-m}>3F|gU=lVh{TC&y-wZMhLd zIIS%ic&M?g*%XoPbD!=A4fcXBEat|VeZX{Ejs}Uv9y3TJiR|{(QruW_a8Mp+;D2lm zl*<`)dX|9%{#LLcl{*E%u<2 zxj{|l>S7O3KM2A$QDJ+Nu{|GQ9)CZhb&)utalA#xX7_J|$IS)cg%DsGfEP~s8qL!~ zB@3H4!Vsjz`WXQy75jgn&=S6y3YQ|W>X(p1x9eAJ}yv}39E z=@z8HG;5to>zzv3sfKo{!TLGyN1{^=dDL>+UwL%?Hyx*O%uS7&U^7jZx_>V#YM*T7 z<=DGy{yw|X)ULb?{7U|7YFC=|t~3YAK-p5;I*oq$GCPZi5ec^r(7vUOr>-257Ap&? zVr9W#v9jTMNU4Shv(P0_{)QLL3CM;PYFC|f%?y>Uf(Wg3{RHb(HBeGD==6USZ5FyqgM<9@jI9~&E85$O7hJT~$r|lx**&0jt zusXCi6cjB{J4MhJ2pYudEy@85Vr^o54<*Xgd+~Rk6Z}hbW5`_6)^7Zrw}ARy)#%`q zdi6%VMH>z4jV{_`veG7#fhI@F4BEy2h)e|SVynnoSN|t+wO^?Y__L+(j@A(K)|4WE z@$Fum3no&9XhA8{_n9WG@v7N;n_$RG+y1xN%;jgb~t=1Zc2o6Z#=r72MMs^v|UJ z$@R}_{gde**}%IZgjP`_X}h0j8tsHQ{pdIk{_K_2fZ8h_NbVRBquL!pDd4k&rf#Q*I+jKUHocD!2Y_)^doPa?2Zrlv}^1+y-^! zHdtJ_^#_$(e}4c$AF3rzS12RTjef0+vaJK}D9;e^o7cv%$~SrN6XJHqID`<#&nbV8 z}kyCzB=LM=gcm{|}}Gjoz&(LUGnSwO`z1p^j8eWw;bh05B?&Ms5f$E0`XLD3yUT2#1;0ss$B%HKnH zc%6MXcMs?8Ssh>X(zp!J0vB7{Z|KeP_Xrw#gKg+C*U;m(7l7r;g+L7<5XLBfgS~m! zD>`zltAE--y6Eq}kMXD4&f8o&$Lj6Gdr$`wj=&K{jENBG5y1tmmErZvyCD^dHDo1kJSJXF{FTSh}~# zi&S1}^Sz>ps$Hm}-lCKNGr?lno?)s>0=zV3kZe6dnJ~*nn>X6LXat));8R6x-q-WY zcz=$Q=eVY72DXxKP<|HOpSIoK>bj3gzGW)&N;OLMojgjv8W=~5ftM#lRva$S_y~DHBJ4l{>^$w5K zJ5*4!dPl8FER17c542tjMYzZXmz?BLhzA#|1?XXXx)2W`q-5s&^uxv&ke%@(Ho(%;Qs$ltQolUVbDyrOKJC{}2!8@` zmRanFMjx~7h**CYNYuYYgAzRr?DIy`1=s9bQMf7n2j4WT{RH~}XX&SNPN*sW-pmN6 zTlWG(9_Jzlq3FHJY-gNuA)L6~)^)MRg;$x?mvXucE>%w{m>ohD@SSL<<-dtYlYm1Dt{^TjBnM>G!UQ6pmfM!1fK7m=}meTeQ?3BxJWkzd#rFvH7UUd6PG-&u?ehmgJgpZtl5wMn0|7@` zt_0CzX4Ej2*h;9`BW6^|n%xoEPlZw1!i&xqgf`@6(qAh*T9c-?`X-#kPwh!t+mjA+ zdDk5ZYo2=QDqXFdxK=c%)_+Xd+TkE}n3 zzk3(XrsbJf)-74qkn7NFLj2bw)M^~sypD)r=plo*qs1~!8rYLeSG_2r+C;Vtb^|Rr zh}Ouans|h0g{hwqtud2LY#xDEBq~`GoW~L^qY79U)pM=CHPU305PzC3*(B~Z29iyh zb$_et7Ym%Lzf}>VZGX~;PZOFbjpfxnYj{c0!kOpWc0C@|GO|(m@w))Oa)+@?Ed+&_ zBd>Vb&jFsvXi?e-Z%}&BMHb2l?)zqD2Wtl_os&>AJ$@KkC(ELBLRz;St+haf^8+Tf zqWU7V?kKHCKK5 zmCWqjy ztAMTw%BPwl|9_4*^FUt|P&X}_JQ85(Uj(oUC~PR37~_{`OgW3}3m*B1LR&u5>}6j! zh4evI|LZ!&UKC0BOjGvgyUk84l}YIXS-ELTvp335(M6K7_HHrUlDD%HDU>*wR8vM; z7TP2n@nfXJ8~P(EdD_BfM5DkWChyXKUozkGZxqpS0bB7Lpb4%FuQ}E={R9D_2 zQp?{(l~h`AA2-v}E4o5??0X(kuJ}v2nV?FWcXYz^q^&n>>#&7u+rIYBeUz3M88^_j zFT^T0%g?K~Psqpu@Xn9z;GPgJZ!AlW1{rBX^+uQsS}Q?*A}Vy>lsZ*FPVpf!)& zqlcJ4Syof4?tjdvL1iMle!tM;f&GzNl!8sOCO zAhx^mJAdSJHTyl*hlq{AhS! zNt_Iu0kQ&Uf7yw`Kn&icHqy|jWsB^M9o^Tn_c6w<1bV?QzYOwZXX_>;%M3;kyMHn1 zPM6r?sYL3xVIQkHPN|i{@9!DKq_CcSHFGz>mWjQSSWrS3&nRQAHR=<;@7cIe0TEkPl1K?6MI{Wr|N;CbL^_CwWE z9@{Sq{??XSDStCj|JYGqHBKsyM_5^&)&pO|y;MGeN6(}JTb`NiuGxB?_sa*Dl74z9FM%UVX=|l= za+fNqbqM{cCfa$b?k8&h(tmRhvUsDs;nJ=Nj{@x1((Hi5r2(O#7F+sv?J=Rj`md>m z2DWwolYt)bkspw;*z3Kc$Re3gF@1;0&7f(=3|dr8-?(Erv1Z&cgT@`pi8bTSi_3`t z%+$whL{eTjNsV~Uzy0Imw*)%~@pSiZJ@T|~>uF@KQIrr=Q}MA?_{j9HR^ivS3RM6@OUKZe$ilvfEUcTzLPy20Zz2opCbG~`F+7EdY&n^I zOPI)%dUhpX+O=BW4+4d89ujg!1In&VxuCL7$qL}ni%Uq>G`);b_A@DyYL5D9*Ziy~ z&L&*MjwsAFnl78uMt@JiXrm|Lv*j2OYm7BI$Y$xKzL9e@ZBgERg?~@MsO7!o+#Gy^ zYfup<_owok@0myolYNn)-8hWXTwmHMnP5e_jJ)*bh6u#qfTae?+WK3oj+c|=gSDxB zO8fW=*OfZ(%AYoTH$;fdHWQ_kgk z3lYPKZtl22xqn?|Q3bM@)Pgi^hJw6~0G1enhL39^b~df0P&2*JVg<{z>OyJrYftSo zvP&f8iGMgS!`CW2mA-~gk5eZ%*{!Cd_jWb6vpn$^Itb~!ZW+yTosNbr@S#gmRc`ZQ z;d&~)6|5+C^U2o~?l>*0svKTdrI%h}j5Qnk>pVRyj1KK_9lLb{{wXDxRA zvI{+4<7$}PF~u|q|0r~6+1JWjG7$Lhi$t`$l2=_0J&Ige)Z zuzKzMp|qgK^KjuEmjAjseRFdUJ|#n-mx@lk>VJLnMKmv)X7#`6bHC91_n-d9_kV7F z`ob%|b<uYCTchs;~H$j4{0G5O~(ezo-6a;Rw7 z&k2K&<_{OqVf)K!aB?(%`0jb=P&Oo3e#pbahex@;NRQ{`U-`j#OBi`J5_rC$B{MkO z?|-=a^uQrbqJDe)fuEO2)XI$gK^}6Cc@NHyrj|arcc|ZOPV|Ymci+@`H$A{8mkZUi zS-lZst34yk0m{#VxXJd3ilL+>X-D>Jv_v1eDbIMFZK~^4jphCWc6K1<{Ra-ox9Vb- zK~~-&X&)cG^tXc`z+Sb#??bvDk-=9nZhuIY0Sh;8;i)97bN^*EUI)47?;gb+vsW@n z$*bt%-K`Wj@xY0Aw`>%`Fed_09hKEN52qMcu&VvkJiY4+0V_RU(z9Y_R;rr z0}T-UtIz!;!ZpYD^*&uh)hd{`T^+rVZ{9Lfe&nGKp9o|Q@|zAm(5EPpy!sqp<9}Xn z>!G`gXpo)fk+~yGRq#J_%uWB!m#%%h`Qa}J%l!Vezxv}}oOuk)8$SD?JMX;nPvxV! za^=41D_-*#tG@Snx$n<|M?d)X?O(=ySKVIx#=2d9jE}cpiGRK+9}mg@^Ty#rhje;A zVDNbJ`~TSa%UApI_|5;>y!+VGyMMME5`s@}{sj`_H(w20Oy2xSya>ezy7tiZ2Hr0zIuN8+jpJw{%?KrEq|Yrk;}#D z>z@C_oBsEYfB7}@(_jC056RL#8|(RFKfv0)ev6C{MGU-opo9|B3r3;&>0R1exmDOy zmsD>0vj8LBysTv-YuVkqW&Y6N^fq*@zX;ezzb1@iVTS$7A!HbiVff$lt!F+e-FsF# z`ku=lddbxfy%8OK9UK2$On;-?!vXWt^b;Fz{@mX@d++`8(+_{*llOn*yIsh!`>wca z?$QId$LF>|o-iDmhp%wmw8c&8R%~2Fbz}sD76UW; zaI{8G&`;Qt^keSa^)}5XfXlhiDpj_sc1TR6qJsZ~Xvw}rfBM^U0DqZV^V-^ay{Ah$ z+}7XL4P8lX`S#|@j<&k6>1`oEn-obiFG6eQa8QBJLa?s0ODue_(`Lqr71lrZR1rC0 zKO!frN95E_KEdG0$42DTPChOoCqH>~LsVBoqLqi`P=#F0&CgKpDkn)bQSGH?Uh3dS ztMO{4&5JzX7i+B5*nboc{&8bLWZC7A(61rF7`2MtMT*C_RYSLcJqHePu!JF_S!oOg zKY|Y}>KLBcX@OoZ($s*4@|d;|;lewSfdv{aq%d!`SMdf%;eZrwT&!0g#z&sm14m)n zk(I&$DcsmiRKvhgm^TbjxUoV6>c$|28;ejl8swfOmrp|n_J3lImDGQ+2E6F` zxWsVAr%5LT;hP9-Bu*ZT*=TMa=_b`t3*s~^O&ZST-sm4{8udd>!%?KsH%K+=XPSni zNaGX+spZ6JFJ+L@L0ZPwfv1ZND69`C><@@uNhC-;=)17~267wfV+wa`eU0)ngZB&# zD_o(4C>$JCIDcSyS3%)~#xYH=<@myr%%^AP(^_ALY-6Tw8#8@@X(zNMFwLOAv=dqr zm@n>x+R@s|4s<#p*I4}nA2OwJW&~t*SDQ8wy)2H75<;UA^mc`(H+KDp4nPO_>k33e zr??`C=4PLJs7j(PToyw}Q?Yej^#Mu|RvFq@eP(wm}V>?RDRg29(_|J75=6yk$u ztj1k&2`4I%ISnIb=FChdu#U#^mwF?yXYh~K0eg^5l)m0wdWz0@FwDL~%j)BSUGX%U ztd`v+P)lpgmu4)4)r;&+TTTq*QjB0nqxFelo_bR2Ir}g{UqxE^@HSkonjFIdCuQN; zFxLh=nSX)iV}NyTGi9)2Z%1(-wyF`&Ltx)+Pz7&qFiE+5=;fuC?IVGheX;2O(6y(0 zmux0qp0nY6gmfZ7KVx*3t5VWdSDhT{jvDesu{wDLit&W#4}HrbIbN{j_+Eq{)X4-RG_(SM?8l#+?&QOEppk@bw_hSNsuWhZQ` z3wS?QfJ=-rmYrnJQK@3cOwq-9?O}Y>bQi}=%-MU;6)F~Higpv8!8m5(4MWTn)tISS zXQt-j%oGhWQ#4@sqGySy(g3o~)9f6q-}Zgoj>bEp_(}G1JlDxy>4N_9G;e2TG2t2g z+kfwxIJqBmIqKq)o<8eB4msc?@r0h$va9|T(zG1Xv z-MQXa5tiYlDECxGJ0?25YGEB~N4*GF?SCG2}~BD7VJ5ij^!m8uowKPkvf-^-rCPTlSUXjBC*xFWIC+Bz$CQF2223x6}# zfOiX!kW~AWP-?60JknLhL926jTpf&Uf~K7BBaqXAAb1)PlXMx56&A!lK@e?`*piF7 zjb(^7Wx<*}u@0$!u7#b{7fiC^g`GDQ3s}KlNTh{>3F?Ch`h&5D#oAzk!NJ(WVr?)> z9~PIR^(~#R0(hO;f*;ts5kUsh1m)|U#3wp(9TP}J6!3X0VA9LWVgjHGBOl4@a`_+(pw$uF2Z z0|Xi3sv)|x`jTfElu1uTnbv6%p{)TC3hYkV)h!Q=Q_tAeG5_4OYp#fPty9sid75a~ z9Hd<`_%%+eD&(ruTv9Yuy`+ouWMVx}7Kn9|{!?&o(@L`%-IEp3y?H9SC#Q+-3kXf_ zF^+q*l*Yh7%!&r$pMPo~FPi?+X>fD?=<|W|mV{$1JQi+mVwQ)K~eXkVl=b{!$D)AhEIObl-W!tU4!}wNILnB^?wSlXB7dpwFvi&G<<7- zEhFh+RJXl#V4#OHU~;Ghqa6tTI?%tz1Ngpy1b^bhTUnxp0&8`7V20itPVKRPjw9!k zhAlj>7VZrS$k53CZ(RA2CxK3?hm7(JjkjeC*`%}DnT44Y|3W5Gn^!ic5jvlp^>VoVX&gLf4>z~o< z&XS#$bNr*B>55Ie52)8;a0|eC07u@K{jdATpgh;m=seenC^RW=TA}P<^UMRyvE><) z!zLEcgx2~{s2EN2zYOdy-`_eO5cTjQ+@%rS3yY*0NrjjJGWf5ql2K! zRV)MrS^s#aU#CxnaHwcWNjJ?lbak@TFMll}391%hKYm0O$ao`) zA`|I9zWf_Rp%<~*lrMsi`KD#_YM>m6kVvk<1+(Bnk(KRh_6n!V)j;}HT@89H-hXXo z_KG-Z0qJ7!;;38*i1}Yetgl+0@US~e-?dP}iBW#dn?2!MdGbL+k>#lb3Cb-q<=pIE zVx7mj<{Cs{1A6HX0=ak;E_uSAfm-@87OBeGs`*F{(SoLk`@M?oNM#4&x*fbE!?X>5 z1`U@X@rs&=x$-ggq^w`B%*4HMQ?2%Vl_p5(nhKs^Yg4crmgu(!~Vmb?52Zc3|OAGY|B0nre#b1 z1Zmmfj#oByb4a=byJ=csE=LqwKcFWk;f{@LlgkQW#?{kg-dm_E#y{zb@qcZu7h#?@ zn;PWhQ;K;hzpo)GHNmFkp|2R2qF)Lv1F)X}2bt*lnxPov6+nH6Ekz{)^$4s&#c~uy zOBGBOgV26?!~N3SZJbfZ?m?YS9fx>r#mB`Hdd$AFj zbW!1^g=@XKj5E-o#ucLI^nYN!*{rG9<}VWXF8!OtB(wfj*Q-D}E60o*!WsE@hk~!S z)Eh!L_ol`!(NPRD&iU#W7QI5T9r-*Z>+rK}Rg1G3MeJ>(WQENQGQ_0@qtTB6dl1S{ zvSgKTP7o?#TqRiu-!{MEnwg&o>-CK?+HR?vz=lYg)S;ai=@)~Nx& z^*Cc>6d3tTBFuC}WwFkuwe%Fpl&0MlUegCv3Cmym%U^&q+rEl0D9m{eG-s3|JE?F{ z2;|hL-rcC)P2V(t<_na7k$-m;$%JBHH?&W5uHl3^J+bScp1nN&-^Trk|Fpz2aE&?N#f2k4fO zF4=wr+7JB9YR_17FqdgR(%j-Q=)7`UJRg9rqp5vkwn2e;x;<>qVgCeP1l6hxWK}XK zCeSzPs`PYK2Gy!Gx+={Nvnq{UmCWD@6(5;@JpH4RhB%V|n17_XGH0SR=p@Z$XJzk| z1JUBaiOWbMlTAQ{b8NvaEyaMhBI}CA+3fR4fAIyjXf-)-yDqzAH0?8Cs$;2Vr=<_2 zetXtOcz?d9XgGA|Sc7z}RhBvu3Y||EA?wW0eYumonVYkM)kOwT+rTYr0qTatU=Ou` zv&$8_ELTP@U4KPG6#xi!dD;-aC=O(O0>xPF#bOFI-q8arJ`S*@!tRIiIVMmQ12gkj z5s;!bF$Pjv+&sPz5nGJB4tv?hd`2HCb>teed+fDehI<5^lwnABI~s8sDnubwdT9y2 zATM3x(Q+8oqfX>n^9NdMxL`#B*+x+MxnxYYO^7cKIDe@PO^QH87996wf@H`kEcD5w zzo8(GX#+)-HiEFgtyXv`yEa?k@AI~6RIN0S&<4`Wql<+}(xQo1G(l56n1DuFKP_({ zu{7i46k}IR?j->`qUdf@S$-&mkaCb85=hc!U8rN@l) zi!M#&`CujVk`o22g`$IY5P866KsMlz_t;O4P=Edt^s?V07mmwt*pCE#LfLb?;(}l! zW1XcXz^Em;EU1m{7M&0e@4j3Eq}r*5A2aB>jc^QNP7CX#Tz(9;;}~&*AqhgQ|D!BJ z^i!L^ubQ|`2bNcPGx!ammGL!u)LgDLm)Sd@P=Uc275;+cbv&P!UcEOTcR?a zDSy}Uo(Nk6O4dX@9Rh6nJ85eS^|<>ya4ZQ@B`tNmA@n_*-cjjN;goXXBS%g;1ZjQL zjs@x?U$f}Yt6r~JeB?vd7Y=;*hDF9LJCTl<1GbUO*uF7r1!AGx9LIs2?v3pewr)zU z@FUlUCbS8~ijfTbL4#!UwkvF})+0Iemw#XXTUmhF&$=L$z~We-aLjD^UPD_pa=f!$ zaxhuct+fpNib1ciXOWh*u!HXFvfpMGs&V-33+y^($gZPGrk`z6#3qD{_-bRmmUZI% zR~aOfTZ{{@e5t~#yfoWg9{OXCNr+JQx6BA#eXRoOYq{3RLNWB96ZcCoG*k%PAiXp4BTdrF zxQlDxCxo>s`0XA&+C~wt!~V$v@qe3zuh1Rp!jrB(NqaGKYK|$G!YxSAshGyM=xIP4 zGd+uZrW|y=auC?Zcej8gHZIOf%g9t1j_h>62H^{11AnR{mM2;H zNLavk9HIX6Ng^N$1sdQBKeZqux$jQLP@5B%t5G4--Zcv+r14YYo*{Rkyn`R4aX_Pa zboU_s_|N}8d;bD%*IAy2qT@csoMT?bx=BlGN!CAym(7xqY+;0~NN&(rMHd?zE5T4F z&9e{BPS5kuDUstP6xYd-y?+FjsglsdY1oNLY2qfdCOPuPZP~jtWG9B0)@dPeiqlQN zIa~s%laj==&`<*SeDC}H|CnR0HFX0!d!Mt9L2KT|_{V?w{_p>;?`J z*>A$3X-alO8&8xpgZzKZ{BDCgsr0V8ttw?fo%!XJd3E2gf~yErR)6fK*&;YqrjIeK zt{X6pE-iKrGFJ@{z~~fl!5K8LK}a0rlpj_ZL!p7-ED>o&X6)#or?KdIbw-~=s;iT! z)7@f$4pJsK%I-1U;?seG5|fvOhY0ZB8T$97hh;n}ikZTPW@5Bb%!P>=G#GMcUN9#pSif zQH$)TMXlvZmN>*cM7(QJ%htp}w2;Dj*3zOyEycoRiiS=GiGM;%cI)Z|oPuC9t*O?? zqJFBXXRK=(8~vRR(e^`qi5c)hm_VCPKr3{h(`c!e%zQM7*%gK?DYX-=&?DAW>S{Mxl3{7;r z%&IfS;Lp)T#7Gx!3q<1$6me%a>Tg6)4RA9mtiTlE>E`ydT9KFOm1ysXntk>Z|4)Jp zg}W6DTJ<$8vKCpF{xO|2_U>4<_Ex)DP3sPvdUoK5=2XjbOA*>k%kmT|S{*mgRO?x^ zS!7;1!+*TV&;t643UwPy0PsBx>tP2NcA&!!+^{1z?0^tUcG!UyprbF9!w%|U?@iL3Ibb5kfMoUjf@l=!y#` zaQU?m3vV5kVbwkX4f9kr|HDH#E<-)9nWDD_F9Q(2QKL8~7_HpSYmYMas|7sYcm7rY zz+RL&j2ZvtIr#7tRvuv-tSrq6xOR&YciFEMFY7ziaQXa`p`WfbHZ3_Uv`}kOP&p+vnpw_j;Oxt%2Q;WP{!{b2fS_ZtjTe^;cBA@J5r1aTw+9a}g zzxO_$m3bYOqnakq`YOZO%*dxi7bO^Mh=1Y>#2x4W$#KAwrvoo7%EXJjgmPRWFfQUO zr3Oj(P7P9e&c1%hCzDjf$)tMt-z8d^(p49UwYo@BT$gJs%=>&t+j0Jlh&qN!aDme% zG%Z(C`I5(2^D(dzHdFahr1EL{0(aYvL0J0?yp^ZD;#!SSwMB(Pt+pd`@{}iHUVq|_ zXrU6j@gv$$Tm>}EG}~(8BRuW3?x&i#aZpj5FMc}EPo5^+1JdlPR+^)W$uEw<4h@Jm zo(9=aFMG;6QS4Z7R_KkOV4Y)m|Q8;JkgDb6*T`|ZV0ox_`)&F z;~;6@LD3*SYCKwW95qeEf&X`?7=NoqQPW1YP~WB)dexo7UfT=of4;-^FOd9g)T~i_ zHbC5gQB+XM8uFFs6-1TSiVL1q=d|Kqpx#7K2E}yRBXk1h<=fx$w4}OE<|(_nctsT) z9{9EuHd+kgD`{=KB>>u({$12kI1vrc)J`xE<1aEo+t$ar%zrVk)c}5! z*}4P14dp`z7}W-ATBeSYVuZ9!+sDP9;5BE7Pm&}360og!hq(7y z?|7Nhgb_t91XB*B+mLt9#8JS{Pgk#gEvbB3j*|z%>g~WYf1p@h9Bf%xGt-ZiOYc}& zdvJhs?dQVbU@LHTz16`syno91c$M*p_p-oRW2=K1ycVm2?IwC`uoJd=3Om;x1CMC$ zkRiV8?BHc`gg~>Cr(SDzet&6fw!^%+_ED=YiFURfeQfXYuBjrJ8cMS)|K#(wMKiNF zD518^unM?$z`rUtFGDx4(U7Y)>Q)NV8A4W?qW#GmT#Z9%#Wz>Kqkr6CO2p2Pd1z*F zOU{qcsi@+1TAg_W4qf5I^7agUyI`8O5(x+<=RMXR%f0i@eCvYUYNq(^2H(hOm74`n z1YZyvBS%7Ea&?B~D9yeVUt*PWvjv8Syn0)3z?+gMf9r)1(8UuUiX2%EVMe}B>&{7%`g-cIZV5r$KfEh6Ae?}H$dfs1Ey*`P1FEw%H0r3r0J z4ZOi$F1xsB+&Z3j_}+Vv6K|XViq+9{5n6QP=xM<1@+fsYyn~zOsj< z&NOd-(9;S%sbxHI6|A~4Dy_QSlH6MCQ@0c?2Ab@zKeJ|noPUh_6y{$pq-?KWS?#?{ z8%^o=fqMu{6#8qIRs2$Iz_!KXRROc zrP*??SRNmc~4+gRou6@Vg8fjxr{%vyk_wu?K z%TgimMF?TOOz%(^4?kYVGLTzH7-e4uYO_*$pt*3BHsB7P9|{ZU@Fc}3o#~!6kT{b) z)1n$9(^wMoudf&ZQ4Q?incfi!!y<7X$!T}(s?b|t?0;*hd>&EwW+4q=(6MZ~(Dm}+ z#i}?}6+b*E@ZDC^vZY}Mo8eT3j@W^G4+1KbPCJ!#ITa{_oy}AnI0L)`~?{Zl7cRmg#cUos>MNHo>5e5aI@D;C8(K7U<&T9Bbrj%g$~!U z8Az;Kpnv}BOFr|E&45!9cipv)6NIC?%2lHuxqE3`YPOz@TF+eTnYKe9zp3K;)mb59 zI$UOsDTHQTnL=s{kCQ2+9FeIhOF=xwcAmO)%6Yoxb?1d{=gnVY=kds3fp?x7S3k;; zZqpnfOroqjy|QMOn{C$2naytntu!t``q%1Vg?~ZDCF_2X8_GGI-8pptKod6CoP}*1 ziCn8pNW$hq2qrVFmt-;xpx>oMvk44)6V57&T=@=D3ctWW9jlNT70UAwV%c|g5pKPf z8Qijn-HPq!=NxL;GK<_wXq#8VL1TA7U{Hxu59gPkEnkjvbO#7y{LH-0otg6WH4He9 zTz}RZS@Krlo~O!d^jLLg846R&d4rq1Xbo03uwjUH~6zO%wM-6(_?l#aBPtS ztyiwe7)=OwEusWO6!?C5xmJE0T&u&-{i7aT`T2X%=(Mak3n>Vb)QdpPODnlAm7!c-~MX$GKt z4Fkl7JqF6!*P!}{cWYP0H&5Q*)VmYKe zEkAj*3@mgbkE;OnTcg!OF476IoGml-CJ zxRNyqox2u*-7rK|XY{RA_Lf*0w}3P9S~{8_Dow+ew_hYCRzVCDK?#Ds+3#(ZmnWX^ z4tR68$b`rDd%y=rq1x(W1mKRVZh!IaK;s$bD?~HS8wNj3?e}g{SJqxuV(|9p_tX2m zzp3A^==U}vYPb55w!?(;fUlu>wnpnHoKLt!Em}s7i-sdE8agf-+A=^ay$$zT2-c=* zv*_bL=PxKID!hh4@r6Lm(!Pyi#Xb3hMKG=A-`&T{)H#lXDQbCkzRWk(Kz|D35UQ;c z6ROcCM8xj^X+W00*cdlBhG$Qd@neHc=stZ6o76_JiEu;e_z}fx=Ys4$*?v8Gk>wpB zrtpT1!`M02xXk~?A26-lMj|d^2cl}nU|Qapp=cW|=n)|+M0;JoISkpgIG35k5UVe^ zOEi63%c#`CLUti|TqbTQywOs4ZYh5nm+SQ6V1B2so)m6<_l<*lQ%mCk8dP|MlX!Om zo{~^ha)irNuEAoMTrUE*hp-{9`isACkrt3fJQd4lPiV0uSIQCokeIIR&;B8R=3}_V z5I?SxDWBb?WD3v;zag5s5{K|iezAG)#Jh$5k_k5-(ef+4i=Afde(uay-i3ciBdaS0 zGAl8Im9*Hg;Jymix5*Pb#lbPuV)g&}IbSYDeJGUDRH(F!ONu}`If+wj{z6t{W)RB( zAkv*iu9&RU^{{0vlSzdrX|rXc3>=aD@gD!t&VaiSJTyt`D25e6_xqS@;Q$Vw<&MztB0n&EkXf4#* z1U_KEGgf-9Y}9oIkFs=sSR23Fw@|Y7>Z#a&cu{Sjgnz(sO|$h*8|$-E>ocNw+DEVk zx&ZhcSojrWtet?3p=uehzl3`6HcozX>KTMS672^aeSJ%wV=z zHbMc^mR@QAwRwG6LS>cEA=!XOA^NXI?%6!BU)buQvJ@u zi;PPj`x&CxcsqZKiddmHXla3;2`monk_I`kvSHwCV>MjH$m|Bc&Avg#Gh0N@eWKO} z^_M}jV0z=rpxLOFg2IiyZ38yS04kMyfA>ITXQu=C`da-K|Nmi6)s#imi569Q^z|yL zI=T7|7)FAaRgq!tFK%4Wq*j(P3~T|&Wh9w{#Z^Cq5^sMRW`M1eANLX8O2bpVap()u zINFyVj_i(t_#GC164-cnMXc1%xHdK-GraO}bg*%?Nbi4a1JO{uHUHAp!Avct_m)tB zn*O?89qQj1v_L$YMYhsO{ST2{hu@0^Q!-g=N_~m;?){92mk$9Sujsr#<}>9|n8M>Q zDJ?L*x}$%oF|*ZHO1kp@yv(ckg!M#jR$Z6DJ0b;aR(WnSpRJ8-ki*|?#Q;>d|Nqf63F%+_p0CV;0Z}8v${B#RmvBM zeM`7V%+oV zBnqYDxaJ5YCP#7KF(S!FM3UsT`%Nn8Hb;^SX_Q6D0{l5qrngZ}{kW)809wP;vrb@Y zr#`~er{hzf>C|_1>Obz;(7)02sP`p4tY^e56MGqYyH9$qLkB!A@#3K$Cx@=5;3!t5#@?M z)}f`0E_j_f+>ccLTL*~o%UNn7Rn;D#modErPzZmBr>C`8QwbwWX;;tOugS75<7bSo zw3V;K)pPd`d;QqSH0t=~41Wdc7_5J6E$k%d{@?&RHC&?w6}|=kK}bY(e2ep@WnBo} zusKJqdX6w&&Jlj6g|?m}-deVFj#@fLEv+fpQoXFDbA+dKh8ly3#qYrc5!-U4GtvU_ zoIJL!%SVekB0Jti`PNSI+VFLzL&JVly|Q{0R^srYtRd`aT|F~(h1Co*T1bB!ms2}E zNSW$axDiOp_U>TP-QI+|tKuZZRI6;EOAgg4v+BlrBD<0B-`+)OO!tiqpY(O&{OU&1 z)`kX|4sw|dGW^qD$#2py$o_Fg@X*nS;7P(m539A?RQC~a=GE40c2MJB`CxW~K3Ls+ zSSyMS^;-G7Hp5yuKVKjlxl?~{Qv}i@Ty~#H2i@FCZkR>IdCpv61qNYtcw(%XjwSxM zN&IblsJ88)8rwrP9y?SCFAbhyuSOGi+qGB1H$%JE(n?@abKsL}M5 zytl6-?@mqL6dbOhKUNyJ^zA`@&Ix;fPc24edWCN8PxB-M{D{fzuD)BV{G1qc z?4T&%X-&)(+7q!xeP$bSjwKvyb$w_Y0+MVfUccv!})Xw-dobdqhGF5-@x(%!@xBQKAKSCfZ zsLUh@rhOR_OgmS-V^#>cE26e1EOK^CKF~VswQ;Zuni>6_7sxFqaA%=KLN1`FbQ=<^#DU4*Q8A3cYUUPm5!MYz#AjG1FbO+1bxj;MQUxv}6A@HULwZg9%pR(4G~vfV_^cGFYaO&d(84JOpT zjZsWJktovIcGHH0NhZ_=AL)|`wUr6AfqjCkC`uG0P!Iv1%doX)h*L)Id8*@;Io;_|YAlNH)0Bil zp={vGd)z1bVlyQwx8ZDPM74Roijb<|4X1j%-ef7>wdb z?2t!s10A}J%M_C#Y7(5&9p|V`n{joS?N`G~pV__0NZ(o6Mc!>)EjbJJ6rzhurAvQ? zMbLvr`X|P}-e0B{CAHeq5u19;-X_)@%o!umCuXkrL5Oz|9ZgiCghGhXOj|2c3;2cXGIQ$OY}MpAO^`FlE<#t7Nfp>E7-gB<#zXidAjRi-=_{X?VNHwb-5BLs&6T=Zrc8R##qEDfXtj$l z3T|ym(Kcter<1fSLm(X?mY2c%y%5GK2A-E4$_^kI&?s`5U=Uaio`!3Q=t4bNoR0eS zL>)6zBFj$^zZFM7Y&!Y%zH?}se(`T3B!~2B&AnCEyMoXSD6mSKDt^p276=$qw@hCa zuVF`7UoEKCOt1Lokz-oA^>KgH$o^Se4$cIlQg!mBJZtM=)e^Q;ncV~Or2*HJFBkBo zpRa!k3NZ31I=87t6H$t9TY;!e9Qcqk<51w+O%(XH6NuUt1zxWmp}@DDK-9J<@WBO8 z;FG36lw2AGKFHUD!WW$Tni?}Td@JWpH7fHa8ov`Ye!tu2q9dW8Y;}J%OYNvd@?otd z(*eL%Ux~`b>g%4h`)xw#PY)c>uX&nb__EA<4~^~9=%37ngmtQ$!Tmbb!Q=U$#bBVm zgDJ?>0G%TkC|9=80v%`ic;~nA%ARGpGzrPZX$jYlAsYLHM#b$t^p`# z=n-y|3$T7dVs+GnE8BnPI&Q4#5W+3_ACxEZyJhaamaQM!su?!;2m;PvjF#=EPG{^l z;S}VbEf=F!4^;;`qXX?@pfhr)2-lc#gX}jCmGMC;#FVq77w{NIbujakGDYZn<+QR$ zP3y>oA9d;VDiH<14SPxtTn#ja12!K!C8S%ku-dm3B*b~%G^2l#F3(X$Wje~Jv_Wg| z%}~He7^y>60m4o2&XBH+ysM4 z6qqcJgGYZ;=s9DKkPe?r2X`ckh>x1H0X_x!!m$zG@Fw$(;0pLga4Ejwzes#zef5YO z_5s}mT_)D%e;I%HZ5y$Ccj+n(WEu&qXDz~H2a&6Ol0o=tU%-46UxxW8W-LEwHc%Hw zs;6&&(~weXP~C)+R0L{0c!OF<4JHVwkqW8lm_O_$8??nB-;AjXDhdkIt3K})KaVhu zxO)62g5o*f*2YwXE@|MXT7q7qFMIgQ8nr66zjgGO?0|p&-OfO8aod9Wj}&EwScv%- zx_)=f`4~6VKE`d8fmXSMyuii5jIIWvCR-%DE@r7)o2k1Z!-Qtq#Li&btqr!_k=-@d zxylJ10H($C0*LoWFQ8T<>;+m4Q|zpXO?8iEGZ?lsQ=4z=L~1LfTi|Tr>uV~T7dTR; zkfj7>mg9d7VF-IBpM0EjaGc~EgNP$as8e!zQ6DF{Jx&T7CwRee(&KSbCq(J<6v3Uba;A03dR6)N9?erkU)+*-t#HGFETX_UMP`zlv~C}&h- zhr>nZa~2$8x@?XUKDWYHhc43(2Kd7CElOWu`X_VDGE(3=_Da9_6nqiZjDQ@Ovf!Bq z!k<8RaKy(5W3iibBH?vZI_^NQ9-CC`TXk80{t-)({c*j*hh8DeCwfH(bAiCJo)Pl0`i1EIxaK-MjW z8Z#rKhKON<_IeheO~uLrV#@+37!=k~_NBl=%yg6k8Uh@dcJZ4bPSPU;(HN0Yq-69> z;=MG;C~6KMQnQGXQKa_yNP8a1t=1gJ!)V&o_9_{O`_(5s-Rrv3Bi-qY^oUemiRyo7 z>ZUw3zRM|3t(yt-Ub|JD9y;jqw+ySV(+=ZG6?Yp(p3zXM9~uJkjhD5ROhtw|tk>9y z3G0bzs{_(bOxT>5kUa=>Wkbz~4%Mp~+KI8PHM$VG5CRcU4~t^Q5CZ1J=pq)Mj7B6F zG)Pb`*mQiLaumV<_kl||_W}ZP{NjJrYTY?#&%3VmF1*I~*Bl;?if%xs`-?yk1wBRP z*;*1YKDf;iPGAjz#Xe?NtcUDVsOON zb=i8_ze_qH0_{aT?Mf4|Arw}uf>Eq{Ca%8AIc83{iWE_kGOAD1fhl@PK*$>Oz|L16 zQqg5jmjxvAl`8wqN3&goc2tkNLm~X?q3VMSVRIWpo%A3}{yNn9d5SNlj7_Esj4iZs z4bM@UC{@OvfJ2>S$V=w9uPL_C~QI zDVAFVy5heEY_V<)2J@{0muwMP#^FJnK{~2$orT5AjYsotU|q+vc>Y$cZ$rj?p+^RM zB#drG(e!>S@RJb=r#lb=^_#I~x35(K&IBhFtR>dOPiR*(XRm)%pZW%)z;}1GxbDq3 z<^SOC2Y`)w_RstQp$0+FU-!Tn$YpPjfB?btW9+-e{EJ&Rn+)6Abp0sXQ!YCK%)OBWp5||DW+)%wA$NPQLog-v=*Q&MmZH{`nvX z74cpsBPN#6nx%hzV9F6@FnVodeR0)Oq_kLGwWojd4U`aNPlNL&I=|w-<8+y>JS7^i z{CWLinXNqK-M^BZCPVdX4(0@isC4CR{`c3G8<$v=8t;|*lf3n8wgeWA0|LbAd?=uXKMB7XTr+Yb*kEuBt}t>V7&kZuV@PVM zII(}E<+Qx~Pw@dCNL?~a>T){pfvvas8t_|T03{&-{39fZDr2Lt7kktsV?U75G$Wa|ie*Ob1{`V-b(yyYxkqAfc{zRzt zB@}k$SHO2fW;pM|qv29F0(A>m0jGf^nYe%S@u-nLp49qjRHH}+dM;BxjcuS@q_Bt< zq257%iqfl(VB4{_9Zzgq8?|NIwe6tme98e$?}2lDhip=AdOV(I7DquP;AxdJ<=B7jQ@#!(WK>94eMV09PY}+*!Pf|9ma9O+f1-aE z`(qdX-ujFGL@)kRy*L=V_+#rY{!_j9KkLQe*u}rS{^I|v7k^1Fj>ay2X8pxq(u@C0 zFOJ79{^9Y+NW;z~bSSfnay0!#ZdvAP|5WzZU50ultZBix0&- zWfXIh9urxT9~`vgi_h>IRNKPo-vWQoG2dzsl=JZu%MwQhC}32?5&52w9o7gSuCX!= z^du<%76?7IiS9M|SkiKzvLoHV5s}>iLQA)@df*zcz!K7R-n?m$X^>N*zRTme>MoIr zG10K(G<}BU6z$hCn47Un6UA5iN&x;#w>rIX^p-PUDN~@^^#<%r;g{<^1{8lw0Fo}P zJr}42JFph)wE7Y&@uk)C!7!I&5jN~hHJ%Y77KRsDzk#BvCv~Kj)+*G=BcNJ}nqPwq zHtcjGsG7f?dk`|0UCdat^w4M~*a!Tn!lPr~{y_6GLeAu@Wh#dSVc*)u3aZZwrM5-X z(j4EmgD8GHtgD5n@arHn0qcLl%}$i6faD!CHhbWfHEeEnR#9nQ{Cn#!Zftf|S7~1S zvGo@>HaknLG%x<`^%plbJIk&#FMekI#f{Al(7v&YKf3#zG7r5EXveg0Pf{JC7wE)~1t9`8YMkMMtfd;D3kq38A`$^Rhq!!_uIC2LXo$|?gZCs(;5N4d{8*b<22zjqqH*V$Eo1$4pXaszRqmEk)=0?ZEakarhFgH3LZcrP-D=X5} zL|j(%u13d+#r1zj4lph%PA_O=ZR7ysE({-YIgh?L-U*D#`kdL9`Z=@tn|z;k+{xH9 zmlOQ&twXYIe3r8y|12!U7S}k0b%c?lSU}*y6RsW8ghT?775e^=OV+V)%YjNo(-$d z>Lq~(D%%n6RyagLyNMVH8CKmwANvD)9SUVxctJmZU#7;zr#(WoIny??KH+I7J6y}# z96${=nTE6z*reF8z-$5zKRYGU^Nn;>-p-#oi7)P{&U`E6=X*|`+-vLH1G6%qWxhk} z2oq`uHw1s#NfWK&A{D6?PG#GEgNXDoxOxjpxANWmelM~_F88n^rgdPv zE2<~a0%Jxt;lM^;3X$BYcu3X9zNvqaib!LK0r&9*e!+|_yl40?=I^<0hWMu?cX_T= zU-~9$#5}_EyjPoxE_xV#!6kaF3|Af z((vQ@ORH}9leS?G?`*vfQrVp*(`rDBVZD=8Ywl!v4FTO0!qHLxPyE6-^^1Qd=XQXF zu-uJ+8Q&J_x|^wC`@PpF*c+HkLd}Zcf?7%p#+xHd2$DsRh28JbWtg!-rPdUqhINn? zEMYqED|1qBi0Thi@kQ*VQ6SO+3W?TVpiR~5xH`&rR;+54IxX>cGrw(}s?q2SuF>y= zsoc`F<=?jQGfO$s4dYd3e?Nb;`cTyt!RqIQ24!Wsj?JCEJYj#4Vcot_B^1B< z@BS(l7&4#wK>bt38%nF-Glv^dy076wSf^xkF=JHj-5Z=zK6w;<*jgDIVKFy;b8hC{+|1g!DH?xsLupE3WG^)6wnn1J zI9obs4Mquc(Ej+K+syD19&4o>40_!#4_V}X?e&NVau%~^$iSO@XC_gDV?Wp6ve#K0 zXM|K0Zx3yxx{Kkq<^i9T7zuoBa1{+q>dCafXz3Us%lr=dt&6{5Y#rdP2E_q7JM=7` zp%(1%St>i@%p-s6SHrzf+xLZk3pM5B0YA(0_qKv|?KjHwgnZf`&|gj-bFzGCNs0W02Z4aV9FItICufI-z&}+(;CilzfbN+PMNB=J= zcCwBD7)YX!IZ5@D^s+-8DS|(9mE_gs|RW(T$L+=nvOj z=u#i$>hK7Ix_}GDT7q`Q65gpW=TSVZwqL?4+&1l9Ha zPXZVlWP3o~=8FA>Cx6nGRC|V%3juNW&@)bP4-UECpyd-_OMW?Iqw0d1Rmm9ar#A~>8Udw`10sOj7 zv5RdhsAS10NP)n2qgU^H&8YfmhGWci0%n$v);!MMMD5OTGyfH_HrHdO$D|(d(yduy{h?2014F0*KL2 z>G^*g7hxAG!Z3=?4tWeUJNuM@=Adv}Sonwq zqF)85HCg4;C{FAZ$Zu_Avt zyeEHGGnV4wNUp_dF%^SID>=JJu|gduT1QQU6RP?YFKxGQW8DwGI^)+}0sLs)0r~m{ zc|1i>owih_&COKj5Hq*m<7+Lwk!YOTdTP?MDw16?XM9R%`7_r9#af7?>x{2y`0C^( z6%!j>mjBPLF5XJz^w1!swgR6Ms)c`ur1HJ4xSDK^GtARiV7k}Ifv6ApV2(;*?djOv z@N~4Dr{f0a>DWE)>DZ*6j!mY0zT8xMIyO)8bj%;?qHbkk=FO)2%;pW@RqckiqopS>^k_|RdJst@S?BafCOAFpg9IpDOBs&4!Pw7k*^5Iun1LEE7gN zr;BE8k*Yeth_ibZ2UDh{s-*}WL-)?OcX(OWmw9~w0%D+e*B;mG(PIV zivmABJ}McJ9_`ihY6H=PcMH_jR%Fg}Ie4F6ywzsH8>EbBus{vR00d>GGxszNB6WZ& zePrG-()X~<8NPMUN5Zi!kI>R{iRagA$U$F&{qTRD`Kkb8o97$8YUh7iR|f^$F@qQA zbJ~1bdg(qhq-w;co^3{f#*R^ax{d;U*1G_!ioYFJl{Hya++Z59V^yiLs(1pcN;Ly` zoK>Y0Se3nS+&`OI|Ln6~^Re1P1eLTz@zFvR#MTt1AeR<92goKqW2hu4m;^IUy^+U5 zi+A}7J3n0kK3dVvJ^g=bMou79mcp;(I_TkJ#r2BrqI;gnjA^lB6kY^0kd%$VF;zF- zXd2B{&O}473i){Ie6!&cIbUQQQ&oDZ+Wy1UPj*%{_Stl5Hj<)lTXc9)R;p9HTsF^$ zH5z|N=sXk^l&6C9P2qFU z%&(d_y4B;q9x58h=MCtn2Nk|sTvzo5NrU=3SGdj$rAFAEz=YnB%@2cs^;lV$*E>i zboH#*S!N>dJ`{fpOVQtNHu&&a@U~|VGOVPk-Q)$YkuQ6u;QNF6u4giYAY_C?$M^4p zYa`(r$prwCDR!8IITA>fYs-;|Jj*^jK7BbKbF|Xl8=Obrg}b_JuRQk5|MvfS^mjh} z_?LKu%Z*iw*FD?3u6pdxAN->P9q1s{Vd7L>4jw>f97lhoGj8(Cuv4G)_4PbK$fx!O z4`GTL!QBVztvs#au8fEvT*hg`3Xt!kHgdCUq8GmPPqJ0{?HeAcV}7ay9Xmiu;OPOc zy}4wS9O%&;gcjggEvH-+1>nt!3~DA_uH`)yIppS2zgG-f*`O@y)1D$AnNeiKGiM_G zdz3{RIIMqnF_lqB;0_kEf7=t@EvWEWop}N#U+^I|l~o99vKPzyJGxB7#5K|ofy+4Z z>RVSAPX>%0W*PO$E1s4=NAmq%mq{FFP&?RN{NNHVR^u%%)u62o8I_RM6jtSJ*#RH5 zqhYoXsj3UekyYT2-9hucy_;MFb?0$R%dHNLtjsZT$iE_Y0}hd zMh1BH7|UP+!vqD@C)Fk7iS|-GYu`guZuoIrT!T7`K-6#*t@9Jv5=-hQ@~ofes6D{W zv5$XpmY}etFy_8$U2TLktgU#WL#(vlai3pIDwVT36 zu=hUc9q`}jlj_tE+jL_z98v1Vcrijn6bpZ>5h+qPnq46)&KixPJlQyBUOz^V_L*}m z)ZN(Nbec6bIN}c?TZN0iZ`kIEZu3O9dBSa;Y}n>P$>|}XS^uqzj6$da6x~|f@3Ets z_6AS+{F08yWuf_x!5~Egab|)Y;qIHlGrn#%AwmGyIL71EV!Efle?fK^*p%87s~>-l zh&oC{2G#6E5oY;nO>^A5H+USrH_^pEz$9GPB$u^MT)!dOTb7-+z`GDf+cHdCvo)}z zU0#ncL^*x^sK1EEb%DoGoWiSt`Mso_DzBD?;I&9Ltj?SsR%gBu-p&$d##>!fi&v`7 zJt3e&X6|IyCp?HZ#RT+S-V#f4=c9jGkIXTDP3ggC>NSj}UTrk>)GrU$@qK( zhJi8>DT+KUK$tNOX(CuGQHWo*@+f-wyk!+f@eXt3<*FKaHh&BpGC=I7=3Kx5IRcx+ zM7C_eHFF$GgheY@7PCpCTeLhQvQJo7U|w+%x5{p1@FAFpdgNNBc@^;u=dphgh^UEp zhIQjVldulSXwmX%*2v&hFeP(G0ZwXRg%Y^a6C zX-;yQ`)ca^%iP5gvh?aj|0jQw|G(Zp?A?t#Vf&xYQW5pXK;MQU>C1=EN7{7k$+uxB z*Cs)j$V-sR-xOEN@A5g%v%HnVJCysQmg6){13%5%?RIWM?&XMV8y#!q7yn~_^mWUA zUEI+4GIL)dO)s?J*c9JA^z}c7N?(y0y#N11 z^M4_tiN=T~Y7kBAcuAybm5zJmtgqb|Eo0=}mmeH``N3e^YjJr;K{JHsGUw zF-g^DpQ+=7G>kQ<-hH;s%+l)5-xDH^bq@BFz{Rj?TI$YAo*I8%b$ZyF_xyg;5BmLn zR`gr#B+dJse%$SGdtfGZvJ|eg2kV;kWg)pC^s1-u#g1Se@1M~3z)q|_sP8j*-|6Sp zDyOxk-}w~gszSA#bK&|Y*w%3a0vWjCPuchLhR@)8krVI?zRxx6E&_wr@P_T zhwZNj4C`$8^{Ibn>U*n?>3b%31S}7YE1uSG8NHlO976R7b4J=58vn}J49bP?)wbX@ zs^0SqXKfkZzf0d6ynp92c9!M+*=Ou5%lmJ*Sq@;C$H#h>zlK>ZD&#H~!;4I`^hY~l z*cA?Yw_#WKJrwJA+4rK5qbq!m#W-uh7P`3^ai z)eDTxq)&efAH#b}`E#mz>V?3EPFE%W%LnxgvqxHxyJr>6l5f`x%}1aP(ue;pi(BT{zOC=f}4jZI3vStUJAk- zgw$|UZAq;J>?)>f6#)bWRZqVy8X_Hmpn;Kk34wo7_+A;`dpC|RsfubAs<}|+;l-i7 zo_U^uwT9rSp%$Fe;6J%$euNg}>kqT`2V3C^LkL$Z)a9w(_k!kyG0@`vRq8TOfi#(q zKQZ*n-WD+IDy}}r-ePU!o!W-Z%OK9bp!N@&fHrEWCIKY3y`V}0zT%rc94#NHTl|1) z5f^{H?}9DLceZL!j(3g`GU~IH$#&}Jw0dH}VJVh&G23;nk zvmMcKHqGLuJ2_s)Fl)x)Z|r^;4Kc@T0k&wO?}zlm1M@KhNw`?k+-g4HrQ zRrT*-FHCguIQZfzCQi)_5e;_|rI%QGIE2NaUND3vi*%&x0|+i7EvFome21v9llFi3 zsFN1wHJ{C^wjhe>p5yX&`{Bh?N+zma1|@TJu^$woVB0+k0ddO4t4FJF#}(8D0@4*t z>qtbiD`_Xp<4kEXu&-Zg=)2mN=k*RdwW4Fck@`Mhm8$Kx*AYlO7V1(dUa8?W*4$OS zNfx$3HmdPY*-^?nAXpjy_&p$v{BwUO1}@^{^ZxNNSt82M-r!3JH((nHp8lMJ6gtR+ zU;nTP7Ad{Q8ks2%J`QC2>N7}Vv*jHRAv%V0mXdKqHoz>@>Q1=P#B!PrEu4`En<&I$ z+gQ7`3sAu5_}Di{O9)(KG7O~8`9l;4UY0J3to-JZ@=XF{BzZ6LE-}bBJ$ZlW75^Y~ za0?!gmqL4^B7NW{0NiRt?{fX%V61iHd!4NsA9aI@K}HPxmaY}Q5fdUbE}r8-^E`|- z`CS`V&IU6%u$)Lk=5?zE8`ka~{Xv)Q6xI-H=jBHNf6c$2!MdeiEio=lgx*J?*vRI> z$Crm*@i!l}VaC&|Hi)v|YoUK3?2qQ3Yz5I;gb1nUJt7#Gh~Z`Y&wIeu81`4zPM7)0 z+V_~C`D=+n1pb|moz|cA>)(`L-e{VizK6Ez(6;ftrVXs-33uJO?k;L=$4tv6+CRZd znxC}czbH` ze!md`!QZo3ri-WCZ`@d{b-p~tHXcdUA~ETgm0Gi3X+RztnM_-K+CwrQ z^W9B!O#1jEa;j>pskSQZq{o3MvLn0;p~O4FV}uJ`3Ev^K@i)$$b<-MQ9b5RijjuVd z{J}vdkb_pfEy19&vI)zAzcVRd(F$p@dtUWU}qu7L}Nur;*SnR-FsV*x zp(Bu+JtYstmKUB$6VP5Ri%?suF$O=w)XP30~T6lAdVU8i+-Kp|k#MW}z74H1$VV&P<9y?bmTI+c~; zPy7Z%Me$H*bDSC<<&r%ARX+$d*TK}tju@JE{xq{CzTaBD-qdxuY&gCgcxHht7OjRs zSgx=DTcyrcLRQnVg<4^D?S>sHPId&R!cS!&eQD6-Fnbcb}Ig1 zs3@gKR_nNuUW672DZoIjxJn-K-~N%TQSsAZ$L2xdS_rCgU^DyX32$`~06g$@QmE2$ zFOYLZgdS2(LVku{{S{h*apI>#hq#%4)kpXyYX^UXHsE-avg0{~3;7CW6EZcBddUfo5j-F6^6fK3XH7SkTKn zTOWU!=NW**7!U2+7_#DBp@uypEJON{+yWNr>+|!Wy6M8(_~>8G{kG0{+0lmx?y3hI8V1Ff6;zYz`XdCz`ZNIA5M+%YM<#EU2@nP3r(?sa z^;)gpUbRn{mS*n_<$I!-GFUeyz)cI+wr_t?4UU=Ft?CcG!$5vZs;dEVgW3z3UBV;X zoT#=~#@k0{7(#%0zg*urs@gY;DLPq>0>lYxo z-~tFoyQK?UZjlubSSbr}MAJuAX=ccNro5x80sQ)dn(I=<ef zPZ-qn4vkwRxn^$BStgM=E7&=@M~Ipvq6Yw!l3cU2q{G>Ye-q1(B?o-ZX>2K3AVYBg zKpYicAwpNIDJ-!qxoBBw${?7`Wix87Gh7Neh#0a9Gm;VzQkS$H>-6==GjM+}qM;Nl zSnI&2Xvbe=UVi(CBIu!*Vp9Af<&QSgy7( zyRiZ>aI1S`D}WHdNwetIC3KlPx+-_jJCqX99IImM+jjisWCuFg>AJ~g);n!SjizE0 zm_k#ny3D1HAk#{bnF6q9Ros7Qt<_w*eCSpW-PP3#o2wVpt2dUZ&MR8(sN`z!`;fbX zK_A>Hmcf>pOo*~z%02D;R|CbuQTzvcN?1d46xcL<0z|jPRHi3DP4!D83dh zFvlsYg2Q@;SNw{Cq67aKNB>Z(nlj<+5NiamHZu)%dV(BQA!wiGGsl0b+A>${s5-#* zsS|UL^x+HMepZ%8s0WRE%N`Qd=1(DMtd64z>NuJ}Q#(ahHGz8kfiw<}gkStux-xy_ zSIG|ti(m6KX5t`(x}T05%)_&>0`(b!pK3w}~@5p+sRSzN%t6hI>l}RaX8C)RJqtkTnbuJ^)gH^V+qDyZ!x#mv_nHArqP&$97 zwE4X1T`jaIE2?jRC-@=(>kR>K2+j}u`mR^lyQ<~k*p0jO#$~-R9DCCDxqGPDHEy~~ zHJ4eY(|!@V)0 z?vyJf5cAvk#;ZQ_PEng>nY_j_Ny`WWtAr+tKL%yDs-*a?ffExo$j$b;dJ0i#wsi6? z#snz>C?s}*pB1m=H}d9{XsX!H>>RwJgca){DY%g*l5J~8cuthD@8cS^ii5cDyP;NA zZ~s@zi@ybDN zN3?((4`!F=`M*elOf%hz5onYac(rvCp0io9Firyi6xEk0al!B$yV?iB=M-kuL>6Sz zq5j85c+L;FU!&u4`m$o@PXy9zpa)}gzU;CXl!fK&tfYVEP&4U!ac6$M?D0pYK)1(# zY=MWyL(@j~H9K3zfIP~&y3_pE6}xG*VL0ECtaMC&j%gzXpW%R(0%8j|Qpo9-t8s6M zC_pM%38U>kT4vQ5a9Rc>QP4wQy0$Nf0DZw*B~GkxZHR)cd_p_DjqUW%PH$s7G1_T? z%cGegXV-t^h^j~GZqD+63>kIV%P5YZ1*zu^0ZV0I#qMsPbwf^-9)ljeTNfWIjv(SM zP*jtxYP+4!^D+)iQ>hKjy{9m{%I1BR8+mcs1@i0w$2r zPxJax=u1Wj%w?pkYGy%Q3=vE!b;|C;p-dL!ih+NYRaI;t>x40cyhs$IIZ|6RWkocO ziNQE^ZV2bXC`OzA?Vi&ae@;iC`6COS#FXJU|Lvuqzm{UpJmM?%Pl~+FTRuv(+ceSR=&{PTmE8iwFr zO!t2|U-8^hdlVh4-u`8X+y{>fkE>TAvPV(mj-s?W=j&M%kItf~aTaCGvnad3Srm<( zMJe!4(5HJvE=KImc~tM)6PyW9V_LeehJEt?88dgknLWMIeuw-PfuYCsSrwZ(JqKbv ztK>7zD%X@|Q>|-d<%RTYqX2k7hrcCzet~Ak8r!XZjiDArv0r2g+KOZv-tG@J=dR{y zMDfr>BhD-zz?mcA%)nT&oLQ|i%R-QEB=AJJ4TshUzgZ6WKyJ{hb*zl!fzgIs?>a9Cz)jN1C}g^-`YA~&Nrs%^k9>T zqWjH%rnn}U-PM2k5(sAZut_lCUn{}8lxs2}tj7V5hR#E-auLKHJD3rxanHcdo@~pE+A4^d! zW-yJ{)4*yJj>dw>2~)#ydbOLm@=r8#P$QRv`f8Vg`oy{v)EP}doq>!oQ>UQLPD(+4 zojbf^5t?jkFBjc;0C=A@9^)IG!RO*%bLFyz%G3 zVx%!eeA%ZjyY*#RUyQ!Y>r0_8S>;)=C|V~A?MCXgoSF8#-i^J1!tK0T>kNC?YIZ@J zhl^MJ(VqdX1&pHG+Q1>+^HOk#_mH%I{*F*wyScd&%eTuJ$o7euQA77%?>1K{Zzqdq zW-1wPbp^a2ZCKl!3dou1I|11ijgKfGM}rLFY&I?+%Rb4@Gv_oS2)++AomohWv$c54 zpW~7A-29ogkly)nb}%!Npl5KwjJx0ThL9>LMALcFvEF##hmsmljxd39V5Z@J#Qh%E z#Wu)j#<~Wu(}3D%I>o0T$+RpKBgNA_FqWG>$1NfjekRvRY(9wy3T`B2rehiFst&?V z!q_h@3?jogV8x1%L}*&HmuBdlbbg;OfYaPL04-{(9JqXIEg{3N84+2}3de1bHf73X zs0*?~xD+$QRV~}P9;Ni~(Xw!V()^^Zp*F0Q=5yR0nf7tEz@7}t&bQN&tj%%gJdrj+ zqEfvef+0DxZRd5{vyYbTb#0GPQ7p7kx1ArCxvblsCb9&kLMB;j;6ev9t=FlRG;e)s zNTP`9*+lVo(Ko<`odU$qAQhE{aOm~ zop|Z16ylG|s#a3<*GsB1bvss4^&zRws0qVYN!15WTdt-3(~}sosh*^?Z-$qU_Fuv& zJgw5cj(Db?weUR3v(3oN-mjA9%*MH!SvPkxPJ&x#aB{!N$^8*0557H4t{zXv$zjWU zC9R_bB%r#>>X38;csyu-$N{(1d~S>KIWT@@bpfvs?JR)@dj@Vi1u%4FJ>=oDgLy{7 z5$Ab+Fc+%WH8YsieY$aHRxJ}BFIjFL`ad=(-pZF%d)T}cTRgw`7SG)lpOaAx00}my zjkSh&l`VaoL&4O{;2T&K&SS}D2XpEZ$gJ2GH%dz~I%*yZYlljIfHxi2TytD==+0bo zTp7W$?6~~KxOiItmKaZDiN}ba3GbF25>Q6EoO)TA*_E}^%JkW0#w0!?6kYtB^)t)G zD<1x*myMS4=R(5!G!HGIYYON}7ZB6G54-}6;O62?WHqJ6O^h*MVHstYyP5m(k|Zqa z1D0O82at-37aAac70DGQJ0|0eC(XuH*|iEtNagp~Nb&f0wHXoD*#skA^O8=eJm5_) z;e@6zRnwI8^P_s8whEA%Uo%CZ^Bo9Ut|?uLC@?IOTNoK!BM}1wCmR;8M~GtNFo*xb z*A_D6aJ~(-$-uxm<6qrJvDsHsV1&@;ot}ciMJzTMR%h0K5EbU_^n8NC!j;Q_jO-*` za=yBELuQZx?=R7$wU9V3AwTm1hG`QvLxC@o0jp3Em^82vELw3Ve`gx>YW&cAe0I8Z zq1+zrBj5+sXT9oko{oHR&==Kv4R9pgDmXfr0vHr7XB62C<4|*0`*O_Nvq702vUwCK zQB8;eDlcY#ioFMpl#OhO`7nkr-DPGFkVgPSIaX~eE|v;4s1nn)6*&(vx&U7sJ`N|K zjr{TGFK?Cfw72MB?7oiWM_cxRGV85DLPu<>F8U6BDFGO6`iLzBSTga$MXc3}@H>y5 zOyhCegg+@0Q@Hw|{;hT^<(SR3O8h#N`!Ka_9YYR(6KG2(eb%&Zt;3a+eiDdyF%DOL z3o~#k(jUNDW7>+X;1|O;O^;rIa|jM$5%qG5DBIzi`Et7QFe^FTgHT4OPoeBBGy>Ka zW|W!y*ttWAiayQiTmGs^Pae{uWQ3{&=H9?gS7JI;usVYn1J2Ae>;K7NH)tzbYD`(W zO|=Vu59+uAVXa^d;GT#X$P~uUTTtUXzLe#z(o-izYJ%+5_}Ts*%I`h?9p%AAbkILvqm;A0R1 ze!w>-CAdK4DGV!mvmZ0%JjD zJ?LjZ-9jtW%Cpc0^H)C07)}ZATg2ZtESAx6kjx@A4^bDV?vwAQ?<)(FEdmB=QJ64u zbW#)>GhykO;?Xj4a-FRmRzR*RY8P04G;)C<^M@gDQ)mcGyNhlxkB4VP@%Jgs$AE3? zm}x*zDbOf$V}!5Wp~=^F%5(xeHvyhb*b0MDg$vy$Lukv;P6K~Pvu;fPj(P$i>BT&7 z=k>tl^sT>p22yhY+#Mx{h!l%+83(JDq-U5c4H`IHJ9@ZAqr+8{d_7!aJzTketU4Mu zlJH_9DemL!b0nJi6xI(9*FQYehll#`aKpoG&QWtBf{RUrdpIT{SKw(+b%$l}rTjRn zQVQ8Hb?Vy|Ep4s2kw%)2p}&1c02)3_6ksojW*r+$dn`RiE^R z1i`~<=*q~N5Qe_fP3$~>Xp!4*zq)k-Zqm6>!I8^YoQoA485Prgi5}2c#)s`PzQ<<) z+CCy?xhFJQb+j?sYG$@@!UvCQEuCo%gTz9^pf$us7CR9B7%0wh03a$kQ$#e(^8q7EgLPZ^rIp8jnzSyYTl_-El1yM! zwOaeBfca}S<*>4a0a!NGZ>aVT;Aw;%GJ;xvNs0~rbyZEYK!Y!e^|3N-dCU>kZ9cF+m8 z-L<+36UqyOD-Ly>XmSwbPR9p}%5zQB&b7L=P6JCyAcdNLOdrv^)fZ89H>stDB>%G{ z=xFGjAufvozj&oq?or(ehy~2;h99^1R8T5DwSFV(-nhiG*w{-P!9b1w8r0I~ij{67 ziVo3R@lWGRV|tGcX`@+CX90dFi${wmeNC8|MNXZ{0fDPoh2kp0nz)XZWI{#V-pWY- z(56M>3xc+PsVF`|pxde`|D+*JUB`E^ojhAxg4Ee)OzB)75~?XSP@)f%==svo7X(Zv z+C}8>Gj$&cH29MZanjC$+CrVeuxqg)T(NQ5T~JR)@s;rEks@dD%13`PcInJ4$W=o4JPq(9q~2 z7D_;QZFX$ME8Z7yf=rlq{pRDjC{bOL47;uPGfOX9)zjg^yf1tVUCtSPv12IG)oyf4 zp|&)Cup&G(;MvTrCUbXaHGd!KzdAIkKwy+%B zrO9Aw<+Lt)wOyL%@P4nvyvRt3ug40iz}AHvihmN?;z|16=WOG*U0!*}CQ=phUV(DU zJpYej&>A;X?5~Uzl0PI zmKRh{c|(npltx~o0iUT>x$j_3t(nQQ2G_6ngKjN%ba+xaxueZkH2{EvNws%`S=q-+ z@dj&1?N=Txuf<;g&N5YVUs7EyT0N6Tt5V**1$i(cSL>~>2R=VsR(%8o<#=KQPO6fB zh)IsxDt&2v^g%{L*c*m(5I-}a$O5%>6u?ATG;wx3o6oSU5F@gPzohsLHjUKYSX|`B zqP|fhO0_RmbyOo-{znm$5w(JyXI+EOGS|Xam>eGv)D6TmCSHu(p7H^1PrvwX7F&02 zPhZ`h{>bg=kKCTVx;=e$dxo}>+UqTUv`EO{bP6q{lF6DvcEyKK?Is%9 z3Iq%J1F;49eAd@$;WrNzg=8do%hxJ-SIgjI+WW8hFZKL<_9cJ97hduwEWgx$57_xq z>Lw5led`R!C~CbF#nvk?e|H|_Yk@t%TIwu-ucl+Y94HsCp7aqCsk>%-#DOVOYYqhh_0v4QI=2y>3>UDej<4smI)# zc+jU-GwAbUV(ZKFPpUB0Q+*)M0> z<|wBT+v0r>A)BVTU#JB`YRfFzHiFohh)OsJ(KP>Qs3T};{K88mBGfkN3~65Eo9fV7 z1fs}zS7{i~{xr$mQakxiq||Pr#&0$MiImjGf2{dWq;$US*Y*5=C)Kq@8J*WDfGxAO zb=pj#)25w#=|WCg>c`FUU-yXup}>SM*;(^a9W1{T`7Ic~9@oSxSH3W&s?7Setdm)) z5zb=t(F21bNlaT|?s4Mh>7i8QALk%adO}-YzKCB`7&MDM@O2hMTi3&Rn33-2u zO6Pd0Ut+O+stbyLWDr<5w~{(Us5&&RsS7j|))pN))3gRXRojo)GSR1L{#w@oM#)X? zKy(=$h_nM1VIO(t zt`Qyky?xq$o1H3geV6OxzPhiPF%oLVNT?Yj;ffupzu)_Ac6XPzf53eCt?CqJ!!iYc zZ;BU7TCR|>86GX8#p?I|PY;D}(f9cBJ!|}M=1exkH~&h1NB$pv?ukeE?(TQLtGe`rlnIBl z%R4{>L3C;vxYsA}ZmBx+hoAOO49~+$clvaF?ahidDD!wTUJm&CVN+&soV>0)m##fp zJ@MFo`L+A$cDMEo5Xl2@p4as`jyH*eQnKFALC-7?&^tTxB`M>yYgB_lClh>E`58L-ZmUzg% zXZrDeuPrZcS2zGvg6Yt(B20*syTU5Ld~EgmuN+oi`!AkDlGNE`Jvld<-X6K_x%B?i zgG7jh24(G#EOBtO^p96x>S4>SqlBs}I%O7sj|28n!|G-8s|YDcoTm7%bP z`*KuJt_~ijjsAmC5U&N6lcfV6q_@JPd!{~9qUshAt9-5u-Znu_op(SzWzk1}mWEV32M zTCKU#*)Eb5I@BA6z0mhG0pT6GM}nfJ0>~S7g8nHW%%k40RWO7y$DV#nRDa%rZSYaXey*NI7BtZ!E-$ zjh2JW7v3V&O$q?MnaZA9m48U{4R(2LP58yJr(WZfPhG%XEcWIMHnWu?LfjsIG;R;; z+bPu~>MkJ?c!;|R!btcoq`(pFyii2xj+!VVjh%us@vG;8>H}>PETS&e&;Aw)IKK)w zVq|8{gS&j#7Vd*1*GG$t8sCBc~)q8h+03MFqW#rk~v#Ba(O?!~lRId0;D3@l1E+aA* ztTlW}3T?-CIIl0f5bAD=>Hwt^2v;IFU-h;?^M*oJm-miT{wZwHxOxYFN|Scz8B6g& zy|95TO&HqT#*RWek=n1%t+iV#lF1aF$@E7#B6mYCV~sNX{EA$Ghd=3C=aQa%yS$f! z`ybJKn;TtCjd{2f*6Nxlas@z~k*6`dc<{&NlzO~a@CQ>tU@%o}gVjrXI`uqmlb6Rv z^cPGWOL%L*m8W^M^8bT>x_*p8SNLR}%)z=!e=pUZpcWVAAL;n*HCvwCR|F@7TX{ev z2ACu|@dIk~zf)gs)0fvM3im-k1{GTPDxwJl{@453} z+7BKtev_SBvaWf58E`kSF{zzHHUxpGNOAF*fM7eqL2#gP*AP0|yUmU0H5O#mDY(l( zG#_eeYFa(zohX^G88D9;TTW2`fyQ*0WuOO*aqSET#On9dom^;tS)`MthBFg{IwLpR_Cv{$ow^1yX5?(mzck3G=HI1)>5;uDbSLF zQnN_Oxqrp8!3sDLYGy+&6M@oMY9oAX1#Tj3iV68xb#_bCU$j&w1RO^hXOKx9m`O@yTRXDJ^wWZ3%ISfuyU_zUaR@f^-Yly*k2)43n8>hy zhKUTd+$t2{OI;)!!kgDt<=qePU3KQ!U;jwD*L#x+^V1;W+);_Et7@qvVxSQ^@2G^a za7rbyi5!(gN+rx=@vR;aS1hIrDU@V$$f*y+%}`-m1$mndWpip7!$dINfyH1KX@N+* zYGDuf*Uh;Re2< z{T{`G&zD5qHMc_}Y!F=;y+u)fd~engO_|*#h3qTpZ#bijo#t%a9G7h%LV;syg45yS zW&GIvW$Sx*tgWHS#T#nF!PxvOmS`@U;SI{eQQ}^<>rM@TyjjFngo3q9eqV#c!I@%; z`<$IXE0W>zpmw1I)tsR;fqKJb*z0=H=sz!_(EwS+^3o;@uWdlj85n7Qr%-zfY(qh3 zKk1V}#QVL1k)EtGr3&PqWPZG6Y-|^p#URUVU2?#8z>A6Cu-l)*2*DQ4Ex%!yisL-j`EOhF*TAAJ@3Y}h#-QZ${ zPSx8qxzOo_hZbJJ(85c94K299&@LyI_M$ah4_PtFc06dVNiga-DxI33+3{d}O;G$) zFZkf-f^};WTwz4R#cVkggdBl>J;=2bMo}EAt;ZCFf{Du$G?(WxMj2jel)+0h%Js_= zHJ2wEbv(M=6*Qs$D=V*8!JM8{QFoFRt^rCu%f0a zEJv}zVm!4eibh13rmC+#$ueRvEtRafo)kYwqXePpx0Z>5i4lPS7Z*R~Gh80mq9yE? zoqC8Z!>Iivk$z*@~UPg^_L)rH|`2`cYB{YXG&+TvI-D?CZ7JwwHP(D})1g+}z;w8my9vl-PoJDDb; z!vUc8=-kM}_|1uF)f1Dsi6J0Wt2r?(PE1QDrlk|p(j3}wHR{b!D2Mt<37_Ort(tWNbuYpK^?3zu#0iXW=jh=0t)Z^PH$`~Xk)9}R zehM%1a9Q<3L&z$xIN*C)A8N_V-#zC~*`SkFu_9|HM`-mPzxu~A#fyU}IGv6UW)-Yx z8et2X_qLONDNr3%lis8|_9!(0D+nPr5|1CH+GFhw>#CXR%nSZuEgh5%Rp>c}cLb5U z8-Gre@oiLaKZU77*qaisR`0;fB^X!C;kzs`O_+}rG9uQQi=~B8w%9R@gIUYFFYqvV zl$o{!aq)*u>%&rgSiAAC+(97{sUvqj^Sfkfa%eq&#i|wUrs($bRJF2Q$+RmsB7hI1 z>F^h_W>>PYt|;QPm2uj?07#xzg)cmE;?Qm?#Oh!c*rMopj101 zw*5O`&FLlD*3DHX7Vp!vmg0=Y=*dYq8o~tSZ>s9K*At=in(Sd{3f_ z2Ysf0BzqSn!gXV@1o5ChqQ0Bg%~V%gpQn2)lBMqIK)TJ=yW<0ibRgc?K<1Shjd;V@ zovMmE-Y}sbc9h@r7#wwZ)ZmR#!#6$GgA*dXo%_z_M9#QVInt~DVD~DliY`i8 zt5fXqX4HPwLfqp{Zhn-}TzXfdgXFY{r<);Nr6x+xin*OGKt>0SklJT12WICnBr# z9|h`-E({tk^_!g*Y*tiZ#FNWFBRg>R?NgA7g}h7sYMmj42N5 zfoo6yzMlTS1F+4aA!hWOhku__-B<2^(KiLwuWx2B&3(rSGgNBM$QR14nR8K;ClHH^ zJ(KZox5)ug%oF0a+t@Otu&>vtDe=u^s>g?1pUSUzm*twwjNp(@c}HyWCu`vG1IY>9 zm_?giEnAc$CYUzBM79QT|3Ls&5|I0geInzonJi|;Es7>r_ZK%Vkm&cUsgDN2@po>&{N~wh8pnHD!;OK&N+EX*?J#8u>>7}FIgM57u zJSPLQX6NJdkTsHIyl)v+U-S2WTa3dKDE0I@cNnBj0_+}<0OGkL^ae}#v<&!vq8t3{23znl zKj^3vV%7vVcsHp~xIEB;Sc4WYnf7}HU^Rin-BqoEFP^+G%Brh*$z4RKcvJE^U;Soi zW@S$-3O{@R23MK2Xmt^BlWXb=lbJp>yxvFX{{2AUeBlL@=ICl3XG=QCnEP<`h-{ox zGdQ{$TF(XC<#pLBI+{&?$3`r3=F%89<_G+vrdw!KcK?4z|e)IybmV#L}?Aey5zO&M>?uMI0J4ArR=%Sic*9VsBfDb&;@s_&w28>Zs1V zb~xvG5i_%+viR+PSy`HNM`#`(I+&TN3T!@kv^*_XrHg!*x1`mpRo~OX;ShGvk6qqg zp_~A5cQ;}ibq*sqtWq$e*^?*$7MW>8R7GYptFM~*13o|;ItP3p_{`F&CQWfe?7T(Y zIKb**uvTuaDXwK&41yXm{>BSsii;gA*@&;?Oj%Tc2q`{)5Ru4C8#M{+Jg_=6k-k{7W!NpEBMKGNKXl=LyhO7`fCo@~E8Xl<{ zp5R?_eozupCqqEtGC@6G@P)%8;B7c=b_f0 z;RV>+xFR~|e&=aBRlS`f9%FbQeYIXDm4C8qvoaEY3!<(aRx^PKQ8*KrC>cqcAfiyA zS#R|w)>OraQEFfc0kA%|0{2Byz0I5)v{{iJAI?Pj2w-htJ6lhsY^sxrl1bJd%WuT& zhD2MQZ6jPAkvW)2+3KXZx|o+`CC0atZl<{AQ9bY| zyR`^^oi#IId$rv5N-nUylIHeGM%yd7-Qj1r?UjsguLRpGX>PB?ZLef(dnH%6y)K4_ z9GRYOuhw22<}$t5Bwe?&cz|$wRlA2}%O(sd=i;grx|(jT;l!2AX?s1CTV?648osXUxkWm2<_QlAlDjYL9?W%aaUmvu zGl7H{ESTQ)eumTYR{CF)q3&HsW|r&Do3y?p8fPY861;X3G}7Zk;eAN>s!oVZX%Fp1 z;GQE|utl6d4F_D)CR-Lk)U<{Qo*CoLw0UQmb0boiB{mbfYeA!MvD}Lcx-4_I;(ioujSl1Fg!Qo6eN@VBlL+xN%P1#?8OWkhX!c##y$XfL% z1|nO3h*^yY3@g7-?3a&o#Rnp~q#h4=V$C2{0K7!hpVdXV1wx{zk4nw+IH>mAQD?#0 z-C6u|RNIuBu}GB0flr3Dv&b%gTMqcwT}U`vQpjSJ(VQ5EmV~=)Iikwiu8*J4VuTJLfupi>=9BV@FkDW>AWt4@cyZ)S&7&N?0&Hy;?ut_vj%_qsdzQm{=7h1(E%sgjYuQiE!LLD;I5~<6AUfiTKtO;L(rCxSjISiiv>nj*p?vC?y92I z$cADZr6CmK)#$eXZ&k1#8)`fnYRaLe9BO>Y`9$?GEl8oU>2?nGSiqrn{s%DvYdiub-Ke(^6u27D6UQTY|Q z2+*Mz(GZY___ynSZ%^W_q82+I!l+TT$pz#gK6nT(_~7V*bv8Nw3LzZ)ahu$Rv=-yW zJQ|WWc}T$(3@NzOko*^ENE=ggL>ooY)ouhXH!3V>@~rWydGh=V4zqvxqwHT|ko^}Y z{ir`a#QcfbV7gAl>uV@S2F_AP+c4`5z%teAhrN~;$bWu+5O@sCL6nDZl-m^awgpRe zi*EPZcs4!dX~hWZb!ss+3#RN=?T;@#HTrvMdh=GE0?2BewsN!-S@s%X23pF(C_HJx zc=I7kj>y6uA~L*-cho)Eqw)#Z$;uxTM0KdkeWcbBVcLhgp^IM-jxYe=TcW8@J?OHc zj^FCqN>K@aAOrwpTDPQa3cAY3eJMVcQuyFjuqEZ?eWCU7fy){%yIoGb}z7 z4yH^WP~s`~7Pv?oBadXoL`hMALl(l5jm5r1YS^xgV<<9=UwClC0XLu7CZy9@CiVS;k;?h_bBvdim#!FA&8_j>Z>3;rt0B{6(I(Y_?E zdw{J}oTOAkD7x^r$eQ0Y$g7yOZ@Y9lSQlak%yNckoj@X(9h+%RaiB9kTCX|IGbFlM zBk#8&7Bo6l&JD{=Rm3YcAF`k}n~OINrp+b-;NS#6bvBW7^)mU5)!p%1kK#?e_^L%J z>z}26y?GYFku!WdgSR>Jo;{R z5%^Ui+R#Qs$09_1R&${DB4?L#beVXC?YtU)RM*Hp6KP_qiViQ9`64Z#qYWQ%!_!$c za-O$%tk(NI;(m|RbyZggr|v2HrnZs74Oc2%0E6tkimt9V#Q4JdIyVn^2sufvvIjg(V|j7%fbH zQS~GG_mNpCg8ljzg4@AVgh|Ns|J{;Rb88n{GVWqq-)z!!u_fa!Hfy+QxY&{n z$9Zyv0gB1^alX!km4b|9062aLILT{R9}W>1uhE^Ga_0(7iKetTKuBD8oFy?k^s07X z`aLq36QZ569JD>Yz2*N}^>t=QnS2g^OH4i(H3%%#6XoqlCCC{PlDa>j)-#3bYalep_m{yH zv~!V$_Cy+iiJbg8(!#;XuZ#Q5ikF$88#TMA|^$>%d#t!z8WQeD_mpa-?6Bmy!iIiPgLIFsjrx|1Dp(PXj8Vtm^<+y zD2$!>kXCu(w{hYpdg3QM@rlV4YH2awp7_s>p7AF#oeGbuXx1I-xX`|6my(VO#w@eSy(S24+S=Y;U`r0ai}MMYp6nC$o;E) zc$pb-H~7F9u>K%=f&&Gpvj&~n6GO|vHI*<_X!L+`oeZ16PH;gy|5d*VibGl=E8(MA zPIXwFf5JOJ#7I~FW*Bpcx6 zEbfOc@Pb2maL{$q-_Xf_56i?)?Bn(OT@O>&IoXzDoy*pDE~^_zhOpyZymKi#SLa2@ zyx(Fo!Icn|kw_oE_*J2_;;x*zewv8Hs8>w`Rk&PvJ9|j6OtvXW-u zGo9*Z3N_rp|8aN`Vq~#0AhhjaRjvUdA$)fcS#fhPw>*jC&!=vG@gv2J#8+piuXRF? zLVc@%alWC#j{LVk0TvWMOjVnMWkZBJ$}UDHi53LkJ&<=So_0hCCR^r%h1dhF#}2bK zD??~@2aEbpYm@n5e!gG)-xnNqdgM_32f_pNu1r~9rcH%amswe0=|=52zLRRAp@ruT z96lZfCi>Sav~pyBG32!Qw-POas%y+ddo~k02~*p!h9PKnU732dO};bG1lTrMd7Ec7 zxXqEsVnqA4!lSQ%7|xgytIlNcxzpN+qL54ZfA;;@a)W58R+K##kECJ1Pf5pLYf;=w z$~pJmO0Q(7G3>weB@_ro;g&}Wg@?D1`d;9D$YRTGx$3$5hrNCf1j*<> z96asnE8bz@nL@L2Ljs=}%Q5UM+XzX?uJ=uuX$71%OOlZJYG^7k7^0E%eFPxJvHaE< zGO8kHSv)O}lghct+8EL5U@ovlW|ovcM%5$5s;JOM^y4hD%=h5PgACbP)x+;*eOc0f z7gHv+NdvYveVH$(SO|i(TvALTBbJNGyHyLJ>mlnrR18lpGmZUr$M+(y2vs^iHg!nLbsvS5-weZQ+b}%8fdJ z;(wssV;axhiZYil1^t-Mhyz}MI9*wP34%bY@#${-v1us1YD(jJT^dTSPDAO9(ok5* z3n*oby5*-9H@Qcwi5Wb;`kYt%yf3QP6eTHSt$Ecq|9ANYd27e{%t63_Q7zot2pHv~ zf(;1($mL*ZW7$eYU4ghGGct=3b17&zFEpYnaFs?126_Wc7PBm^WC_9s%X;+} z^88>8a@=hF)o3p)V1goRld}<@ISPdocjGo-dn>z?>p#rRljv*pTm1ir@x@2HTNkAX zyx{45#zuS?6ZeF762rH=usB+OA()j{A`gXZ_&3*N)8DdKb{9dnU9$Em@UgyZ(3Le) zJob*2wFd`VFy}`H8aQ5<{tf<~GP#xg`EDFeeeNjQG~^R6xDncy2#$yu>D$Py6>orw zMLD-t8rmf!mU~9nL`1nL+i8>SB)U?Go%sYS)&+N;Wh_Tqmn&~96jRTC^y+qFovck7 z5xQIhjSIuKjjwXk_yn^bZQ6`(lLamIxk{ugU8FxTOcTGAQ~EZ+WjU`62kvr1S*7oPp|kUd+Z(Mf|<9vG$kY(^_}s&o;M3;2lGz&vjy|!&6e+d ziC9Mm)8HxonOB|vB$&l+FpEAC5RO}gj+0E?#U>;;$yO^V|+2GLR4wHeD(-AwU2YJZ;y{a1&u03rl-mV zdNg(@h0tx&Q4G6I)!Q2!m6ty3ogD~EcgoAb<06y1V!?E7@b5&>Jf73x@n+=r70KRsgYhiF3t8GPlNxReOjpfwUy`m5(fM zZMD3OsLxhKZ#OM(?MqXiUwf}Qc4UPrOkVZxNs6K}9nUqDG-P1FI=?`m9qACVV`S0{ zn*9jsel$rjR8s7?I=x$&RlK3)KLW9bm)UeUM&*B`RNfkYQ5OOHn`G6h$;##sHOMMp zbuv!>N%c0lB}64*C5qi+T~4&iA7%AGbeSGC?RH`dGTV-8N^_zeXYEi}89oYwL9UQ+ zJ2y5wTJB`j=(;8^w%l^Gu37PcI70T!NqOdkdgcUriV%?Xam6@J?Xi=N9Xq-3c^^}~ zb!-l%w5wl##IkkS*D3AmRI{&B_07rXELB>GheRWY4dl~2Xfp+y} zkq(nZi)vbZ9(zuCKMzV@`P4DffeqoP8uh`a^8FsRENoA|7eN-b1r%YI0{bd{RDng| zO74gRO)lTofEx=)Y|W@t+CzsP5{_^+!X~ap=ydgPgdP$$aWz7xq=zptdPshVm1A-^JLS3%4Wzs!E=D6C#c0@sw?>SHCcGssNW&()HG(uW;VsVVYRvvv#@pq< zZZuQeXd3zd^0nwfy$;A97`u%SDRPzqrU=+Egx?fnT*m4kbF~gKcUd|}aSPF8WzZ001CdYz6=eJMCF(qH%CvG>8R*-840qIw#jrA;ttHt#qEQj+lNfcUGuzOl z#ochXyqbP%wfl5LL6L71%jct>2D<(hzEY>WD?nN7lV{~4EcF=+dRU)8JRd?m^)X=C z2`MrdS;;EHEObF!dK&OS{B> z1x^{=cQJ7)g?`0rM6BvUtV$_Z;X8H2xP1Pm2Q=B~F_X6_zE5rP1=S#$`_;V#Q`7%r z6@b59PN~FW%~nXAT~SSLLk&x0-F)0ba&i~u8MC@5rxp!XqXg!H3Cwa&A0j}Vzg#r) zmkagE>Uota_J-)sW9hivMmnyXfY0K8gaP(Sr+W3U@{1c6#?HyEo|6yC5sLa=4i}+S z<07<1=mzVvfir#lj6VKB--$UcEqd%$0wbgj7{NLbLO2n+SWOa-oDy9tJh!baa7H8n zX1nt|94dvdVkmlnZ1?QaS886o%kI$v@v2z_qFLmsSy+K!?KWW&m>TI%Y^HL5l@NA$ zJ_ApL|5ksm_+`q~VluYiCM%rQl=x-l&E3!o}wYcX@Zl&1zlQ>DU^$WMa@G z_?d=gC;69BzXM0f(|)7qxy9tS=pJ_yVe|eN7J0%`m|!^vK8ROgksrWoaKL}kXJ8KJ@Nr*g2uDGD zgM44ROo@7ilI+EA_zM=hjhEoxA( za$-1@dp2W;XpdH#wHFk(Ezsc>)s-)1gwQNQ_iKjkI~fS9KjHRBFuYjyH#|!}7O+mT zn)w}pbXcW;=6uwD69^We1>Ffxwee4tbV?(HA*MOsx7Ac=&Zkaw%!DVgPpl6ptU~nx zu}%ia;Qd6KE)-2rMI){HvCKdc^{LT?f-=wN)y)eib>Qa~E2XFR-Hkui;^0+3&Em`? z2UY}kyx$w~eurYFyx&tiXWR+ipZ`KEjIWNf)~XXdb-00le2*ZuwU6+))swOqgBdMG zAiE7!>QgFj(ybn#xzcS8+=@(d&7lV~kj(T4 zh=cZS5+={s3~6*mHUks$ks~;Oi(gp6V9FHg2_isRue!0?Bf?F#x(EPuK#ISMF3n#X zOj9D*$Xzf}Uc@%lf6;mDsFkv#xG)_vrRwno1RK4zjWe*24_2_zXKT>F=rUk|s>$5d zQ-?{Q@#`WO9|jzFUCP>_6L+;z3yS-;j8@e_kOTmmWbr!?*7D*%Bitb+!KIoXuQZ2r zqztQ*)%LNhfBO3XbIEIDovgNxWet;?)g@GxPBerxQRI_ETF^j5HmZux=w3{-Z$V`` zkP_4xU#-1WW8bo}&2LeyO8(qDB#J&BWm?6n?LiGHq7W^QP_RP{JMj_ClhS?5+3aZf z`7io@xaJ(bO)mN|6hYNsg5}^F{=lfBFg2Z}nD1!9}o@{3^%H`Qiwf zAWJxY!xl4;rj_S?%&#SR%uC;DgkBxfbEm^He?7YAtYx0FmU-4%rr6K5wajw`^l&q+ zW%+;igGjSfTny1DIb~m@wJ{W`Sp(=p4S1So+79D995|(xve;uWu$k!=S8p?`7I|6p z*&U&Qe?VpdD^}ii=FA!YfffIIw6xT;25Y8-1M?p^)+M;}*8+Y0bzcD;efn%*DF3HF z9=OONO35K>H$aHQ6Wx^<=|^y7u?(otu#P7R^M^w}Ub8_M;lXt|i=jgJ+f=(q?G}L6 z=1_}&;ww|pwRK@x>rxZHgEn@5M{O8i%^5rSfBR1Nafu(7n5r1bWFt1{z-@FsrCON+Qjj3hL84s*jSWag^xk9jdAt ze`@ZOMK=t`8V$73!I<6})v`-;NxgO8{89TXBsvek4G;Jf^|(6L`=U?KSZ`~YW>pJZ zZo}iFroJAHYsZm8Q4ENp7z`U;84HHk)#`i>kyW!*1G*&wgsG*yB8#fb=bS(RPl>Vs`$SqO*lBae;85=M7WrZQL8;N^Cj(F-ff!wI&$&tf4uZ1 zH(&aaty;X^(=uEx8k*e*M|tB~*M)KUjb=1`hC=@+!PNCM#b9_ND*T^oy6}|cMf}PrvGXRuysZh#YaQumiVZ~TSBo9RYEArIvCJK($33E zkNdjn>%R5@J)-`&5H_FS27gw8f8K~x;upUbv3m98Gy@T;Zh}P?AY-wGKto)Acl~g^ zLtP8#9U;}wSzID#aq&hL7tdK-R7q)gU^qLOuXE!mIDdyiw>FK4)_=7{kH+?N6Zt8Gb)?JC6gh)dzdHTx7JSODUT)6s}S3Oa)VZZuE9I^6gm zzbosi&V5}T@5$r+*E6`)KVK&Ifn~o6VOW1lE`RvztdHhZ59y^De{>SjS?@FH8yI@b zEA;I2tH<3_k?29*-$WCzX94qLp#(n7kFS-d$UE|rym>8;jZj4LIj*yx`Y_zX zb7G;6VUvP04%pP9j`U0-YntSF^QJ++Vsc7i`UEu4;KV9*f5D9~mVI8kb8--=aMb)p zZb-R}BgDq)6`IRag@=*5QOyq3EJ5R=gYySodo@_C21j_~>Y^5zQq*m=O}VlZEJ6L> z&IyBGWEe{Im*-H0dReQBsP-LI^Q%>c=XupH{}=>0>cWw$8f~KdC$0@PuLUmrzqLf8 z`rhDXec7k_e}8ur{jN#!>hH=p>s!PW8-0re)aq@_xipI?W zgqr$+err7@$N`|64yszn;xO+QdMX`I2w3U3nAmn5e-rEH7Rk)ALSz$ApDq&%G7##N z&Z$lnE4L}|?Axm}>6D*Fx z8ul85YN3dR#)ZVh9#oVK#WmL+537IvU;psSKXL*<8z^ia+gM(sD~;{D8&#>w z*dEsHf9ht8uw5NIo)0?J*S;AJY`T#e(6Pg@rP?so$poU?u|8fwIeC1j>#c`rMUk}5 z02rg-j5?>i=A61tIgmK%gZ2-ZJ3a-+pK82pAPv_X7wmc8x}`Fewo7`TsC>90+*~zk~B0vQx zJJ^1#`LayX5<=O;7+I^KJ?{^;7{$xji(ZN{-?24^B5PNfCO#=}%6`_bijxQArOp@u zf2oFxs4I78*{_7Hohnl%r6N>=E~Z#rOd(xNtgm;>q;xTb*k!Y(Ah7TzO*t1)qgOl| zskiTDec30RQ+>`Y^+31OAI;J^0N+>9mCgbW9^w`X)*h9YmmwskrFFdd+isxqSMx&z z&RncYcB)mfTZ+r8RkB;fGP9q^$PXUZe*(2FTE@ViCKafaUw4nn(`wCu*V!bhAa}+z zTYpzUU6x$NR$V3ZUj6jb{#bDL)LyMMIQHI5g+5^6)<>2RKH&(qsne?y6b zHPY&c&7P;@u|O7@KT+4ZEt!POXqH3dGd|8z&ar#Ti3pFVh$@+c1XUe&y_iav{y#!+bQ|JE2?^G{#Yf2*jqi-oLSIGfu#= zf@w|88=K0$PURPom&LHEL0{*xf8XqAf4rk@b(Kx4*;eC#mEBtZ6t;MQRE5~uRJ?Ld zO)YcP-;<;F`)sG*j6V&VMO@n~n5tkav&+A}JL7zMo)ER17oYLV8MHsMBbXg5n3-MP z^(c~Y#AU0~?#*m<1nJ@T-FByJurB?$4`kF!7#r7>o9U@p>Bp6n7FNu;f59TM>Lxzm z6WC+^Wj??bewiApZnXF)vXjOzy+`0+1%b#%1tJjvWO{H1kI)&Q6b_4b`wmsW1_aFk zpCHw2?h#4HBxy7vdo;#fb40o5!XeJ!Zq_oLDbD$wE=66NV<;L$=t`@Zg-7AYdmZg* zA~_$|uX8i+zMLO@iGWW#e{~vbNIk1TeisWh96=HFA%Je`MnY-9;jW5BpZ6-v285}b zAwlmO7SH+%gdABnU>0%$(mC0>(D1)TQKuUhCV2)P^kvV)ut;k1z{Jg6`!Q4XW5(*o zoK`=ky3UE&Wo_$Se~dL?s}=Hr-g9f{8}G%>`exQLLE%bdVm={3e=o*qtgm}kH}KCY z1!FCF&^P7`pux>K(+;RB;Dm?`1;V^#ZEuC^xVpwn*NG2dJ~n5G_I6!rL{z(eqmk=3 z*VKqyQzLRsjmYa1&I>K463dBl7F4k5u)`WSff<4OBA?{GFq_6>4Z(u39z2QmaW^Fp z-WjWSbD4u&X+4Q1e^JCXg9OL;@(3bUg6JzjZrh`7zCNF`;)$>+2@_6*#Y-UdPNJ)?dh1T7N%ORBv3oj( zuh!0*Q`8eY9EQ?loADb^%T58gMW3cNlTo7%xkZl#(T}(b@Mj;Puqo(Qa)g-q;?EIf zPslI?TEq&oe-h%#a1>*q0bZ}xV?*cVpsi*RX`qGv1Q@2s>L&4|8HsDsxwOnWPB`(% ztr?Op#1r{KxFHNVRJZ1&-sBAHxxC&aD&*xieFxoW#3ealU%EsUp!hTTtfmgFqa;sz z`t*7+#A|ld8;_dvHEM23qvoEr4&ll#p7HDBis$vIf9g{|7F26&c-I29i*SpMrdMo% ziU_&EFOE^+>azZ|O{akZb4c}Vy4||2W_5Q|*ty#*?A&!ux9+HBb+=jAx$B&6-AmN0 zz8uJ~ixqZmX#{ot@9z$7(3qGfe2vs%xZJ&J1sfTqjj{1K)_~>AVW6$QngOT9Ne7-iPYjZY)-RTp+hF}_sr4&|7OW*bv=-`xEMKhDk(E7K zzIrqtnPgO{h!#_*P1f?&r{$|>EnoeKmM>T~2a2jk&YCxZ{&WgYA$S$h=W6xpRL^^3 zW-m=9J6g7#d8XBbut;nYe_FP5N)vgcol-0Mf5J?B#%C_xH>Bxb3kCzGrww*0v3x^j6(`G9Mwbhw#>WDN192aKfer zlood|&{!f_^R>Y?J(Bx)OK0pNJ#>BNe~|5IMLB8mJes_g`2-ypdESdh$ugetVHbJC zetOt1=c~W?%zdkPG`^DM8!|?I3b+SP`ykT!AplzC{ggHR$owDGQ0u+Hn}or_^uq*; zVj03&r+UO6njSONm*r8l@uycCe+aP}*&ZY#`wt|<`RbuZ_z^uq&X>$~cVq<$f7K4d zg|N^gb^-v{n+@hckkyxYm?v60JJ7*|}F6n5|px}T@8k#7*v+>W-F z;SZTZLsyG_vBUIb>eJlZ;I{Tuy|u05V~{$a2VY^F3mS12G!|1c|NX&r9U|*|)|1a6 zfHGlr^QxbGr_GOD#zVG)?6#vge+VqBKl_hSm(>li2eve?O?SQKFlHLVn6Yt&GwZu6 zTd(@d&qHCFZ$etEyO+}ZgnPZ}7ucB#->aBIGaF|qT|Y~N!q4e#X z{b=Il9W&2R{OVtD3ZHIrOu1vTOeUnQelvADrIDIZvgx>y8btO?P;F)&f3N77IHw#J zbvEh*HtOU8Hfq$usqUlue!Yo0CRT|YOuZmRWVr2GwWcxeSo1#jx{JafHzlPA+d&-+ znRI6!ausbT!E!A&D_lr9&(r)?#np>k*5WR&a7`r|ILOrP$CWRI@3XID3!AzBJJl{S z4dzsELnpGKbEHUq0Is7Qe}~8cit3wSf5id$7EnN7hIq<+^^5-?p+139fflwznJ30) z2#R5LnCpgvT@0gLSzBS3_bqBow=oZno_qz<6{JP_?{>jaGnmImofpkam@WGi;!y0Q zAcH2v@}c&bdJ=VZ=Cxp#>~zL^_iZ1K*qoN0J=I7FtpDZ@u0kw%e=wr_DJuwo5~dUg z#u0oi103m2q+4wbUYTI9tVC}m0X&be+C1u~;H&Ce^Xfdav7&>z|4gAtwd;LVh5D+} z`lwXcRJnYr_En|US2YD+RVpv=RrTqsS_*8ryzQ#nZHKRFJ5&ElMTvLY-w8rJI~$mW z9`JJpOV|g!jZ9$Vf2(RpLEG8CC88Wj3%abDd_wq?o~9Lmb_Rva!>pnnDd+Et>dWO_ z7D^z)=c;e7m-;r#4QsBhXzHN_}_BNb1gpe*@G&<1|1kq}LVf6a2JisM+5k^Uk!Mr>)o8SM%v+TT--M+_zTS@39CV%QXlbz$`9v z2>qJ3^)HvVf61Iu>rd)_-*`t?9odt{W9D(}1ITKZw^!C{5v#TyiA_FNzwPMhcYu+(?iLVWMGz0 zmUA*Lvb!e6-4r~Q5Nung%6WJ!ry!ltW7$%VnAKf6WesO>P=)SudBbLp`Wk{N2xAT#=km$0*e}CX%;mk$iV8lJAB@9yp0S97*KO zrc@%Q+xgNGIR{lsLM!< zy9b+;-S~5&+zKY&e}zwP)?7tn`&O;Myww_ex-j-^9fvl$ zO6}0IYKOKyJxh>(Nj{ZYsJcyKL>SZF9BF%Whe^@mBVThS^f`>T{3^ zz04QGyPV4%-z?Mb-ngXDmrTC@_nzkRG7POWt>V_&5zj3Cc`OE3zp%dej?4Zro0*fq zf3pFz4_&-vS`BTSKKfbCe&yvj<|8eW?aJTUI?FYW)d&$!M+!@g8@N9<@UAyL;umkU zHLaU^v_?kj$`%~(O)c#wE3?uWm{$vJzEHTOLX+zXTK}x;S<6kzBUm=Y;UQ~v6kt|1 zYWcV+N$c8Q>PeFJiZ?1tC`{Ys>dRMSe^Udxzu3&+W&TR0C2dSgBOs%rbCTFOVW(Qf z8}mV3-zBdxd9i&UCIUeG(D-6lJustY{R+n~_aQzp|8 z4jCWVvLab)9WiNYJTv(kWQC;lVL4OWR<_LylvPcYPh6_J`rD!C-wo~D`q}2_f5V)q z!w%+Z@6g-?P_r4``EA|#OqG`d8#9~Ksq*Ls&%+UyNtDa{ikzvSGHX%p){p8=NanOo z(3U=NlRoiR)cx4C$(%>ktiK0$9ia)T+#`h6|vAHZbQ?2n&=*u32Tf1 za_jvBAAv2Umbg_rV+OLc{fQwTM}_$&e5&Y8UqE zbqm`@SK4(~fWzBDNh|auQdXlqX;0`$e=KKq!or661;%Qh5MFAm{f%So1eYR$ff7MF zi3m7PEx`H=v0>7U{req{r2sB(Ei9p>`i$SvLv7nG?|KbEZDJZV&%}!ae;SPXld8i} z?u37Clk?AU&eGc5Xd9kfE@qPkBhg2Pd7G+3Xq?Q+;FU=v`K%{`>Qz^^?d%ah(Ajv_ zWw>u>`|IF*)0a8L(_?bO*FCqF$D8~sG?~^|s2A_<^caEImjB9g2$Y`Mnzj|^{Ctw! za}C_TmlAvIvuxc6_Yk_qe}UtSuop0*t3=wDf444D9Bxrk7!2v~-7v;aVT`Rht^ML- zY>#n5`*_W{=ZpH9Tfr@eW$C z=t1z@NMapCY*2n~wDfUv3>u~s>C#8W76+Qu;y`iD#Rrkai0zJhe>A&VXJ~B*&%?;0 z8L=!AJ(b#ruX=6;?RJWqoroqvd(5hnvffJDtQ%PagUUT{fXP9(Pljt65tDVOBz&py z#Hh)a<9OeIVZf-#m)8?D8NSyErf6(> zT-52Njq{SbZhK|{A(C`a^~@%qq-N_toqGzs#+EY|DVZWtvZr}cBT(lSa1o?y3%2CV zrz80=ZFVlI%Te_ANaKg6_`x@J4F*eKIM*nPNQp(lLr1PG<%d_AWI)eBY*PV4kt>Vh zE%H;TD?E~WfAxPIZl^^vx2R@_MX1O3E}AZ+;_DA}1Ket^*I-O(|N0%GYQ1X3oO^Vz zXkPW`U=F`s4@5khn18Co!uM>q0=ZcfF``Ur7Z$Z}!?an%4KEW~X={*H<)0dq`6yzt zAuF1i0-Z*avfg7Z%`B*&zy?hwHfYkC?3a`wmk64?e-@?4Wp-RJkR_B<3FYkwZ|XNV zMB1d2b|w$M2_7^!9HvHhJ=)=gydRP35gGHP%-8w&M)_FM{F77o5U=cDPv@p{OiChX%Oay zaX;wGf4HYi;tByy9C%M3(qr9Ed0`ZLPY2$sgD}}|hF~s?&6-(iLNkINU4zYmy|jcs zU=#4R&kW|Ymb?E}Q&z#@lUTm%RZ3|vdzjZiKe3rp&F^KRpSA1I*hTl{V&lsaT8uBp z=3=$|hpV->4(aEbG#{e?%L`9Oq5+nP23RHG(~)6sPUCOH-GN9*ON(ZOGjsY+ah+$T$!>L#9=V`iP%wgLr`phrE$emn#%|PQPaJR+dkmiBH=~W`m})X*`etEK)5FG(?Hhsr ze_2a17nc%d#*~#CtspaTcH{st*9e`hj+bGbQvqkgL|r3$WactC(aacAxTeNg8f-Gx z(1v@B*(t=ZAPsLC6g401HTfub<_P+!&`x{`94c*~J{8SgD16_HuGWl-$1|z|%xGt3 z93%;QQ#gj)bJb{?&jMx4ktq}xd{)g3e-q_~b7L%coHD}ZjR_9lnld!dnGfGoGyW}O zjDLdkv0j7TGG;B0gwL)(L-eV}x#$n%4F7ZDgL8+0&`9o-+P6ztFCnyTV;L zw{cerDP1$-$dhiagW@O2%j-%0GB)0ph7NeKO|@Z}2b*5}b;j_=dhX`q^4A;lf3ibE zrdneL#;eUN?M|~JgW_e`okn>~7q>gjUdry|PZ&Dc!#3&JgEi#8 z?D8^m9q|(Qp;a+9WWiNp>>;G%e_FM;6TxjakNE|2t;PU(h;cJlyBM!+Y9-DFZCs#U z@I}T!ENTn@tex%gAkCL)kmd}I@0Y0;|7FgLKXdWu%ti3qMRTB)r=d(N2WJAf;1M^BsilncUX9N7`Mie?#R+x6n;w3Pl;2xPhqjrkBa`(lOHjeeJ!bX&u3IX2+Or zZ4)d+HU@Z9-*JOWKFV@~zHX_HtClfXP(S|wF&_1X*XT!`?BIrJ>xS_+ zZkU&8tv+s;ZFa-F3>)S;dBWAwnk(WdJI8LA1Q%Rj!>o&H-rd+Rf4gSe82q-({|NgOq-R})@>N5)Z8*8_L1y1=rIB9D(jj;Sdd8%N6jOz z-5{}6eF|hXR&3S)eARVtt7)@6g7zAP-^tz)E#k9;B4}3&r$ndW7NT#~)Lz!MYC_lW z{DJnib8$GB+1M+de;hNWRZB;cdZi4Wy+Y@BmE$~O!UFnNvVdds?IIU7Ah(XoG2YR+nz? zU0T`DM0k}6f9Mc}e6x_wA0YKHVMN$+aIex{bLswnY~eKiGIequBz`PM@g*DOgb8~^ zwO0Hlkk(##Xv2{yJ^69p<;7mU1Zw;6<4({F;xBZlFs^n~k2*d(A z#Cn9YGRCBeXxCcgQ+^}lkAct%uKi@B*5C_Yj#0dPf8zXn0-hBAGJEc8&tI-R|AdQE zvRox-a1|?8l?*WtV8fY1Y9b5&PJ(~VpiiS;1yx#hhv>DY2FW69x zBR$qelP5qd3 zZbrhOVZz|%+ZiHjT*9D1u&X8v8YT>Gel1g-j7u2g1?v(9H(z1G;O6m!!OhKtK~twd z8WR*%ZnXa)VyimU6D-g06ZZ#3lL;RQkC)vge-Fj^_6A?__4PT0n^8a#ml>tmg)=&b zyzFBz4F?Kr8Z(WLKr?&vW$U0+?8dDkrpQ5D{Ev{u<;=DTiESIM$Rs)@&}A-xE*ndr zb6<=gx>z=P1ksghl48##DJG31#Y_cEO;TjZ3nnS12w_WAph+}Iv4oXU{d>!xn!!U@{!y zz}8_(wb8|Af@+#snw2+d#^vi|$k)j(e~c-WT_9fvKVec(?Sf&)ssH+ zCztSZ2ku1EbJ>zTX7KtpU9wowKu8yYjmXPJ2(}z3OD7S0-F8}0#;OQqj^JzQwn;@% zT4lznkROAuQw_e(8GKDeJX!76r~Lbg4XwcHc+(MgRZj8Rp{2wfB5K^ zjN>%~m%B=q47jyzfWQ{2Y;yHBA9e|6$iE=%36Y!4M^rPlYY`2mDCkWo0kTwbZV8Z? z4UY2i38j)55Hw|zC`1{q{wI_Ss#^!cnzx~QoDOFAq9mNw0a46NyJ-6~BV1IWoIMl) zQWY%GLT}V>nSRq|`2bUHu1n8vf7a6TfifC-*{v_j`f{_r?9s}cidIWLQ)YD&nXN|u zFZl^1vsqK1H)GyVQ|~J73=J(ciLx9K%tkCHC(G%NSkC4;4Z37q?>T@<$w0R9N~ zVTx0(sW%zMl`GXaV!=UdsV1pYZ|3nbZ>h#U4S;X*yv`x!iz?EN>$)y+BrJt}gsgQ0 z&^d`sk7HayR=gEW*}S}7f5TLyDVSO~C*;g$;Pg=OrZIrMi%eb?LM{GxV&GaPih<;c z&A-#k%bz2W|I))^h`1%Wafe~xxL;p>q?GK&;4*GSIr z%r>)K6qwK1SsQh9!3}PFeLI-igB5kGSh*^T8DNKZukF ze+?$U&`t3ECy{!FP*79-2*N;fZcDZ9=JoD#=sjb^)4nkA6v)*WBOWvcekxX!zBxBd|>n;-U zB_PD=SNy@eqsDc_XnEvW-|>=*@W{!mc3E%KG za4XyPU!m>AD{FgktnIpdTFsUn-RZkG^Lb#yY)i|>b_h54qqcl(rePKtYpUrA)+t?w*GB?R(9!|;F;>H)6m9Kh^H(vf?+BPi;*Q6$E`UtL!KE67Nv88Ji zc&j~&x9Wk%<15NU_(~J_%V{ETWQsa@wU+criq%QiLN$Mr)8ZCinRl6V4n9ogRFaip#n?F+Ey%b)=}qhIwd zG^0%heT9T&dHytX)oJQ=3p%NnA&M=Cq`g6o-%{88&0O8ztgid3^}e^bLhg%~f4+86 zYXmE@`(O?RJ?jF$8)Byg65McPJ?S}B=He$SHJK;9i>oqI7oLJmaEdgiVC;C`ur614 zZ~}BBy@w`Ds~}(PlHFM@eLxFGxpi1>Ck}%d(1dnKYuzY(3G;#oys!YWSRHJGIw*K{|K&#xwuLyon$og)hg{uo$;ogyt;S>Ng6$N09uF&!fAtJmA|`UZty^t5d$V$Nmq@zpx{PvrUD@h&>5QsK*Wr_0 z%?Je8%qM+)eHuFQEKAmQtL}d9DPPBk$O7oo{;II0XK)er-`?Pp8jI7do)TjF(Qd46 zu2`L3%qV=uC&uQ6!qy-0#=<@)*0o;Gxo4Ggf5dYItvh(Rqw+C4nKS;NHf5!LAk2?>`0^~T|&=)K5VoQU535O{Y3fj}OGoyqI&VlJZYhS;i zgb{oNYwqA==Ha$SmW++~n zaZ2cM)I*WjVY1xL#F(0PcMOy%Z`^jj3{G!rkJ%+@klsLwe_uoz%z(9 z^SbrTy5#Z=ZGRn;kvAq|Qrk{iv{k#g<|xxDDRa#7+#h{T8}ECHE0(Gqfj;Inuu~iH zEH_r(k>djfUENCf+SJf%uCBJ!2A;wZJ}bI4qtW^*e;=WeM9QdZ^{^@Oy5)hXd&1}W z1m~PDQ(JyXh*pl}<7JA_xGre&1kf1v25%l6rGH0{(l^QB`CcBSiqjf8NNQ<=@|tZU zg^Q)@P&GfvJBX@Dz7sMI0P?dI7`fb1JahKkwWO9RsWGX1u0d;Qlh)QHYH7ZbO)59n zuo?$FfAYu{tJdh1|B~>{ZuOjx0tv)>tTLkfwnfMw`X+;USP^&1!O-OvDBx-#M-;-BIpc(ajYxPM z1}FUDPqH$deCKM3anqy<0OJUp)y8wU*LHc`f6A zSiQW4RkQk#dY9ydWfA+h{yCIMciWVw*VpW6_Pl+4E>I%-LZGMGX9E^j>jSLO%-Y^U z1o~_sGr)rlUq>|1={X6shimr+=kWTny}?;|#j`&fl!Zv)_S4q_k=qm-4PDR%_XZD# ze=z0~&}^F6XbB^(hw!tv}}#JEgN&uO~n(|4fA9fA?ZKHtnT+A;R*0?|ENc%~?5p$fBW6@ACE@ zvX3jL%=8WZjQ~9LFgjpAuIZYj8WE28r@Z)ndCv={Vv}moyn+=U|K!+!@FV5FG}NeTe+Rpz zofNJc5zMm2aEA(*nLo6zvK(kD7HQOq*bL!-B4B4**-W>DFF?@XwOARY3gqAHY9 zs*n66=DZjde|sS(3CfoWxb<)Fiv!$~9(UMYIjaDycnf`vUV26P`I1Ob)LrE9+Zh~G zbI87O$ZO1^m3I1izRnUxuC7+qe;SnwS`W6fILc^sw<6p~%^$Nwr1PDmm5vDlvrf`V z?Xzco^Levlyyrm8J#1ik z6?qJb3EZe>14QeS<5L~U$slj=8AC=zE$Os10(z?W4S%7NTZgY~$gZq=rbLd++#GI2x(oVN+F8rH^p?Ksl(l5J)EE3Qf^|7cHNmx(v!mVe?^+zRQF}mh5J&B zW#8tF>|0hS&J~9-A2_d&t+=LL_Ut;{R$hgEdbXdr>*prz=N9yH3xh8JrME?Tc9rcX z&!HP=nPQ=2pp)26Zy5z*6x!)RJ6!;wj0lwIbYV83(*--7+xDWr#=gh7i?(}l`X2l> z_C3_T2QO0Jt>b5^e+FIP33GH*aB`n8v^9$U`+_F#_Q(_>YlulF7-9kiCthcW8JS@^ zE)IJd_iY72=dG%<7@`m-!ZTo@gMc=T!0-{2cB$W3eB)FPUX-UZ@@GL)XP)O;5V!=#Oe<7A>oEP5ZGn45?p76z) zNjjDhwUL>OTTJG4(66iorFj)&=9`0_znGx($_rUxnhWG#;R5ANyY2La?Y8qU(v8_| z*$vx+z8lr0O-$@ zRw%*|+c9j#fUnVPdo^}%lz$mgI=D>vccAtU4Jkz}a~E^CZYQQ=J8_}jiIduPkT44h z36t$@Y7X^I3^Yca(ZlFc9l3h%1X=&cp7t~)ag8fvH;({)d#FRX6l+68g~=@2+UYEO!m%iQfL zs=Xud)NzG{CNkB;aj)M%3k|N|6vPV{m2*3*m)%LhSli9vr`+OXu$S=$&#vrW{ ztqTZqe^{;5*&*L3eM&BqoD-ej1)bj;U2n#zr|;%)K`jFpB_5~v+9vx7??#rr%|@>8 zqe3!yA1++-Ipd_^>Q-AV`f|wM|4zuCA{1a1j#}{v={I-7#ABb9AVT%(27xE_vyuxF z_|^K5pZ7QN(an~R_FUah8^3yxw#N|m*BY;3e~`1#8w^`DRs$ehTU8tUmgUukW+0*s zfn0TtR3{uw#07v{M<|VRD(v)3Tc=#DlVG8cbWje&CU8$VW0{GIKZs~1Ca0CTVU}-i z{C)-(3sbH5&GSCJk% zfBs~GL#EJ_SGs6Zq`ao1lvh9%*_79Gl=9kg3Ao!Etf^J!;kK$+&WG7X&!c9~*X7~P zY98)l6Zy6^LcX2MI*5GRN94m8@@=a|zHK3_WpT^|GpQ3geUWbOx)XIgXka0q){ieA zRieMl@iqNeS3a;y6e$G(`D6X`w4YC}eK)m_`yVra0z(TZ+;mDj@>M#Kz}o^8-WLCO62eo_)#|1 z*8{aGxQyCn=uZP0FHn<@E5hZKzOL2`uAQ+t&3FuRnrE2P?BA}xJ&CvSvyTs&f73hz zCxhlR&oHOihyRZkd~kHZx}0YJ3UiwM@tkJAnbU0bL5#8q${${QXyFwMExgpwf|qD$ zGrG)m$HV5Dgrknz!nBQ!hvREv3)40_{*o4^MSRl4nQu1-&>jt-eLE3$8UtvL51{>8 zCcQQW(B3eB_7x7GJwAYTbLP9%e&$J=l~(V@A1h3T)lVQXJTif0Kw&LRh7$^h2P_<}oIC_Y zMr@%jy4|et?Xv2HMQBF$ATTj*?dVG;FKi(;fqGDW_v^m!mhZ(ORy+B9f9K@)YaPtj z3fdab8CL}+@1Ncr%&dh#5_l*$UbdF35w;&7A2m26{7pIX7yPnoi$&|fsC5yF55*;2 zva!~A?NgBb!2#O;j8=ZNvG4nMw_5x)7M=j!NjJvq#l_337hWLXRLbJR^i0Q#E~0>C z)maiZb3ut3Ue{rqr-sp$e=+FHmGx_@tEvl3h`N&n+u428Xnb;KcGJVBhJLk!1dJmyi}br zC-(+R7|O4pFfcH;>BE%KzSl2fnC0S%8SC~2AJ^;PM|XhGKhUN(Ut?6N`BT;W4=d79 zS1VO!3Q6$upXRoue<@W{07X9N(&38G$d7#*h8~R*o7l*PAYv zdtSwm4^(_ew8T=PC6=6)t(BG%t+bSArKLnGEhW_fwe{HwOUN(XGc0Kri6aF}kBc1( z^4DaxB6I?{hiJdMj#R{xZbOkJ|7cLqv| z-D-KLSQ#YOeLrsR%y&c8^jCA{r^TdZ%1z72oN#L|3P8e<=t4>k5y3oMu1@F z*8@c#v84gyqq=rqAm}l!Q&R9e(eFY&ezuG?{83q_Zlg(;2aU@Cx!(g^7l0RnJ2Y)G z8l*N{y94CJ2`MV;u1Jz)MqCDxPbiQCMEvtTW6g`OKm(>*HfvqcN_#fhEmhw3nawJzC`1 zL8}>t2iu{J4)E_R0;v-N9127Yl*qXNDc_<`GQ9)-jfDA-2^Q)$Cl7cxndY8Gf0yyC zUWGZ9f6)P>!=6|>-N|;vJ2Ge17U^Ou91C3VPQ*xh(-~Ee!*SYnt2%=^nl}<{GIa$< zO+k^YXBTlWi^PS9Ss1#&a}yR==U11vgU^#zcv@F@Gs8^O^)~Gmb@Syds)aDMUK587 zs*pc~=IL-mAQ_zE`~dzZuX{A^B(7Q_PMw!sf1VxcMoiBT#!&3kZsR(Xh2K%KU>%Hc zF)615tO>LxL$89NUXa-fd|)9{b4JAD0U!=$i&h;Es3|4{gt&Tlqet_ zV;%UUGIjxO(P%XaU5#n1Mo=FNvv!@QM@v&&(bBBjeBaJ~o7JV6*7_8tz^38zY%pH4 ze=BbH$=;KOnP1CkI1}kStY2TmACXdHTS^?XqKH=?n1y3w z@{2{|O&R?eQ?9Ge*)@(1<=CcKx)h%ECmNI@)(m_ z*|rc~c7Cu$B)BP(;+BGCTDBC|=g43Lf6Gf?9us2ZY~|y`nAgOJ_;<38abnCH#7L^i zClDj2J$J;ID>3FujLNx`7&)yXu*L(eAu__6S!<#hUt$tFZW23n4duoZDg-e>BikgJ z9*BlxXDD&?=&~wg6r{C7^*m=I>`0DBo|x-yNEGnJt~m1sY<7&u`DM%^5w2dbe+zr6 zz8fN4n-D8*bp4h`k1&+*X@(NEAdNgi+o#7`Tx$$_6j76P zXIogv$8poyGm-q8W$&DJhkS`ef7YsPA@uVMUfKNK;4JPr139{Qzt8lJr9&#?&QnJ0 z%MVqqaW*m&5KbBN-)(?)CeE4^*A^ulP9-hC(Wtb&;_RTVH_K((F$Z?c!Ntd%O&GI9 zIJ24vhB@F)Jt~~E9%*$>X5^gAh>+sp#j<1PVKjbjK^FJ?241gaAW;huf39D#6ZSk_ zM>n$A@3}yA{ij)%Z+?h|pSJZ+P77P?9Hl0ZX;?SnSz9)&o5;-1yTaTp7_&>_8QG>Z zpp_x65q^HyABD5FTv=b@S1kcR2szS_WKExSOD`Z)&rcGnM{cd^Yu>n2O^Mm=**4R} zBlRdLgSP4gb(Q33eF}Tkf0wK}MBy`WOqqEgT4j6?s|te%vo`fsA&(yRId&Nsk7Xm8 z|DRc=DokLx>fbZ0080HBGH~h=N}`I1xLPgqrWbs8gXafZnBs%A4Hxhe+0;E~czz|i z6NpqR{yWMAX(-Wr08l`$zaU<)tQWkn{f)dLI#+J7R|vaa>E9)DyM-t;ynniltGBH1 z;w>xwIcaW-y*M@tk5=g_`1I2s_HZx{<>~nWf42%~3Z|V>XG(cgP)h=)HuXD99sbD) z)*-w$jRkGxELshaET6orfDX3Ck|Iv=k|~v+W#a6_QWjF2Z#RP%oIT9kGWN30-sG9v za;cfC=S|i^zUbejDu_sl zUmed0PV1_H>8NU8tU1B4TnyrmH77W>Il)~V9|h+qsttQ(rwXZT?wn{!`vDfw9(5+v z&U_vL4RIYqk(#jCnQ+{Em#g_MrulB=^FZ*@`frWGis@Kk#X=Ev)PIoTK}TO!d9Cd_ zV<)9cIip>7qrGlI>OL@cGSuA3P!-_N=1$r)M_4jH>=jRiWr(^_T@ykY6RqYtc`q+J z@s-f6-s;&G`I!^i$I0T5Hd)r3NSkelJIrzGn-EBwJPRMUXX5+pG521u((Zom5k!4N z%E*f!U9dfyH2)v*Tz^K|rRQH6Vm)Y^c!`avmu$s2VB<`iiI?fPf|k~P`55%HK7i-F z{)kQz?IN~w1K}&JExhSQ3$N>9tX=FWVgcl>5UoG%YbNMt*h~7<$vpr)+aUiS7lL;D%(`i0g9$@LE}vi{))__NUF($TzM^C|z5q-mcI*CH0& z!Ua(O39bIq)}uBUu$Ebfx#H;&jtqu0H-{8ZR8&(vkP6^bRl;U91#2x1UWB1^hE)nn zua&#QBi&G`EPsPFS2e*&iXoUp_3I+v1i~6i`rR1q^8pcaj^k2Tw+|fAP;((C*f~^E zIw~(h)US~}{R_|f)x*#FrdUMIRloY>XR+%K9xsm4N~|(rJqS09P=|pydMG_mA*)1~ z`_5FgozE;Ji{o>%|da`g=n{(9AoN6V>2#QM={`@)|?PWszrSldM@>W0eBIK1ND zhA_TCTE*+x64r$FT>t z^?@d|4}VMKtDRmK`FZdBGoOasp6S)Mm%U=g0@$%=^0rUxM}RE1FU#2eQl2Wq?Xf&@ z-5zM2e zh=0Zz5s}{C_xpREbI+}+Zn_mR^T(o4_ug~PbDo#q^Lu`;-ye0pG3x<^cJ%_4mB;7< zjjq(I58xwoYJ5>2=ontDKF~4xKqL6vc*DKJ8K9Y=`0$>QT^;ssblfd6cSJ7T$WIannKi z)2MKU8@x8H;qvnb44p|IupT3#SqnedtJ+Ug1@cK4v>Z#c$3l+JqkRPtyyeick$;;b z4d$sf2&{#@LrFfc)=*I4LF1$o$fFS^)5@dP`9)s2qe_&iLv+YcSyPuzI)hrk(vNA2{{0a%SM{XH3!oI==EF_=&9nVf z-NYN`%KkcUq%!q_gB))IXIw+met*-bN3T7*dbW?^NFOG%+*bP2H1|?^H|u>lML%MY z!%vG<)-kNmQ#h`B)+W7Rv=xpbCdnKDO+#_A{5N% z7Jv9lV6x0tZ4s zU41Fvxzwa5cui@J%$j)_W=~DXEhL>vAJ>;jZmjz&!O>`{qho{f<>ZBjq52BqR!sGm z-nQui?>6=nMf!053EPBYzch-Tww=H`@H?o)0?MKj0yh<=iA~?rVzH_7 zn@KMMR1-6mzkOPL^tzf@Nq;k&(J)$buPUpK*4)cfk13-X6TXPgRi^Bry7kFmec+X= zX3aIM&1w#ptM-G>y-XTj{S$Kc!6(UEyy`Z+bz(P?oAXus^VQc8CWm*ZRAs7r+&d92 zM26W6;;{^rsUl!3$N2RMd5e6~)bS=;HT8|(;SX2#e0<`KP_(n*>wi+b4YQ(*eHPJro;#JUq;`r}fM^ls~a zJaZ=y8v|QN^^adP7Jut#Nk7bq`(aMp57X1CQ8tjoy>oP`>KX{HYh>LSII`K`U3sww zjD~QaW}L}l3`HWYsucRTCH?HmO9y2SSm`u!$kw<@jYD{ifm$3`>v7}3Jg6T`Fb4l} z*`|T4V^1@g>-+H1>cAc{V(H<(-0FHbS!K$eA)ck#&xN*vQhy(TJ~&Cg{Y9{}%(66E zJD_lz>Cyx6w@hi?*;o2|m`o_NN#O4eII;YY{qz)kNo|bCqG({+h~5A{c25fsFge@b z`R20ABi+E{5-1}=M{!Wdm{K(=BP*W(L0UP3;Ux;$F5<*Wp(V|~JYS1%9R*kKs(k&Qq)10wxW5&9y5br~U>z?AQ z1=>G|dA@=i2v_UnW4K*IO#8~Kyy~4e2Zds=_8Q1P`+tzPgsVT~t;E(p>p8yukoRmc z_V6T(-9I5?r!eg=VeI}2jNRVo7&}=!Z)E~J|f@a3yj*{^Ha(~Rs_KF!EKg&tb~ zo7eDjApBmjT$a84tB4U2<>BOS_hBpY)%NAH4vSp+s@(&)^`PO94`PZtDsdXC+I5CX z2*-~LAJE%Xty$KmRWOIrZt0(}PfJs%0?lt)#VsX_4(pj$K1w~0ydu_De2oB8HT0LM zHGfHS!h}`Wz!O`AM!tQ`2H|h;cAw-G(doS+TIm&r31>EH$BY^Ujpmyyz%b?yje^V! zMUTkX!#vu{%CIf%8S$5rI{m`b*(+w4z2d8V&{sREulP%9RjAwfRikM5F4ye@4Vh*` zj(C36#tx&ai$;rqgbDyA|9kM2*)M~XLVqTW)T9wA=#zoFL1`nbX(JrcMs2dC%OTQ= zB^S}kYyqxAokhqdjpuyKKf;!Opit}p+M}WeUNSREs-8~4lbFi1v3b4b4A?9Vok~wp z8ob#j70Sv~pYf`gq<){MYzx`Hm|E!#-}fkZrYC)a%@a{SkEi?8oBh6h5nEFge1G^5 z%n=FA5qzb6+Y%So3CH8%in_QwWk#N5M*V6d6z=zjCR`X%FaukS%2OTFw>l;xzC(nV zi+(BpwfbcM;lf|4UxLV~Uy5vA_*NVV!I`LE#@m>q5W!~^C=c{0jD*lH<2o?8-(SI32mYL&eVXXYldUK+<M3nyR6<4l^}8cYJ%AsWJBK zBx;PMOTI-^&Pm3!kEQAR13y%2Og2}>h}joGODlxyQ5KM0iAH<3Vl0VzVSf(KUldsD z01+^Q!)5Z;yUQ>XX_-i=lcfTtVrc7wBya66+jm1YxelO-5s#x}yd{*V(XTVY2j=7% zTQ-}IhW35v(D0SotxU+%*eWS&3&2FpE{YU=c-Gt^BReY0w-Ba#7!_|tWN*pOKnBd) z*YrG_Fy6|x%Qg^FZpq_FYk$VX6Vu_9ewONzpbrc-cD;z$3)za%T&X!$!Dfd78X#*j z4=$fB;UDM@vd;xFx%EXYu*Rr*h6P^4f8TzN4=wwSsKG!eUSlYxyHKaL>)2*9ff%9t9^@Hra5pxsE zkT=k!uyVh`X1~JI?$@wUztN~^HfmOG)E{lsA2Hm6D3tjJ8}-kO{>k;vr2fhD4?T#6 z3`9DYBTngiVHqg&Y=2ZGgX{@>#pMV(A&7(~01pPx&jp~+$WiFmebcrHQwdDD;NClU ziU{W)<7rdSy|PK65k(+S$A_!$8ENR~Odjr{x>^5{F?=Z2MY2({t=j69iiXX|>kS^c zGWk-1ZTECo_NZIQROT(z5^CqIxw2jKQmrf(y6O`BymK|IwSR~d?_5dO=+U(-%u;>l z_d|tle=ES-st>}nD)xLe#Kf4JRh z7*{Yn=Q^sl*|n)$Mlx!}b)U=5pQ_}r0Wstum~^N;hmaYRF zia9cQ7Yz?i7;LkhrLW0r@KcpxcCpA5k0GUtW+!3o*#o9jiK}|+=e#P&K4`e_-)_J3 z?2P!?7lP8q{JBQ9X|Y#ISYH2%+Q3)212faHx}o~e*dKGyXRA#MzDZyYe-FK>QguSE2Dk}O7tFQy^9)- zG=KTLH9v0`j(3)h!*QJl!v{a|366ij5fUw;@gau!bQCV*| z(7#6myzBxEZr=g#7wI5Zkjr2RB?L`MAkX#?Wq*l-J!lYxPNdIEVY-w)0;P`t^uc>_ zE(=1tO!W;ROj8{VG#@~g_j87~bg?165kMZPj+sIBRESW8ar$=U%F&>TG=o4dFY1Om zX4sc=XuCq%HiM*Om>3t~2{B+{9@4oRc?8^ul+PLeR>Mqu2rIX83_*4YM_H|vp7B4j zTz?D>pOPQf;m39MM_+&B7i1{W9=Qq88s9a0viJG8&_-uB4Ycb*jl$UcA!Ebm8>+>p zgFW(T@`k;8FZ7c99CSu$2D3#TdM~_B@4PQ$sbWJedXK46IoHWb4a*h35dA;Ln(ut< zUj!iCNJ4`OW439vfi3wt%06Fp?K5{RfC2@+I$NR%zsneNhT4Ip5A$+>rTjr-mu=6|Sf zmp7_mg-JB6kw<6 z?RYf1QjfJm0YfSbL5+R8tEFeV$A1G}|4x8so{-&qB?U*hbg6Wb*?_9rUX6yhVjsr1 zKYB~ZfJI%gL&mKZLKa^re^X2a!vkc^(Dsv5tLFzZRH>g~cU1wN8xF`W{w5IB6h3Vx zdC@m^Ku>;Y4Sd$@-NTR>qCjg2Erd)_4G);RE@UBUIAkziv%3RX+7=Xik$-;;bFn(m z-Jf4SPH`r%Plo5i3qk{^YVAQDU(HsC)uc^u#x*~VL~p83Fl>x}=PJ)JMvU%hpY#@b{u*6_@d-REB>uU`zLH`$VUC_lC=I=ovhVEKL~6v z!vwb!LZBYwZ{^fh{hUu}Ab(2rjUNQ~mo^ra+^fHr%R%)pf850%tX8vA&eXrJT@Qyv z;y=99_3*HDJs5ma*8_xqgt|@XkxbLj)JPQ2%I)7H?cZZ#gX;DlvF&^Kq&MO$54g(_ z>%qhLV($_A{bBp}5#vtSd`fhFAEk(U?4wzOR;fON%v?pHI&f6Oe`1h`gIm2<>f4RpM`plEOrwmuPJg zhU4s8x&efF5-+*Xs1y{=KBZlU-SK646!u#DkAn3XG;cB@+*FSQ16nqP>E3Lx&19Zp zLd&>Zb}LVTA^sK9(tqU+bvfj09cg~r5F|U>*Z>+*W-n+h%^_kxzBokjRy9V1XB=LuOaJR6oSV~3{pxH+P zOu@qz&I4izynjG)jwU%JmI495t7sDif@vFJ_3|~u1SaJ=d7xN}&jB+*J9$t}R+|P) z;L&d9q9(e~OACBH;N`ejPm9EzhDSF@jif=1x>BCj&{; z67q=A?gFJr))N20!tTxcd(^05O}O0iAvD#{C5WD>(SK@Z$?<;{W0KEWq1ni#r>;}Z z!!yG+a269+tX$5O%VQ*ma6BZlc&D@2oOVCu_>Onlpb4SrPz9!e!kwT}_gFr0HG{bf zDISPp153Lh%>->EFSd{+#qFTK=55VM472q`TenN1{X^H*YG2Tn5G=|WAa!@`T#1r~ zd1%viWPizt8ONla@M@I07}An7L!$zkvFVeceSW8A>)1(3*h!XO@RAF) zxnssU@hHFG{HuQL-jF$RD!(k&^2?$V&z-~X7?U<8wv+CKZ4v&y9CN0Wh|~=8{-mlD zikAY?MNF-be90v(LLC=tx}^D9?&U!x8v{hsR)1kdFjDpvnrkqFJ$oUnzm9c*I4P;lDUX$% z*;P%L;2Z%x8%ox=4IEC$gH-3pT$nkY+G#ah5p}@AB6ZbsK3lpObXwbZr0p`fX${gk zGJnj49xRtX-@|wikHYZ&Qi}2UeZ#uA4NJM>Wllm$h1}#_k*uL4~jGGpyk#! zOOeD^5o0O5y4F#CLH_<%5X>7ay}aI$3lbk+h%lnIDzs-RxiR7x_LP2Z*PRquCJhZv z1SRzv*hSACH7O=A&?!gqyERW+Zg*AB?SGAA#TF9V0?d>Qt%tyao@Bb`WtJ|tiDtgt zUIE*5)6<6Ybf5+`zUP^G3ef_ss!vaLS%7`m&qG~g$B>$1@t2O}+N*eAQg(R#J~u zw~AAiSA>Y{J|HBS$!0z~fR{0F6jb&{pTmqz5wLY@xVe6%YhO1)nDe2ckIgaN3t%c< zawGR}B;5GyfxErz&s`3K)$^2$EPw7(EAK-e<+*MymoquSaUd()x9r&R!=f#saGfuk zC}!#Ee9c@jso!fCsz{z!lABp!^C(U$We&kW(`{Pn=JWKxYtd-df&vu6^bx5ic4+p9 zVD<>D*&|X58K|&Jo8#4mQ&4AU^^a)(h@AZ+%&yZL!tC0DVopG57H2ocFMqFnu{pbv zwUC}qZkq0#7j>=wQ|&^bkc`d$`!LJ#?m?dKUZ72rjLN31Ock6BBBlL%pl@3m9Mx|z>k0Y@W2 zF1Ckk+0~A?kNN{=6ZCl;g@5of*?t@%FLk|ok9=HBCAgNL17doeFXY+dEcRxftpDkkmtT9iC9F=CKjheSc0;G@##i2UMp^ z%vzk&NYxQhw!~Ah?D0?f3Ro916%H&o8Oo5NU7564ofo!A zo;H)NU6w*Q1-k+PO{-)Nqw9Lx6jyT-%3kiPEpOP9a`EzM9oQy{T8T|z9=CoK;n6li z)*9Vl389ECoMP2h%76BO4Vwk~2x~z%r~zFN%&qYh*?{0Nvfu5RjO+pJQV1JMvSXSg zDQ_Eq8FWRg*k;c?<-iWKC1-so9h2q)4uNG>S%0v!ca`#na4DUtDRomGU!k8a#V6qx z>sZYtkD+rfb&%n+o$r=fx+2%MZb%#8^JSx&Ju6wsan^DNV}F2yv1!?ROf7ryNo;y8 zwdtXYWsgb$aMR>~9NP3|oJnt;-CDWZT6uG8joR~KXU~f<%D6GgxE^J^#Gdz9P`d)8 z=WQ!DjMd~kraow;3OF`h(733)MO4cSRvbQL#o>Ccpn<5U?Z}7{ViC|Hu1g*Bkyw7(ppWaJ2#)Ywic-~`bWLJ5Q$&&(e8UPI!XxzzI%V_SZ!f4sXC z6~)_gu?Ig}ShZwI5QQm+vBv+*WFHYBCq#!M>;z44ooBXl71DM-G#~&{GfDy21;Y^3 ze>t8NN<(M$X{+A%094#k`zCqUq?U9Rv2hM4GjPhv?th!M*1kzCRV5=n=UCdh zKMV#}sNbruR)5U8^p0n<)kExt3I+@wKus!FYw&J$n^gzA( z3wGH=-6}FCDK+?VFyzbfOc~9kMXYpCS{{H!?ala`i*u1z*Dlr~H)~U|3g5aS<@aDC z7(>VHZ|*9u%T1~baLMG_s$J9BW-ix4`< z&lK4e%tm^GLk<&Mt{KkbnVfk$m1{VaXTyNwrt(D7c(zXCnJ1pc7mQBhniazA6(fLMT z1%KIdbK)_TZ46B4%}y33IL7xmSm^Wk@@eHeguKwT1t_x^BA#)^A zYcdAZ5_!tbmh^Ot?JEqFyyPm)QnaRG)LK>v1vM0Mew(xJPVK~xEmKOys9ZGq*1}E0 zz6CX;74}-Io@Qo=?6gRo?pbz5sVpJ{kAG0uuqj&sv5O<>5)l|e9wrxi;CIsc{MqCCv(sG1|NfmQYfmZ7(n04&$6b65-*x#NSea}+wKs)^M72u zs_-V%q7B#fosnDJWMq^Aa(6oRsd(zmcp**}=*YuqS2MkR2i8or2>oQtX3Tzp$Y|R(?+MiOYMj_6vp$t^*xq#)@!$+5lT9)qlQpF0&9hyo>^bG=HYFdN2SB=*R&h&t6Ws*#f?XRz$eoTd@|V!hi1bY(EyiNvJbfys$apN?Okq}k$=?-pVhYw zH87G+RJBs7kmC$%YWg!h1PB>bkUk-ci@(4(ogz zA6c8GSCMN|ui^M;sXB5c9TqU}N5lMkYh( z*Vx0Zs2e^?sz%$C#I}Vxgfd9}&riY$8xzg7C+MH-n%(1hd45 zQ4^Uug0GR$7RKsS9$2l{V6|S&YCZK=BAhUKBQo68BzCF(K~X?ofq#x!3VP#}#G69?-KQY1u1zQdnmj;^6T z_&uaO(}T4w1lQjLNq+&Rp%B}ptsV`SNx+6TrPlm(HX@OXosAj!`{WTSy+Kpy4XE^1 zDUtRH3-h%JYllh&Pl|>TYWU-(Iu~Mx{ZwyG1WlAYaNXu){GV=4AN|(N>0xt*8Wwb^ zHBlLIx}e%TC&U=0Us~foPlFtf`g3Ktj+rVK1@|yrmbMn8UVq68yH|5oiEkl9@=u?H z!}&IUki8CvJxdn(8fsB9}k&&`ObDZeZzP1`V^8;<6|EULypI7O#*s0<8NLz)cffa+-;G zsPzc<=sDmL#dTU)Rz6+RBU=oJrR!D4*aZYfzRo?DI>sO`T1}4k zo4#m+(t{8CWuHC`bS7^*yIlgJOBzI%)I^sk(Iuky=YzaIm!J8@qCcd-QNlxN!Tlt> zdw-Si#zqKlY&qds^jM`kI8hzl-S3xYRe`0ud(nMIcVk4o4fC@u^yiiAZj@&Oh%9XH zO*PFy9)BG{d!%Rm?B7J3=tN6Zo{G6rUCt|wG+sK=WMrht@{z_`+Db>dab%$FdV|S8 zlX{>DvbIAcLhRCU?$F(}MO)ikk8|^!41W`AoomOiy+}&3#ZdYhC!I)ON^YX~l7*23 zM42U428A-Fu(vc!McNVS0K8w7VLMny(hX%>@ip4DNmW)RzLMHvpCusb7RKoO#WQ0# z`}=CgZ!rpGP@V+@V~~|};Vj$C6$+9HZ(=0cKUrrFDPo!tvSiEWlbZG-JDDjUK7WhY zBzg`zmLlweed`EYSe2(T)n;ElHCPfUSL#lsdLNx=Mnn$bjQE@p>(1t!L^>x-Whu3k zPwwlS^wd{c&#FR@$ulXdwy5I>wb1ZrT=eot<|I}0EjFWb(pG-hcKLF0miYLOA+z$W z9}9d3ky8;8!TlmV$w=gl^5lQJ@qd8XwjHzetyhLnWNoz@_th@Z&%2s7r2;^!COw}D z1}p#z+M$*T`(;}P(q;vd3P5Ifw(Oz&8AfqHogAJWw4yo0fUWRc zT$FYW*vmjT>nVWgUK;XRT9B7UqFUiy(*D&Pcel!JKq#oKdUFMlMW_fM?0yK3iR@|TA28G z*tz2tWIKc-P2|{C`m@bsBY$PG-7-{hlnF=K7ik0PLSnXN6^EWjjlgJz5K!QJxtCTD zy~Ab+rGF9_vjE9F(zsT998Ol1NiBusi(vhsxhRI*%G0ywXHQ z>BGaSbm6*2lGP0PIDbIbn4o}1y0y|u&B3RQwYvEW8j>!&rBj&d4k0Fai)xfU%fqb? zHsK5gseRBd4bKy1D1@4qIFuiZJvdG0AB3@kT>gSE`i$aMh-hV0&d)fO%H&i6>^+A3S zCS;6j`7&g|%lAB(9iPu$Ofs!nV=7v~?=Ott6Qf8`TLsLpTw-Gig~t)dyY99Nt2xnqa{;FTSu04f~Y z1R|MmS`Fii+JA^IYT5XrwoR*QX$WPyuBjpkU4ZGt^FyV*^Ce@Rb@Y}paBkVCf zu?16QO)qPSVa)E?%%Qcm7#Lbo*kWSW5^BQ9O)$B~=zl6AUA3HwuSL_^dY%wpRBO`O z^MruOdY*U?Bh(5K!wQnv5WS>&$A1hEqL;W3y?T*sn4V7&M_$Z8mAwd#>1cqeDS(>W zAxI~pYr1Nl>T<|2R?gST9?bA2kSVUOLk(SikO^n;02J9unN18qJS1!t-kajA@^-lPDQvVXCRc<{%+$=aE|>6z z!v2h03C8_kZWvY4vbBY|4ItFNc`qk#41q{-Eq^v}nK{hiGDmKiqtRuC9eXQloT5_I zH#}H^I?fUlvvQJrU3-P>oDMU-@aLGx{#^o);|u*aAmt#L@qYm?#0<5nWG}+Yu>)Fm zwg5!I*@`(ScD5p&EnL*u(v?w3t);WoBDi2=XDe0-Dz>u~+u4fM&7{51tt!_z6)Zc) z5`QOdDo9{D6?{&oB2tR?7*h-rW$5w-<*|NbJkPVRIGbj8(oMqcG*nqlt+E=;-7z$@ z;`oCKSv}^_{U%*}14}V+)`VTZKY~*ChCF7~JtoF&>#5DxNi0FVE~Z`=>;w+iu*e5o zd;ySY5d}$P)K7T>BBs?#WYk34QU$i9CV$!%M6(Nk@~CylA5%aUHQi||DNBp$ynyL; zI4g<9?_j+n%Y3oPnZCbMzcBq-pQO;FY`8-<%mfhj%;!(SkUNec8)e9b44G4dne1{d zu(n9WY)Ho=+{`q&nM%ijO2-OpTZP*gv4FDavMEnxA-C7Z)ujCWoA=UKpVY?sntu~o zV?FI^qbWp7vy2ea=lFliVkER+6m=K`@~^4o(H6pFI-0&8YVl-M3Qh#o5CUu7)}xHxvLOG)1o*9Sdvqs8+6+{wQeVhZKy7gqO8jEJO3%N71Al$(kt-c!Le@c3@ z5#@BV>`z<<8z0s53lGP}>*?oGjrylb$U1yt?N&w5+ETVjYxrua+ke(6ytloHP$>t2 zIeUF+jubrtbF;BFd<+0bYeNKp(;Fe~gzYga2V|TA1ky+dMs8@~(u@bbCD_WSh4uv^ zdUx~Qbv;i*(7G%qp_=MefQ{t+`Ld52jD{1@E$FM4&~tXbXTPhmys7hddN!wN2Gs@t zq11+yGN~1da)ljolYcBM!Mb!FaSOGXQ18BlQgOJWx`NKkxG<3C%aBIBiN;W>#jpXS z8#y4|R(?XLu++uhwWKt4m|%l&yD?v+*(OgCzP>9!q8 znrLFc)NQYTsT-*!bQDuJS^-nn-Z%=D9$Bz-8F1sZ+CzZ+ntwuc=W6XhjcqNp1&2VK zcq(8a!Q7~+a)JRItOe~%F!nr8bUhw1a;OvCPh>1?^!34xqEE1Xi@`Rja{l=)M}}5H zk&<%mE@40yd33t2_mYdeOL1ijg9+t_tn6OoZPCw@7kRt%Q+|q3KxO;jmOVL=(Wp}1%&J5~kYsO4o0W~JJg4+EDH3SK=L(A06F{q4@7TMhhhzoiVEQpb^iVTJxVh-ta$wb7c z+du}Cb_wF#qzt7Q#2v~JQvgLJ#rEmJ4+8|SZr1_XLuxI2DC%+R)3_o#0{V<76K8ClYxhQJ^|!3dFUFO zMZ~hP)PLQfau{ZmNjX^#Sa3pav=(3Y2lpR8&0Og3M!boVZi`SpHR*;*x-F1yxSVubjGsLP(hZ-9bb}Gn4K7s6 z*Ooj`(hV%>1}l=TCU=~ibTN~K2CVg1hmy+G1y>JK_AIJA?O;e4_AJ5aqO~DGAllW> z`+ttmsFthIbC)p-!Dff>7*w%Z(Sv=}Uum&d;zXM(t!yQmEqgGuc(FvtOcfQ>!^<8F zO>05xxLCV1A=#9r#8?-Ge20vhaR7K8Vhbm7hc`%jtgZ_%2y><|st;dRCef9NG!7x) z%0%_b1gys8RtKR;5dz6t>N|=V`k%*hu75&AL;&AtPMY=^f6C&)WT=#%>9r=az`8QQUF4BDJ8U3Q9QUuUj$gJ%%O;nBv;%5o^S1QQ!k|F-0PwPx+-d7>`G1=9 zXEdQvGexbLIjr9EWm-7G+RPlNo)kh!3W-iEGL#e+c3-7Ab*ZQ;bd)6IrBnK^<_Dw-SC+;-+|VVNRXKn?X((o zJ;HEC!7&DP{}qdIh5iMNTWuKovbIw-^z6ndq5&E{YG%4sTUD>xc)eS2PBJIqL1{Dg5BBQcq^hOOzY8X%c0q?pC=QiMl8*K{r{bb-@T- zk*8KUBvMw3LM=*Sb16f3kAHaej*MFhoKufpFeH>KDEytASK31o;GL7(r+Xm^ z6kVf#P>$7TAwn}OL}*+gLSuQdA`I7s2n`Dnnyq};m18v)xz|^A>!P6|qMfMUk6evz zqnT&6Ty9tI?|)0oRaGKP@+!#mYZY(F{lacdR{zT$H4(rg)zjQ6HR^KC7(*4>3OJ}3 zCQqwF`=dtvIN;=}qDNQtj2#FoP01>avouhwD?S{S%y0HCpVmw-`;M8av&7Nj4jVm2 z@^TpG6Czst)8`+5SFoMgRv&u*r@rZLXC$x5Ua3h}2!DJr+3&CmiL06t674^zYnCKh zOoUV=)2?2@fS-+pAE`d|j`!aaDITXQF!6-e3^2+geQtNE6h61RxzYs<>2_z}hw@0D z+udB@f?@6*-mrv6K8tAa+!e^OpAlh#p(u$Ol;BzZ@K~N?tfjN0;DaGMv&_s4nVB73 zgPG~*LVw51?C2WIOh*?yOQQ=$MyIwdSwDKUw3i?za2D7T^kQVM&?yw5KjG{h)KVM-#R^#!{-6yq8=W(IYI?&{(`%lZjXA4NO|N-sHsYwb?v}3YTbTX9lV5g~W@i{}c_|^Rncz^1IJZSVZ$o>$=;XO94@7-(su6hTK zd2?lZ9XIEuf|${l7CkjBU+NU+Cw%y*J*o(?P5l63Jv@|*iDd4rhe&Ffis}QOLxAzd zL5A$HDyCPcYT3F(8pRrAFQTk?q!>pfPOiZ?%eBd$7pG-Hwhz9Ut=D*;q4jxf!}y#y z3KX)4wvJ#>3P*krsvhD;kG&--=D9#jt=>T**R(0e~~gpdvmmc zy_u1>@e+G;yn?;i-Z*M+j;+0UZS!@u@CA-58jr7a0e#nCZQOC?x#MbO6#`%Mxbp0A zl{Uz~Me?sDpw@5$&|ceWZh)36^QIes5P!X`<_2gjEA!Sm%}}z|D3@q0sST~F7yo1y zZb$xj${`Ylk$96V7*VG7UdBIK{YX!g9c3Su^u@&kq)(P(i4~HmBkQ6kW!|r|S}z^` ztQr)U;})&UZ8r(gvSQskyIf&;kJaNvUh~zy3v_c-%57Jdin2YP&=&`(dk5|r7JnSh zgMQ*0{^MzE>9f52K1s+Rn=#us7t{uy>}wxbS`vgxXxRxZzUSGz}_qcSNC(u}ef z(~TnKwykA9sS(*_S)<06 z#YamR#APKZ#KXrL@tSbKK*Xr+gnwz?rR$>%Hs?w_Mh2VPrKscANH4lqK8Zji=Xz94h^uemKOkON;PqPImV2dtP1z&B8zaHy$H%RDwzSW zNY3Ho$C>refnBEh1{4P($fQLwENSCaUo(5EPZ3lrC6}!J7I&iB4KIC~mxyVHN+AGp zbC(_SiSc9N*EEDtBD_?ZF%=V)~Y2$TV_J5*VEha_3R}9N zxAnM~3xj^>nEs7#z|OGT;cMuOs(yw~seT~a{{jZj%O}lPd;Opa z=^>CG{TBtCO50p8+JD^ZwYk>}v`Bfg-Jqd&Sip_=zEW#S%0EvW_ik!@eigiGv&Z$H z)=jhCs{!>X!r#k*3&(nkl@`cbTr_UqQc7s{izr~=`Px0EynCt%*$@w#hnHOi72>u< z=tL}WfcvQ=vkD{wJiW`O^+cw(m$s0OP6=YOLv>IOd*BljhJWb-43Da(NoI#oYO+e% z1`YYKsVwF~g|*GD&_qp>y>!f$8Dg3TPcZEAPWIP;e8@%1F@Fb8+0PEytF=-X7%yN_Mu;VluW*02DYlENGMhM_JwWK;XEkU-g&Z2_X}v>I0UVljDkfRP8Gm8P$0ske*mf z(Ul3+risf7Aj-}gg`M1ReJ(4wkx&T6K8t7sd5}AABi(g)d@TKs0r`?YpL_R}!EAo( z-3-T_mw*3lhD`Tb!W(?==D&M7xI#@?vT=_df6LY3<}DuodHi_pxsUh%OfO{F#yjmV zp7$YU%NQ5|7eCY5NrU2pKlsekZ@Ic>>YLQTe*F0T$Av>fv~>+$cBl+(zpDTDW9MOS zPux(w^+tv6mIv;j5kn~K&fz2YTKDMCoqFS9cz?xo9)1XdK|uaAb`viM@BNLB-*G$` z9GT5;x%vL#bFzy5AEhN)di3ep7ytETcd4g&%MF+Q(#yX2^1pk+sLl<>Mjwe;(a= z=nxhc8HXbadYN6&&0J6y52q7K7L7U!zw>7YZzkfncb{Y3$4A-vkK-cR-}23uKPj_u z%jP#!=FQ~AZoCV3@%raK`mew8qH}LK`hRnB9XxEyt2S=cXPZ!>63 z{<+bfOK%ntG%d{^4cF@ayAC0cbhuPybf*evLcHG!u4Mj!bS`DZxc=imf4_WuC0F7>`2b@; zoWJ$X(z~lB2iXH3!m

    ^H#+2W>n;oWiD~&k$KvhqRke% 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