From 46907e3af9850731b2b690812b4cc004f491e41d Mon Sep 17 00:00:00 2001 From: luzhisheng Date: Wed, 1 Jun 2022 18:01:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8C=BF=E4=BA=BA=E5=AD=A6=E7=AC=AC20=E9=A2=98?= =?UTF-8?q?-?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- img/82.png | Bin 0 -> 31556 bytes img/83.png | Bin 0 -> 31215 bytes img/84.png | Bin 0 -> 13505 bytes 猿人学第20题-/readme.md | 41 ++ 猿人学第20题-/案例.js | 986 ++-------------------------------------- 5 files changed, 78 insertions(+), 949 deletions(-) create mode 100644 img/82.png create mode 100644 img/83.png create mode 100644 img/84.png create mode 100644 猿人学第20题-/readme.md diff --git a/img/82.png b/img/82.png new file mode 100644 index 0000000000000000000000000000000000000000..543c5972837e3a994a6b962228d5febc33495580 GIT binary patch literal 31556 zcmZs?19YT8*EO0+GSLJxu{p7A+qP}nPA0Z(+r}j6*tTsux95Go@BaT<_x9@5UH$aa z)m3$>PMz9&pD;NYQ8*Y(7!VK;IB_u{1rQKWMPRuH3Ih1Ls;15cd;@nB5Lbc%KD?le z{s2E?I0>scDcYJix#~L@gP7XbS{qY48afyo+c=upI$eSF@BnY(Hdj(}5_B-ucQUuN z!B;Z3HU?e<0b!tHU^r-Nq+>bE{6j~7m{Np)n3{8#nX}&-hELCYn9@wocJL>JiQ%Xu z{%5}(JO~Irh`12Hl3V8ahP&4M!sqjiD&sipINdNl9aMlHK0cI0ertrJ*~+fMO7Vqf z+5`2Pjrx+Ot+Q`cOZ|EJK~si{_9)6a9jlTOxV+p?yPrnO5J4FFA$ePPe)s|PrBcq> zF`+T(X;VjDlU~ogoky8ZN1e9UcR!w^D)4_ZMcx~lYg-A2%Z_soh&|O>S;8+ivp7Z^ zcCRh`rdbhaZu05r9f_gqYgu7&KET#^K!TLuSP>=H`+l%(n#yL5&b{DJI-^+Y`fF`3 z+Q4Rg+z@m|(e&r`9%wSdeMh(6SaQLGw`)#cqiL6T`WL;s^TcZMy4d~L6k={HfpSG` zHZ4F)Q_yF<;x{(kE~_PUpm<^Z6CKwAsssY9{#$vLl8%|6WN()(B2M`?NfdUF6N%cU7QcS%!}IM!)}D9DG&x{k|?aFHxjrDi#)3xFAH9z>{Y;I$N!LX$MQq9PIM)eWazdr!qnHqKpDC5A&s=tuJlU`9S+m z6|y7E4#kx!m2h9jIDRqgq4$S%iQ@?btfS(*l?BZ&KCg!79GQXL>p^Ateu97>b&mFf zE6tl(z+T})`SP(~+69=MGjG$;+-7PwA3K0s=_rH6DKZd+i?D8 zK!U0pCiEn5#KdU9NE=2ovK`@#8*8#Z$_`SrQxsMy!)N@HuvbZopZ_y_t&dg=sk7h^ zI~s|?Cc=BbQ3(k)kdh(Ua!A9;5=>*-4DAn^C`{Bf`JcKg23!!QvBb5YVI2s0*%N-S z?ulp4v{&3bb>)-{v07uk9cxPy8_s`|YGuz{1v^_QVr-eM{ZB9Y7fe0-lxpxnFYef5 z=cw?@DfIwP5z8~rt;W_oMF@r^LIqr?fDlEJ!r50sXBGJpng3YYa(pO&oSf(5y>@I( z&;=4PyO8Gt+Fqsq+MJ80b7v%-ip8r1CreD=zr&1)7##hd3G}nQmjr40zeOL~|1(1f zQ|tA?j=aY50fC%dJyVraYA>gD`>J)as!;`yv_5p zMjIP(W3i=f28&T#M=KjRzrgvQz3Z~T@2inHR3PbG43NFG=E;anU|%rKKb-N}%g|Y_uFldZ+dE3qxH>;M2>cQRd1egA3bAM zbH5gjmTQ-!HV-c8y2=5Gj(~eCXx{D|*SVTOZS====O>W<7?Qig8;!>9E_Z{}Kz{PxbDNN}`$N%C^UMDWIvX5--3NwaJ~V$VnZ) zP~ovAuEhrP#+OT&blL2WvA`ihCTEw zE+A7e^zn6d$bzgr2*71q(dQCCUP|kO{$3mkp-An5 zJ4r^Yh3&KgY7Xw$;~ie!!#%=En!!zrH`#e*n(uky?&IVcM5`0cUok7!bV7`)l{nM- zi%3U%$jThFBvat{>>%KM-(mB0&BIBB?^OCcg7$9P&ekXd`Eh?VZ^c0y*D%LmQ;`0C z!H?b*VavNQ_PH~b@~I^EqNM=PvAjDNkBakHtcVwvg6M%e5C@wy2EPuEl{^Kd`u(##D>G}9uVjGJ<9-6?#&#!m zmG*be+j9)8LVQ~KDAo9>zy>T@>GKIaR!^h({3-6gOPZ7M7T>=3KioMLg4g*2#y>>5 z@!%7)cP4VC;vxNT0t?>Tc(nv=zoWwqQmw^KB!|Rl0eHH-=)@y>ys0tX7~P&?<04Y} znheMBS;tSzf3v*zo8T?QZ9F?Hs5kFF9=f|i?kfeRUg+%0ADQcVTeK6LQ;- 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

F6o^%fwKu%hLN--4xDCu&`)`&6-1aYgU;~ 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 z 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 literal 0 HcmV?d00001 diff --git a/img/83.png b/img/83.png new file mode 100644 index 0000000000000000000000000000000000000000..0181aa4b85913684b4b65911e8be72f0241d7cac GIT binary patch literal 31215 zcmaI718{9m_$?US*tTt(H@0ot&W&vwH@0otwv!X%#>V6~Z~j$pW~$zXY+>*6544y6XAqyIiiV4@lc}MLrM(@Y zilwdTPbUx%Gb1zeQF{|3`*C(SBhztOG2wA~?s0Z5pe=%siS0P8g@y4bJd~O9q%=_; z8RH)i5FwDHh>(g$_GONzj>_ZLcP`fyEHeq?WuSjUnF4!oJaqYz&(TS8G$W(j<+ZQ+rK&Q69J$tq>()7D!+aBm)vX@6`>dloflIF}A|j%NNZh-v|Ia0;P8^>7 z)3k~qasdMe*iGw3WXH`i{`EYr_3-p`OXZWrd|0q!mrY>jGGq3|(^mIvhP9c?ji~%P zGHC^#^;?Z)EYB42?9|l;0Xw$o6{?ZR`{mOv72%R~ktaA}m3E{Ziyb#U(|CC`%+fe# zGj3}z!x3h5pU}Gm3~Zwajp~#$2%HaA@cXM~XlTeaQYa=NQ^T0f+N+AR5^R)%eE-oC zmPs{6?g4+W01Mvx&X#&*g~xD6b^zVE<^&ud0Pjxb6cLejy1SdQwA3`yQ0l6q?tHn{hP_$R*oWmUzS0V)sq|CT%G)dl;n?t`|7v&((z1)&&C+ib&Qe9 zeEKS{VcU>pS~;^CuBG}5e%5-(AjpI=iSW`^r5Rg-}Cl^b8Ea9;+=b z<2v1pi*HHyi|X^lZ-xQ|#nZN5-DI-L!GUpD1YE$k9ijHwy-t@U$2?HEQ{*&sN_&9N zS=pqQZ?HOaxRJ*S7dUfG1SS|D~E%+LkOJU~>KKOXSVEYu(EVd^i)i zf>jkY4NX~9X&`2Co|Ara!kP+2yTzF=T95q$f{L$C19qW4Xg zM?Wm?I*M{dohbo71+RD*!{ znOsW&yuCx24E$*#A}~6OWZ{b>s`1TV3~sbuS-o#zC*@2)Zw7hp$Mj!_qDpw`-Zlv| zI3}W8fyk?u0BSP!o~2aU>5L92s+pUmc5F`II~<*RE!ZT9hGvG4;BGH7f8){ua9NV9 z%%*W*nPDV=%8n=6jdd7U`b_#D#rViiCNdD|Q^y?e*kJTGY2~iD#CN7SV{ zVmu6Z@X33cB1BQ}JXIRQ=hgZ5Bnpz{ch;uUIk10K%$PmzT8Ye>tdPg{oWjXkIjMfM z`GRO`$>u|g*&mFyh8eG&ze@RP@MNkhca*5gS+N1N@|SRG$eNn~h~T~N?F)datTq5W zJn2g!RTYtUkkF*QCL|!5zIM%GNH5m zld+AS!XC`s8F3$;H@mV^G6NfBmUPSV$mz=?LNHz^OuTH|bt0V4CSo}`G=aoSH(IGo z)C>p$hO?x2MsY4=S8^kzAm+v5Uc>SkAd(Xyb3FWpO~}~TWAtJ-3w9uHY`BOvQ9^@%#ksT8YbNF$+8<&=N<~WNbpAUy&Tb-HBUAnPo)YYt=C#adyO396#er*eU}r zU*t4>5j>_QY&yQbyk+ztwMRR zo3ctFitlpmvAGJs1zARyyap(SM(iyzIwFz@iw$9zSx7bV|9G2jvap)i=f@}(sI}G)hap`@RLYf~Q#JL53SlZ+T_YnF) zH*Xn@?=97y>KQ{4A}aT#PM^Z)2`Lw@nnIdtwqj8A=`DrE&9NY-?fx=y(1Q}^SE<= zP%!b36;mArE4gXjl$P*@;xNBcQ+{UD9P{(N)9Kb|)Y@sl%LxPoQ3 zV?;!GSq;JE_wWx41Of627lCzg9voT%1FBY=><4}C+;R(mNc&+PaRQ%UeZTItAL{Ji z+UnBV%QK63Oioq-f`)rb6LzIko8i+XE7Gb7Q}~?L9a>4G#(70wNLP75ceK1x}82!lQxq?&)&bxUO&0DMrXg zvSAP)1WB3u<`gEXwOixI0TQH2U-wsXQ&V(hRdWh@dcb{KrMY6dq)nS&8SU2Y&F=qp zrm{F%7dJL;Sn z8EX3cC$W|LxFc!Pp^CTwGH+$_&Y-FCXnB5JQqv%XpmKA$?c^TOm2B=jYEewk!((6@V z@CFD_(N)MMg5GK%P&MlM_+-_-GyZMqx7(0N5N;QjxqF~>c_G?H+1uEN%_Pm_K?L5 z5a!8ET3gdU$9bu&sCc;@4X1A>kd}@j?}dT3Tc}Ly;uioWMTYA38mFRcTQ}R98EXCp z`m0}``2D<*m7bNQtf?5WTQ*OL8mTs@KRbCOuzNkUK8ywm3R+QFiN$6HJ40WiBO?RY z3-~P3>zVp_r5#gd0RrGTT61PeX;l|DChg&De_%_W1b*;kx^82jsX zZ!b-&U5ewYlhtSaWSa6%Y)5~6>TX7FW)v0c9pBG>$;v&c0#Vb@aNQ45jR>&qw>U;d zMRBztFvsJSWway*iDWIIRGGON@D&z#KkQ9atl*efZN3-E z%g=koN<3ex6A%=AGAJ4+s|z@BDChWW@2a zqhj*XDrS;uTt&6HTlp!y{%~w&rl6oCE?BqE+iyGMNMU{FpP2Mb9P2I#UBR4 z_uyu~P9bcwCD)*2_>=>9%rsz1V>U>qJQ+K->o2yH5Wm9;iD zA4X4qpe-zFGL{q-cmGsKKfWp@5r-e0tR&CV_wT7g}ye;3`v7gn-yH7e9c z-@euzqIKovR8R1+;loC(rr3Wo851;}j|=FP?g7duOiZeb3w|!vX=pDfj_PdfHK?fr z0|Rf^qdx%C?#=bHBVx7Np&c3+$kuM1IN#hiGCu5>)2%M4D8SBW=K=>P>AGe_sf#hb zL6MDzAyX#8^|{xy35G9SzS#;F>(b)?)4#0=iQU8O< zyOsnD`o>})IQf)PQ){Z?OvVl!H{Pgu>6J7zxQl%2L%A@2nBL=p3cfrH_(Yz_Z#xL3 zp6^|zfW*rnMNIx&5KsO#$>^-PtZ3as@wdT_{LzKD8ZUvw6d|p#x*!So%4sL z4(7!Pe#orK_u9(P5UKae>-Mh;r^<=w-8M!H&h~x#%V+CW3%+)0e@6E^*ZNVaEBv$4 zlwDYH3YjAl(}xRDqW-~w$JAodtvp|dqC5%gkdg1=cj#B^?wn|> zMDpbL_|WKRer=6d;XI?)rH0qTsgR-}k%0K;knr>SG1xWDRiuu&Y(p>351n>eMW-IKq!viMosB;Q^0JH z2LnQZEQp^R{waIA0C8rU{W@(G8X@6LA7OZQpO4{M-RQqoC=fqnd?$ATQdZ6Xk}mD9 zCfolKIX`&VU^wxgoUDTd;ql^xxUKT1a~r*17w!L$)3tBz)t_6p@NwMuX3g`}sIh`s{^04zpxku4q54Fi=Mq5r9`d;0@$028z_V%~Tf#P!4 zMafov)FHXnY}1{VlNxM~UPAKq-4<3S_uf&)ej5!ZB?TWX6S#2GIt_-x4KFM-(Ac)K zB+oXu<-^@(sWY2u5i)%EAl%~V__UIg9m+Wo3vGL1fGtt1GC5DMmMneoJ*!HU>h0oC&XfW&%R5jGJO$;Y_^5Oj*YQRE3b zs~0O#{r!vY;pK&h-BIh?dKXKqK0{=&44Vv1hgDiwe&}^PMLD zpJH;m^=F292kjul@m#OmZTWI8??v#qo|SY}k;bd5>ELa!_&wf7w7|bl17f+tL-L{? zl=qswCN$%&3=w+LnpbL(vI%?dBlO29mqa_hxIOS@W6el5S`8VH)gb@O^$drV?b0LI z07I82i!tw#HSv4z=k%#-$NtrP=l6!mo^OXGF$Rm$+T$~;x53S9Yi~E}Y0ip1tYPlU zW|T`@WlecEo~e1}ACC2@MCDTy`|q`DZG6~l{@#SZ483Eh#ca&o;Hu|_>{Xu(SgOQFqm~t{&qkKP! z&pLYdkDzZ2|msKt! z-R7T?ynlVd$UYNa0I!xZnh!{lc9Witi69EjMxVqW=r%+h#3At*piq#ICXY|p^HfsO zrDK-J3{$s*(|Rkc)6)9&#EkKI!dzvuenWx&f*|Ni&^mn3U11UH&)?`sj6CtnyQF!* z5@iwZdLA(zEqS$Yrn_Auk)qP;YJ1Xs`c^)@JCE4@zN}f&a|2>_ufq(U`?*MKFYEXB($edi zfJsWSvb)H5%}gS9HzBo({+(f{_7JwaKyRl9LQ&bFl{5`bTWl76ZjeK@+pW3GO6n0h zqCVE>Jg&ubW^*bWc+xyem8@}iUCBAe8`sI>ZqY1Br~5%|;0Av7vAf3c)+gg}=R=2? zX(6)u{(Qya$%Z&Qv5Vt64{?d`oqM`lj(`QQ-*RS$2S?jW!*9D)u?Y_~J$Uk}o+bxl_}5 zfmi-gYHD+xK3;pq@@CS-6@%4r1KPF<8;TZ_QwFB2-XJ`ZmMd1rU#D}P#|N#sAhp_G zR$t;^rtPoE8S97Ds|h_6z>T9_o?CLUZ&EQj;{<Z)I}!%dm*l&!6t&PlY_ zO>Svf^gjcaM@&t!;mrnD#=P*~)cy;C|MM64@j)uM(Ag+%x{HZVU?t zhsE`rG&&~c^}5ps0MNNm;I(x`QsuK{L{Yp4!Ok*NJFz}nMzy@-s{iurk+D4__KI(M zTwbY=V_XgaC^89ozO>6v?6Uv!WQtldEisd|wE>lO>6XCSx*b2DyP`i4a?&PkJ$dz%z^N zorO|3@Vn!iy@}7#8FI5Fw$7H&{jb~{L{tV6*0{N??F>1{G#eVWHO?hj-U7(e)0%~9 zwuQ^&uT>{10=tlE$OUbba&*r;(Uej#y9@tp)CnM*Kh~tL<0h_&W1rVfgy&(^#i3nQ z2Tz00TO8bg8mVHXpJGCOJ{|@q5VLW3jRLc0A|J9zo9xqIyIfrpRIsQ7CYv9( z-3Sme>Zi}mvkk!Qd^uTF>u|0$Lwb)Z2W_$2u_c};fzlz19p2ps{w(H6fS!7uu+g~! zX^mbC4MkY)+i?n$5;TG@X_RWywS7}u`nL;+)2?K6Yl{C?1{O+k^6+r{;tq^nrab=> zXPRkzk!q5!YGC7ke;T?un0Aqfjt8(Y~J+07^XS+*7O zV3gWt(-G1?q{!AIvp1q&)|~S(l}%KRMObis!v%-!@!s@-1>)q(fa(wgmXWo1B&7MK z#ePfPsJ~g0do#E|gb9QR;lNDD5nz({^%C6#{i5Cp=}mGn%6W@t3bHj76_IUi9t(>s z*KOu#wjewl`1{jr1dZ-`SXiYf5*1}QWyNH^o12#!PsBp{v!gNv!bxc}8Q-KRY8d*t zQ~94~VBKvw-89XBT<h z8GW%wekUSX&AeD&wO?5$$;d;Y(10q6A$@7p2lT(2YfmNACYOeXc7FnQHiu1g;pdSg z%WQpfQI^sh7PZ&r{-LRTT=Z5US}J@tgu(5S=h@mncq9+p3g@Bzjt>q7)$toAN`6w;(5iG(Fdsg&#M@h(mhq z8$Zzp7XVOfUMRcDH}&v`&-9O(-P`a+pWPfVB_~>K)@+66-gKuBt;ZmD2SS5nt%r=X zMOJ+caDBoEV>i4Y4nM)JA)bB9 z$zD16KUU(xf7Lp-p^P^3Sx9*68J;Y@f_+}$H1JGTpVMo^nm#-8Q%n zG_sDl?mw0ExIZ_Kfsl~U0ptHz3np{|$qCz5Dfy=pTKM9Na|gt9S_@|PN`wAvV3jX; zv6bZL1Qebe{bEF3Y`u!?*L|Ib#O|lr7w?F_rh%oXn=ZBykRyUSTVRKov*b+v1tWG~ zK~dQ8LVZh6OTmsM7(EOyjZQxfD2A2MYVqmV1T`1ee-SSAi)5@YHXD}F2v8R>&8Jk_#yc=H(47+`+!Gh8X z?4vkV28dRiMI!@?C7~$O+m_@UwrI(nJO{Sg{B3YalE#Vu!oZwGx1XQ>N#6)6BdOP# z=nQpLybj+Tw%_Q4ZZ}hcY2hRZ2Y0MfXnxmuN+8%53N^j5MnmyBhyfY3U|8=#(n!Ic z>7nJ3`Y9cBk;d2I!)1X}?nM3-HF{t{R`Rx@y5I)kd@X|?-hG3hr^;jA5wKABua1WE z)9$(n&gS;T0+gQ~PW(Z@c0URZ!^*dfcX&17Cs6oYi<8cksnG!4xMpZ|{+;CowY z>{X|N?#)PrLwUfEx)9{OV52SbQ<0k%y=x>oMOm?WJxa?YQU*gF5XM7A2{xHA>2a6h ziAo1Yu1+yxHa{8d5PclhoTZpDq40pj5q^F%ER#u2;(L*WE4yd_uuyL-Km^i~LYYPO za@waIRMsrf_{+P z8x-GaJl8pEazHbA+lDK0nF6n0L{?4|JhijQ_~~i@)Tqx+c5f7lg?e7o{Q!t(0PN`3qjHfMScw}A-nuUA%5=FLxx4x_)@l_eb3Tk>w##ZK> zslhXYFI4<#d((IXIlcofS5}yA_yu@z7Sb^cp7meMYzo+)pvC?v&Mvi?Gc;?#iYOn zO@K7WU6I?UgQyy*zqMJ7eZ2pga1|U7LS7uXTT{?Bss#jWONdpaM=I+p7g;Eb;vG({ z{43YblsAbyTyVdAt`}Cx7Q0-T9->&`XUnNkYaLqS-4CF&qgcg`TDIqY=t!-cYSx4o ziG}s@WRh~{F$v{nRWJBKsiY=5ipP{Yi223&N4p?$!GLQC?d*s^q4~~Rgx*JSYl8R~e6ExM+6TCpM33Y~SG{OM zhZzCP`Pu>9D*-RH1zSqCgqd#*LRuKEBKHaTX;@Qg)AL%)Emgvv)M3&JGiX$Dj5j$< z>w^)RCJ&U2uyDMV=}#<;QU+#C?vaO%ZlDqEF_-}go{UP5Jd7in=j?#ATPlfwC1yk0 zrwcYEIg1CMfDUcmh8e8!u5R?~5nJ$ZD}F~>3SB$|G2J;q3nF%gT>IFsI1W9-%S+bZ zEvp?Ip*0$)z4Bupw9(|fQ%e|T1z!7EC9}f{5m_82c5+q+Ad}vyNSt7lGsL$4>nr)a9jRmi!e(1Rv$0HI+H^sEu+GzO0Zl75TQBBCj+ZV~Jj zWC&K}Qk-HUPXw)Qt9GM7akC1kblMvtd-y&sh`Byb3_tB09;s^JxeV<2rtAc|=0S%G z^@zaLu@SdFW_dmmyRfdJyxu7Qfk38Cd_@d*nwGN7wkRRWa0#`3f zT;@PNC|Y_YG6FQul;8AWK zr-;u5X>5&*FuFi+$6sa<=>BzfKNR#(aOL|`^PM`+CT7wL?HfRMu+|ihJ79CblGJ08 z9I0&S4r5}j^z5x;Nbn}fd6MNxQat{qAMv@wriOfDO++YGE?&*&$Cj(PG{k*plhx*4 zLMWZEP{L`iI8xko{226eve-785sz}ze&hh}6zn__%$3tR{k0UrJ(rdT9e13XLf1V6 zbW~P|QugE%V=mllwqMZ$xZcuT?AgGiA=uisi^txvz-biXf8dBFw{rh28>5yadi=WK zw!nVZr%^7F;F%gVex#5gdN4lnTV<*lRNv|06JhP!mvKA=KiZ1~C@a=w$wVBv<%}e@ z#wUy<-x5<+b2uISNGW>T!oJ8cf$m>DpVnlM*26ke5!qH_F#>lEd}pP*l4YlJbe;AG zvoLI&<3nNa#_#+>snSB~ThxdMvQsLeR~2O8RKDntQxNLfUox3gB);292g*WBo?Obi zT7qX422K~jOLM>C)G-W@+B1U8tq7Dt;Jf+L0H7F@)nLfJgk0{la(3iHW@lv!=L#YJ z$eu&t+XN5f8`Jl%15f>a*|K-3Te}h_DEj!)@XUaY7@x+)p2yZSDQe1jnsObL!Y^Dr z!o9@#Bo&VK+xAOT!1pXV$j2ziX!|Q4>-}B~;JKVn?%)fV^%l6aiDm>6VJ2BRGs^P^ z*zzb;WsCOJkexObO2$qK=hvnvDwE+yl^(FqAzLB{5(hO&z?RwmUbHN;AAhL^iy46| zmpmMvk#)d6o2VZ9m$`&Ffx@7mu1+}(Pp;MutS+x@vA|fZ68X&mW5!1#BWg zHqZ8J(}k2|C0eBSLbiu9B_!Zo=CAjwE4V%aaf_nuj7Jj!x;hD$YxjQo*b=Jct*YJU ziqvs)0tB)#*7ET1<3Ncz1_yGxlbzU#8*{w)K`BK2yA!n>Xs^)nj-CE0%2-t+!!r&s zE`eES8uHmZ0d|djSy3;=56-k5$`!2K<#o>0jERbU4NYf>((3ml|L}36;~}~4CtCs< z&6k_`^|>w60P&6Khi<{E;r4Ucg}^npls)R8E&K08u65#RUTG)Wxbim-)(Zdf2S@)c z6+xRQ?K!76^Iy&m>VH-Ide@Er}l9@V3K`+JC8NY8D_W-ygL$issW0 zzKV4!X5|aV!HNp-AV$<*nnxs^l+x<2BOZ*$!-;giky~N#pzbgMR^gJcjGsXmA0aJ%5t|e$al1v-?Xlh{pR9B%xM6&n!a$WozdP;=HZWAG7mUlqaBd z8&}IMKnV}?^N8-4V`oTwV6z4^Am))5)(%pM25LUT%qf5sDwCX!7vmhach) zRCAF?5yOuN|IAc)kAg-Hu8qKqq;@F2i z9CJW!T`h=&suUEm^3)#pT#6kW@0^-mTm{DDKoJ{D+k7+#9rS4yCwc|p>!WNR$i|LF+VlU*w9w|CH${#^97tj{*9~*`!<>y{n#l9N92}h`j zWKAs0^g%@?k*t0&8{;JtGwPc|7bn0FxdI4T>VUMqc^;a;8w3`{Sr67BIJ@h7ZZWZQ z{5ClcUkrreR3T4T_IP!v$1HC<_QYcK!a(IWc5tZ|p=KG7ctsT!(=3RzzJ$)&1DwoM zk2TV5EZOP9Z;S`o{SMn+&d#>>{dxk_OINfO7#>v+KRa^pUDM$qC2`^?#ZB9Le=B_%%j;l_0aW)Fp@DY$U;=C->MfW8 zgfFxXVZ!}<;1b5kny=S*LEPwSu^^su>4sK27|y%3xy+lRDFnW;&+M^Pko1w=+MX&I z)R>81O!3R{)J>kxR$t0yog5??+f$%KzTQ#4q<7664W>EUm0equSXM0d13L^UDmBg_ z+Vy+;`i;3^FU6RRwt1sXjVPx{F4oXzays5Y+&5VfC=h#jBA6yQ7(1KND;6rtSSBy@ z#T4!B#kv^LMYk~r;{wNN!RHd1|M_v&dS?LH!yTpkDyunSuQpXJaa?o(2JXB<+?FDK zTI`0)fhWdzd)IKP7LDnLY|OvM{D>wK<8xKfl_z1*6~P2V9-}7$to0j2AM2FTr46b4ty7j^# zS;Rr;14we3sOHG$es^gW+16yWio zO-Dn`Z`D{4h(>G|Ok|AV@2$nt@_z^3KX9y}d-)4PxYb*x5U}fZGs(!40blT&iJt<; z64(}hq=-9yV9@-{Uh0j4Lu%9hACa};bC~2G)`Yoc=UnK^G))FGT|CBDPuPoGwn0@a z&v-;|ODfYB-YRcu|q?yDj^DB?4uTk@3XDJ-m_ zYV|0TL(W%GykEzWnC%)L)YL>!JBZ}J>aC0XK)9QrBUGq|7Z*Y0`hKPxIYm{$f* zq&P!rv4Ixo7<~>(4*+Zt|yQOZ0KARO9`i&FwypYnBPnd4T5OYtEB3 z*qn%ir1>QxrRLoY{aWt;`0{N_AKy1(oLtQnsrF8t)hmzCe)^QA-C7|OxhvfOff4eOg01eesdu)$4+e z`9fZ)=wVP8b$Ub?E7@}YCIHf`>TysTUrs~ws=5QAzx#u^)ZUF3AyVwc$k`F$o!)W| zS#k`)`E_X(WBBWHYumgm#=BO6$i@#^L&p60szAS2qT|}$qkW+Eiq4DbN67nM74W^i ztK`%jqo+%(waw=<4`^gEn3XBPAJN`yMrUG1%6#k3O776%y1T{#LxlX_+>vBaf&@TI zHUdr8i%nlLoUMw)uZx%%<~Z4Yu2s`{m6+-Tw-ceIAivK+RbGO@Er43SGBm=Q(2k z*2^4Bezm_ZT-OOiXLp)p@EwQwj_wc80NdUO)1UkiR_`WQ{T;e|&Q8s9H`NbbuTHC0t4 z?2fdB1?{O!wxBQqH+unO|0IkZJ`_%GO3-RO;g9bD9Owjzh;K-!`9D2mU*rmzf@9-0 zI$d2^9h}v9vM-V90?^{`FFHG)w8_FeyXFzIIb)HrfI(OK8uaDm&2TMeWLKGH}J%CvNOysSLtKc2agbZU0C;{da|+S&*~-FXZmf=u=b` zSF!Ubg(J%`b+r8Mj5w*n->Sr;Q(#__Lkh*f=JsN*e-4S~3xor^5_rs)ltEIo>{{Jy zCwUP`()`s*2aoG-U*0>6OI8b#B;tP*vu2sbLZ)U5Y9Sj+Yk{&ppF?*WdLQ%2SxK4c zcr{c-6?F%xD9Q?Dln4-(4A@o-e)G|W4P#;`6X|$im;{SRbX5R{P51{mDfCuJ)j>5| zr9^LAjb_Z1TXKGfXKAMokZNY=vc@AfX>%@ANCa+mN0}aFbFnGirMkGC+2d2kv`RB7 zoAY|4T}38THDQWG)PCYz$Zh5>8h{^}HG|s~d1Pe7`+1w+$*IPb z@^4F9c*S4#^kq6Pdz(7c1UtLaSzjKoB$OOYOV8@MaQwSe@+! z1mg11|J3@l>6aVB(3Gu#uhf+g^uKQ>L&a;zOkf!6KG2(1HZU}x14 zDp9<11ry37t*(M{(5C(|-E4^;CJo$@0AF`5#K*xEC1E`^$9KbD*Eo1i{~40*Pi6<# z*3#$ZVqtKBGMGfvDKmJ-@u8Tv$lv#MC^R;}28cjvqwlj4y&P|N`iA9j^ zc$6FH)o9byt6abRt6{#DKaTC z6QLM!0-+^8digU+TQ~!9(u$Tz07MAKnhxv0(cP9^ED@n?;C zzF$&JV?Mb@-LET@qAIz+V8i=B-rknkKnUkw@{pR>&mPgA>t(jZyY~!3B^$Hbceuw{@AU0 zzb2s*z?T{RtlijxY&?m5pEdq?s|q?YgR$p|julGKl5!AE3!z>|!kR1j&9x)2WhJ@S zv9P_C#Zt5=Gg{5KgrJ#Jj*}crXo#qqwtTv|(B{2cZXtyjyr*_T6q3CI;Rr%FTsJ2R zIX@?Lj^SGmUv}W(NhDuW;W}+0wR)qljNq{LwbvZ#EMqimF2?I9swlbY!`5PTn{7#V zz^=5y{H}cQ?ey^t0^UfiK{-%#-vb;U@B%rlF7TqCQQ8Q$-udtWhc7qU0>tQDGy8TO zj^O@7CunZ`Ir4M6Jw%<2TNT%VM;>auOL2=A{Qp=39H2gu30GOVzMg!q$Jxikgf-q) zC=rX&gTH=CCy9B?XzN+<{$M%<$lE20Eo zKvuDTQLH^!oj~Dg>>og5z~lFDfIukV4`b9qgFK7xxj)qGa3P;Kf_2|Q-{Et+yv|?l zc;w;qd?4F|G8|T?O(PZ-pB@;pdvA)eV1s2k1|8b>I`qaMdI%!5kfQ##N#K1!dHC5o zfL((K0seDv{{Qw6|8pQG@4hZ;;vr|!0d?127@rXQGo_EtZ}9j~HxOJa5nXgx`d^vV9wS!6wvis>lIyD4MD_z@ch+U8GL znMpYGNtAp=5xY4n2xnGF&pK%s@GCm~Jf@gR#WW11* zU*4$D*1C8iC3J6l8A? zrA$m2eUH>}e@-?}w%lTVFnL?eCxkIU`_OHlU&6W#6vFVOdj_6?)LlnPwzLJqwA(2k zY;H=UgERZEV3M?z1>*@eU(&AVHxLNBj77_c9@jWQkDx{}eAF;b24DUB(BeSjr9QS! z@8$f}q|l~B3d^lNFSl?LRGrCsKRN~yQkMAu0pI`^^Bk6=85L^`j zhB3#ZB)7l#OPME`?y|?%h9_?)V2P>GPCrqNS6=cy|Ec|+IZ?8m$0+Q`K!#VwLR-UF z9$CJO`%#tm*vzW3Bdw@RKgg{7Fe-vwRZs)ncyViotbDMKyyl&9;suCmauw<8xLx*DX^Mc=<^BB zQ2aH6mebbJx?U;qKeBVGS%+)NRQJ5e8?Bi{QaJYnO046t4t{GSo5Z_ppWn384^0v^ z%uCZgW{eu64=1;lu&NnjGOGl3ywWCamaLiOMYsQWq5gOIH zyb#k#!V#G~?S!7yf`X=hHc(|?;4F1K00f|*@vj4HD8t;qKLa{%mk(vE(@}(ty+q$70ud}0H*U@$;YmuP-Kun zfRgZ_pdgSS7G{>{&o2Xip@b+)+sps^=s9=ptM|-nHrM@MXa1k_=cU)emKFG{qR3M| zi{b^GUBU7k0HQMtVZapTTef%56wK&4!98r4)$X6tOrd{rec4JcG;$4OGJu-&;T~hQ z6Wh-78*9_~!p(2AjEa2`F`eGhD;H#_`y|G-$zikI<(q%Ms&>e$X|z{IF_@44sz6)Y zXLTv^)qUxi-fUVq#@|0)Oo=X9%lN^!mh|0uUSsxBy7+aWTisV|wgQpW{edCuJ${;uIm z;m7{iEN(OxCt{}o*vS`vZ#j4;i&F__CAs{M7l1L4$dv)SPkh>yqXUQe;@*nCcGSdq zv^fg3;i`F!EB$?hYJBSfg~)NW=J!SD_hJx}{dNR@$^P$c+2Zn3g5mfG>@IF9$BG5z zHgl494ike^@CCLxiT;Da^eRCyk6DOl->IIgo+{|UGIBlh_FVsL%TfP(Apk-AW_KU~LDKpkUC%_aiv==Fa%wP94%3-)jXnV>Me5L6!? z`w5ougp?+UsP7n1P#r&-+VrcIt3UGUS7NQ0kw32$EfW*YMoY`QruA?epcxUINJ)R> z7vvny7Da)E4$u-$5Zu=tVY}aFBY#ucSPZYEg|wDQylk}Z<;@oG*+LY0xSWObYzLbU z2pu1g_c@$`jZ~n~bikPsk=%)L2=wvK6ye+up!|HFH*kse5ljfUETu!_^#ea%B}`U` z{XRV=@57GLDk0ai=z(O*+)s7WGq?7$hcSWm29G~0`Z&hc_;WQFC*x%uQ!sm&*;IMO zisUIePUTNk8k?29dR72dLjXpBq4|4a;Bc}kkAK{TRU^FYjRzY-&Af-IEXNYGmdrBx zy&BQ}nTh1<5J!$;rxU{NmeG}rz=A;^4$vHsp;o_=v-#Y<=6(wkDPo*wbM*r)@s33X z0?zY*GAwqA@_SaN_a4DdsTVXfD$INwf$(9gy=jHF%AKR#N-7!vf~FbgF$6uQqx?B? z5_Uqnl>qICS4I`AblKO=M8caPT6(SRhtwB-HZuy!y9AbR?8E##34S|0!%9bF@Q8h5 z84|ayohsb#kw!)JN&OR4w>alxdL&2^ZFU8b-^o^jJ#Su z#bqPQYQ;G6;@SSNTb%C?uL#+lRj&lXMw^2a$-Xkj$GFcTnZ2#UF?+gxj!q^vckdQ`*YY9(wNq3;^kvrP2x7E zL)J$x{Za^As)+Fx>ZOJ$SW638L};OjYlYdn@(ZwKt+n}<9BMI-Aqo-ThOj@G{anFV zI37#s_b3VQ&Bwi!zKcrY9Vs+o4f2QcB~soatv42nR71?!H(jld>|d!#Xz-$587Vua zzrb&crr>XgOR9?2Lr;X6W*&`w_rK@_cKnuOHp5=Q^&02;V}+cMNG-N7L0H+EIi|5I zWK4okh7tNTVOyA1aq^M*d8NSga;#4s8s~19w|tu5;4I1ERZpFy}uwyzagj!Vk1zU zj?Z(>0Kq7qfiw8@I@Ocw2Ayi^JjU%~FypKu=BpJPQk(E3c=%A-!_4#;Z*o#JE+?ao z2`O~=#gfc#8c3~1JdGX^Mf2ae<#FTogpew{M@@eHF_iu$V+kI06{0w=vKR)8xTUml$lO|M4s{q^kmDWql|qRi)cC{Ln{Wv0Lv zj%mf2ehsp)6WQ95xFV658gLMeR7kH{e8yFOt6ga@wHJuYLl|C`YjWcOir8h+G#EF1 zn;~2dc?`njkv*)X#=$2D*x!1kV(!q=tt3%X_4W9YLj^4G=@D!$(;y4gNE=b1+j7^207S2~!PN9ar zH}!v}Ek990Y24wpu}~XPq?a_S4_9&LBxQ|<+PH}5AS6)}wPRCUX3o=&p4T5~(FvR> z6}~)dS#HG#21Ay~1ItCCdXhYoR-1x$Z1}0?<=_DihvL~?BVM@!=-m-B>m@gR8VI@K zOmbCa%a_5p9NsKVUux>ylt>kO_B<>neJ=TgQqhsBc$Z)~Ju+p?r(Rx{C@wFD$EK7$ z8{>Pe^8u#SvgKoAXAr-uD%VMe(`gi%klB>w58q^-eJ~rz0YE=DvPyfFe*naA4pV8%%(Lt@b?oEV^ws#B52i&(*?Y-=rt?%hltrh z&VuAwTLpLFUz1&eFsQ;h_ZgELT`pi& z34~7-rq^lj>3&gL1@}oGgc<{ytciNn+Gom#98g!c`dRX2Du&ia(36ug4E>1h)iniH zuroFu@HA~`R35IuBQU0jvY*4drjkw`t~_YI)6(7<6fyjT)mSDlCU#l&ojEEMOqZN} zj693clR^_7zK8gg>|rl&ou7qEwd*Bx)AyT0>K=+9OvX|uUyMZX`|4{$S$)l0 zTl|A^a`s$o_ zT`Rf&(p6hs?qUd2j{Q2@Q!$C0eBw{K*>0{vGT!t(_{MYFs!wnz!aOw3JDo$Vp;NbvM>kl@*JnC4`Gn{pS*xkQuo z0f%t4c}<=Sg~mY##;d9xE52>=9w8d;QS8M6QNup6&%=bkaMN$$A;jO-LaNoab2AMk z>UB!Xud;3<5XVEGo8MC09tlwcD|UKRh>5KxNg_br5f7FC_64Y4m6YY|LDeUK2cgkw zTB3JX5SK2msDblAU8*7t@;cu+z@;;2A;olHk_CFNui&=Ba;X0Jtx63UL68SIUX%*& zUWWVMOSfs5sT{ZXw5dnx>D+np^7>$_XMBH#_8`-uQ!XVg{!~_Sv5L|E4l2|^W%7a^ z8=Q^!OTp%&xzU!6?v16#1Y@Z+6cpmVQIeYA5yYL6P1;#89lNx{N5Cw%Ijha6>LC6oEB>UircwDDn`~PM ztL3VLdZRNSbwEuS$*9QTuKR@77fI#2q`Zcg%TdD@U2Tolq&6w^#u-={Gc4-OEp?$| z68PNI!9?e!MjQ+m9G1X0;BLgOBK_eV=-Tx)*rVYxs$t)_9LYE`SSw&n*wSdm<`(@& zm@myf-!=j1&v>k?sw}6p>zx_Z@Aq;F zB5APNZDJBZS>-_8hZ3=z6OTiO%2PlWQA7#hQh?(9=RgUQ{@0I9PZTJT7Te6p9Q%hP z9}$!gA;642=D$DnU)%6&hh16!*`F#jyko@hv^czhJ-$N(4oxXn?Ub z5E6F#WaS;9wQ9k3-7p<5X)5w4+qAb1(5B!QQEJf4k1K)#lxi%cq)r`!|MG>DgCnHB zf8zL|N)JIh-~5!C-EqYeER_@$%Ecit@kZX0Joq{gxbJ`Gt}4f<{0iM(FU9(`gZj+* z*8b23)F+;$irge<=>+0#q~N@So4ujkv$Y4R1XWZn<CxFTxHQQM|;8%j3hig+l zeG>{BQ%os169#7L&cRvKIhE=^m#-PsUSVFJ-rui)14!n->Hp^Sgk0 z834VJj>dpS%cP2kWepny^X2=n0NuC-mP1Me2{l|Vqa!*bGI#snp_xn362IuM`9YmV zn7pcZ@2?vQFw!|wWiwPrgsB7$(Y`Sh2)y9Re6<}*2NOg`1q%-#Z0nv zYj*_#4S3SCSH<)J*1xtqlYd#R$7C^E2;b7ymXPL=2wts1Nx-WUaFsKJQVfCppvI4( z-WyMDJPrEibPFUHdFxl?b#%UZdcITL9kAfXVPRyTJrehKZ?aMFLISaDv|Q{c2F(c*nSh z&xZdGG`Vm)Nl>4mg=K)yq$XoY472Id6z)zUQ&*QhuE1;jVu`B8U!{|% z75C!XSEKK91pr3avCbPRhA!+hRuozK17Qt6_!8W? z#cvm;P`=({ddY&X?tzxI5aTng_1C4i^1ET+bH1%zad$oYKp^j|TX`_!xw?|;G1wu4Vae)`Z7(PaX}1dlOxJWd6hZH;1$+^ScN9G4}+wAJnU3(G1n53Z!Qx zjQgo6o4J$+A`Z(q5v zbZT6yyMS`A>m#PmcG?$Dffp)vjR9h({QmHEul0@cJ4~pZZmFoYivQxp`Sxvd?P~uG z?ZZrWS=G`=`MFVd&3S3smj8T>$Ra&+%p%3198DQ|?;#4yM3|o$Dtz0Rep`Lj*v-sL zd1Eps=7KRP<@e2r0CD&2gXI{#qw`e+dj1$4oWJ-)(>_NAc>llv7o3Cd+v83!@@9ek zmSDF85kB?FRPG<5{SrSBiGtdug!fPR{emjBmB&7;I)qv4>QuTm?8qz%8^F!^<@}CJ;DI>7r#7DH zkA9;>)J&Y{B64{A*5}u!cE~1K8?DCoq}ot~iuCeb=I4_HWIqF<>!{ElzX@d8b7VHl zcM9fR;zsjc2d&_OuD7aIE`K=PvdYRavzo~=fF>>*4@4%vKbuggl}tVpwpTcP^?seJ zeUm-pF<|oE=gCSW-o49d__75=B)KVZhULwiQw5HF30ho$VA33I8QXx3Lmdy$3TvaVK8{dLKw)Z0ysEjQm|#Ne!oH+#kUb7t672J;eE$1 zU7@P|e2aPHX-tGPuY0`TyNG?AfA{5&$|;wXS(~Y$`r8^KGUrW^wdTFOPar-uJ+e+o zFRc3mW{gxZ*`?@7fLx^s@<`F-ctb=kuNs49TU`X4@G5d}N;}56WMq9wVytXVsCicp zTIAV&wmdn|*S8%FE#Lg@k+4cue8mEC4z?7(qqxe}(KU0*IaX@sCg#<4!NOo~LqNCG zj{8?Qb*1r|izIp!Ns@1J6|zDW6> zrz2k1li8D}$zae^Z@cFLd=K5?1EpEG=IG;Ug#SE^b&s$UWz1Ux5RIi!&aa}%Z4m3T z-_mS!@7m!(1yejq*9o-9%ip=VyTzlw`Q+AD77QPB!ID_Q*ia(R8and{iDL&LVPPnE zc%sI;=J#H{XR7g~>8~U5dTvC2&7`5g3H7#3`PDX`Q|j19Yy=_eV5Qc@AE8B1G8Xew zGFNP<1pNqM#3=WMVh5I*&lD(%$ZT?xCO)rl^9Pko7cFo($Knw|bwUyp))^D#Xz1ME zS=4X)(M?V^_*#->v`039&?hiph;8hY`QCJ(i*`pZsNimYUkBBl{0q=6v#%H^sQ6DR z3{}b!C>d}s?goa-BvOH`um2TeH)X?R!wmqm%7={`_mCCG!v#4YHqZ>GPngfn&W?pOY<-LwRB30**V=sk zM}SKAhEH|@)l;#J8iIa*((|MKFkecoA8vki(CW5KqU0Oy{uWt(ML>l7L~Z@%fpjv# z?f4ZGAzvC>D38w8l2__29ES+6H{9P?(yJRBlo%-`bl$oTl(l6VD`5$k}|u9=URgS|H!BvEK8L*M0gc+!VivACVkVF+hmaS+_D$L_k56=!Ugdk(r8_L zGcW9%N?uW+dZiEj4jfXnCzVR=h zVTk(Pgy`ubyNYj1#JV%0{vSych}F37y!4#9&qJ+^$l6Jdekvt*ni*zE{KFk{Hn zT0}cOH9Radiwjiz;r}Gmpod0i>idrgDmfsaWsMB>W#iJ?1=gvD4P*kt|ye$8ZLdG4ElwD}2@8}BHSwF+& z2~5|v?-n*Z+TtU({h2RRYu`Pdi`4Bd34B`z!mhmQ)WKo-@MctE8<;xF1b?|F;7qhq z3PmkUaB6M%d7f3_c{i3*rmxjmbkctMzQJ<^7S}CvNB23ks1-aA2jC`H$e|A~oVR+AD{1Nwnw% zcxqkuPH?jjRpa;#p=yw1^x((y*7J^e1B|5paW+)JwCTa0~D6OsNq z4PGPj=0%h=PWvzY5^HytqOA@YaiqtgDJhY`Gxl#?FRu@6g^)wHhp>IycT4Hbs<6`V z*__EGQm?x!D&W{rJiwZ%h|h+ftDPG#Lh|>&;N}G``@L#^b|R+Mo>)$B4df6}*=@1} z@rij#vgI(Y%S+zW(6$!e?LBT6h!2IKuJ=KfwI;3W>pnkc5ufIu8OeTsLRLcME5{BO z9DCu!wQ|-W*as~(C~ROL2(r`M4oeQ^r|OLAu-{S@E$jx(zPf0kZ{95ub}?M&cD1^O zSMVM-M|oU+{CW+rZdVxV&~?dNsDOKn3pDX~I+llxi1~akXEs5<1elzjt4M!-u%Wws z!(n@}AJ593+UG`cXnhoz%mbWiP0nyPe0gfb;i-4Vht&x7yxFlvwh_&73kcEQz;3~A zUMi3%I6}9w2ctX1vt72Q9pCQYQGabqY~H#r&ad_tHd@6DgI`38r$xE|Ip*9%k}l$H z!8t>b#~ch-QTEWOtB?{i5Ye%XZ1cIL;Sw%XO7&0IJBly5GafMDJ=R(!?tiX1hnlco zu^$r0vv{!@M@50|WohJI39KeC@B;zksX{{^$)&LGCjs&ASDN+reWos4nEnPWnIj@h zG*{~Re(sQaU>nV#l|DA6JfLBw^RD66ROSAFwPl)eEdc`_{8Eq&h(s-l5U@w&Dv=ul zD1(tpm`%FDwXTjZ~6PkfKbcDN2-TE32)u{<%jI)d*9QPw=V z#s^ASe8J6O$bw!78+Fv4^_7t2b!0AB%2wHCmxf^|)7lZ0CC{G+|fCY zYWT}9f6bbUr`Bf`A$C#Zw5Pw$R6yY~xLp1qeQ5Xb5-iR8h_z087;M&4l|mttF&k*| zVbV2vTO|Lbk0O#b2L8At*}4sc`mK1Qf5ItoJ%@b$3SSs&Rn43Y!sz^Tpf=WjcGwjJ zRz|~$>_$xi@V+=@t05oxK)NmsO1DKvJz=Kc+xvc1VTK3E1M-3o(|$ z>roQ%a-De00q|iyvrb=ASH>Vj!otMDQmpf*5^1jJEh0X`pbLoFnsmCZ3;9#b&Lq zFx{H;dx-K=Mc$h&h{VvWkHh~ptqh%-&0QDOEIbvJkTbs2(mSA{;NPno5U^Of@>B&$ z8SU=a?(O(epPK$E&p>?I7vVL&>2nUmsHb+NdU%N7e;ucr^nxw;;Yka=jlY>XM%+ET zUwR|&;fnaersY%Khybzat}+(QKwK3 zx^h~T1SboW2J2j`VI*~Z1*fPKEiUcgkiU-UPF0f8(*&_#(zJW!G4RUC9KmIK`#}jb zN*tRSxSZ*A*H~x~V_-L8@DW@!-6D~nIzr0ayl^xfHyrJkbv)%fJ@Z(RosM4dJ`>ZE z3^3=Czuq#5+Z&7ym5pf=31PW5XZWuB@Z~eisGNHX`M&lHN8Ik_jb)J<27lVP{%BIXU#9^8sSWLKKy-Okd>-4GC@ghRD zw#dB0t6<$5nS6d>7-t9eCzsDTIM=Nz=xW7(5CUgpa&e|-4I6iRp_{ntWh>!25w&{1 z-cw7`7kfhSVVjK0R<`m*PES$&DQqpejBhzp?d~VBoC@mK-+%`&&eT|+32q6jmdvTc zEZmlmus!@q8%VjC=5s#EzOkC7_wn5Od<%C>w%_sZ^EqX2Usss&=($w$+e3;Ppt4lL zt9wI{?4}Kzteyf)nkln!gZvIkbCVh zmJLRts}9smIqtnUQVj5!qxDh1uB3TfNFol>#eJo(**Nj%puY+SZAgIe&mIA*3IP5F zyJ&@UZ`ge;CdV?aKe+#VXAG;mDAU1bJSquB*LPFJ_h{oXIq1h(4hJ#4u%}S@!?0nB z#7>&-oTu++>A5IGT}Uz&(02mUzfZ8?mwBh8O+=0Z+4G#7dsN-Zn3Qz@sWoH%+P8G( zRTcU-%e_U`r^iLA8=Qffkx{CVwa=;>^eJ^?->zKp>`*4m!STP@VC5ceNpIIRg^UsU zz}IV!ypaVXJ%u@T$0C}QSobE&U9rmhnnRIpatcwa79}KPW~At?ELnd$xnbBltTIbE zGrR4MvN*}uZxgntT`0B&uM7ZCC|lJA=|vp;Wy?nbt1iF^3LQgQ3YXVn*sc`+v32K` zfJ7jpzKvYzS%pDRJ;yJ}t=cnL6 zi>LdHes*NjD1sC1`D+NSAtX^St~}?W?oC{)JEy0kT86g8rN??vkM&80y*?$_gcS2W;QD;ic}+ED^m_@l zA@-Xdfw38QD0PAIv+87KruKZoi=P4#0oaTHC*eJzOYWk|UADSQ!qU!pW@p!)P`NK# zE=2%+8FccdrGueSvjWT_YuH>ku=G*r6HLNXuo`>xkm^1f(P0Y{5iUZy?A^R< zwn-vd$dL{4P9B)l8pFL-#upI#8z*7NR{aQ;LiXt2^7Df@NN$RC{6iODl9>3iZHf*} z0=~yfI5=tWJSuDf?&Et?clfOP{`%v;h7km}o80D@^?==U$LAlmaDD+n85^V=TrdOT_#Zn6q- zV(Q#%t99@%BzO9M1Qe9uuSm>7+AEO{gm&-t8sX3XuO{X4Ef}nDkE3c$DXzdMHm+=t zq||ghmytHxvcLG?w2TRy6LehOY0-D-QnBVa&B256NtZJ}1$2HFfZ9;V%$!(+d@OhTfpX6@z;i~( z)a+k`Wrt3yj*%INC}C)_*F{GMK6MOc`&scbb5Ce(#)#8I*y$iIH=~-qi~RXc;9*Wz z{S>a(yZi@4Q&I7Nxs?e0K!Rg{i!P6e)C*an>*171pX197SXqq1YR=rS#=1m+6gjN2 zbo^>PX|hcGsBVh_lSFwOSu)t|tDVU}$(To*eddQf3^8$|YR9E(c2<0(#^u;HZm`PJ zgYeE}-E6 zL^UH~KJYDbsLS81zT3@TmuszQpY^HcY?)(2bOfXrT{otbzxPnSYj0-E<0b<}BiWWe zCQo6iTIxQ2znD*BY<@a1ES3WVv+C09Gi(lMaoMhj`D;>0T{U-l@hJecMvD3qck~Ir z1*hJbztzs9w%XeoH8lR5C)ZB${CK4$OYPR3m?dIneduIPr(?~3+d)k6%MOIrp5t4c zbZY7kx|GK<3t%nzIfg}RAqS>Q2cKj0jpZ)K=bK7cEm>^+i{$E>d$M!HARC@La zN)+Bwz#~4PabHmac`--*Wz8qv!{($4H}e4RYSeUHFG1)N7`k$|=+DbW@BA3gRR%o; zjeI`cf!M||^F?Rao5WV5c&xtrc-Sm!vf$OZC7b{>QY5RY7h zBSS$owf_EY&0#F%8rC6jqekJalbv)q;^<$EI}PdoV#Mm->?AwF9O=Qz*uE>6r`}Jc z(>o4yEurWkdk5>h>6R_K7w3o!5$mDv-~I&L-!(GRU3)QP0LewKPYZKjjhR|?mz+)A zNgL;m_w)8}&;)RVh$$BiETj#AFw}M6g&x0ROs4lpJ?MHW6{yV~@apa=Ngl{q+#o(g zAstf(jo9R%wgh8QQhk~PlV4H|&DGQ~0&^V%%(*sXfKVYaPG3j)aec$fa(R7z_+@p!~ zyZoEL+yj8mz(UMtvxaw$$^*U5hBhPMRm)~bv)--DSK%Qb92Y1LCAiV4l5|Dk=mk;K z7`iDGV{v3v+OEH#DL;DNn#qG$ZL(#$+kg2bvCg#iv$Z?k)-s={;ST_#0GmzFfjXy} z$Im(vWLcJz{A1L`p>VD>U$sb#$f>j>CDz-)dn3rxhz_yxn|Fm3LY7EGc}0U@sUS*U=}>ZEjb}1pt0ab>AW}t=E{iD< z#Y?;1ReAIAW(0%EGoAUHwiIP?rxhL-XGXPdI)7Ax)F?y|G8W%-KZZi%cmE zcJHg98Suq0dJx2RaD>LGIrGjek76?>CkppID?BuJZxRkX^Il?PR>m%d*>91O3L=8x zYn}=w6`zWzQS_{H`%*;q$vwM>5heJsickK^n;PLB?r_NbV4ZR(ee85E$GyLV8m9$S zaSGjD@ykfMe2AKA^6}Rf$&NKGzfivBz{jo>dpo?U6cbXS42mEl(Pc(y(4&LY_i;+0Du{sDD`!@~ljH)@XgQm- zq3+fX+VzZIcBL>=in*Po#j%63ulZ02N=y49?zN9ucF)LH3M-3RGD=mgq(gcJDmfeF z{0L1)B17Tut&i%jme=;Fli7r!%aw8M0?9z{6wY%>A^rO8rxo}>CFH>lSL)X^$1hDB$;J8p7-CdEK-r|f zOjcIg!dP$fZIx5z<4gy!k^bqN26MQq1M;{;vVzW5WK0)Xet7=M9qOY}^ zN;5}JKVkPWH*Wroh-&s&1Zd*fRD=Hy%?bfKnVVNNxP*p>OlN?mR@HLlQVrXZsX*NG zjD;fL)QC7~Qu9}dnv8a5_Ikah0GJ{zVv4rH5`HiYz5Iq%)`0jc<-VquCz*YjLCBgiuy6F^uijtvyt^XKd*P@c)hTA z|HIm;TcdINWB8=GP;n>!dmmq(f^0Q?0VtxJ&8D$HBLtx#r4ccH8FHyibv`e$^2PM) zAP@chR*v2-b~mT}bK+*#rT=1- z0#imKcg;Ps4u2zw@rHth3vI~+pEn(rMB=jYueC6V*_i>Q;H&Fw1qUFC@SC%Kua5i< ztAHT87D~GnWBd+gp-+O($6Uht8>%2H&c+}`gXUj}z;R9-|0hVBs0g#Zat8i_ViYv6 z1~n4*$9_XwQZqk>n|f~JWAuqQsSHDmaTzM;DAaec z zmhPOTwE(mrtMlUvj?pM1cfZL znWw6-(qni|eg+Uq1wXsbjVt-Q!C0Nk8^=`(9SvP(dLw&y4V;Z~pK34U11)1gdL#K) z1tv~3!oFQhR95?r5Kr9behpp&j(oaQnJqoeugNM>hA2VzG6?QLU zI^F@vTKKdbRHMR&<%Mk>9ZY{#Mn?&QG9zY9-$)<_OhLN~PD#Z-Z++ml9cEX%3I+$Q zzFP_H{WP>6d{iUfs%-{7PyX-<740eirHPEjsR?5%Q7^*8`+`$cl$ypynF1QytTi5x z^?PScEK{>+sBZTXL*S>H{4Om_=Z$@lUwJvS5xFDkxi^&tnFQP%Mnp=mC1zz@%Zg;8 zOQ_xu{tYSJ37^3iY7lxuVe5cX)}j2X$8AE);|I6S0}hku+ix664y%VWKF|CF)w{8) zz39<$>NnB)c7wjiFO=m(f+X>~D}Csn(@*Jaoj^ilN(M@^&59)G=Ujx}V&}m~?aZ$P z3)FMcs|Jo6@n_NyaOr|*FV*hS%LYHc&;sw47TrUqh$%gRDnC--UCECdyVX+MVB&Vs z3Ht=Jxa$}%X<+DSh;)Z38vAOCWHDrO2|&eA)v8zdaGLNeKW|ANdpN?r{LLiqm5xW| z$7n&B7YQ-m#Gh%z^XzVf3kiBCaaO;;kBKfnkA^YImv&Jbu0Li(h1>7a5DVFv!*ff? z5^=@oZMI*$!JBTK#xE}$?4>qB{odfYv|+G^@%&nRA0wiN<+9 zJutDa&?R3{@1=z>RO6m-C5^ZRj_T+Gj1lG)%BS74*RG-5re^Aq95I>2=a(4^TOFR?`4ksXoD0?{Bu9WC!{+58I z>|KM=*!DDg;;np#=Ppu&8)g_l?NkI2`uhD9`9VDOa2eCBPlzmSbU%1WU#;Cyz_J*y z`V*8{qar73L1IZ%biUcr6cZ%pti@TX^|#|2gU<{WDaXy^j9E?XjHecH!k9dWqw6vI z${^46&2kdrJK_cWrcebxeK}-HyVB$yGd!He0-5k$Lp*osBEIhitXAB3%^por@wWGF z68;vR52NM0`wMK$aPfXBvYEp}a*f=}^Y;sSFGt;ok6rHG09G(-u+#Vz2%BIo942?STINKaaDtJ?q}|a*B^UyYS9ARdM_5L;D|bY+mF=uU4zH&tBJUX z8dP+0=z{FtjS3mXGUEB0D7ZdaTi*|tD4j(H)y+-mXT%xtDtB0G-ZsLUOzUcZB6Y2W zH9_B&-e{+WB!JQ@Jl;sDO;8ZTQ?19F^v0zs-fk@|8AihWB>SQLq1Vd_4@x)H<`)SC z!yladD16{rTC`kZtf6n3^%m`Y59~Q`K@bhmO>y>m$aEP@!Ca!1)c-r#aYgvNZj>IhsrSYwT0fRHEK29Fu}^m@K75hb#AwSjcvC6h`XXZ(6f(C@JZ zy$Z-=W}e`_LV$tVNh%*}Tg#yRr|}{Qkx5Pc0f`G%0Jc9CI0!fvN&-Ct%os#1(JTL; qB?A3~{{j#FciObX^&jZ;!~aKOkr$ELM9DwfF3U(LidTyo1^qXn-QAr4 literal 0 HcmV?d00001 diff --git a/img/84.png b/img/84.png new file mode 100644 index 0000000000000000000000000000000000000000..cc6f140a8aed8bc8449727011a8b0b9329cc9332 GIT binary patch literal 13505 zcmcJ$RahNO)GoLQ?(VR03l70OxVy{7ArM@GySvNA-QAtwu7M!I-Q8{Y{%2;+xj1t< zebL?3UDYMMYOQyzdMjK>K@u5(00961AWKV$sQ>^F!k_n{a4?@|3j{xm&kK~(cWE`a z&%+DOH0(2t?<}t6tZHZO{L9GE3}9hvXJf|bWa4OMX6s~W=X?R#Blwv~;D?%)v#6t) zk@F8bTT-0RT1@HnzRCMi$Qf%rF+#{nR4T{j{9@%$(iUa8g!|{nTc5*1fP0 z4(@}Jgk$NAP5^)uAT1`M=9YQ3=B}r8QIP zP!Q<&m;IOdy3>@v!}?8JOUv{}Yh*$K#`*sFIj@~vj;B792pU1zLKl-CDO_I{`4=U$ zARJk!Tv9m3MPg_}C8b}~3SRzxfREy@ij0DG)#h7D?o~hb6(`I_Z~X{yIj>DGZx7&W z34iy6;XmT7wT5+W=%q{^hj*SMRlIw3dvmDracIvH4)Skm!?@vta!6Z-s`b&PgPdFM z#;SN(4Eq3j1Bz*+uO@c`VmnWd{78N!C9t!zb@D2?;NAWEC3~@AdUgjge*KoN+mv8~*`p63GT$&pMNV5+`{6E0mlpm{X7I*PWu* zHZpKNwXb-SbdGLV|V5{54DWp;TiIe0bH@Pc;u<`8WY!S{WG{q^5a=#&IbocgbRM=ygX zF#di8e1=ae`DJ5KtK4gLP8P^$BHyynMe_%a%t~Y6;Rd->)A3;IdE0;uk66G(0}@yA zmpGCx|FA=X3OpCnnMh)3gQj%EzvnV!&|Cgak`Q?K?olHnCi3bjI{W7l=2D)Xr%jT} zt}GDSIP6|BU RP7QRWM%b&CyB4F;=^@Gz1y`Wo6znvGKoN z5zFQfkV=WiT+0SVJf&l}jX*v4OmFWT1HzMQ@*cPY^sTz}htlYx>j?Schppupdz{0X zUZ#}Sk<4&{U?)EX&I!y%>L+w?W@dg(IwWQp&xg97b=kI5lQmLv%vP_TTI)5dVIG|! z``z95d2|y0dJP?hP5wp5vG9Vv+2 z(`BBplQL)CxSc4bT&kJ;=`$AfICt>y?=4U~xzF=>3N*ubY!xshtqWPt}RkC_VlV#UZxj*kvdGY6~3UR;f zm`vvkHF+y&W-t0IUeierPChD&KYXni)Uv0J|I&Y%eO(Uz=}m!VwE$=$O6Lk2ygL^` ze8X|v4a~;-%hwYn;PlM;;(U_{owVvQP*DZVWSYgiE8_&)Ov*3(*(fy46M8Y4!o0O7 z1Sc+Qe{}wL>=`pA&kv{I@P6Dx0~7bQHpD?fYF66Ut1*I2i^lAhXlWNdZ)=qmlh?nn zw`t8yQ|^L16n!Rm`JJO4^1US|{b?;(;Q{zvGN1JH~Y&8>%VcAE|Tj zI)OrB&LbNtiCjdO#9h0QJf7f@(ho*7Qk9dy;p#OON9Ez0tuo&Npz~P&tBBeJU?cGb z-tScqp|^dk;lA!>!X75}RJKps#EX~E$#{pUT1|gj1#5brWQX-)22p57l}L^Sjb)#1 zsUwo1rn`}ucdFTqB8dRqCtybF!GR`>D9X0gVyC!KQ-!CX+UgyD-hI(3`$2l^FUabf zZL}Y6wEl|-2osa*W2h@*oTvWgUe=p0%4&U(tYv6dhm5MY+xY~=41ajGxw*GAw{}}E zw~QX5%VUd5Xn4KK-49v`B`My89Hzk_5N|JWC_Za>cOxqj7kUeH(R~JmUuVh8&X4){ zgnOCZ46ey>Ds%ZYd@O46^I^ww#h@+suD zLSo6~_8@*Zn_Sp8VN!SJ_abm~*+wjLRCLY(ZO3Ct)xa&H%PN;YW4=Q(VQUc@)rks= zW2T7_?t4?{`L4U4h{)R2?JX&5-4%!M6~C|u+Bxon4NVv++;=C;X$*9zyg>{ITDb3# zRR5caOo98%r^8U-Y8&nL>Vet5`hp21(u!XYc`&_p!Uh*W`VTW7p5gy3bn@GmAj*E@ z>ISm~5#a$A-LFr;;dE)^p&c$@#xbK8RmJZ1?NR4^m<|5BJ|iapS_I8@87iC2>{@93 zajt0V!)*;*Sygp)<&H;4X#IINIzCRp#T6SAq`JGe$1y6XQ?F5_Gu!TBtmdJvv#5Ywfma|o>U6Zz7{8JPu1Of5hRIIJ531u`KlPxAWjDa~% zBDvH(H{gjegI)QkQGn*kty|nQP+a=rpn{ zoi1K7MorP_;gVEEU>@!}$m!I9ME@rIj|{Y@^%md{v@aq97&# z+B^9q#T0 zw*~V6c(Y>U3Aw&`E(iOT@FDb0Wsz*{jt&%mm1X>F#KIOVcI=vvH!rkbXD9#l_4UX^ z=fq52;L+S*4kGRxxQgc|E>;9+UBWf%M>ZJ^EV2iN#X&QdT#qwdVwG-2H}%f`Vs>1d z&w}spz`*(?q{`h+f!bF%_@m+THO~wIC`Br2Lv!t-^r~NV2MG&^lZs;DOmVt9 zR!@?_G-c!Isn+vPZbCLIvib&A0Z0ga@Iyas^Vcc$@Y#N8`7s~DY9hh))W&UXO%G7W zQP}#Fh!7NFJv+E;!7LU0I1Tyc3ot)S_kbUYW0YRM8&eOaRH3&Iev=UL9f54yg~7^mX^*; zaWv+rbjfj+orT@>B|61&gC|WYTlL@b*SEL2<~os*d55p8{)Gdo3r4hXE*#5dET5C= z_6YNzT1Nj$`*vi>{L##j^Uw9pYv1J(duz$ z)sU?H_+VWRhzbw4nWMH`c;Z)8#q`Sv$qf(xQMH$m)kzWSmK1MK8$!=Z%Ph5RD96Nv z>S~wlvIsqjmlAkRv`jf=&^|8ifS_p#5t*ngl_H?}&=oR78FR87Kv+=bRVMo;PY60I|pV@YM5_rT*PGbYHO$R*ykQiL+tPE{cZmPT^(vT zxo^MVb8`)LK-&Og$;i=CHXS}wx;UWg6v2;aD5?E=vZhKpielyLzAIK$nVKt8mBhdR zmzcnBUYlXFveqpS%T-r1IUoOthlE8z$Hqoh`!>qwavWAsA$#ZX`ChNP(yG~U;b7v( zv~eXw(*1&j&F}X1o6PuEaGP`q#;oO^PkpVdp(9hFv905~wSRs%|7iz6KbPy9w5Qb7 z@0flaZ7XJQ+LV|4t%7g1KG3m#GFQIwFpLIcFtBj-2ulAb7BkQZXzxA=DdJ3PVah9Q zb?AtQuzDYNKhCZ}Mmd)j79Mo4oi9fIltn1mhstaai1}(Q!L=^`K$|J`rpLM|w6?jn zws(0DyG$*jU2L*fB+&i7Z5C@6_j0%Qcbcvi#=jDfcLp}pCW^J+BtEaZyZZu1a-Jxx z)4m)69bMV({=Sik$>c%>)xyD>v9WPR9lTylb0bkv6NiMUO0|IKcCf*%=fBk5$*Wy@ zzPW-(NNv_tx-Ut9ldZ%0Q*zl!9ji>bAAw2dq-l-_&<7n=zE^*i#EE0()$tgH4&PH@D2 z%6*H8QPAsjL)Ycg1<1%Qh`qhxI<_Iv)6*x(P+7UKyY3)<=ses7&!{)WFzLS@EzKsz z5Zm$R%)d4zIx-Cq4PTTg%iWJq8I8-t*n$E(Hvl1uN0G|zWZE=~wLHz2&tE+#^kC!) zTdLsqmak4%@J98mayL?LZ=L7n=Reh>See?~r}6!)T2{GY!PMM*t*M?COJ+#XD?Y81 z*5m$I+>?td|6On@d#wsWxDR0TCrE5*;#jb;jYcOX9uG$R@t?L|T+~>2 z_;Rqf=X7nlt$*}NI~`$qHU}mKEK}NoM&(a>s1BA|Y#}?qU8eFowlHgxODoG5gv67e zVR9aH!tsLlcYaoT(uhTbs6v%${A#0CSL7~*;qI;uy02e%W06nd#&+qi-7A zQtx*FfaSVCG|4} z*G>CSOEN4;IDX-dRAL(?c?pJJY+EZ_OlB?=Nax%k(1VXO^f5nh)9#MZylhB?+-Wwv z-!YY;Ia1@cIduzm)hVdPtJQRzG8h0#~^D#(ornDm6Q`}&4 zG}djzX3f}{9}>N%4oHZu{R`3}uc0+J3m$LCdkL;2za=;BLX%0@Jo6CZwgpTGn2{WZ z7Ih%p@x?yc6E64g)v9cO{Bc(`4?`{9*0=8Xr|ut!i^LUaC2n4%Mh!1JHmJc@@vqnK z9@`g(dA!J}!<`#SLyGVN9bL#OHcVx!T$l5yG$Uoa65yRvZdNdzC_m4wtc)lhhLxrB z{~($Mi)nRKVejdu?vYG*l+&CKf`)C`TB`%uSnAHgI#O3$z6@I@?A3o9sj1!3J;0%m z)#yEmxiYEgx`9;*7>ZQ4pzfY#wSI>4 zVsyz|B@Ax<1-lLM%?e`>-k-oUvO`;$N2dRix!RHTBqWy4rgc5=0%H9=4rOLd)eWjK zrp#TrV`Wdt8v5N&T+vwYGiFQzwp4{&8+6zIa2e_Kpg?k(oRTKBZXVo&;(Yabxq^Gj z3`5y1_u|e=y^3NuSHg9!K^=!T^~b$~_R>54V!c|c#nkhR06f~Os4Y65&HJ zwh3VF>_1{&&7cj5crW!`FcP`$%^pSae z*(~B4>*Gp|%dR?b@bt7t+U_8cEO_4L5&T-)S5FF=jKUCTV7fRU*t$v|pKONN^G1Wi z5Sb6?EyT>T>-wz(@=Su^C{JRX$hqM=I2>ps+34@k3iZ|{R`#5p%>$to)1w@uTQn>!99br?EwIYt&#21O#%@UTzvswr$+EBau2y*gwpvB^W=qXdDff7=XDLnKf}&KhfC21|+TN~+BH;M)>9s^}1Wu%0 zu}hM!-J?)QDj11t!*=RwP7hoRqPmxPV}N?Dkwj^{MH2q1t>YQPW7RsXQ+^+2rY^tz zhHe){_05@qJw+W##phW2dM)Jg*s1HvQDbrape!ei)0Lrt(?ZGq5pgIqhRWH?>`}de zvbH1X?t?3QM%g6&N|xWs?=iwfNH9*{x1lWylB%b(zfoHCk*owZPf=5YZ#CL{pW8EE zkZ62HI#TM_ZSgw!lowvr;JnK;QFh7UiDkoJS^vshoNT-=Eu?ZL*Yh%@Wj2JSWFk<7O-(ma%+d z2nmM_`HToY1g=3oE8lQ7Dtw(T!+>$y$F}kcMubB(In#>Dpeyx9I4}C)Ft%UK66sas z<4?*GQ|JEH`(}=mHujF~H`|M#Y+g!~)^_~(WIc;Vj!E3@i@K;d$FqkDXjK~H zV2%@7rtYzZ>6p!}&@RH3d|iNl)y{JL6A^D9xK#+nzWTVI`Km~f8DF`lijoPJHipJn zllL6LKkc7!L;GV++S?$6b8Pf}!Np>&`(Q~YmNQ>`0gd~(-2gV^p^|>5^yY%gyWKtL z4}?`hqPi9jF9jq~JItn+EiQV=A0>~NyVadCKD8vXp0-Nemg4OVa1ES|re`;=75$0o z*P-eeGt*qQk;}7v+0j{{<@CJ31gFXkoY-(*)J&@6y{V~UN>yBn_E* zcJ;KSrJZwI#i8|rL;W>}=9YX)`ald}>^6VKy5%H1;nccFZwpiIRt;hyMq1*-nJJ8P zk;%5wc{Se!q^HvQKc*GevwP+RDiuoD>4s(~#cXtz3o~SK-QHguQjcaR`U@p2Li3xD z#+>g$l;^FZFHQoLe*Tklc6INP-L3pc=P?o7tC)U3YvYRfqX(ccMS!mUZENboldAdb z^V@aJB&Z8J?28hCtVjiHtmF~LrV$a<-XZJv^41%Szo2YzA-4ih(sxuuqo#~cHMAY6 zaA>TZ9-iw8l~=^}Vu~j{82ft8>$>854R_9Kd11V^ago~g-SGnhYDFe>yhu9|W-FPn z)qGyWYw%NikKY7FP2Rk_@4oXC^;DJWd`CKlTHA+VE>RWu*q;E|!!%ilEM=ei5aGH) zR83RQQS=Fs9GBHZ+tKCe=ETeA#!21fyH-TFN(Ar8a~OGh0LE>VeChcq`(ZDDHxQ-t zQ3!)}bfS1*EL}J-yP;>$m<6a9@*BQG}(>SY&y}Ie|M(^>c#8tGga6OCgr}o^&-f zIlm-Hz&F!q_cW$4Q8He;7`6?o`D5b5_Y3E5DAkzmEp&dulJ#r758(_Uff%kFCUWCr z^Qm=~{SKre*2D1ufKv3rA>bQ3yU9{5Sz3B}o$Hwg8ygdcm4LpH;L0M3mUQW(BUsx= zeZhwvE3RhB{Ge0wu`Vx$9&&^d`K-`ycM?|0!{^&M$~QKE|1&-Ghm?pie7&oNnhW2^ zgd9s5AC}4wi1Jeyj}$xF*ldg@U{N}D9E9J*9Mq4p2(L|Zld5rudNw6(a&*Fr=%2bmJm|B=+FE1a__HxshpVwQ25^a?^7e?$cJo8AN_jw9{_6N5cZRX(WtPf z-Hs3#h$O$~1cat8$SF3ZBY=ekk@HvAMYmC&RJPgM#(w2578z~$m4}BR1)+o_;tPlB zNAD0qO&{r+2C?Osy?aXQ1d_3wz4(r7k-f$D_vJpB5p35=t9+ZZp+v}=voN~-W+~!TsE*o8gkxpnQ{~)eImp1AU*KrtylC9xO!&H$~#|%|IA1Et6kZ zZL<9GNJ|Bq*rBD&0uq64Zp>K9Or`KzVk%KK{%fHWmEWs}YNO>7Zs!b7<@LtNtFxTq zVm+$+)gA4vqeTD+b*QBQ83B=f8$4?PY1dzYTv(sC*I5NkVk*6+ox#TF_^4b^Va|Jo@g{H$&(6| zj>Ua)%M?gqqa6ve7*36}UU)~iud%SGDf4=Hfx9)kV#s-h=Oe5n{(8jzLTGTGOvceX z5acd)JDV4+Gck@x0L%?_>ZvnqVs8*M7*u^m%8#K|-n2hRZA&`UpLo5uV?XQZVVBRB zaM|YCuZfZjt=z&!J}R_0QPP*o2Pl=8D&;38WFzC{hdok-@yz!egyw(wBW@urR5H}) zsNNRMY+|lpmQsW@Rv-T11dm?gulp94ByqJCAe4T0tXY|%@=r6}-)olvb9Fl57p0&BIl{>N|s8Koa}Fy&L}usX3XW z?#rGa0fV-zWyHrLM(hk4uaWjdWL(XaZdm3hJpZaPEbqLC!i`k)?(Rn8{rEcuZGrgF z4X;6|;OxFfsg#L|&WSxMa`cM}vY+>>UP8zSisJRVYb&X}Qp9gZ@2$k*e7*&BkdB;c zz}S*NhbCnx-@0W00Q3DnF2H8H8-!?u#-k^8jhvuP7w9igKOP7oXYy}D{`KLYMGg7r zWo8!>pc?5vZ1nIE@Mpt}={FSW{uE_-= z(t*VA^tgQx&vv`TiHQhRe<$CQ!`Gv~e{9}9#UI;MhkTQj{^{eB*&(xzprrqVV zu>L5L%po2;h9)HGHH_PuVUK#)sQ(@j^E$vd0a`|CX@mdxqPcYSyW*i8?K?#n&3DBA zeDRXspQ|9BE;-i!aiwL^8`ID6Ln$Pf*=+2%2#I9RttQe*@s%*v-|SFQE)CzlCep!f z$))6PfSsGe-E=2+iIB^MoVCKoW2-DAoc0~Mj}5q6?nC0&Mf@WM$b*qs`YMxWK);%A z9%nkfiw^YQ%dn=bCZLYaod7Hduy?2%l*;KZg0$x8JjEMysU~YAx=6yaNQR<;LQ=6 zwhPk&g`w$XEV@i$wa1%Q)h`XRw`ffss>fui#3R(BV#9vt(rMw_xiNq() zSip~`8WWT+%Z2*$46D$aJ)HQZdSjaz6{+ZBV7;*^F@G|OV*kY+BY_?iK7bxu%i;mW zL&iK#Y39ux+FU%VmTIy1kUiopIcMPrSM91YR%1Zv;=&zzZw7%tlnqq;3*p1PL`OR< zOXaeI5OZFt3v}Y&e--);bDKD#=*?c zczNsz9R9_&dy7-wvLJjQfaQ-~EyAt@|J{z3HC*qNZ4bVPrt(NejSl`q69 zQsKu0sdEoA*|t6P9_N|TxBVC#QL@xulJ-BesR^2p=CgO)9iQJ=Y*WZIDT1EI!-C;3(JxOJcs(R+&lz ztgS9z)B_l+{m(|$I)Wzn1$J%7x8&di*Yv`9GD7mLX}yPFwhT)KN*O{M*D98KzIJbO z$P!(-aYO<2v*NI*ZNqn9G-2 zGHygS28Yxk=#nLumNJ+qk|`_sfAY5@==cuCVvHG1HzYt;H!p~C zEx=w~^2$PGAyV1!=8u~PGUC9Znxey;EefNKq&bLB5#beGC3 zU$iPkG~24}r7jNSK%h#C*sO~NYG%?fcTEh9?a>{z%*v3Ins;DrQ{Y57*Ao~R*xg+s z%;oj(f2KVho+d1njye(RMsT8%`|0kdDiGobYA)t=M4?%j`g3cEG3USDW%thlai$b- zdvjy<`iMI+J-t&=gOfj-bUh=Ade!r>HY86O5?NTe9@LzBZ>s*tpuy-=a>At=&yX&? zJ2}J_w`9DkA#px?(le9LYXPqW+@0?Eo19+p}CS(iG&EJ5M+kRe|{4{_~&h1WwB!{=}?C$g4q3gURvTR9a4-bf|LIKM+` zVx0nux8XKn2_Qco(h^A~+K@XE=L+XpHz7^Lo}a zU~0nDHwieHdv)umXfphV$MoyV&93B5{2w=kP5BK>Z+>`KSoE2G!lz(0N`HUu!^E)4 znxP-FD1_rgYPjV-28B!fxDldi+`|olmlYkI1F5-o#oK08!c6mVZC_tQ%>N+|ljiL! zrt;W!kw{=Z8QpnY=UySX4+W%6gUtGQ=&G4}WOJl(wL3@&&bFv3c^L*>_FJ60Uh%ET zt7F-U?CZsSsIn_u*N)hPhn^<2v7|_b=1@v+kc7fL`50=7(Y^PcznLlFnRI*!{!v)1 z`}=B)WFIEBL;oWpWwd-6ZX-32jXNsOE{f9PnYr|`_~Z}T(mUCfE<&C67GwziNo#bX zh~-X;!?!or#m9$MGa4x+C9b}{;y(yIQ(4}R=N%t&Z4J{^8Z~)v3*D9o@3Y94DhxT< zQ8~K+$zN)Ve+ti`g4!L={|eki4HWgdoRXS)l5>Of9{#EYTAjGg&2jhvEQ zMg-90MecBw6<1I%(68=GPPKgFc1P3*-dHjbGnRO71Qxy8!L5O_g+(0s(!PS>KRd4o zHp9fqd(AE3s)tl|+2|S*$Uj34$Bg!evyh5*PGjS@c=+RS0PxPLbj-AfH9&MRPUn6z%t zWQ=9vT}R$nox2?=Kh&3Cm}`BPsE90l=i;5j`lBIigjiC#j3B2z&qOIvA8p-0Q;J6k z+Y}+w<0Vg^wK*ThjF#NS8VfA>rLJu>u&4rWv@lmSFoQ%;z`HK~h?R7(^c-&l2jUj* zB--k(_;|l&|53-)>zyj&fN9%439II)W_~bB7x+tD3C)K2V*l`*0SQK65ca{|;F_iS z4B`QhnN%Y64;=hESET8w*Ct2xTcKnkfp1O}%<=%i8dP`In1QP5ZRSKGBmxgFO~Ah~ zK$Dj_zwN=_x_t&N{xiL8_Jrzchg025ryaRMt&kv$Zv&{hs&u5Hw#C#UU(%pw?(m_* zbBII{T|Dk?E$=)U;X9`S^3GP`q6HH9O+N7yCDqg`EY*@H?bWGc?7cwh8 zgdrPGJOdp2bbT-aE1g7*?yKQW?m5bd?AmRl?OXGr$CfcZCn7oFBrH$Rv|($LPl!NT z84i2-SPdFcrcv_iGr9o?6xG6{)FT#vV~syl^htDL;1>$vd^II|4Fp%_~jO3wWI0w_yAzqXkcfwXBf%2dQkY6a99*YWHp`(t^r(xIxvn@>ir5ZMpdP~b?vXWaM z6K~_m?U4_|Nn>NvK~qbI)B%6svWRS9m5nVVY0*zETu(pjS!W>xarR#pg!Vi3=c-u)ifR_7(^U~-Q7{BVtLQEdvNbZ9RDSBNK^~yRU)%=6$&n0%DI9TO!r`t z4+l6?!_#LiG zEAE?jXEGidHA^w@LVR^cMfMRjSc^jE_I9B9qLRvv9(HI&@mx!(a52lc|+F&ox_adsaG zVT?cU;hjukFbg1(`lDEK+fZtD*s3hX6qT<5L!;=j-YBE$Ir?Q31`WmA z={Qrx>K25L=<~`x$WfH)du_`Ou<{~gD+6m{ULL1IXYM%p$vUKV;^Lt))>JO^y^Pug z)sS-1(p#UF)cA9Co+igD>ig{Tc~FibZD2n?_rs)d0+YYk*D9~Cb=fyL3dUFLJ73?U zb;KMU$ikh5>wd_hgBfqCr#;OvI!x|%t9@gOa)6K~bQ0~~5$5Oxr6O_-^~#xoxjSMw zD2CN*I;Zl1uC}3cd?>Ue=Trwm<|;i|5(TX~1R$Jrt zjk($zu{Hjuik%v19nb_Z4opwCjC%MHQV)_9a-pOk5bgWO{v9g|X~kyvut)uH15_h+ z@Bn$Ta-nao=#>h(oa6ru#gHY|#;g(2%>SBdfxTHB5f@!a5GTrE%cj9a z?N~=7g4atlx?gHQ!Z-8(4g(%9qx2w@uCGG(FWK(?|SiIw?R&G(9fPs6^^8!xa2{(A+}u9d68PW7LW)&6%o z;v@EZNNUBD0N&6>;>d9RYS?hTY{*VlYskP<7|ojeh%|NYw&_W{+TI_#&h4F6{zS-w z2l-2HgYCytQ6Vu9QVwUtValfnbH{&HnnL@Rjaah{E|?2zK7EafbkpOy`9$06S<W~~gB3^EMU(Nos8gc!K_A1=drhVItqCXRE?|DE6vwbEGE@z)IPla5Lg#RRh5 z9Mcy;3xZ9v{PI7+mj8*eSS?OsJ|JT+JjRMG-sV1%=YLrQBoX>I{ z<;oDWtZYLoWrSzmLy>4$P+R`9rGRfqsqxnje-E3)8z1mv=Q{P-ab?k<@}4-_;eXOH z@AQrC{rBpGA1M1mC}IBDmPgIDGljU0D^j)pKAJa+Dwd3|yLoy?RKJ*_$KUqFWp>b< zA?1^Ddt`=Sv}NCXXt7j63m zB+WMyHTYj|Uk0*B{}<0=pw#}qL_W;_2Xps-AF}_46Y_r!K>goT-~S&AEPlWO03k2u U&24-CZ6uNwR}icIZW!=?0lEu4%K!iX literal 0 HcmV?d00001 diff --git a/猿人学第20题-/readme.md b/猿人学第20题-/readme.md new file mode 100644 index 0000000..b338a58 --- /dev/null +++ b/猿人学第20题-/readme.md @@ -0,0 +1,41 @@ +## 知识点 + +观察请求地址 + + https://match.yuanrenxue.com/api/match/20?page=2&sign=73781942400dd0fd60a21f6edb33505b&t=1654067452000 + +找到加密位置打上断点 + +![debugger](../img/82.png) + +进入sign函数,发现是 getStringFromWasm0 函数返回数据 + + return getStringFromWasm0(r0, r1); + +控制台调试 getStringFromWasm0 + +![debugger](../img/83.png) + +放开断点在调试一次 + +![debugger](../img/84.png) + +这里的 r0 和 r1是固定不变的,但是每次加密出来的值是不同的,说明这是一个指针 + +继续追进入 + + function getStringFromWasm0(ptr, len) { + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); + } + +getUint8Memory0().subarray(ptr, ptr + len) 返回 Uint8Array 数组 + + Uint8Array 数组类型表示一个 8 位无符号整型数组,创建时内容被初始化为 0。创建完后,可以以对象的方式或使用数组下标索引的方式引用数组中的元素。 + +打印 + + Uint8Array(32) [98, 48, 100, 102, 52, 57, 102, 49, 56, 54, 55, 52, 101, 97, 50, 102, 57, 97, 52, 98, 98, 100, 102, 49, 48, 55, 97, 50, 55, 54, 50, 52, buffer: ArrayBuffer(1179648), byteLength: 32, byteOffset: 1114360, length: 32, Symbol(Symbol.toStringTag): 'Uint8Array'] + +cachedTextDecoder.decode 这是一个解码函数 + + diff --git a/猿人学第20题-/案例.js b/猿人学第20题-/案例.js index ea0a012..3945cc1 100644 --- a/猿人学第20题-/案例.js +++ b/猿人学第20题-/案例.js @@ -1,952 +1,40 @@ -window = global; -document = {}; +// The module cache +var installedModules = {}; -/******/ -(function(modules) { - // webpackBootstrap - /******/ - // install a JSONP callback for chunk loading - /******/ - function webpackJsonpCallback(data) { - /******/ - var chunkIds = data[0]; - /******/ - var moreModules = data[1]; - /******/ - /******/ - /******/ - // add "moreModules" to the modules object, - /******/ - // then flag all "chunkIds" as loaded and fire callback - /******/ - var moduleId, chunkId, i = 0, resolves = []; - /******/ - for (; i < chunkIds.length; i++) { - /******/ - chunkId = chunkIds[i]; - /******/ - if (Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) { - /******/ - resolves.push(installedChunks[chunkId][0]); - /******/ - } - /******/ - installedChunks[chunkId] = 0; - /******/ - } - /******/ - for (moduleId in moreModules) { - /******/ - if (Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { - /******/ - modules[moduleId] = moreModules[moduleId]; - /******/ - } - /******/ - } - /******/ - if (parentJsonpFunction) - parentJsonpFunction(data); - /******/ - /******/ - while (resolves.length) { - /******/ - resolves.shift()(); - /******/ - } - /******/ - /******/ - } - ;/******/ - /******/ - /******/ - // The module cache - /******/ - var installedModules = {}; - /******/ - /******/ - // object to store loaded and loading chunks - /******/ - // undefined = chunk not loaded, null = chunk preloaded/prefetched - /******/ - // Promise = chunk loading, 0 = chunk loaded - /******/ - var installedChunks = { - /******/ - "main": 0/******/ - }; - /******/ - /******/ - /******/ - /******/ - // script path function - /******/ - function jsonpScriptSrc(chunkId) { - /******/ - return "/static/match/match20/" + chunkId + ".index.js" - /******/ - } - /******/ - /******/ - // object to store loaded and loading wasm modules - /******/ - var installedWasmModules = {}; - /******/ - /******/ - function promiseResolve() { - return Promise.resolve(); - } - /******/ - /******/ - var wasmImportObjects = { - /******/ - "./pkg/index_bg.wasm": function() { - /******/ - return { - /******/ - "./index_bg.js": { - /******/ - "__wbg_instanceof_Window_434ce1849eb4e0fc": function(p0i32) { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbg_instanceof_Window_434ce1849eb4e0fc"](p0i32); - /******/ - }, - /******/ - "__wbg_document_5edd43643d1060d9": function(p0i32) { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbg_document_5edd43643d1060d9"](p0i32); - /******/ - }, - /******/ - "__wbg_body_7538539844356c1c": function(p0i32) { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbg_body_7538539844356c1c"](p0i32); - /******/ - }, - /******/ - "__wbg_newnoargs_f579424187aa1717": function(p0i32, p1i32) { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbg_newnoargs_f579424187aa1717"](p0i32, p1i32); - /******/ - }, - /******/ - "__wbg_call_89558c3e96703ca1": function(p0i32, p1i32) { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbg_call_89558c3e96703ca1"](p0i32, p1i32); - /******/ - }, - /******/ - "__wbg_globalThis_d61b1f48a57191ae": function() { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbg_globalThis_d61b1f48a57191ae"](); - /******/ - }, - /******/ - "__wbg_self_e23d74ae45fb17d1": function() { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbg_self_e23d74ae45fb17d1"](); - /******/ - }, - /******/ - "__wbg_window_b4be7f48b24ac56e": function() { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbg_window_b4be7f48b24ac56e"](); - /******/ - }, - /******/ - "__wbg_global_e7669da72fd7f239": function() { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbg_global_e7669da72fd7f239"](); - /******/ - }, - /******/ - "__wbindgen_is_undefined": function(p0i32) { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbindgen_is_undefined"](p0i32); - /******/ - }, - /******/ - "__wbindgen_object_clone_ref": function(p0i32) { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbindgen_object_clone_ref"](p0i32); - /******/ - }, - /******/ - "__wbindgen_object_drop_ref": function(p0i32) { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbindgen_object_drop_ref"](p0i32); - /******/ - }, - /******/ - "__wbindgen_throw": function(p0i32, p1i32) { - /******/ - return installedModules["./pkg/index_bg.js"].exports["__wbindgen_throw"](p0i32, p1i32); - /******/ - }/******/ - }/******/ - }; - /******/ - }, - /******/ - }; - /******/ - /******/ - // The require function - /******/ - function __webpack_require__(moduleId) { - /******/ - /******/ - // Check if module is in cache - /******/ - if (installedModules[moduleId]) { - /******/ - return installedModules[moduleId].exports; - /******/ - } - /******/ - // Create a new module (and put it into the cache) - /******/ - var module = installedModules[moduleId] = { - /******/ - i: moduleId, - /******/ - l: false, - /******/ - exports: {}/******/ - }; - /******/ - /******/ - // Execute the module function - /******/ - modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - /******/ - /******/ - // Flag the module as loaded - /******/ - module.l = true; - /******/ - /******/ - // Return the exports of the module - /******/ - return module.exports; - /******/ - } - /******/ - /******/ - // This file contains only the entry chunk. - /******/ - // The chunk loading function for additional chunks - /******/ - __webpack_require__.e = function requireEnsure(chunkId) { - /******/ - var promises = []; - /******/ - /******/ - /******/ - // JSONP chunk loading for javascript - /******/ - /******/ - var installedChunkData = installedChunks[chunkId]; - /******/ - if (installedChunkData !== 0) { - // 0 means "already installed". - /******/ - /******/ - // a Promise means "currently loading". - /******/ - if (installedChunkData) { - /******/ - promises.push(installedChunkData[2]); - /******/ - } else { - /******/ - // setup Promise in chunk cache - /******/ - var promise = new Promise(function(resolve, reject) { - /******/ - installedChunkData = installedChunks[chunkId] = [resolve, reject]; - /******/ - } - ); - /******/ - promises.push(installedChunkData[2] = promise); - /******/ - /******/ - // start chunk loading - /******/ - var script = document.createElement('script'); - /******/ - var onScriptComplete; - /******/ - /******/ - script.charset = 'utf-8'; - /******/ - script.timeout = 120; - /******/ - if (__webpack_require__.nc) { - /******/ - script.setAttribute("nonce", __webpack_require__.nc); - /******/ - } - /******/ - script.src = jsonpScriptSrc(chunkId); - /******/ - /******/ - // create error before stack unwound to get useful stacktrace later - /******/ - var error = new Error(); - /******/ - onScriptComplete = function(event) { - /******/ - // avoid mem leaks in IE. - /******/ - script.onerror = script.onload = null; - /******/ - clearTimeout(timeout); - /******/ - var chunk = installedChunks[chunkId]; - /******/ - if (chunk !== 0) { - /******/ - if (chunk) { - /******/ - var errorType = event && (event.type === 'load' ? 'missing' : event.type); - /******/ - var realSrc = event && event.target && event.target.src; - /******/ - error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; - /******/ - error.name = 'ChunkLoadError'; - /******/ - error.type = errorType; - /******/ - error.request = realSrc; - /******/ - chunk[1](error); - /******/ - } - /******/ - installedChunks[chunkId] = undefined; - /******/ - } - /******/ - } - ; - /******/ - var timeout = setTimeout(function() { - /******/ - onScriptComplete({ - type: 'timeout', - target: script - }); - /******/ - }, 120000); - /******/ - script.onerror = script.onload = onScriptComplete; - /******/ - document.head.appendChild(script); - /******/ - } - /******/ - } - /******/ - /******/ - // Fetch + compile chunk loading for webassembly - /******/ - /******/ - var wasmModules = { - "1": ["./pkg/index_bg.wasm"] - }[chunkId] || []; - /******/ - /******/ - wasmModules.forEach(function(wasmModuleId) { - /******/ - var installedWasmModuleData = installedWasmModules[wasmModuleId]; - /******/ - /******/ - // a Promise means "currently loading" or "already loaded". - /******/ - if (installedWasmModuleData) - /******/ - promises.push(installedWasmModuleData); - /******/ - else { - /******/ - var importObject = wasmImportObjects[wasmModuleId](); - /******/ - var req = fetch("/api/match20/wasm"); - /******/ - var promise; - /******/ - if (importObject instanceof Promise && typeof WebAssembly.compileStreaming === 'function') { - /******/ - promise = Promise.all([WebAssembly.compileStreaming(req), importObject]).then(function(items) { - /******/ - return WebAssembly.instantiate(items[0], items[1]); - /******/ - }); - /******/ - } else if (typeof WebAssembly.instantiateStreaming === 'function') { - /******/ - promise = WebAssembly.instantiateStreaming(req, importObject); - /******/ - } else { - /******/ - var bytesPromise = req.then(function(x) { - return x.arrayBuffer(); - }); - /******/ - promise = bytesPromise.then(function(bytes) { - /******/ - return WebAssembly.instantiate(bytes, importObject); - /******/ - }); - /******/ - } - /******/ - promises.push(installedWasmModules[wasmModuleId] = promise.then(function(res) { - /******/ - return __webpack_require__.w[wasmModuleId] = (res.instance || res).exports; - /******/ - })); - /******/ - } - /******/ - }); - /******/ - return Promise.all(promises); - /******/ - } - ; - /******/ - /******/ - // expose the modules object (__webpack_modules__) - /******/ - __webpack_require__.m = modules; - /******/ - /******/ - // expose the module cache - /******/ - __webpack_require__.c = installedModules; - /******/ - /******/ - // define getter function for harmony exports - /******/ - __webpack_require__.d = function(exports, name, getter) { - /******/ - if (!__webpack_require__.o(exports, name)) { - /******/ - Object.defineProperty(exports, name, { - enumerable: true, - get: getter - }); - /******/ - } - /******/ - } - ; - /******/ - /******/ - // define __esModule on exports - /******/ - __webpack_require__.r = function(exports) { - /******/ - if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { - /******/ - Object.defineProperty(exports, Symbol.toStringTag, { - value: 'Module' - }); - /******/ - } - /******/ - Object.defineProperty(exports, '__esModule', { - value: true - }); - /******/ - } - ; - /******/ - /******/ - // create a fake namespace object - /******/ - // mode & 1: value is a module id, require it - /******/ - // mode & 2: merge all properties of value into the ns - /******/ - // mode & 4: return value when already ns object - /******/ - // mode & 8|1: behave like require - /******/ - __webpack_require__.t = function(value, mode) { - /******/ - if (mode & 1) - value = __webpack_require__(value); - /******/ - if (mode & 8) - return value; - /******/ - if ((mode & 4) && typeof value === 'object' && value && value.__esModule) - return value; - /******/ - var ns = Object.create(null); - /******/ - __webpack_require__.r(ns); - /******/ - Object.defineProperty(ns, 'default', { - enumerable: true, - value: value - }); - /******/ - if (mode & 2 && typeof value != 'string') - for (var key in value) - __webpack_require__.d(ns, key, function(key) { - return value[key]; - } - .bind(null, key)); - /******/ - return ns; - /******/ - } - ; - /******/ - /******/ - // getDefaultExport function for compatibility with non-harmony modules - /******/ - __webpack_require__.n = function(module) { - /******/ - var getter = module && module.__esModule ? /******/ - function getDefault() { - return module['default']; - } - : /******/ - function getModuleExports() { - return module; - } - ; - /******/ - __webpack_require__.d(getter, 'a', getter); - /******/ - return getter; - /******/ - } - ; - /******/ - /******/ - // Object.prototype.hasOwnProperty.call - /******/ - __webpack_require__.o = function(object, property) { - return Object.prototype.hasOwnProperty.call(object, property); - } - ; - /******/ - /******/ - // __webpack_public_path__ - /******/ - __webpack_require__.p = ""; - /******/ - /******/ - // on error function for async loading - /******/ - __webpack_require__.oe = function(err) { - console.error(err); - throw err; - } - ; - /******/ - /******/ - // object with all WebAssembly.instance exports - /******/ - __webpack_require__.w = {}; - /******/ - /******/ - var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; - /******/ - var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); - /******/ - jsonpArray.push = webpackJsonpCallback; - /******/ - jsonpArray = jsonpArray.slice(); - /******/ - for (var i = 0; i < jsonpArray.length; i++) - webpackJsonpCallback(jsonpArray[i]); - /******/ - var parentJsonpFunction = oldJsonpFunction; - /******/ - /******/ - /******/ - // Load entry module and return exports - /******/ - return __webpack_require__(__webpack_require__.s = "./index.js"); - /******/ +var installedChunks = { + "main": 0 +}; + +var _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index_bg.wasm */ "./pkg/index_bg.wasm"); + +function sign(content) { + try { + const retptr = _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_add_to_stack_pointer"](-16); + var ptr0 = passStringToWasm0(content, _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_malloc"], _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_realloc"]); + var len0 = WASM_VECTOR_LEN; + _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["sign"](retptr, ptr0, len0); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + return getStringFromWasm0(r0, r1); + } finally { + _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_add_to_stack_pointer"](16); + _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_free"](r0, r1); } -)/************************************************************************/ - /******/ - ({ - - /***/ - "./index.js": /*!******************!*\ - !*** ./index.js ***! - \******************/ - /*! no static exports found */ - /***/ - (function(module, exports, __webpack_require__) { - - eval("// Note that a dynamic `import` statement here is required due to\n// webpack/webpack#6615, but in theory `import { greet } from './pkg';`\n// will work here one day as well!\nconst rust = Promise.all(/*! import() */[__webpack_require__.e(0), __webpack_require__.e(1)]).then(__webpack_require__.bind(null, /*! ./pkg */ \"./pkg/index.js\"));\n\nrust.then(m => {\n window.sign = m.sign\n})\n\n\n//# sourceURL=webpack:///./index.js?"); - - /***/ - } - ) - /******/ - }); - - - -__webpack_require__.r(__webpack_exports__); -/* WEBPACK VAR INJECTION */ -(function (TextDecoder, module, TextEncoder, global) { - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "sign", function () { - return sign; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbg_instanceof_Window_434ce1849eb4e0fc", function () { - return __wbg_instanceof_Window_434ce1849eb4e0fc; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbg_document_5edd43643d1060d9", function () { - return __wbg_document_5edd43643d1060d9; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbg_body_7538539844356c1c", function () { - return __wbg_body_7538539844356c1c; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbg_newnoargs_f579424187aa1717", function () { - return __wbg_newnoargs_f579424187aa1717; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbg_call_89558c3e96703ca1", function () { - return __wbg_call_89558c3e96703ca1; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbg_globalThis_d61b1f48a57191ae", function () { - return __wbg_globalThis_d61b1f48a57191ae; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbg_self_e23d74ae45fb17d1", function () { - return __wbg_self_e23d74ae45fb17d1; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbg_window_b4be7f48b24ac56e", function () { - return __wbg_window_b4be7f48b24ac56e; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbg_global_e7669da72fd7f239", function () { - return __wbg_global_e7669da72fd7f239; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbindgen_is_undefined", function () { - return __wbindgen_is_undefined; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbindgen_object_clone_ref", function () { - return __wbindgen_object_clone_ref; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbindgen_object_drop_ref", function () { - return __wbindgen_object_drop_ref; - }); - /* harmony export (binding) */ - __webpack_require__.d(__webpack_exports__, "__wbindgen_throw", function () { - return __wbindgen_throw; - }); - /* harmony import */ - var _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index_bg.wasm */ - "./pkg/index_bg.wasm"); - - const heap = new Array(32).fill(undefined); - - heap.push(undefined, null, true, false); - - function getObject(idx) { - return heap[idx]; - } - - function _assertBoolean(n) { - if (typeof (n) !== 'boolean') { - throw new Error('expected a boolean argument'); - } - } - - let heap_next = heap.length; - - function addHeapObject(obj) { - if (heap_next === heap.length) - heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; - - if (typeof (heap_next) !== 'number') - throw new Error('corrupt heap'); - - heap[idx] = obj; - return idx; - } - - function dropObject(idx) { - if (idx < 36) - return; - heap[idx] = heap_next; - heap_next = idx; - } - - function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; - } - - const lTextDecoder = typeof TextDecoder === 'undefined' ? (0, - module.require)('util').TextDecoder : TextDecoder; - - let cachedTextDecoder = new lTextDecoder('utf-8', { - ignoreBOM: true, - fatal: true - }); - - cachedTextDecoder.decode(); - - let cachegetUint8Memory0 = null; - - function getUint8Memory0() { - if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["memory"].buffer) { - cachegetUint8Memory0 = new Uint8Array(_index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["memory"].buffer); - } - return cachegetUint8Memory0; - } - - function getStringFromWasm0(ptr, len) { - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); - } - - let WASM_VECTOR_LEN = 0; - - const lTextEncoder = typeof TextEncoder === 'undefined' ? (0, - module.require)('util').TextEncoder : TextEncoder; - - let cachedTextEncoder = new lTextEncoder('utf-8'); - - const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' ? function (arg, view) { - return cachedTextEncoder.encodeInto(arg, view); - } - : function (arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length - }; - } - ); - - function passStringToWasm0(arg, malloc, realloc) { - - if (typeof (arg) !== 'string') - throw new Error('expected a string argument'); - - if (realloc === undefined) { - const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length); - getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr; - } - - let len = arg.length; - let ptr = malloc(len); - - const mem = getUint8Memory0(); - - let offset = 0; - - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 0x7F) - break; - mem[ptr + offset] = code; - } - - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, len = offset + arg.length * 3); - const view = getUint8Memory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - if (ret.read !== arg.length) - throw new Error('failed to pass whole string'); - offset += ret.written; - } - - WASM_VECTOR_LEN = offset; - return ptr; - } - - let cachegetInt32Memory0 = null; - - function getInt32Memory0() { - if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["memory"].buffer) { - cachegetInt32Memory0 = new Int32Array(_index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["memory"].buffer); - } - return cachegetInt32Memory0; - } - - /** - * @param {string} content - * @returns {string} - */ - function sign(content) { - try { - const retptr = _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_add_to_stack_pointer"](-16); - var ptr0 = passStringToWasm0(content, _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_malloc"], _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_realloc"]); - var len0 = WASM_VECTOR_LEN; - _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["sign"](retptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - return getStringFromWasm0(r0, r1); - } finally { - _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_add_to_stack_pointer"](16); - _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_free"](r0, r1); - } - } - - function logError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - let error = (function () { - try { - return e instanceof Error ? `${e.message}\n\nStack:\n${e.stack}` : e.toString(); - } catch (_) { - return ""; - } - }()); - console.error("wasm-bindgen: imported JS function that was not marked as `catch` threw an error:", error); - throw e; - } - } - - function isLikeNone(x) { - return x === undefined || x === null; - } - - function handleError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_exn_store"](addHeapObject(e)); - } - } - - function __wbg_instanceof_Window_434ce1849eb4e0fc() { - return logError(function (arg0) { - var ret = getObject(arg0) instanceof Window; - _assertBoolean(ret); - return ret; - }, arguments) - } - ; - - function __wbg_document_5edd43643d1060d9() { - return logError(function (arg0) { - var ret = getObject(arg0).document; - return isLikeNone(ret) ? 0 : addHeapObject(ret); - }, arguments) - } - ; - - function __wbg_body_7538539844356c1c() { - return logError(function (arg0) { - var ret = getObject(arg0).body; - return isLikeNone(ret) ? 0 : addHeapObject(ret); - }, arguments) - } - ; - - function __wbg_newnoargs_f579424187aa1717() { - return logError(function (arg0, arg1) { - var ret = new Function(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }, arguments) - } - ; - - function __wbg_call_89558c3e96703ca1() { - return handleError(function (arg0, arg1) { - var ret = getObject(arg0).call(getObject(arg1)); - return addHeapObject(ret); - }, arguments) - } - ; - - function __wbg_globalThis_d61b1f48a57191ae() { - return handleError(function () { - var ret = globalThis.globalThis; - return addHeapObject(ret); - }, arguments) - } - ; - - function __wbg_self_e23d74ae45fb17d1() { - return handleError(function () { - var ret = self.self; - return addHeapObject(ret); - }, arguments) - } - ; - - function __wbg_window_b4be7f48b24ac56e() { - return handleError(function () { - var ret = window.window; - return addHeapObject(ret); - }, arguments) - } - ; - - function __wbg_global_e7669da72fd7f239() { - return handleError(function () { - var ret = global.global; - return addHeapObject(ret); - }, arguments) - } - ; - - function __wbindgen_is_undefined(arg0) { - var ret = getObject(arg0) === undefined; - _assertBoolean(ret); - return ret; - } - ; - - function __wbindgen_object_clone_ref(arg0) { - var ret = getObject(arg0); - return addHeapObject(ret); - } - ; - - function __wbindgen_object_drop_ref(arg0) { - takeObject(arg0); - } - ; - - function __wbindgen_throw(arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); - } - ; - /* WEBPACK VAR INJECTION */ } - .call(this, __webpack_require__(/*! text-encoding */ - "./node_modules/text-encoding/index.js")["TextDecoder"], __webpack_require__(/*! ./../node_modules/webpack/buildin/harmony-module.js */ - "./node_modules/webpack/buildin/harmony-module.js")(module), __webpack_require__(/*! text-encoding */ - "./node_modules/text-encoding/index.js")["TextEncoder"], __webpack_require__(/*! ./../node_modules/webpack/buildin/global.js */ - "./node_modules/webpack/buildin/global.js"))) + +function __webpack_require__(moduleId) { + if (installedModules[moduleId]) { + return installedModules[moduleId].exports; + } + var module = installedModules[moduleId] = { + /******/ i: moduleId, + /******/ l: false, + /******/ exports: {} + /******/ + }; + modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); + module.l = true; + return module.exports; +} + +console.log(sign("1|1654054123000")); \ No newline at end of file