From 52f5030f651efb971b884b419bb3999c2f33f01f Mon Sep 17 00:00:00 2001 From: gasoonjia Date: Wed, 23 Oct 2024 11:34:57 -0700 Subject: [PATCH 1/2] print non-existence image prompt --- assets/view.jpg | Bin 0 -> 95499 bytes torchchat/generate.py | 9 ++++++--- 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 assets/view.jpg diff --git a/assets/view.jpg b/assets/view.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6f44ebaba1aa493b8bab3baa4e827b76752b1869 GIT binary patch literal 95499 zcmbrE1ymf(_TUG1m*DOi+}+)MaA#m}ha@DpyA19+5L^Nz!CeM-cM=jbKx8NXclNz+ z_neipTRqkDt6Npwb?>d}uI{cstABO@`0C1P$^Zle1b`}h1N_;?HdRwlu-4VrQC8Db zf@c5#*s7YYU{6GR0Kfz6=cBJ8PiJaoPKP!FKm=d_Pyu`ZfUUi+mzIIDApjoKloaTE z;f4P4f5QDT0DdF@V1ZjzmyYf~^8YI$u=n!u0{{?o;iUx}9DVKK90_OlKtHd)@^5e^ zwgdfTMC8Bh18*Rl$^NqQznJU4%KVFE|FVMz*a2SVZ=1awJRJV=5S(KJ{2k$pqzUKf z09VIAI4{DP$=%<>70y54Ozh!k>k9xNWB--=Ioi9x`6ZmOeGK&#;4BFMpkq7#gYEvo zevU!#b^-tjo?gK|uFfugbZqwQbbMlBqI9Z`f$olee%!jY_8?my2Ra2$4=-DAFaYo` zo&VMX5dO6-9o)#md}6}F-26On^Zz^iZ!`a0>VFS^efzHxH+ui&GX&D9|H%GR_dhbv zG5|pI4sM&&|H$m}0D#UY0Dx@$KQg8g001u%0O*+ghd!i#`-_X8pO-i-CKb0}Om$`zS;qC@Ixca$zg6Ukr|0@swKUVuk8~)B+yH)n2tWcL3s3^619Sj} z05gCUz#iZN@BsJ#0s&!w2tYI-0gwvF0zd%8fC@k@pb^jl=mhivJ_AMolYlwE5?}+c z3pfH?0KNh40nhLY85#l(0ucf^0xbeF0w)4Lf+&JCf)auzf@#9hP-#5*Ja5*89E5e_k`9tNk`s~- z(krBRq->-zq(-D3q*0^=q+O&-q(@{_WFllbWNu^$WL0D%WP4<9xXUQBhGzQCU$%P*qXQ zP~A{NQ4>)MQJYXdq0XZopx&XOp^>9;qDi6YpxL7Np+%$Rp*5g=M1!Fnq5VL|LZ?ON zM^{ESM+c+7MbAdBL+?k2p`V~XW8h;jV~AtuU^rj|W29hIVDw9G(?k z2wpZ`E8Z;LB|Zi|3%&xrE&eO~eEe?w75qB_A_6`F9Rd%6M1nekae`AqG(r|aB|-W-R*T7}w+ zI*)pg`jUo}MwZ5nCX=S0=8TqzR+`q8Hk0-v?KvF@ogAGzT`t`a-8XtFdR2OV`cnEC z`ez1K1|x>I3{4DMjF^m~j82T1j023{m}r@_n8KLqnbw&xm_?agm~)s%nIBkKSxi`B zSUOowS;<({SVLIrSvT2m*kste*~-`!*-_a=*+J}u>~kE596}r}9QhoxoQRyloUWXO zoby~LTw+{ct}?C_ZftHj?f~w3?mZq-9!;LNJe@pWd6{_4dDD1Dd4InYdg=bM;^hV( zA)h+mTfQE?Ykm%Xd;Wa>MFAWEWr5cMT>{?)IRzaBiv(ANh=jC+VuS{SehG^R`v^A* zpNTMu*oYK}tcVhe>WU_cj)|d&$&0-f>lJ$x7Z&#uZxO$e;FbVM)JdF5vPwEiR!AO5 zF-X};l}hbO(@EP%mq_o*(977$l*#PNGRiv0R>_{ovCFy1HOPIHe<|-H-!A{4Ag&Ou z@JSI#QAIIcaYl(y$w&#Jw5`mb?5td`{7pqjB~;~;DvGLxYMSbb8nv3eTCLhQbrJP& z^&t&x4Fe5`#=a(prjKTi7NVBAR)*H5HnTQZyHf|Cqo$Lgv!%#h4i4^>ZBFJJFi zpHDwbf7F1;z}leB;NDQ)FvW1gh|S2~XuufH7-(E;{9vMJl5VnV%4-^KI%!5>=4#eu zj%IFbUS)n~p=6O|aRd|sMgx~ESuKMs$E_%=+^zbo@vLpFTWwHmOl<0Ge%k8Tmf7Cf zso53SeY01v&#}L7kafs(ICGS8Om{qSl5$FSI(3$E&Tu|+k#Wg(xpY-HCy1|5C5O~Ow#xuxs-iy;K+H2Qa+&jzrn~#Q1l`n#?rEixX zF?=#L<Hd-K&AujISeKAH7j|Qxkz10g9M@`|@r2+uL_0?|LGsBi}?GM5#p8N8?8OM6bk1 z#1zLO$GXPO#0kXZ#r=+Vh@VJ!nUJ0EGtoYAB8e|4H|bBZQ}RrTa7s}sYAQH&IZY<5 zCY>NXB>f;mE2ATmE;By!Hp@C|JX`DK9neC&UG^lrNv(R6tb_ zSMX5iPzWoMEov;LE>0+ZDse4YEmbM)C}SzhE=Mg7C_k<+t{ANpt*ou0s7k2%RSmA* ztD=uy>zeOY?;hxp=xP7J^P#$zzBj**q%Wl(vp=%`&&QCD zcb~jIU4C}{d@x`=urX*lxHzOYG&8I*JT{^{GB_$X`f*HZtan^|yn8})qH|JsvSUhU zs(o5$x_w4?rejuQwrfsou4i6yz8@w7`@EpIFtVt&IJu;~G{0=Lyt)Eh*Y>F-0(e-B8A$S9})1T=IEOa#E+ zoPXp2;H`k?qWxJ1U?U*_5b=@l;nf~8?yo*7|3H$!nrdfkmY7-I;}KYJp0``{Amw!& z7#whqzilTpS8Fd)Ivc=1jRK7cd2G=wD&WA`f=!ZRrMG*30D*?n29v3oRPl~;5sI7b9+dOP@6Ou&o0 zOA`g(!n6Ur!kQi~{lpCAc%H<1tTH8!PzJ$v9$t+#BG`S~Z94}$=lWF1p-dj@x6NR z-}m7AdGPfoXNzb=!aS#X)&E3bg8UCWbFVA4#00^Q^K#JlO5aW4Id^ywN1S6_xw{D4b*b0||EFDM_D z*~T0SY-<7;X4NXFFV+%Pa+n)dl0ch$?%LTg^gAE{?Zk;Z3#5~8n2B5{a@z1f>jY(R z72k02yb0j}c=g!$g})RRej_fNi(JT!z^X>4wxHIdQ>O*Xr&(d<(Ez%ukjG* zBa150(VY?bi7Jhu9(ssSW(ux?ReaWPQ5S5*sR#AMiL{h2U*JR@`g1E^8gWM-8bV%X z+E)258=&l<_htbU+q0ajyiHF8^C>?`?Oh6#iciXmQ6_$IQma~Y$dNGfGg4>JATFzD zRcDD4YH>-w*930!zF^_S5UKRAhjnxdLK_vE+<4XXGhiJxg3y|ZT6KzmzDf1W3T6v^ zqR7p;Z(T_1_mQ?QUDlfg_rD_zoT4R+#FU-Ao%b$v=|OPmaZwY7AW|_zKZ&~_;-<@H zRE`n)=^~3#rqT~^Sd8eYl!xHJiytH8fF^ zhGHax-f&eFPXloPw?bTqzxoDIuQq@x0-4T@dbtOJaVKvBhgVG)eG41Tq(j(FCC%eA zIQ0Bf+liENT3piHI549Km=g2^+wOaTRx1fKaS89#^|M?p^vw0M7)<&mhdmr!E%ZZ- zR}hISaU}FBE7ixL9u{es=2>v3No5czuf!@7p(a`ZZY|Nxd0w(hLvTsB@f1g*%Ipy{ z+$zw;-DERZ-q4+uVDPJA;>OFWWys?D5h51^(vi!5Zq*D}P3yP;&Is0^+NB{3RO+Jc z`omr2&pmYN2Z@_25T;DqY$qx;gvZTRq)&!?;Kz>C;fe&%i~yBW-n0Z!qjsw(QDPhY z$T7FFT2-bYgx7K2U` zV7!Ey2`yJ&uWEyS1@Wn;aabM0pkD;*L$xHf7nXU6l!*YLRybt6$S%1^^M3R$5SJiL zmk<^Rp;lEyIYWgDPb~tA(wM%3VH^teJ2gRix>_${GDBul>g-kmH$P&V_(w2UcMk5Cobq+!&4 z=4IFHxc}YfwgCt+W(%?6;3Ub{A!#3kwYuFxzgpR42^Lq0>uGr{2a3H=u5Bf|ZZn7h)dOSVmXo2Y%|Z zTb64-p^cd)PRK0I@GnG5FiUsT;K!k0tL4ICP!ngXWe8=7d(nR8vVN-yO=DtLRHM^} zDY==e;elXFUqXO=^%@zW^F;8m);nE`VYNh(KU@cEW$0*FGs|teZ5V5qu5lgSWhIG# z9y1EO42JH4)JHNZckxJ5<<*i^;-z_CACslrxn;zxr))dx}&z{cyqh zsTDzWikv|wCzmFR?+w=^L2J%CmW`hWAn;$RVPZxjJ5zr`^=?DxqK3PVD0{#MerxdK z$o42k+?TLon&Z{0_F`Pn@FmuD_GQ3}Q6V!IsYiO0#OXI1LlRuR|>}i{qOP-e&oLjLF zzsmUHO(KJwSRbmBy;)usyP6RYEqj0!jZf|D-)p9vh)* zDxtarYI;c;T}>?^W<28C(of2^>zJ4^^yD!<^toX9w`GTH9LUI2A+q=mFB!bV;W~+M zE1rtr0Pgw}Bzar~Sk`_#%{gY9F4}3K*E2OYBxs=wYq5tiK-m@J=Y?C^v>LIkxUG0G zcs155_rE*ZefRnvRPjBirteBPDUEaH9?Am}06~^-(BilETlv(}p_c*zNCN!4BJfTL zjdrrJ6YOa39l8-f5I25j2G=x;4VGc>mPe2}O^A)W?WjjP{|((~Eyauaw367i$W$;| z8AC)#T!{@NN@;uz2@rD9wz>8?S1j`d z`Q=JAs}lvhg3a3uYenk=Su+rqNyp!)RdM5?41BS zg#`DAP;d@;AD9^MMHWfCHj(@-huS^JvIhz98RqP{62J5 z20_%Ql1#dH-SVW-(fmoDQsq|Zvv85$GR&pQ!Daby`X|2wW1}!%3Ar{I`bm(@`Uo@A+S~?fgo~t z3htSI>>%5K8@R3%)1EwNc@eSez2-kuvIFx+E>9yWfv1Jde**wzPjqE=9DILb%OJ<9kRyU8C zM>fY31w^Z=U%q!}>oK>$9(m=0$Cp6NKAzOp$2a*t#~gyoZ1Tb&wBBLosvF_|L8<@f z2w5Ez;A@zgOw^tuhgPUfEvGeK$-UF}6il+Og^?y?GOM;_vf~m)m3=OCaYZ+$qQ_E- zRiBehRWv6=kH*1Lm~x@JlqZgX=(d?AdCDfSGcj{$D5&Y#DDT>Vq9=^lWukxoxY~bU zswB03*W%-p#7&{SaJVYE1c?tV%AJS@`uA16zXpF=?jN5{8s-vLk;^&uyk4m>tk;0} z5`Rzr(dlwyenJ!Qg@@aKs>PgV$B+e)Y272+^&Dwa_`;yKXY%C1nn>S7_<_-=^4q!* zw|`OcHQ%bl2Gg{dA!fkHWCyO;gEYvy%E`vbPR=yVu$YpH1hTp8ln%R#)%mOW(g>^o zdzrqHl}NA62{O&fBVevznmC!n=u#>^w0VX_E-s%TJJ+^OfleqGNjOCB%4E+#mFPhI zR(@^|$@B|7CDANFY^&>X+;)4JuUSN1$0Y}Q(FLyK&iDqKCYH>}kY9o2Sh?){7WQ7@rlHXbUE^2M z`}DKINcF+nZ57o}CsdFtp)XMd$W(+wo8`m>2J{fCv(QeRE++uF!V~OR*!1UV_-vf{ zNSK4ad~!CBCZ&a)7VFJNKv_9-6rGOLMkIwLx_X)&sFD>0{)R&C6Duj`59(nLuU{z1 zb?aHOFlZc+6dM4;fKMpE?Xp=ar$Sn^1sV3wqsnO=B5MjW11UyczREtFl6OMGIt~4) zVKTm+w-HT|)>_HMMx*Pj*QfOc5($@WH;vDO9xb~gw*&@z*)&Z^MQ_tbfA(=v&NOGQ z64~21gI-Jtm++mEX!*pXJG;P$zYo7IE(7CWw@pnQb+i1iDC@rY{hJe6t5HSDRSFF! zdYO7fWwv+2sU_CAIuw<=st}hD?9k<=Mi$t+Mfl@$*z<=^MZA2BNX+SeGjfRP&V+B5 zJI1S4rBY(voDb}Z>)lNptFmLarAn|imkO@cF%cl+Fa%|d;%HRy^)R)d6up1ydGF^N z)%qTk?x)yB(6_;8e48Y=vBk1ZI`}<>@v@0?*Bx>jGi&ad_vrIm*y^SJ*GkTnndl{nSA94A_%M$h9UntwE^C@SxW3Oy}34;U5gXyy@4hKb5qu z9emWHZG3GNJUVegG1@QsP~a>j!~aWUbY*3FMPtTZpnu2iFrY{}ofXn?b#Nx|vvNYp z=;Wuz@S1(a)?9ZjFT-Wwqe-LDaLVedv_~z*o8Nx`%Pt=U19-EZ5;9!S8}7Q__V3}* zR_!Fu!+7n3A2LJnxxQ|mm;3=xbMe@yWv6pS*&5iTG^wBQR=TD^{m|<;wFFvaRU}V8 z5q4m>wp0TW!708YE4$38DM`9Rjh?(%PP?V3g5Lo#AJ;olz4Gm_LcP z41+^|M(g93k?w;t5zQY_)Z;SN!FW^R${L#;)>)mO?qib9-W;#gJ5xfY9X#^+V7=1| zZ-WK5SMU6-&kL&yzu79ccG|85&{(?$7s~1wKau-=n_h0sqjHTXR}p=}l_%^ zB~%yO%VoQ`bRqQWITxF1bch14AuMR_hDfT&8Kw3Oh*hS~l0!w>Oze9O=1KARIM=TG z%!`=A?|L`lQm>Zx-1nTB@Tezj%9z}n$)qoaIJeM>UxhZwubhiM1imX-E=oDFdUI05 ztHYb{ej>D2SF3@P@U&Y5uS18X73g}(YxHxn_lNYug89i*oTtp(6aK}lRpRw8e!~Odg@iob}Mtpv2^a&_#&eH+_>m)t74kp3z#dWxEHyqewdEt;!(In z^~H02tP`-`O?l@pzk_xvk7lTwL&Xk7C{#UZm2jxdl1MFzo?v3K_8NI^E!5;z>&u5? z9eq7VhIq6e%cW~Y?}9x{c!g4iZ-0TtAHm(A2D7l{f)f~)$OKW4^uy|8%FyU9p}Uc* zZ#z|P;pHo1((|F=7_-7pEE37MBKSJqCYcS_7;G^d}2B@+f2xmo7S~ zQZlCe;K`?vv;gw=krcG#`Ki!6acqz!hUq<*zx{OUR_R2G35o19xbN%;87c~{limEz zEgGG+0veSJ8Zstxl^kkbSvO*EHbEgUpS9;AdgkRyyY0T}IrechWj%d|n+YdCw08?-Rrqu7l?)4oq0;E zHHH+d(6)Kb2KkPQTV>4Col~_|NiDhEV4u_;KFMq3N#2IllO*Jc@16BSIMbG;(z}P5 zBzc|YiUN6WiYnwD7mouMp+DPy69^HRHCPq?Zr1{eg|4u_o=u*jJkNX2yftVw(9DV-OcpZMYFmQ zZ~#iVl)pdhyn%s*Ox8Cr=~((j{=H>&D*O3yLsFxkYjZ2HbcHllB_ zJUZe;rxcIc!JBO7K>ny+^!pzDN8dkyV42I!=LWAm#p-|}&dLvJW`1H-XRBtaRrS*K zGu9#vyF64+UvK@UGsaDC-H#M-zF1fFF`Bf_{rHy9VdyxKn0lK(qjcnTR}xY!d`oGv zd1#^TxKa1ij!F6<^C>=NN+?C@9EwIgSosH_S&FFobA1o$_k&FNgT#%t^Mbd(`lZHJ zX67(9#Kbz%W+wk@g6i3t3V*Y&RkBfWxfl5Rpy0OsPH$54rML%wccfUWzK7Hbt$Jtw ztQlsE=FM7hNpPpu-ZSZmVDQiCTHjZt$Gl>L&U_Xvg^S6R&I>8ld=kxg{-(#wS%kRE28!cNZYCP&gZ*HzK zz6RUXdbX8kWA4amYV;3=2!{Wzcl+@A-KhbAf8S>mhNX^&h6Jf56?%ih#N+7%oXIcs zxP@aODoj8hS~0H@xnHEQPh4SgV&{yzKgSjC!xW3;LeH_!ngl5qzvrC{+`y_5!-h8I z1~lHPg%~4hqkL4Nuttl&U9p*zVUT@JrxiUWk6;CH~#*Rak zJUd&b{du+I{CDz>z@9r&Jk?9Ziar-6_RE;%!%|6F zf|H%%E%t4d8L66DmcZbN;qkKvGZ}s-ixBcZ00?C5jGR_ry!tdf_)sgvrr)8i`qC&^ z!R0PH*mNdbjeI`u_WRrmUuG4ioB{>018^z23QNK*Ph#(S(Qhfn*|u3-mhy4gTTjm3 z8me~-D7`0T^G^1gEUg=?^qV8GZ9Z;Ful z4Hb-l*h}9$3CeA^gZ1mD-W`UFhG(i`TK|Rs6Dr9EsU@JE;=|fUDKQX?M-m2QT~04D z@NEm(yUJW%fmZ&EV)VWck(Ntek+E#M`L1+|`cs=F2UNFM&eYd;X!wh9KI6BMu+e$l zYsiKBy<~MdqDsKG75~Oyng`_ci-eo-M*qelvanaPGIobNm;1`B5(MUZHM(^jvrRlI=Y?TrMFslw9cv` zZ<(S=;iMyRbIu!ZSF1X=%#2zSFS_i}yL;?k8v)@|Q$*5fH zk?`Gi7?RN6ccYQ3O;^rv>7+s8I@7$Us_l?CoXTYSK^hz^usVg+`5 zg9&wCUmU#_f0wsYx=<1BbP@QqsVsSPu<=y&(dI<=Lw2en|D_I8@2Bf60`%xRgUopj z&DG;;w8j2t1L3{z)Eb+&?zB13KF_+&19EFwPO}?q&)3e=VM5jAhio^4yhcmy@d7*_ zOxMNQ4f+iyj}23ld}hMA3MUJ;o`X+XIC$N^E^LDB4&GmfI=YPk^OikxKKZYMDHY7m zV#=H3yg7ztv{TY8>&y*%(6bCyR_fY?5cnI98m4k2lk(348rdCIq+`reYu2Tt-72Gp z#q9%su&V_R>rm!_m#%Z7@gexaFu|`S2DN0wd<0+9Vd@-N;!c- z++X>`478CyhU3Fta+CER&fW-P@V_cRxtkyU!1r2ervSh`BysY8F3$2 z2>aI1K9y+?OTNGySh#z!xWwtnYd86qpjCk=%0r#m!(`T^byj1TTk~m~&;k06(Py!P z^erWkLY@uIxs1K3o=h{U$D?@ILCk^_H))D!arcsdN9{_HNuu_+o;x+>;$hAtdrNp{ zSsdL^mXQ5r6fo9WfPf_mTz6U-DHsO&ScmT{KW@yyI&%se^2OUXm z+T5tT_A)#0S;q_z+Fc$&k88|>)n$M(V_jxCNrz{Zwe6{gk_wJEwB6>@9?KqQ1wm-D zPg(_9)1FE4#%2rI`1i(HFZB(K&Gn2aah~fbbd)}9hj!QH1cMrXD2#7bjG9P6pE*nd zg}XM2z~9X3I1@4pR_K@~B9PnsW!ifq z2lk5(yE*SICyUbWPwjz$aaMT7c=bbOk~-yUtzldA zZby+_E8G`J8hmcsRvIu`j-JMH(F8KaXi_2L9mClpuu}T;T6|_ufquti!`D*RFE>-~ zb2FiihKru51eZ>f+g?-75Z6q@@Kh3f;7-e;;0TSn?SdiXL?yDfmL$0vsZ&HG@hok9 zZw7K}dOi_D31cYm(e>j8dWVRVo|f+g)PfvjWMax zlo2U01=X=zN0sE}bHRg>o|xhw&E}&bjFt(YWPgV-C(c4^aj~YK*p|Z9`A=j5>gvblyL3Bo+po(O<`JZ*P)4SA}D)9%?3A+AT-9&2lbh>P^_@n zbrdr4l*6(#r2ZqpVu(}%kLfxmS6nKl_5dopH+Q)O+&o^GbEp$D6*vE4SjBU#T0J{E zIc=imOi@?SI%+elbM4+b<jEqD*mAV_o*!=Pxi}{0UUY(Yy}d$<8KGl- zYTSF*oh|mj>)yyb6B5zT@fHJ`)S9b5>9xAPF)!9WJ9T$C`mSJ9cUUJ49mKZua`8)- zwA<6^62TWBg(;OnlHqfa3U-R@%P0$jFU3V!%1)oY)cy3R*{?<2{hXC)3cBrn@Hoku zY1CftsJYw=sUpL>okW09x=t3jCI%odmsO|{LZHwQ0SVA_c_7Y}@bo6)4S4?9Ja-v} zb34PpGD=-#7zplc5^^lqkeDeJ=njE6c=YpSIT^oSyg6F+Vr0T#*&^}fz|}E7H(Jsq zcN?h-$CWAL5WMIP#y|H6zA*CTxGNcx^e>ukO8n{yaqs~uAI>f6?+}Y{iD7p{I`<_mIQYC6d$@#<3EY$J|P_n15zi7u(YuJ(Y(YctA{^hGB~ zx~7|XhNc}wCOoENA#}gmDyh??LoL|_$G`1d<))*=IjM5?)I+PbT_B6rcNd&M`2pN^ z&(%Ok#W~LK)dn^WGB#sY;6cNhBBg*d8h_FNiDk4Qax54<4Y^V&Z#GtLLB8qzp2sXV&_dHX$wI{%apEx zd$8Z;mI zBCa|tI|L_z(1)yRno7o%g0X=!pWYOOi|z?h>IC5UprsN}*sRd3x+uh7YZa%El^mEG zGSP0*E~JEeK|*pK+)=1-@nJegQFU{Qg&Iebg`8Wn3LbIkaWpWw{Q2z@iQ)v67^+OY z?cFp9_G`jW6>7~X5O*(yw{Ps@l?D_$7Tc=27938sgy{m+8h}IgdO{x@z4TT!9k)Ll z=1gj6CfVsoac#sg0Y8kPsm)Sg`1+nSLfk%eF|rDFIkNI}8L>)tF>nM3WBIaGDQc~b zR&1gnGB;>o53}Pkm0ONvM8+A1Oo~OA`%WZ>#uza?TQ)!Tx5W=PoMZF9iFc+oYDc#0 zC#O+Xfr1}wSxOz8rt)#zjHyXnSMZ(E1_ZiNKy4%HyBIT^x@v`2jm4$P`Yekbz)auD^(!+An;&JzWbitahx}noQ zhPFpO)P3`9lBMn^pABi%^ZLrbH#j7>)|RO}tnRPSe`OPUw+apVe$t4k zleHb<%PI3xHsrAK$MjYG?a4?B4K&5~&?UvfcbcVPrNjrX?9p}T6Kj2Z@Jn&xeH+-~ zIX(X3Iz8dy+@9{@1U>$-D}K4dr@c{i8{Gk4K{i`{2i?!`f4zBrGVgXSwzSBSvH`-= zXayF^5fQMqRJn3WT98r1k@xZo2VZkhvm|r2%ONN+S6w3ksl4%60zF7kDKo3AY@%l# z&4Jk^Zq3Ak!B}X8v@p%Th1K5D+jTVuXnLvMNWe)^528-i&e#$QM-TPr2Ms-0*}Zyy zC4Mm9H`o19DhB=`rgt|*nJ?#)!-s+8UhWfHXI6H{B|jc=)&*L|*p{yhtZ^b=aWby4 znk-|((gS8KCcU!*!o-CA*+!|}Z>eSp-CMGA8|B{m2o!UcLvr|BS4d~zkBazI90K#` z4P8X9WpS%#^|oVOZm;1lf@?u9KNqYlaq`UDB z#?uC44H#mH^!H=&HR9>uqmqs*SMg;{9xfw1KIKfE3YW zxiG@$ZrsKwT+YTQSk5-R=2jd0J7O&KvO4KDET(jO%dttCJH4|ovQzD6$NmDfgKsf+ z^2NGNis08Z@$YK=8RX)6^daGr5S5%QC06?{{iZ&=`lD6xjZ+qV@5J~0!8cwnFhb9$ z6QXGQx;-cF`=6A1uc*)BSGxgyROhq8p!p`?V-!t=quFBxO|91~i@6jwUvOV%weC*t z-D&nx3X<#grpN$U;1BS&3_chPf3d-CH*tR@foSvIz%^2~Y5_G{i-F8fGnq<`U(~k! zC0hh?R~a(lek|Eh3_gn{CY>!$tOKqi{utb3sD#i1$`-XYki((R3(S09pl_6ElC^*_ zlF1a&Q3Rb%I*MH}6X8J6dlU?qY=gmM1Osah;C&Gn0%A}qvU<1|mg04ZF;RVlu6BQH z|8?NRN{C5GnCI(h$9oP|otJ&Lzi>hCK8HN{;z&kY>s$+{v;BG@CUoQ%GU@Or^|4l{ z@G(V-=CetT*%M|5&x@%(4LPG(ZtxSIm1$kbelQQS{jC%PG&*lJuNy>>cH2YsTKJdT znHSMu#FiLRZfs9RUUzNJMnT%%WIFB`!3)riuqTKRjWqDK){!P?N%T=mP(55Aix|fgRY)ZQB+FvU#(c6v=o{%yQb3Y2a|oeW$E81{St|^p$%RG z%7s3ZMaH#(tU%joouH!KlA5mw2k*7+S=z!HgJ;Oy$CsxkLJX|!hfX}oHv%79@~|pS zL=daAzrLV=Xi7t};eCxmv<+8_AXYJ*F;xtCw1i2Iyd;$>NQI6Rf%4mX^qq)U{AUKQ z+D?41fUk3ugaJ$R%PI_9-5j9&fUO=AaZ6b?yU|bsvl?!*CI_`Ge~o|SKy_hQaV>t0o9RuRF2Tf=wcR%GX#^&j_n-gTnQ7PN3~B)@VuEcdMa z^2%B&=~c1#W62=5G-UMWX|T#i`=2-htYy9VjLOSW#Y?Y1JIxzAsYRlN8J$g$+%o3X z(}eVA*N=-yAwpE@Le!_*fnn5JD>SYKI~S4>(>!y@#wyg`sI&@IoL*2+T6&Dq3s@#K zkxvxW^mDvFg8}J>bwKZfL)6RrN4}{K?LZkNzy1LLn_iMY8k=h-+?T`gdo${Nbxa0R zG{GJF8Do8&ylEB=jY>9^1Qgk-Wnu^nxtmn+_OO^!o9G>k)QE4Z$UXo&z$;Wlt>*w+ zv^?tg<5}Dw{gYS${o`1+%5g&3Y@qponYSWw*#Rk`dXjEM4p~XMq4`@2Z#Tu-lW>Hh zZNB6urL{*Xyj))C0`{FL$j3!?&8Fktrg=5;*CLzYtc^-Rlu}P;)^EzBliGDYM?LUY zd`FOapY~(zq;l{3$~4ihV<8^#(P{$~`5kvf6H>?3gLj#%l?Db4V@n~Ba+ShoBZnPx zR{f~cQU~n(5~LPoH8o~Nqio{aX%>p)HxqrhOVBU+BW*8P9Gk=?a7#O>(xlo}qyz2G zGV5;8`(#gxsVSG6Zi{Iy)-!pI&`;8;NRFzqL6-A%cgLdj5yp55X5hTn&IoFQ9g;D~a5=M#y(?)4S zxYp8R;=LC07%>-18I9Tbhtq0>Mu_!6Nv3K%QmU^Lz41Cm5#=`&pV*)`G)K(EMu@<~ z0pYRCYPQK~n)#yK7nsI;csx!wE#zaP4$G$Z49%qNc*%umVpCz#O=$8JFHUuX1Ez}# zKaWoLpSRump*TirRrU&|cQ$Oy--zdL+o%PW4Xzb6-@w%eMc!X6;-Q*l|mzF`sZOTE998=XWkIjtK5Nr83cxnH7AJm?|u?*mQgs+(E`# z>-gqD6E+&+649%mh_O%3oE$w5*u%lE9m~f+0~4^=ijZyEbLqgB>a*el5Ri~i{;?(> zz8aqZfJ}&jPee?DN=o~dy~*|xzHMvnAm z4s5S;(dbUt&0WRm=I=vn?zsP>gD8C<3 z-eHg>*Kl(<%T*m_6HlqkCmV%S@J>L$fGOobOy>{4EB(o`B(pMMQYWL?m-d}}HA749 z4VFfnA-q*^aQ@M}b+%%x4g1clQ^dgmV)}q@yW5RL{IgT7A21>$&HinUHFVlg_o%qy2*0 zf#Lw$|7m0+1rtjh=CY^+Fy->z2W&##H5=Qdva%N(gOJ-Ok)DaNgHJMlI|o%#b>u-3 zy<<;E>iQEtgiccj2Ck2^o{815oSl5}ueY?^$o6mVqB2-{V04d1V~mb5Hu)xH!Gz zOF(Fhv2xjm&O7^S=JUczYmU7Svq~?(I{~3M*3=%)^?qXV*|BbWQ1AT2mf4Jqj8r!2 z&v}I{Qyyu0zM=^1KdCF~oE+=(l1k=FJe&BnZXh!`O&2{&vt!o&`I8qdW~wEeOl@_t zb~zgI>#lF9Dw&q)5rneX6ZJwxzQK&P$2cuY+sPO+ub~ z79Kp@BoiuNS?L(uS%eYl)e5rAZu$g@Nf{coXoNlHHZUDFcHczvx}7+!F+Sq;{4gMj zqN4I=(YAIN^q$0_+2tk_p@%bl#RQ~l#HMQujM|nx4eA9;SibpUJ35eQICYd8$W;}P zrlQyPTIaQ@(lNB&5-2g2)v8V3$qr^&qI*HYKPK3Tm}N>Qy02ErQ`tH`&OyJR=)jgY znZ{b&7Sl4(^<$DHc93qLR%t+c7xj}7rmMP(;Fq2k;16vFK-0o9dTw?tpoLp0a}n-G zv=?|lvjp9E$fV@;gp&hwR4hMyG;h(<9~5p0^>#D3lG!M$)OSfWKGsKW&>!?my~z`; zTFipF`O<6fZ*f%clIS8BvXSuen5hjd+hxBw@SNpvVK)A@k7NX~)cO>T=5CKsq8C(6 z-W_s7pa$H1W|y#Fxa&b^Z*Ho#y36m;dJbfCi5;c#s%)C;ShilwU$$Q16|#14V_p(H zh!{QNj9UEO^S+YAAYz|X*rf~TQ)J*Kc%I%~+a7gH#oW%dh{BWYV}8iG0HYp*PQ3wLKgMN@MaVe#Bl2(r0i?!3y%KdFOFj%9-GRg z`m=EH3&=uFzfYp(WMbOKM|D^{Fc_Aw{~bbJO)dt)5yn) z_gLLX&Qo+tzNT>two3Fc*_5owm461~^c zCuaBKAR|;=cOh59G>8q&NZWW*^_9{eEb~WN;*W;=cJm{u~%#f}5RI0)1u;9_Vy@n~Pr{=&d z!4buUX-V(nqMsFy6ulS`bkygDv4G*-Gu3qyXI`LD6Rh5Cq2}JzE(-fHnZOaQR_2l8 zWuc7IlT+X)rq!_6bud)RG0QBOLtKv(u)lo0_}}>Y3aGe(CGCOW?he5nlHf1|8C(V( z2p-%Wf(LgCGC*(!9R_zN!QEYx;2u0kNPgbix98v8w`c3z({sD-bhTXRzV%hr)oKaR znpd`q^=;l5xrS)jrR=h}Zo6|BT8WCKXKlGLXYgaArwXPMOlyT%SIriBy@Zlwc-lGv zMcA3sE2s_Mu^TW>^kW$tr{@UJv}jk5tQeF)ZcHFTq3^&@ag|ZmHf5m&*R7mZ&eC<( z33?&70ndBQ9Y<~s+!?;Bg!;1g8h$@6RHTdNSZC@x7nHb4Q*gV?(?}~xs03oSet_F- z+YgoJYguwjl(n)A6&ZL%O38<5QWeX?rB}tY5edPu=E?h<_{>5jOh_={SRN`%T}6V9*ynj*SND)4yZ7tzf<#{WX@|II;c$yY78-GJ z>1v{>mjw2;n7HY!eoq#*0)GLo1}}_f(ITtZ2F?Rskq=*pe`HtJI4KsC zKLf59_grr|KuoXj_7!%$KIEE%tgeu8HOiQO3opd7x79>`vYZjM8OhY}fM$)Q`@V?y z{>!Fmb$^GP@x&zVN8qc+r_Fuuj*T;K|J=F{D<`-9#??a>b<6vE`=?%y#zp?$uKf?X zbqjePBkzt(TIx=4&BS2yPr|Pf;k!Qz1hp%19gihOmeA@2T@05@5P}i*MUd;9&LKPr zU}UDZ5;Ck0C&vo|qTp8{g1Gl-!tSVqZHmV-y zP}$tk%|u=EkK;J=A^evwU(z9+x!wgBdHKJsUUI4DMIEv4eHB0f0eI;=mUcUJkIyx4hZ`ABikB*~zX6XR=-TUCN77~*V> zB|_uq#G=0^Ps5TY4yaUlwr58BW@_!gU5}NC7BZFHu(H3Sr0mK*ZsNx||G0I&Nxpal z7Wrm~a1vXWtHi>xpz&FAK&>^{;$bOXJNOHD3CQiKvXR!|vSJdzp=$0@5n4)!Z1sUo z8CGs&RjxLFmj-Wi9Jw;^0^L@3Ftp1%@ZszPhA?FoDN}uIWfzRWxX#@_rh9Yg`ull0 zj1lI5Ws2o82Cs_hA;t_@+{kH=EpD(N3dt7o9DtyBbpYfJ}g(5XQtcIUBPrzuq^L84`(I6j}+<7;-l{DTO zwHSEi3%UGuF6TB0L>IyH;h}W30Ar0tQMtar1J9;TUk5ihnlSwSgx>uS zq}V2uv5g2Ue4}D(O0vwODBy>#9%gl zaczaCfB{Z12c~UkyhxmLZKPP?hFMD+RP4x`=U}%rcgRWIz3n@6kWmo4_hc4QB){s;6i{?RsskJy104WKD>{y?B*khw*0+gf_ zD9p$CN&u?p z=>9T-_}5>H2xzgCr$=d&dkQeX#3@2LqWUGy^X4lCVR5cBBspPKtyuG9B^s-!Na4D# zQL%!ZZtE|Lhb9UwJVZysLsPJ{(pZ!@`it3cv{KSg%kYGg zh=`KDBSDfh(Nd+6I2A!_+GczJSR+;+Ac-j45C&}~2sb6B2DdWnNy4|ZpimAh zc?yYTkmlgFG%Af;Cs}wAp)wK|iYykGg`xX(XwsrZ>s1albIDU6zu618@YaXJ)c_(v-?E|6ycgB3c88#Q=gLL!hxh zcKPSi1VusF1|Sij$jX1!e14tBOs<82q7Ib}YL83T!s6nh>*kNMt(Nb9%Yo{)aLop( zF}PtlucLD>^MCO3OHQ95fLH>ugz^!f2re^4Wk3Ny5D-|%h&FUZShubLz#@?p#!oP8 z|}L!phvbT zl@3qsvh7-j#lBnPzR}vb8_9(!VHBm4E}V4On0JJ5ivPdRgXGr}+Y@$5H1Dj;+&z1n z2mJo=*4iQMV$Z(-;DkJM@zef&6!;1+sfxnZ`8D@MO5+#mvVJPE4dqUshV?f@1);;D z(3n-T3|@FkzXrjj3ir{0NH}kSQ0a7dSzJ_j-Qsbij}K~l|M*s-& z!yf!OSMFz$0o%MmD?hBzZeHk;G@K?kfi1j4B&f_?C-fz9Y1rthl^py^_5Swr0r}UQ zTG_YL>>{}L6W+Jtj%S+zW@SA60FBI~=!j zYEou|p2?Tm+n8yoW=%0z%l>cj{*4FYHN+Jjqw>!2{PMhz3-~6YcisL`+hJhwm^zS- z<>1y&(~%8_#*Uj-{4gX@f|m}jt?4kEsf-ple);y}Bwn32U{@a{oWY{l`I#mvd*Q zCyjpr=soB1p`MZ`w%wG|oszg>uTpnwRE?`{E9|`Dv`g;;6;i55gD7pJE;UQ;6=cNT z$5*`?JfDpC;Uj?_a`UssClGz9`^%5JKt4~dHIDy!E&cENr6x+{JMHaF-MhQHd(T=K z+Gi8?ja^rgTrH-7;b2Z65=wtXcGu4hVX)CK0`2Y2KAJ?(Pw1^v{a zH-=i=e#T5T`w5a0mz`gjhN)i9JYzw9=eaXkbAfF)`4t~c)}%X||Mw34e{TAmhgXkG zdF8s>E0*c*xz!4_WKnl_kLn#0Z^%{iV!MBqeWPw;ansnuI9XwaXhVC0Zph8;HDT%f zNO7z2-oD#X_OllrIc3JckeN5WN#WtV>i_KDf6tE+uycT8Wf1<^P?3tC;0O7lBY(P~ z+FXZCs>7v)OQg$}KF4&uH{rj-PQKVYirl|i?(VsLAN1|lpT3{Z25)rti*przecIQ! zR~eIH4jE9gbh~FmpxoIH#Q*)i`JXxGxm825>99ybN>aBn%hN>h03&--!9hcu3$nYr z*+e>&hQ5S>IK}P$q6BdG#da_lXdjVKst9P^^|+lrwa@sk; zagopATzi+`3N^9SY>=Aqv(Mna==9%e;upI8d0-(+r8Fo0lOMMKY%I{T^dkWZsu!l6 z^UMAz{ch`C47S)c6?7tL_V{wS>!QYg>>jZA_PymX-IvlXReRp|Oj=@}f;y(AmK{M{ zA>4?msjJ_8rNU*nJjay(d12(1+W*J&;+2{Cr25>L#<}QvchFW?>L(i6moox(P7_-c zo$|%JqDCEJwF{b_yDa(|kgQy2i+s+{&(ETd#gu|dy0GEmAOlo zhNq-}=-=TECSQWumR*U*jEqfM-WSaY8B64&1L_X$pOBn-36*`8yc8mJaUh|95teI`Mx0^`Z53XrPcf4h07P!lUMxO_s^9Fon$-MRG%(IE6FpUHnzmT zx3{;BuKnnIXVubnXbBF6=N4dh=-b~69>&_yL-XVF6WF$cOeE)_ADZlfWZiQJB?;)>y>vt*64|q1LrFLxMBW!%-B}TUsD_uH2?eG!%wa$cYV-sT& zd1mw9c8oA5wXpU)(sZ>HJp{TYTYQ!8BY;N3U9Iy=o{=W+w`_cWt3EG+{sQvVECqYl zSODyLo0F)uAx2y-IIda-U@?_y$&?NAwW+Izw=c|3>v>v1^a-(H2}VX@qgBVOy@&Q3 z^jbMi_8RnLQaY;8s^WUB_NnB3--teIT4lXOo-aqwD2&cC3WJP{f`)^RgMs!O_wXO_ zAfI6v6e5NZfoFI0w8+N%YyWtr{W-F42H+o zldy1praG%*kX;JG(G6X!tUuuC{LT`78{!z)J2ssY?Jo^!@9@gXctFu^0o5|9Z=Ig+8*kLT=60yxJXWB0}`PvOPW^u;(B zj&f_74Thm5>6yzWlcEIY$;n%?PeH@1Df!+EkB6XA>gBvz7G?yrn9t)uZdC<$kOAV0 zl?*6oi`A^c`VE}8?2%CrU+N52%8|L`^sg!Q%xSBMc9L<)^82?MxBZdz;?TlS7UbG@Ke`ctLmcZUR z*EYE3j%!Q-)YuHBq-(|ddEH&bVVTY!0_!PrRQCKF!IVI}Ls zElR?a%;#OjF?>hxYuljydi@Bg?Z=xs&Q`)wrO18UXq^%xu(Z=pEbK2N<3BXAws5@0 zx#VZLC6O1L@L}k+Fi#Y}5>t-r6E-LuBgvqX-IwKA zJ%#qPdcjXC^!kW%(>mrA%}r~cTrG=q7z^?~sC>Lw7vqgwJ3Wae$f0*Tq}h9vM7q6Q{YUs zlYUxhI2eOygV7G^1>)c6L|LJBACV?t?CkiyewZjHA4Ub_68dn`A`kh6vF31*=SHo2 zh^V8)B2yxFheIP3toIt$I9@WF5O0ZZ>!HroX;I=NG}GrAI^@KrDH8PMsOa13Dq&4# zW>t~NZ?ISxGs`M*Ff^%iXi`n{S3VMBG)6F^@Bz06VzYsj?3VKWc$Av-U_w7$ z%bq%qLgyx7o*y_7vQ9r}qnPaZHNSU#as*+sy#swBh1KO4mj=0q?{zD%N`>>;;7Ceq z;z@~;m@}IkTIc2=IZNfZ7nZt>u(P|4Z-`bk22b0MPDg@6`3j}Tl%#zeivS)3g}vP; zM?>tgXFHl89q_ln9%wV;o1O_iPD-K#vq@4auHxa~oRN{0)MObkbLtm8bN~zr=FDKO zazx|l1T*F%Xj;5{y|7u_8pm|+HQ|UKTIgV{Mf$dfwPxO)4&Q}U!`NhzRwA%6=aIP_ zw@?h%MO0s`qSU1&m)Z?lDAT-BL?l>(*?J`Pj=xK7WQ1J2mUSvknGTBNna<%=?C81R z{qYElguEjx{~G~s5NiRUOz~A(%0pBub;r3su(>nJUKLqIlfP&7EON(YbTTEzsC1?z zndI3xCKz2KkIRExFxiO_3dR@b%(yqLFG}FS2tzs@1orTL8y2^{irVa8CgsvA#<2(oZJ~s^ z#?bRirM!Ec-c#a%$V2yiwU}`1AC?*B{?UW%UE_9*0!Za1Z><6@^&+b0bCy}xMyXEq zN@QP;ur9EMmi9&lE|@7ermQX-xv)Dol!3vwR@ypsM&aUyd-c|OgLVr_DHZ0-qxSHW zp~})qeaK8o4SkGw%;3)VNXr)>(rR6_t4cHO5CRr~hYAw7-sbC7>s*e-EQ^g_?BU;rMG2uqVc&pY|jcr zJSz*#^*H(X*w$nA6T3wQP@;1-t1Jk7D)umV+QvM5uYpP@(=Zcc z!AR9dng&IWCX08VEhrVNcBEZj;3U=uT7rKgm~7ry=2n)=;gg5G8815ReeETb4Y85u z^{)`gp0|CyNugMYzQe_;%aXyZyN|V)xvyn*s+Sn(iSrz2Ps)aKh0Q5C-Pn)Rh{jSA z2T9RRZpj{un^Ogvl;y&VaNb4AHeKivYtR)N6e^Oi;;TXxven@mt=Z8lU4SToJBqhX zv9N3ljale<)QNK8LjA_(q>f~}nlC`iEeyJ;f}fSpYr%^!lX5O1 z51N=oa5Li%4kfX3Zj6;$=`LWJKqC<>cLcng4#6#l?`uo3S6#NH(i}_eVf0ZH5X7sq z8jX>8Bge+LHAyTqTeWaHikM&HO~sqB>MnrY2tLnUk`9CdI^xpYr-4IJI!XqTE_bV zgbMr({gmgfu2gEK99+tcv4CbJiPTr~jm=THnzGYv0bMj{I*`>$fL1gI4%vSv%$zO| zT!(PN!-&+;G3(2dUF7>6N7iBrs!dyke4DH*jS;R$v|2^9U$2o|Ryb-%>?@gu1o zI*EKTZzHglhW#OIN}|QsJvugVZaT&4d=|xXs8w!bxfGumwXmwvxn8L=$np%T!*MU` zR4MUf)lN%yaWJhWKO2g|t;df__LH&7d$rVZa=2B6X+skSp+bOVU$x1`a_V|3j+8;# z3X-IgdUgNzdcKnbcx!y@I`u`(LmBjYCPKtvm8PefV?W3x89gfE&+3&~feH7-*?3Y( zVS0e>U3MP4TIf@G)x?@0$%|Kll=4D0p^0dm2gM5Ar7EGCBq-141^;xmF6!{IY51^O(ErQy-IUA`VzZha9cvORXLovfmz zwW!80f%)g4Mn`je<6&$#2l@`m${fj^tp1BLp9~aFEkG8P9BDEJHckiPc52$_>B_#u z!SWpy8+ICbD-)_F{Eqyb9+|e<(wNT>M@jT-36af}zOFF*I2J=MoM=_uaaG47=>#%ccO&vLy4Cx=3bqCtgsNPnhM3iaL(T0nSA+do>^+% zu5RR;gnCv#!sd57vJySMS&lJje*x}Ig}%g6J9P6Z*(uhFXqh<;;5QDoYS0R`1&C@$ zEXnF2?p!@RGc!s98}g={Em4!f_O7)$f0d5U$Rf>(Mz?=;|2Ru~UbEQ199C5TQ)&kJC*;WsJ~of}-$Lr^6nSLsahc z(uGQ$%;}tAd0*lfRSWJWrG+p{vKS5llSE$*5d%WbelAPxT-Y1xi}aX7-3rnU7Fy05 z^W^0LS#&PeG7RNkCY9``A2f&bO7!2Vc;?)7j@+$BH`R~S=~6?gvV?dl%gFahl`HUA zJ(pca#DE$;wN`S~kshI?J=dCcWa}aJ#ALfVrmdH^rAM}6b8kEg>1K)Jt#=1*EA#{q zd6YoBqzG{MfMtg1F+=`owHdgYqz6)KT}JNGw( z-1l`p%{jO9jP9sTjx8r8pa-6No0e z%mU>I(%Y(Psdc$e8bD_CLDv1MlnYGY^h*EO^v1&xGUXM@vbL0yzkn?tyW0`sU1bBp z3I-Q3!Q^4fxM1S>;3CTNe0Sn{i)5gq<3RK_d$^c~UJ+xe6A-6806t-m%RG*_wlUQ$ z3i=Bm0ghQ`C(&trp)U^v0<3hsVR_fjwgSxK8jwpzyJZUl$E*z2i86CH=2AS*qt3&c zE{LzQl{++D=XFA;ayb=APKkY6JCBwrmK#-9^r`sa>4rf39B93{ygz8#U2rgyBf}0F zn(cTQ{z%}!{=iDON}Nk@0BR#{<(zF{Of@RgJ=Q*LUgOq|?lhC-^Ik0>s+wg1I>q)l zi)u%@Ig*z)BIBmAlZQ*~j3=aK{RO-cjYIn&x{4NIPHMm(F8gMOfp5!$L1R3>D2<$Q-WD+0e;Cz4W!+Cp z>`DCbY(#m0+wQi8Qgj!4uv@Ef(l-eZ;*`ExDAWVB8ZJR<7=>_gyH$QD8npGQj(k}ao9`$^rU4>3YaIp)Ecw3?GPGOXD zY_$Cd!HENz5?Jgwl0%eGqSEpjxidU4m`iZwIau)Gm$*K!}y_UfP3UpO9UTGcFfXPLo^h>!4m7*eW3 zQ*Lck?q7;c+2O2S(F2^?c?KE?PXH!BmGal7R=QB6~GO|8eTTML4zBE2|} zGCRt22rIf5P>;@P5_2zfgW)Hfuf zQ(ZnW@iA*#+$OAZ25ZXMRD1wujTZTLyRu)c1sb5E^%)YLZlZJ8Re;Nak*q4OobuUf z^K@M?NWtN7y&^Wl z;at&C+txMfw601|PRJ?deG>2bh|K6`1FIa?yQzYRr9zxKP0=)sZv}*SVvvCr9*z=& zFsf}9afEi0J5w%LuM`1wkeD&ma__RzEf-%+wA@!uI+2S(?R+4PuE^$#@7>p_Q}FE6 z?2?ISb=%>j<6xpJG!udaO!AptmR7p*cM;rL?8+_KVBV)XPkz+NpV!`iSJE=Hpbe51)mqMs%%%-p8IGSO(GvHFVBnV&69s41B&?y69+{xnkD zP7_7i!9|BrF?90-Xmxqc#k>gQL#;w=bTr|lzmK)1oS!* z&g84Z>ffaD&5N5A2`Y4nu-L+swk1>3={_&Y+T__5jI@`ycp}P8r!fi3D5oymr3%7O z;1=fM@o#70=PJyz`XosqZw^ciafyR=$p|U|w+m|F<7kk;-g50bVmLzETx4W_AsLHR zk1sDYS_rF1P)<*U)f7X^OD5|k#!549Kt4H}M-0OBT1IMw1?9}#0c=O)ldgkYTcxXS zzYCFMHD8dA5%Z<}WUra~vIO@- z!kl0K)I0)_kKWMk4M8T%bCl-<73?7JYP=7+IA?Y8c>c1w#Jd(8x(>xSC-qOt#5A&N zz+!^z;@eA-V;iy&Hfp!w={Xh@lSlj}LSMRh=`UI#K%2K1G9O)?`c*u3Rr%5%(eD;&UcY+lrTU83NPEZWhVMZzB0c%~F%ca3B7;?YsA7=~BJ`AulFT<03C5QDY-7C2lQNs|zZQS!BIn z&ovJZlsc=^bomv0h(IsOoYe!)j4#$YFog=xD zI7;YZJ8peCiWgsR+t`F(-bu_B;4>QSf>tMTOZYF9ot+oBqU_6DC)HS2jyYB)8&5A5 zb90W>CO^P4CmVn7ii%rtvbx8*wnBd&-cR-=t4|i}5IS_X{s2&5QOm zNNA4mJ|IbJKv^(B|43w}KYz~3dfu`^F>GZ-q*3t$i21_@a6ywW7by1;o#&L_Or-h9 z6+26@E;$V>;5~OldwOUvSQRsFLAx!2W&{3!5V9`o4?ix`*&J}J5MYnw$4EvfY!*%S zE~x&xR&k#>D$i?ywJ85_YlL%?&B{gmvXLnBKy>(btPG_pe*`+ z+P>uB2~eK*MOr%ybMQd@Oi$OV=`Y}7y|!7t^)KM=OwS@LNMkqhQ>M3;F7@gLJ6f|k zQLNVu?V;Kx8-;&-)oq!Y(5qbbRD9wwES7iXQ-hML`JHMRJw=_jY%UO^QI2}8eYuFV zi1am%M^b{f3)=t>YEpvFW_4L^S8(eT%lj>SduzzZt}3~x#e~2C$V4|VIU}`Oe>~DQgkslzX^D$-4IdC14I&}8K4<5NOw+F zSU6P!ZYXoK+MAbJyUvqxEiRTjUk1(=-^+#N(h;_&W!!SO_>Qj81L%6#)GmpsxuwqJ zu(_F6jCMATp~yI^HvkdyE=|5(_reu+HL5hCAmp|>oc!T+`@`9I zRgC<2D?5$%l8GZL30O_6IEwXMr>Lv_PzIasZ3jQI`wvW|*CW3Jg_Vw`J`Em<%D>pY zsBWMfx#zfOSA*og!jRA4fUM}N$JU0yB!6E!BBIm#Y?w z@MVxz4I@GRh|&dAV7lEMV-Dj74dpD7j)XJadUNv(ZGX($jr95bzG1y~`rgwRe5PlU z_@(gMsh(ay`Op#nqb|`Jr2&)b`ZQR6LqZN^72~D8)HsZGY?{q0w;N07n&j!HIpcZu z7Y3Sic-XN1GUP2s_CD)*%nN0Xe@tIy{zRe$35?!%+h=&^p@R!?+7eTxd+~C z;s^bnu+_SJ2hZ#}RRuEfQ7;sI71O>hL!X zi+0RQ{JK~af9T}|YL+9&v98KBzcy9xyTd*)bT7!ia24aoQ+XT9{DqWc@@qNeV2Pq| zKPT&5*}go2UuRWR+cGPZxRvV!o9c(T^Eqp#IVz5CGhCcP13$|?q(@Nddv>|B$eKpO zPY5UwwH+$1-6W(9(cUvG*F5@7kW!Q+t~Xy`AOtIyiP1?2rrCByk}g_^A)*!z~MO;A?^}VV(9G^>0^`wsH40yFj^}vM)o$QoZx0 zGn0Q}{2T&8?)dV=gS)h=o}DE$MRczaYRc97kmS92@V+^vUcpZY?nA^ElUj~V%<){9 zoccGWZUfEPMDs8Fs;Zkcnv#CR`#xCT!l_c-``u0;Uh%&VGZ|2cL4hC2Oi!}C9G3^q zdEcE_a4EMLka5;opxW2r7DC_3C*LSvL3m7*EbwMRAh(aYV(Do7O(udeyMK8)(s^8|a zxg(}Nw6G3uvu)Su%Q{d)3*YBj@E@Rd40N)d?vs5dMyb@;bJMnV17VhlR82Rj=V@mpi%mx%1_CR+A8nmDBudj`K@)`C!eby4C-jr=d*NwvOa zWDLen!CsE%r{~;Uq{a>OXL9j%D$n@cE*bP9g+gTL3=0KAI^GmuC-WM7^8t2r{9eIe zXEE~5K}NoDgK92_MP_Oh_D4BPuPuz?TZu&BM>l(xy>+R=?i1T?(M4KKG+8zIyJbjgv|fj*osyc9@vf4e$&r#3*~D~*pX zKg9Zs?M8y%;EXb-CPMg2|Ac{@N6zuSf>&C4>Wmxw1e2@Wr}Gt?%i(-5ENX)nS!hzZ z$Lwo=1{9|YC$F6i2*!0IiY(IHt59uq3&N{)v&rMh8Gvbp{X8;t04!E__3@lg$5ap2 z(g`6%RC64$*H{uqJq80;Gfp#WFgS0JuMU&l11ze`$){!~OIiYQ9fnm-YEo%8o(Mie z0vcB+{XaaQ;9ubZfGPvxD<*-j*-309+Q|wQ%5{SL5?`06W8L{WEKd^RNWZ|?$C>mg zYO+skT9VNO(3+);nRkbCa&iTBc6NSmzzbui+uk9-t#wgv<`mXgvo2Ryn=EfL#Z+|*<|SbqV?8zFB~)cQ)? zpVb_>Z-eCy%NQAV&UMmDPk>_X)7hCQUdkAbw&z&D7iKHZ%Hc>Cq|veTa4%0s%A(r! zVMh|(2$&N54lHB6du(_=otaa>mu3|l=$r0#KObu4GUfg<{}03GQr0~&=v5WQl*j#i z?5>QuJ(a(9S%#)I-8=heoE)5b{Re-YxFPP3an0PzU%v9o8B{K}m?~Mo1nui+;|M^C zU=bb+M?pKa74|z+5-;n3HxFFS=cvs-3@Dt1iI$r3ws$YMl)yJlP=Q-m_ic^gYM1lu zCu|lR=R&-cqD~Whv0!0Rwo%Q|JA+Xxr#Zn=*RbMjuC-Ui+QJ(p0<_boG66u{dy=M-(nc6nY}k5fG7k#^I@4RU#*8ixtOY?lR_S%vTqqt0#lM14VpNET*r zN*J7a*`Dkorem>2Cu?S05T1#Fl?-iZlAjbzdnsRE7^tNF8+y`b;AK`t(`O(W*(iU5 zb3W%$2bvtf4;a9Yh$LFY@I#mUx*;djG2>w!Fs6?WKf z)?`Dn;xuM_;ni|c*fFQXC0)}?U;Ovq3(p;w?$~pP1>rf^f@SC6#ZM@L;Xb_6pO97w z$6hoteZ7sidJ7AfvVG4d7;(j9a36V$y{BIV46**wBR7KktO-SZ8Rq<@N6UxI0aA^b zwZP>!VWlPE(xl~menYC9mdtP+L?Zk(r~VI8LWA`{H)%GR50zw;JntQQ%IF)&A7zEt zKUKHN>SVsF6>n@uy#d!4xB)F;dqMV5S!}BsPeF~arnS%OJtK*pB^2&ajDZ>#H_A2` zKO15AywAsd6mH>0TusnPl4DMMj8iMnw~i+1Z<43%hWp3vmho|AH>vfHblFf^b&Zz9 z`CXiZu?Lpd_+j4CI7w5|0dwsPm;p!!5oEMXj*i5hCG_#({a>7Ct5)g^8_G-%mK)5c zwnQxFu-ShWHPdQ3tnP~i%<9=Xmy>uru?4yJ65S~p;}2+GcH_(bLfBxU7x*u{3c@b* zU*HmdE2kCc(xgE1(mvtpBSLuM7XGKqzWDby`%-n+$>cN0r+4~ikhbOJk8IwYftTcp zzqsiKGc}G?_|pk|nuGOWQ)j61X|+#fXPUWtN0$>?ikJR6^l_Y56I$+{KO%&@ybxd) zMx&$T+^pE*pRgm&v@bT#ZFq+<8MRg32^9M>pnW&y*QDY^k3LKBQEG+w(e2#n9Q{JR zQ8kH_N-&{B*>H|UHlyz^VC@b;D2d}Y3twRZR&tVK{i(wvd}0>S%VoKm5iIH(IDBB*Xb<@`L^u8|~-!>(HK#17rHyKp%tNo|PXC z*l0OP9b~whJElC755N2zhw@}O z+S~C%XF4ct1&h)nAw+Wv+rXcc#C9JmLNXk}OX2{bdxoSjdb$;g(2(&{1af z7Mv&DM1ax~t!v?#E6Z?i+L}5Imc2(Z{QK&Guq){kJz;@kQD{zBuB-r(-_K*ScdyAe~gXFdT9>( z{mr~!|Czxw8d1qj-3xjiyUdH}rijpp>uB27wU)a-quGv8!(#4yjCptEJ+qcWgL<&o zPw;;fm_W!Cb>~5$!h#CKr7)!54fKo9L#9CHXOGSeT!ebpnSR2>&?XS z3zn|bPMV#hW7bhI!g4jWkHjC2o(X^X>LhXJ7beD##$#wP=w4d9vN{T?=WF{H5ZY7y zLG!0K@PHkCXWCCPRB-B^N|Yu)lm3{Umj-@04Mg2jwhtbc}Jj>N)ecw4_h-3<2wJ6+a1yrnWZT_fm8-udR$` zes<8{8#914PEMwTs&Nf5{{^JcT*RS~s05S+KAQ#zOGQdl#YP5*Kpo3?niG=`op6gaIXy66O+uYHHSxe!8S&3;0Y zsz+meOjG;%a&3_`WMYPTG4CeK-S8$B7NxI%;xVD|a!=GTrO-uPY4j79?ESO)BiflM^haEsi>fx7qVD*kZbUeX6RT0B-7RUj&$>j# zg`Rd|&(W7#J-xv5(4eBffcjqfslb`9e*u=y2y+yk^RIQrQv#>A2oAoAcj*L=u_YqN ztE#-u^gO)b=?F%v7Gfki0CUL;$9{mLfQ@z)2liN=IGvw|~^Qo$9ROZK) zXR3N$%$)pttg}qb+c67t{Ho13^-EvjSDx{n(tl`;$f=sl(K2ni%=Z4A#0OQ**4Dtb zZsLFHsZYHVYr{QvU+p`+YjdGAZ?jZ^o5+8a|D(6>;Pe zZWgU+qs}@~N)bcgA&*|zpRnHfYR|*m4D|k_rV+=@{snA*X#+71Y7Je}t{2p<{VaMy z_vU2PgVfwjok1l2A(!%LG%_IeoyOU&%mj6AgoagXT)FAD+@tl6AsXu_;el00;e9UM z3fKATa9lEqL@~3DHVp@{T7OZBv)!<}cb>-Ua3P;9QE3PraV>&^y2aB7{-?1!E)8E? zt!gypD%Y?h4L9`Q$w=lGCmX8LU%)5gHqAS#cbdd)AYrMJ54@^d*NO0&>-p3tL26dK zl6=IsPQ?4da!HFWtuAtvzkr%YsO!VG9|D>C7eVXgdGRHluwMwfrzNH1=a%RFet$mP zCuP2!wI0`>ppFeiA4*z|k`BC;*n3D}& z=!am{XT_bNT3~F;UN%e_Q2bm$7$&|Zs5X3H5L;>m*PMo*(;zwIc%oRe42a;OmY7lL z;eOzxHWW`fUD7vWXMnXT4*R9vA~ZI%96m~sMSOMySs#9Nht6{IgOn!{Fis*$Q0AXK z6-F`);L`u;3{GmhDx z(7ZWqip{Sn*UQ&^pU@EAbZ-rH3AVr8M1*rK{Mv5wN~(?Te)i_m(0lhOvE0m89~?D> zexYabo;G6s4;PNxu(A49xeLEQ9nd){`OpRxU_Cm*EiZ*qSgrF4gK{{UG^ z>l7@ss$X1H67e38Vv+d{{YB|-l%)}PyC3T>Wni2LxJC+v495d@-AqQ8_g zxj}%+uqh9P^jgWCVMm|qI#<~K)f|5Dq#jVtHHIN(&VxzB zd;8S`=lb}a>j$16uYY>M`J$d!&+k|_fE^;RLB58?f%udyO9OEjJr#j?gdTucA0-9{ zKr9i&Aaok24R~;Y4@M(Xm^Q|YT)IDz+{>Xit!fUmv+V@|(hh~LNuuG}qHlXpqrfpD z2S{&QSoSY`L#zZw{U+5>1?cZeJJOEz48<`sPNfSvhrUeTD>JBuc#`E_`F!3OeX562 zSluf-R3P&9!D0H-RSc>HL}O(+a}`8vO1n&Rq%l$5aEZ_=9`+|ds56yVofOykE*zn0 zT2_=0K?MeTu$e3TF|(yR(u*WWqF|^@nng={jDv ze`=)qQkC{UwNkw)Nz~8nROX5Q0EyC1BN^POHP+G zDDig~UC#Q9?pQz%)-vUW)r8?RmeXM$q{b{Q6ii_XKhLR{H@EfMA))bX?#(O1aU}ei3)Os z3BN*P?@yz}s!Ya1{DfZc(Un1=!)sds(H?KIX_SZzbs`m4Z)BUfYn!1mQz!0N`6bJ0 zvlR9yt+D2``IBdNC8!}e2DtMe$dw3@ODiI~LNPMzT z7-rUn@&p31aw=mg&f=Kij1U7AIaczGi{BCkJVrERX_VCvpNFLNrBOJ=C#_UK?}Vgs zn6psZbZFYbgIG>9Q_A9+(1HjcpK!5LM4t{VZ<}^rbw@Q?_(r)hsVinVR5?#+)g;&X z2b?QRrKv>&@KMfQz_XB>G2=T^nP_QqWqi{q(8~)PC2gtD-db{hAU)>A?tzbRgGYc{ zJg&War32t-ZTiJ~rf{+y6Pd+(r)k{Lb(M$NxTC#N7o@;+XtW7MhH)W>jDA&zvf!s#neA9) z3vf(cv8xFS@J%CFRM~#2rFJS@zg5!y%8uF322z0fDZECP)fEhjXmq}*${!P@^-fU3 zekV%moS@~R(t4tx5%3hArOJfkjYf^n0IV7;+9HqWJGo$%+Gz1QlCVp6J7+W^uvK4# ze^%v!a>gT-q%0A}76~^;I*P$uG1OKKm!0aIut2^!9IYW>`T6dt%LnF-)jd!*vAUP4 z4+kHra-r~X`j@IDe~Z$3x2O~NttYB-fPPI%>Rh2@pwhacnQX9aC#p|3V9HlOcdA(y zV5(2p?^NGKN9i-YQ@s-(q|Wt)yqpsgtZ#b5REUtt!J-*&m9_^gJ6NB3L($`<_bfL* zibLyv1%|k!9=rblRfdS4z3AO>KlrRR;@b2`46JxVXJW$@XS7jz*LN%|?>9sm%EKHi z0nAnwE}q>7Q@hnFDXQqONg1zChW9nXM1LMJqE(n0N};>}N#=P96e&rZ^@_7{!}XJa zt5LUPDY=HUH>*c#8HTjrcOzPe?F&gv38|+lYHx#BUU`uc*fY61PPFXlf zZtx~%LwXg87TzL=Vso^~InA8pj>WlGDl-`G9P3G1N(d(AOp#Q!(rY#*DIm*{Rb{Oz zdBSpV*%_7dns!i1sxC6nhV~~#Ps*1lR93#UnOi)T4SXq@OfdG{ZTdfsl4KXXn;{A3 zKu&O-M{}yVhbm_EL*BVUDZC=A*YaiS4p(PtWW{WCyW7IMkiL8j+spBP%MZ zNv&C|(Q0;t?^QoDQ3Beku$yX;%ALJHS++DeMaUB|4GzdzCI<9i(e#a-=x;&AunrXL1`{+8sSV z#^T3xnmN`HFPu7gV9Xk@!2RZWD+;$8{7wA;u#D}(Q92D&?3hX~MXLzp!jI@RVT_nm z^=(*Z(x<8m4a@bY>Q);cyjj$&Jbqsbs$S@L><+DarQ=k7iC*e5Mx&poSGwBYBkf-5 z{{Yc;uXOv$Cbutj8DUXRIbP_eJ)##SYZtmcD9%Q|y?dme>elqa_d_q$&Fcd9K!0}2 z>w>+|58b1t7rFvIAV(n`>kqbnhqy~_xb`nmrAZ~Ij?R^Zs& z!1pRwqbWL-C(*Q?illlrlhINA8%pS^N24iS6(7-*tx7+m={*vuH~#>K(mEw!C!f`k zLc&cyt74Ue{TCatVNXRx))p8)x}tP~!$92Htjc-~OAD_e=IU)}A?vH_UdI#@b>O|z&XOs`P zuXRlp21`q(z19B!rVHIk^ORNYfSYM>2h>=6-%W)t_SPIfyc^Z5G7XqPqml?%UoI1W zRu&QToL-1jknC(D80L@@REUivQ|SzqhPy(h`bH+EsIcMAy?I|`zl_9)aavCxSVD%@ zZF^(uOqRB(0bzKiagNs9#`3JRgfpOnZA>{&Vrd>yo?U~npcprJ$EI!c5*@Kho!hzf-JijQSS zwpv1PZZXt}T2^AMy=hst0%$U})inmSYi4wvi*HQ`$v1qOFLDOrtX;bh&QsDrEN^1< zf&gx|A@7P4P#L=_gyAC{sjS>Njv5^`4m549#kFGx0uN{LgAN^EdgZi(dVE>izWdc8EdZv$&Mbv)fPqtJ|Wy9`N(A;V_X-@+h1irF%N;|qqqWEW6P966$Cfo8mL?&RR??tf?spNMsK%L9= z6mmm}sXTd@gOn#9G^_n&D}I3uk_m%+J5x~Wlt_!o94^On%=kW|C+ zf3_7OufVgXFS%hHkf8I$J<6Sy90C1Oe&tHu!s!)Bb>fe#l-Xl#K&iUQLkBW@eqP4v zP~}zlMicqkn$wE#@tl7ZB?wNDgAxA#L?**%0|vy=XW*O}FYwsi6!H7IDA(MXmVqB% z;Goy7{vQ!S;t`ZSAxPAqaTwZyp?OqD&C_DRnIS~zg@SW9b9XEhF53?@mJizts>I}w zlEFvIh&h%C;bL@F3&|Ms%q$j9!uwVU;ZH>OEDYg|6I)gRK3pzvuqOToV!r9c-$f;obq z=7p(IZW~`>g4tRX92q(@1n#j=ubVk;R6)3mz@Q(LGgwqHd`5E3P`c(1oZ6KX`L-Tls9Xdth*S>-k!BY5? z9*V&yg5Ql8ZlrdA8!+&;NjH+ue=SUO&Ce^9Iyy?0nv4wfi*)3y~vpTb4ytQ>O1 zA6-!RNd01=@X`8egeri@j?PS1eaeRCPi%}dR-d&{1(l-m?S)Wsx;I!>1P=12{^3|C zi=Wdg1J7{onOF(NRW1JjaI6i$Yjc(dA0}_LV16jYf#vZwEDyxkut50?Jxc`f2t5^o zxQrf(!DHlbx+?|oC|w0WZPYkj0I+ei(IFqG6#!jDh0qFyJj_0TR9*%c`k_JK+0jr3 znQufU5%6P@K|$cgps3r%rsNHhftIGE*1T1S);B1tZnYXC7f^Kvcl`xLLK|vXn7F(d8gYbh|qgMDv>r{Rjy44&Hgl@GC zSg{(JZZyhAbi~ySL*E4f=2JZ30cDA*k9|=z)uBTM zVU3#57I`UVM9*O9Ubku+?$pij9O@YIlL+0WOLi0jWnDtfsOIvh^1kfFVCM_Uq7h@& z4#|oTC>$Zk{rDg6S0D36eL3 zG0u;^9d1MnJ5{{t)>@h&y3Cs|o$1-rv!g52&8iTVDiXP3Oe0HXph0{ct(9vu&-TCn!~iQ00RRF4 z0tEyD0s{d7000000RRypF+mVfVR3qiVNRWgf z5B9qLED>xbqC|{HLJ)`hib|Cj#w1|~LLck5#{U4sV;IDQAqao1F=IEt{{V_(7{(BU zKh~ZDY^hSELM!|ygBZpThx*&V61W7f@mR(&gdzU6krNS>!li$T#w1|~f2>@&d;=?q zU*oZf7(ySw{{Tx^u;Fs}uL_kaRIl>b#vkeosLP8kT)q`5SNZH?2!E$B;$qCegjA_t z_%8~T{+Usi9wt`-{{V`3RH;&>f9+JS@CnAHO8)@IcvPuUrEstPYySWarAq$*&Z$zR zO5swt2mYo10KX6Y(jABuV~kkT zT8oR9g?Q;j!U@H~1`Z`*7yPe)ll&9^0JMKanF9L6U#C{5eU9+DPKjp=O(XM;TEatc zD6$FryyDIDSw+n8o$=81Vp5RA%q;3Z)MCxm4sI4yV|{45-IFaH1q zhxp;L#=H{tNvsLUF%0cA$k$pu#vb#a&@XMKLX}~c81bShLwHLk#k?3r!VEe5mn|SzZz$ zW;K*T0mbf==K?13{uhB4%GSdGPYY9obivPP_zO$P;Mn0m5O@ z;j#C1Ory$;=5U>wJCTe9*HbG8THUo^=`@a|xek$@GN_@h?bact8YaHj`HmG|=%j_? z1xpqyKslL#2F~4`Eom*}$;c&m4u?_Ic03eu1!ESTS!SD2NDFIR<5_$tQ7e04TIT?O zwTj+btTCioC4MvL;MXxp@8W~~ZM1ZkRw?wS2<>w89O8WiYvP3~U}o4-o$ zS#a5FEZdtaMjsFW6t0=tYTJV3t*n&@f~sxRF^)D!%<@XCPvL9AK!Ivh^lm z1mFYrNgS@#*&0)En&qaeZq1oYOeFej!KMHnKZeP7L))dwZ$~(hFRo1_h zrRZZR%4{4dZNNE_lU9=XAjt|GEE&PKjmwRtJmwIzxW%Z5aZ8A#7X&yu91J{B72^u$ z7BEYh{sfmX!K{{QrkBLfuLx~$BI6f_*HKl~>AbWpw4k~$>$wDPRc&G=d<=5Kw_3@w znVsdBWt1~(P(o)VDK6&u!Cp-+STGwfO?f4yi>m0kSd8<`**+1=^ubb?n6&hiZPNiZ z3V55}E+vj$TSPT26}Kq2A-0<-cl9*meByoRYuXltEy4Mh9@P!yiE@e#A=rIDyH+~2 zjNI6_ip*9)q#0dN1C1r!;PprWY@5-ham`mPRWn^>F-{h~NPSC}F&#!w7U>(-bY6`h zCEu==)3gEt7E%u^2?HQh^bwSzzziIi2WDHq^mCcHMl@6~RLGlA)I-nnM~zm-x@j!2 zfUqdibSVjAO;$JW52?de#d6XxFrmpt(4Zizs$5DMiOm2Wj%z)3loA&<^fA0gHh44- z5utKoFe5=nVynp!V=@6|mn&X@c6u_nH|eu0z;14LBMkRSbKp$8SAs4K7`z7oV8oLs zt(GMvaHF7>b>afML{JVTh=VH&PUy|Pv)*q>W)Wm{nk~d_6boiUZgA*LHg<@BSFYCY zGMW!x^?@qEW^<{0Y)?sdwOEFjK7d-AT{=ZT?G0Ov7{!o$ ztiG|j@03kh$_9kkWHB-y9cGch%|j5D%{on%^H(=Ut7&XoYd*4#p>mN|arG(Bn7W;j zxrWizrS#NSI}~-7lXed!VkR+wVhv4p3>G1tEj3CKd+4 zUS-6SDgo~h#`X-57jttN_!~+Tbs`dFr%q{Fj<=E`7)z1amg5PN$?SX@LJg&xz2_q< z-M}~I?g<(&MQH#cVK&2rtQc9$H~`x$VZ2gaTy!?Fou%+t!wf8Myr7Q}KoTcl?=&=7 zR5{=MAud_yHuD2fLWgMPa3@Q>9?{%4F$#TNC5_Tkn=EH;b56f%r8q~KM&>C-s8*Z9 zb9dD!Hxe(@mqr*7&G+Ru)ONpgz_t~CaMYueO?%v+U#hzAd5KYRWeQ0B?E|!}&t@l% zmTy(gDy3R)^2`@LLDn_*SF8zd35Kx+E7MDkC6%iH^|Wt9=Ul*LEu(mx#Z=44yFHX^g z*LHS+mrAjvLv$H=H7p3`@zz>dcVBs4&>Y+{<+%c?A0Xjs|Np9R;oH9BVB_0TMY295-#c7=X3a^npzj zG4*0SB2Nr@!VQgRO2x<57Dm!FSTvU^e9oUSFeTJR5Kz4i1+20)h$2ex0XmRKiDo3i zg_=|@)>{R;#I%Wth~P?^j$*hOwDZA?OyB&7IBuSh>qe)dIziB@r1==YstpEB@GM1F zURLbqNJLbP3(FRWW)rr&EP%^3TI-uGU-SdE#$;v6^pz>TcKgdwJqw9uZKHTVwR0!MDl02VVzG&zFkPN@>%=K1%b;y5p_W;H8W<@1_2?1Nt+v5tCSYwCX6!pNNcW-S&X^1 zm(l|nhXH4^%b=I4yL7FlL_S)t3=S9D@-~KPyw%3X{^;`0SeD;e(k0P<{fx&`YrLyf z4$uzK6^V{<9vx-nr(48V3S+GqPPhbpe$mmixYPxPhbBLz1y?6j-W4;mq|Oqt@;dD; zqd;Dp%SX2@R@*~>*(%=yv{jZ6tF2cRVJ4?%d4C4Yr%6eu8rwH~jK$9LZfh>H9oK74 zaRcjTnOkV0on|<7L3v^9njPIBplCg3GJZ+aH7XjvV$Sght{UEMP-0bdseoHAlnE&u+JD%TwLTm>k4co(E`>wOTx}9+B?3mNg-OUuzP?ThU7!XF>k)#RU*-m!4H3AiU|7$2 zMQEBfC6fhWSeGDqwJR$*Zi8JT8#RVDP0xg%Jsle6S&XYKqH2>}XYh^KT)gzSLO>Uz zGo6=i(xS}fHv_UgaV22CDs_QlpO}yqEhbGJz`_#Kq(CG=_*A4yRRsgkBXWQ7Kd5Bao0e1`GaEI9RH_MGRK3mO>?S@gTW;ykXsd?JKQZ|N!FjWv z{{SkERf=?q=;w-KWzc3Fg`>(0YaLrm9(B3-vH*gGz z9OVX?hIX8yrBvl-M);BxvH<>~!M|=}&8^1Scah%s^b#!Hdbg2ugN%C(7C)@@)|rWL^g`Q(Up5nj2LL7L|>rpGygrKu|g z+##rBsA9uG%e1^ygBsSn-~$vZFm8ZF4u=j-(zP1mh4HrX&7*tTWX0gYk4VeYt#+KP zDVaH5aS}u9m~YAnlw4@yDod8Bh2>5m%uP13fVtOmFj3IbwpjHLbh zEZXmpSL+#3%}X{-gMs-}2Yyp*`7Bh9l@Ck7=O>hzkH&pb*(L11e8 z%?GOrmwDQ5D*VICVb)t)OcCh~;AB@umjv5c$K1&^3YvHC4E)w$Ua2=MTCk{KW`}5q z^4U-l>O?^eJjSY4e$d{25+503QN`mdJvH@$(8xbA!)PxXZJASqpvx1}F4CT6!8OV& zQkrSrbTLkQOR=}9Hkn*yo{h}SaUnD@@1!s~kE(e$?I;*B>IPj7Os=}l2~Mc56%Kh3 z+O1RIl=C;INT8ZoQJXrD>=M;3SLY3)k#BcNlDQpypc36o>}@sG>Z4rBk!t92ttK|^ z)!b&9iNn?%OEZU@6Vz7MzGf*m>OG}%F3;CUlt8~ok3%2gy?f97CDa5I>o+`PW8>a7e(3&uQb_1gP`0K15nyNwHi7; zWd^k1ryVL)ZoSq6U8A#DfCM$mI^u1zXXlhKmZc+w^BAb=GrBv$3#C{Oq@Zq0VE{){ z8swBAlTN|u0>*Hw(=M`#V$gdKar4Yf#HC31GMcf9v8%BuZBVVQ`#@``)SL6o!ewe| zFY3o&fMUlIe$rE#c+6EtaW+R<<6ktZGqXAY7HaGCPy`wmuX{N1{>X)nws>C zsD1M=pz7@|*JpUBvDFKAKbd9*jafqhjp7EwLgG{ncZiE~UY?NZiHroi%eP<5N?sF3 zJL9Yn4P5aJyIOUWtl@kzopwKlCtpafW=PW}jdzyv zC@S8o3x>2lkuB?;AnP}K%TpIQ+n#)&-Zg7|nR{q3c7}IVC&bKCcEl`|;$8WS5riFX z;1&%KSB6Pl8Je2nQ$=lOT_s%FE0kBsUgWBVL1tvuM>*Q16M~1P8o=cXJt1kfK+f`> z3i7(tysID5TF@|WU#734B!VLMGpp}Lg*Vbh4_>BN{E@5u3+0Gn@G&VV7dDM*Vyk|HF z<&_%#)h;7(uyy|BG_v(&&pE5pTQ!T5l~y7Sa*V8Mj2C1awCG*up4A!WmuRfsDmlBi z>2x-T=`Tt=j!|ehD^ubfY3{P)P;eyIPCy@7p@1!FxIV$Qy9BEbccd~Sb-OyiJDZ`7 zTYH88{ZBN#p)kRV?164Z&sjo5VyM;Ml&}W-^5+;-g<~zvfsQ-PnA@dm)RYWb@|D1v ztra=D`(@?43eeFQaR$Y>t@2CbHkTq~)EU)?n>{grQYujx7GB|4P>YKHq}TVkLV);jr? zp|4Y4tU3=@-gU9Bd3&X_&BH0>g{O#x)YZDz)&>iCOKaDZMY4E)B{nVvE^gk14uZyP zS}S;mJ*k?DX`NgebcOpDt|hbcqrlLI=@FpWaS9OJWt1%~@#YA=nEwEghO3upS!6eI z_kyzXbp*o_u7#d+HOnnS~x<;kB2b^QcoR)T$ z1Ld5_iY7L#WoK47!X>eoC}qsrG};h5XwLAifJzx$%f5l>gdFrtLvprNpw96M>%P1q z()je2fs2T`gIepQ$`E#zTmJwNyWP@vqPQ9KD-~9ywd6`^dYC%I>R)YU0}Dkr=>S9m zEp7FwYjcMcx6S9e`YK~Cfyps*y0&5QEgv-A z(^(>QyS-wHxCpd4BVJ8y#5zq-40ebwg6?)TgC>sfWCsO#%6#XTG4K**3c{LMT+;@ zIqB^!qPIgS^hX@t1C!X5St-pwDMOP_A&&iKKnq)_?RvxQu9yV(8i+twVjgeZl-8NfW*WsxuicC*(b1NDBHkQuQ3R^`bBdJ# zrZ<@pyi`Wv+sv(De6QkI*_1%aTgV>V%^XUy)1L#@XpM3-nb&ib#aRl`n)h9!Q|O+! zfpTT?W>#X=?}+@+OU*sEfky6)Hzpf7`A4x1p&a#>CUtuLS*}iSe8!e-Z-~&j z!vjngn`lr$sf`$i4o_b(6{)q`oIdT>lb$7I)NwFbQlt>&Kof^t-7yk)|-W7kdLgT+X$T+9-{Aa%kYePSBh z*j=$8v8){b0NIV$8y@bm^OgqiwoZnK=N{4UjeFkK!FixmeF4yl019LtY;+4-MO9`k zAR4n)_6BYNK8iT_hFn&ITw|8(%E%N(y(3ouvA%i3qXM>XbrL_I+6DuSs2*TPK-R)g zwR7_yV*{LA$T@(~k65uB)rJ+3XDOe3rM9>`Ct6&}X02*WXlXm}V`x(s8Oe3&FI-Le zV&yGvH|6OU2F9_fkkl}l%b(pb2jV8z(rjcku_MsB3Tl-s16?L|ZPqj$Tis$Ag;-|T zTU=}mocDz>uEUe&UW*y5Ti#Ox1~)v!v)!qpwHqMST^9?jwSHy$Uj$`G)e$WN^=UC1 z6ITrMg~o}}W)r39zeXZaMf%F2gc=bPXnmt<hzB>pa`ARfohGAt!WLz z;F(4#R0u5BSxJ7N?zQ|)e)S&Qrh8VUHQpp_HBo!bNUR+8l#~RkqpMA*DcW3w4=HrVXsm zczm)(-|%JAQ-OmCyQbYH76QrD1{v}xxA79ez3g1+06JzUp)to=k7PO0jTFq~_t>y%zLnlRcCBS3Vx6HgzG*UYD=pRzX8*fA@!8e?jqZd%y@Dkx& zo0@c*5ZeuD%5RsMsHkksYEmU=+gKImpdn_{MTb!L9Lm8^->5lMy$pw8fG)IjjUw&K z{zlMKEWe~nS-z87)w4BS8sV(w;S=VRL@a=>wsgOKXX$1C0FrYar}Hh})c$8T>c5yS z-(SjCE7lRL2mQ!X^t1XKH(shA-hVLW`u_l#{{VgYfxoBBOMA!jKj0&nB<82@&M)`< z=jlIim7JvcH1Pib4`-480IN#VVj8L%!4!dQTDa?4^_I*1pgSAzZ_e?xgnvT(&aczn zIm>?f%}dGsppC3FxYgd)EY=+V0PY7>PC)XSa^sdMKT-XK?-l*8cnOc#>keD@>j9yS z-G6*vSM{6aBIi~WbNn3~%0(K-Cp-&~k=-7zg5r)qHR& zi>aE4TZ&IfM;nXOnj=kylyNQArRBTYUf5}j8bWMc7)XhzB9S+HI*X(bFOgzA&RZ|m z6}QrtE>5XWCg(^e%`IXYatLPc%G#eg+|1p;knMQwEKrF#vJ6om$fDhuy_Fo`u0lbS zqH?$HQegN$aZE2;?kJI8-4R}oR3oDJ{6vdt?$MJ0=RdY*{p>%qKtD2O&#c3^Q?pY} zF3ic!*D=sr1G7;lSFGE8X|C%qGg-aw7pj_aC30n4&$SCzub~-vR1;^U=LyQV7cmdi zgY)!`ABo`FqK=w z%gauVW5v5h+8a80pLwoeJP^^Aw3*hsN`FHRZqDLC^^Uml8>l_yP0wqHet{U|$?;b2 zAMPQ3V*u-Pof>zI-a(Fi8Bd(RMmNdghwQ&tCT0}AedY}r`UvxH5IyW&musSQJK-g= zvC8DiHSjeyaee)zi9^y_WX3#G%wF(&)B$R`2*uC?X7NqoJPxF6EQ}Or7&%l-H>%u} zoxQ%`UZLqe6=OIH@inr{Tk4OQZm#w|gad9cxE1Y#r{K%Hx7>cyDjsb)^>>_%VU&1> z{K?IJ2}7iH2ZmGqW9{oho=0*!Y<1Ck5DuI%&A@M*)>X87{Ugryh5P{=_!-Sj%JrRG zPHZ1EB^)-7$6F5n0F>&dn)D%W^(Xb5>Sm6ze|WKCbiF5=2I(p^eI?p@WWn`Mh$j8; z*ivIvGrn}%z&^{wILy>fMsa0-gai6(x z5{qanFL^<0&V?)JnX91?q5VGvrRn3X9qeAXnD~C3lmK?d7dwZ3Ki^2N^&y` zLkE>_nZXU=aNQlV_m&%0NRnmFgHj*4KM+j^W+la`bf+?`x~oP#VG0}#>(dt!Hj5GK z{nYi1-t)QxddfMoRI1*tn)L_=vfk@(FbGp`O?R45=)l*6=4ttlYcb1eZm&6WXQEF! z$|WNG!vXX>J44Cq<<3s-ae`VU&EZ;CqRjfU!};nqP)7Uwl7woTWb~Tu#tna7seARt z!y+xJ_juQ}6>u=ETRWoehd3<@q#>1eGcs!Ulz)U-so<7$9iW{gRQN=eW6Or%K9eze z?{M4biP1i@J4F`%0BHIqfEQ<2XW87JWawDH;{9@EeUqOrllX?6^R;`3zu>R9(V+7G z0CJrV*K$9tORfGO7*Dwqb$p?uv&`>Aa)a#jjancwe&P>T(kD0C6A)he^_@?X{lj5A zT5`RWz=t}aaDTv9J#P>jMNU=*`cA9m2mb(Be#fB{+;oNht zaTN{Ka+tz_3_Q!sm)0D6k_c(HJbX{-GcX6EHcz4}(NNrnWtM%54g1*cTgz0-3;OQ@ z`9jfV7k2}toP~VHEqbE|U$TA7>(IXwbxzPn$luH<*M}gTf-kMvWsRo(xy9)3i#>@$ z_J}5~(2nXnKp9Z%zLTSNS!XA9CqwE(COtG=l@7^hKC;}s=SdBN(GF#JgS|(Z^^R5T`00FvvFIwytx=J2~WF8inhhVBvn0H?(0dXjQ|GA%3b z0t~f-!&SUr^h+j>mK^K>f(42^L2nn-_k%Y1l)u!of?t5jEq<^znQQ5Y%d~fmx)Vw^ zYZD!hiF7YGvO3HRTuSz1j+|f{gcl8`KKv#|VWMk~y5W;@d(03c=7^q{iMEC&T{
Xg*w!6l8%!^h?zU>Xs2}==wqUM!@e5kVRy~+3`(`1QKPc4Klf>K0?@?Oh zPHeZo%y%i`1M^O4@o}tAgoR^)>FQKoi?zOIBHicvV1xsd6zrMh3gq>e>`HQlgG`d> zW30ftV7Wlntrvla)_4GYWig3{BH;FqSoVSEJHT>4)}i6vw1VX=T0#o$PL$EDLeljN zy3SIiVSq&{HM1zJR%2)<7$IhYW}3W+5bp@l7^K7)F~@m=g@S(kWY5Wp)h2X4q1%ZO7* z^_FvInAMO(I_JcriX|FOW>>^V{HAtGqlM8jhcoSCRG zA%-pi5Q-HM#mifS)pMMOf)2a_x; zYWA75n?yDfWSrV7VPUtyUT!;rT^Df~3C%v!v+Ck{_UXzy`@iKdDD2?`ir!Mi&`se#XR ze^9Rf0H6m<97Foo;xD_tAw8dHt@uIuoYU?2oR$4_ zl{6j?#KZOYmp^D1XV?0a-1mMZoWHJ|2(fK8Df@>;J)h27X4>?3ZGi$&D3utjO&lz| z3#))=#66P%nezcKL1Pf)Onf$`V=u%i(q%=JMIh5sj*##Xkzsf?(}L3&o1EvzNeGK? zIZzh!#A$*ZZWiS-8pQ_yy=0VaHYnVKtD^nH zeyK#xJo^H;KSt1lyHnq--Iy2G~}m8;@yAB5%mUhwC7pP6=) zhV_=`iV8j2H#&bBmBe9$P+?RqjEbz8V}wXhtN}${7F!0;ugW_kBQGLKwWhpn8WrFP9Bqj1hgLO=#`B|MFhj% zf!ECX%bYZnT#(VF`OMU4AqXghiTb`vw${ARNcY-YH|eE#{rTe z0|2oFQJxmGVmcU-u?h%3)TOLQFVbFK9^3@rGibG>RmnP42-WkBn-fC zY2c2KW>FfHUITH3aN=rYh>4i^3_UREndLBIG%Q*oR32r)EHB%G{waqMt+P*?9Jafq zhM#3A`qHyi;r{?>`iI;NyML!SxtHsB7vxX-3I70D5A9O={p^3VnC@*k^IzkLYjGB9s?@No=g;{{S%EFE{FJeFan;%@Xdi zxG(N5fyLc}OK^90cPGK!-IL(%7F@yt!4f=pfB?aRga8SUH{}2CefOR7&Ys<#wfd^Q zs_L2PnXa}Ne=ID0HTCmLrI3R5mt)RB=H#gJzt)^@x)G0RTeXOSg+;M4E3w43zrczn zE+enq5RAdr=Yi(-Dp_fD>{zQ~S1F>HdLSxXf za0zW>ez({OM@c*VtY6;{nFY#=Uly#>F&T;XE%{Kz+GJbpe;a?L@%g*B21VMJiyZ4` zT-&8DJ`!bNxmen)Ssshbv>=!rQ91Ct6^(z4sDG83&kz(Wv!eH7)skCSa{54OR^Cke zLF-I3;^#L)4>Gk=)nqDWU9pTCKIdDCX#M5ge@yyonTHiS2Xexu*jJd9euMjgTptar z$^+dROC3ucxLu1t8NvlD6czn}+FcmqzSVs`s>zwhy}4_;g2aG4@ssh_$Vb06odxeIJ^Y)EpurY@_8~5_O2Fq(VI)?+G;RiO$^Ue~)A{hlpnTxn&rhEpza4z>Xm;9n$r{DOl_3oi zFrKNTggwrw^icvMPg-xAUyXdoExDXpIqt(wr_=qO+zi}=stTnU}Gbaj&VhQKY#hD9_2a5fLDRDLAl4J}}j=W{Kif zwMI1d7PTO9=wy~^m}gIS#urZhfiUc}YjMtj5Cnkt2$Nt8k#-xpVn`Hk(Dl?aMtU2z;Bs5&nt$*SWBK>|tF)bHB%yW6qp6 z1Md2kIeAgm4u*ld`DCPc9>;CEc2#qdH5ne%`V@B2&D`!fqjwrH;@} z!(Vc$g5|f&-el_oQ_TlfPCdnGB3pkQm-Mr;y!|7@$dowWN8hzF@)Uh6*99fX)eXl%jE#lTU&!-Bc9)MSapf9D;)r7)x+lS#ZV%4Gav}r&CZEKAlldg{>=+^eUK`r8S2&rd+~gB?I*zQMSl2Hm{Jr-Ievn-6LUb zw2M22L*H2(!4gvzN+W3Q?`nl>?-4MS^QL|cr*ylJ$@Xmw99(e-2)B67_j8|G9vo?` z6^&l2Y#=M}&IhrD@Id+{1EJUyhAGtn_CIq6cDAyQk{rXTfr-%qUNh#}??^u%L}w6b z&%eGotj^vuG0QA_J^<{Ouy0e~9zo}nG?pWT*r0H=i^mWNvvZ>RWYh2|-7Q=!(lh>S z_&M=lxBaeJehV|+q&o*`USC=V9V}C(Y_^`vUG@TuuW3rWF%8(!oZqH8pPy&=_t|;B zJbp7jPENT-U}lx{Dee`XhQjqdZU%RfjIjBy1h+oNH?792pobN6yLRi-@97t|o*b~F z0ITyUn%W<8(CzWpA+h-{KP{+*6c7x*rh8uJI`?M5_`~^qdR0QRkp7)TF#WALFg2+f zv2_8W8M)PwV?SQc&fhyCI~lLPdt7p?txYjb;=_UhEF}?tH0W3AhH{_X(R-vtF41b zang8KLV!lrXPBw{<~+rY#zU*rgU?pDX=&Aj3-J%A`nPe1I1ip&6WQ7r60C#PUgko8 zm-R$ZL|bn5?Dh0(KFjF0SARh7zEp(7E?Y#SP)Ga$!9N-C2XtSPZKUk`?VI|fRR6o( z9G9Pu%~fJ_h*y}${J$Abu@|ohzTYPIbBGg*mMr>M2~`G!DE-R%K5TWAwT3KtOuGE| z+G_tUg!4_M+maWuj{pi)y5iVj7F*HaHh1}rWqQr-P^Tzqp{k%7-}EjxEGv6s*CDQ3 z#O&iKC+FiS3J&Ft3uwe-AaC@ZiNg(M)%MUec5xx=c>Lg@KC+64^?WvJ+L5@O?k(wB zUPzTyb?fZ8?1k#S(Qe9+5>66U-`FEiO$v-G;m_I>vJH&dJw1NdCp$@^p!5eeA@zJw zh*c8{?b`$E z6lDnHL53Gb3Lfn-t&ydth==duS&$9fegU%^>rQ@+VLYotTjkU2eb^Gp=w_{vqP2_A zA`SjPx_c|bTH6WJIl-O+m-peoksA#ye|r?amBj`Q+CrbA2dGMD_FfHGs*1l=WLZ7@ zesUR!&QF()^>F_eiYmWY;S%y{D`SkTB8Tm(sk-)f2F?TJ_L`r}w!Hfe8Ew;AK$)Yd zWe$O~ZJ!RrUFfeym0g%c{uSh-vJ+3LX)Ow~C&h+dW5S0zUkp z#TIVJ>+QLh%Z(3>c~Rgz_3kUC_Vu@OdET`KJonrk+bz%xj+spLm2dH;B3~UPyhgdj!A(qG@7DLP7=d=APjiBAARvzIIr!)1~X3-`@*}K>g%zeJZlAL%jZ@ z(<)|^vkW;2?&Hl?2mjm z2m+(xJ5!jH``Pub<#|gwjz-l^Pono3-Yd@sQ{hz`$9zH4%KWmahSD8trjLW8r~DxF zQU2gMSI+9~Ny^Fd3h33BsRIQqw9bms5+%_Z-V|wsdz;tvpA}YbKU7&7a&>WR64prd z=MI$@&wLcTPTidP>}10Aa>y=ndGor$J^1qtrwvc>Pg~QGQ<0QtrMAk$UYug1G{~oD z_IE_Z05>TXVOvK$K-|*`>mj>u3Q_js-^Mgt$oe=mHlF#!aDV4)A8yVuKcMaJ!YE)Yl5rN`h`)B!1_*H{8sfG1VWA#p9Ute65twcV$Uy(+=hXtEfi-z z<_Ob|Oq#?sFV?>$3GE}N{i$6k_ua!_VFb)EhA*Wi?mF|B4x6+)c`)W9!BIV<}f}Pa#EiR|n$I$47`Q_bi+lvyF;1u>v|-vWU|;qPZa5RfkRYt*US z7C+_WZzBB+Yh7v!!JCao1}hbcU&Qb%v)?VaiGJHL`AHQkvDwIV&AagxdB<}T1B`O} zLFbY#zy~fR*U_lt)$lgK@0`cR-r)OS&EKn|y%?ikd%k>1M$F3i*{kfi`FX*>LgA3I z>ssvVmj%i2JsG=%u}eG*WMwM*ljlH>;o_y%5%p=Y0Q6mLroXhiQv5KfwU{Yz*tPp@ zv~5Tb?1AUVyy4URcFMJ=;KDC}Q?$CTt;oK2R7ZpY$7}~_htc_AE(*H^(8@@!eswP#Gam^! zH=Qoove==(GQ{TTgu7^6h2$HQ#vMcH)shH{s1TXG)(k|+?{6g4=k;fhD_v(|Czj~! z+mj|T;IpfpOi%2oSdA<8*jWpDl(}5Uue?p1bKc*<#b$W(h4H}WWi!k_Z$%Wq8(#>M zpg$B)KAL!4!fzrQwAjENDZ_EnFx z=l$p_>L9OgkeSY+HkiqBvRWpUfsl8S)rU=eqWbukGCdzXpX;I;9~h}wN1^;mHl4v} zI2ac0qs&o z#-~wBxK#wNxzg5KS)YY^w;k+L@E}Y56-6tH+na%Hr0<<~VXs0TZCwfXV_?s(xb!}> z3)B~Q{xS&rMHG_D?%UlIj5ftudA-1-^Nox2E!-QO02=Pny$5D{)RnwbV+`@FJP>e< zihT*UgMA4QgUxGLj~d=se%GZ{I`d^p!t{pVVr+r;W%RFDMD_$_Gxmacc_op!vVo9O z3M9(XvsVn&Mp+DLq(X7Wt9EG!`=1^w#try*lMkc)cu-pzKd9- zpkb?B((uB+$$R#~rP5YEpf-luNQf4FHqNA0rRn2kho4T?92ecu?@;s4GI0o@MA8Ls zBr>1vrVNc7S87vK<_q$2#+ z0|q)1kOaQr$TTo>yrFh^k@G_-LMKzTcE`pHje**MBj{SujYW2Z?;EL|CQ^HKWZjVy zm%R`$o@cn_hjN*%?Ao#%G4sC55$LEua4(g1%r4M#I6}9K2X@hOfZ-RQ^dx8%M%=Tj z{egV;2WJ!u2ja_*)npMvW}P(E&Qw+4&r6L{OYn_1%7Ipu`?=_c1Ki<}o|R|dqrTxY zwgu1H^G}rIkB*K6M-P^Xb;mzQ)&?p@KF1GWSm|)-eyS!MwUgn9l9tEk>tn!K!jA0a z*d2&9*Ok}$tSU72UEyN&?ImRX5;C0KBKNs}+Krg_*xt_Ujx8i0o$_4O>6Adtm{xc* zGl@}pCDQ$ypF&Z*Z+bZ7}5MANB z-TI7}AlL7Q?P!V_vC=k{6{Jti**}A`?D9O5=BaW||A0iOSe<@4io3^%^9C7v+WWPF zO^fHE{8N#x(tbcX4j=B6SSTJNZJTD?GUsS>mG24dsQh#bn6Q>ryl zD|X^@&b>U3NE&q|I~lo2o!1Og*Y(@wu1WC6yz$D*6o>jd6}whgW?z1(?1TiTC-%3; zbP*jL$q{R1D47TkVR|jg@)~TajFFKeyOd5CO}r(I7aQ#CKK^w~#;eDkyq@SyS&g2g zI}F?!D75u*3Ms}CYlf_N^*oYQb60*x=##I8#O&`w%AjhbmadkgvJVkZ;-s{)K4V)S8NAL3sqR%P45FU_i4)m>=%9aTs*EPS)d)e%>o&U47K9&yAE_8sZiV>i1UaPhpx3Zql(bj#P~8iQ8%#lmt2lG zpzBK@{LAZBKl*<;H-j8JF9ls88u5g0Uh57bHMJ8lRRMF7rpW1ynsmR=_t(Wj_v}sU z<`UY#)nv<4M&0+cGdUtuxd(Bd=--`d6HcqnB{;1_soiJ$Va=z(rUVZ8XBjFK;LUK` zA0|4UU!HEbV##py>azPKdrRBv51Zgg=5#oYbw-3@ek1ado3V9?(Zektn&0C>yN+y= zK-*IlZYSUEZ*(TZfwib)kcDm-&Z zOJ_6cDxR|0WL;5H1+a$3MI_~47p)wokk6=}Q29H*<#8n+me$dWvFT2kI&wMZTk!cf zBfj{SyBp+zD>$Ax0^E=pYB5U%$<0?=+7ae+T^WdIg+my0K~6j5Nc|D1UN3}GQCZB3 z!`bBFg-^U(RV|CY=_F8LURE|~;7_<#r(Gq=zjj1MRFX7~<26Qz{F($Mb0Q^?K*=^`&;HasP3OIY#S!`PA5Q&xQc zx)komWa29HGEeY<7P6Wio+5F>-Np)6L234t>yZkm#l!qmiw6w%PbnU_r)oU^Z!I2b zpcv0Kr^Lm7EAc=$B@rN!2q+M0i7@bgnrd|h#VjZS3T_e5JQcBddRJ}opUryMNzl(8|Q&(pRPZZ4~}CoQ&Mns>}MRQo~PJ{{sa@sDdykhJm#KK`iCo zRk%+`|BBc9yQ%yS`rpq0u>h7#7L@*l2JJsTEP2BE2jpK!&Qw|cDFtE5$RPyC|Csb- zU=|pm0l@kniGRVmwHw<11FBu}57IwY0mX!?HA?`%C*%GH>0dwvnnQ~jC0sEi6l$Q@ zt3=p;No06}Livv|-P-?B=UuJ&M5xAp!TzgB$rFJJ=>QaPMKQhn{{xkJ{XvTaujC0R z3=G&3`5!#^zdowM?FRS)C~Wu-e=PNiS@(|rG4>zcfOk(2^iQse!_@{@l!=4>hd#h4 zSv>9`nGn$b1O$LG13aPHC=kFXsCLy;NIby+AN|#y$E`{VoK>R;u{1e&K;aH)6 zy#Zv+UvB^~-dK@9Km!O%#ZM%)&kaQV6Q||ge*+7+3=SCgMAFd{Lr+A-lgv>J7ZICj z|KC7_nA1(K z3UH#D1?93#Sa6#SuK0iBi8}5{HU->2vLk5#{!yeLG++u83P5Lo_@WTdU*Tr=(5KAM zI|oF213G&*#IZby;-Zy~Ym-ArlFU4O3Lt=M*nf2Yzgh!g0jXg#M--}I@YOTIdRGnY zU_HY}0+v6Z*NQ+>FLRXMO>grf@R>~9Y_@k8es(ABC(S2uRe$@8f5P&w3;#`HDTpxO zK%f>FwRDwt6$KPX<{9CIhW4fZk^m4;u6S&s`Ajj6I8B&>c$ATmId(w{8KqK12KeMj zS+0LH2DYEvhZP!z75=1XBns8kkrV}3Pr7(U82PfH_#V)+572W_SUXURAluSglhw2o z`2}}N2_QsFf2@@FzeeK%>Hp-Xr|^=3Q2RX587Z845CVC8CUI=ybh`j#NEQ&t^&toc zuklKfDmWW;^rf0LXX2lN_Sy=U-clw7@c+NMr2@`>GWkj14DdjqQ1GTf@xk7qkU|FT zciS_2L_2z|-)sZ(PR*G~i`GxgDc0;R1A;~-1*nNOO0V!57vS`7I!NL|B>uAZlwM&# ze=Y&kMgtV|7SHu=+zNpLr}mYG2e3ryY<+h86lppG<*L^#H9nRyiB?owKP&;#U1317vH=Ibg023f16I2nfj5&*xZ`R~6dTIxHn~0|obv^wJ1nxMG|WkEn}B zW3|MiT#12V`mi{>C+g@GXr-RI%YW3OKvf44Q#i&j3@Z%&79xzSRUd-(=z~>fgjG$o zd+lm#t1TlhrFirsu#fl}DCNeLat^$T;c@|FB`Ty+OJRi}AW+92{F5fY9_y*QQaqrL zE?zjG8WjHg2jqA_+0JrXeSciyt+sU?$aOUK2NXdJI~o-qN(Ah~rT?2?z@NgP2&kGx z09o398~A!}APA0c^?*yGz?p0=##1&lZv6=4N|CQ!Op)U{0?e|ath1U;eA0_nCP{gR zPT2_(2smwl;fZsgt9)vz)v3KvC>-?+54?qA{(xBjfX+EX9;kN5N@owQLm~hPz~3J+ z0J*w<{V%K@TQ}^G^dVj#7jgihRt!!3xAz4apqF2Oi39cJ=ZZpZ-|qeaA(sNGh?#Bu zW%=ORYBuE@@IH__G*PAGNf$J_4o=CTPCUXy|0H`D7+G1WT!OgN8Md!$`79yZBAYaS z)WFDn%FZTsu_~K}T1@ZfuKOmN)Yg2#=AWZIw0bYrpkN|>ifue!a%no*m zoQ4KUA5pass)Uljj-KFs;ZZ^xowU@66+&ntt)ahBc%D@Yt1~-NzG6UDi!oITyTW0* z@DWiy9}j2^6=o3^jGnhS_8lA2l|sX1B@KofFm6Y1y&Q*yELtx4g4aTFnjdF zYB4d8>)8;5_1!j#Dp&8`fy)dD*m46TxCxwvs@Xit9=Gp|Ey5V zdZuqFpuEUc+!?F09^@Xq4$;-n2yNu*C~t--#tlXpX^^7h>@Y&ms4<%3)FE-iWbsGh zxapWbqBe%A#_=i=IhBB=MCkD4^tr!sBzACI^w%!^5_1*P9~e3M(PZgIxA-?q6AfOO z?c8x&InwFiY{`T<7H&fY3?qjN7o1e+bbDqLBzdSJ+xM~At@--LnVg)v6%+hzASme{ zaEX;qCMhQTqJqMLa`U1HF+}i{e$QP~TfIrZe8&!x){G#MBVMpWU_^N48XM0rjoV0H zT#8dCQ(%e2rNuEb4rdT4@rbud)8UaC^yAqka;BizHV3^Lf;J@vWe&%k7*Q#qnNGrN zAcq_SJ55`HQkN&EM82yi0u2q9?~n%23nf|s=TNzA#x{fRQ@CfF5n66Xxsr1yHfLkK zJ9{cIN8lwSCnup%N&87@Sk)JAfjSrqQ$1%YZjsT0ZPcVhv z5PFU;D?n?}9`i}Y*xZ2=*HiAL71n&|q9zlxvrjxTy?+%e}0xz3=crtFeIfXJ9gQ1SZX(&@oju@Vj2}s&HX~v4G`bcmvZT*oNM(XS< zj8m-ltV=*6GKM?Y;FLgk6+ST$032;3(a zWmsM57Qf5)&6%X(1nlAuNmv?P`hDlcg(r<1a|auBwps*m_{p^+$9 zoPVM-fD@awpi;wnkI-XUzSiuie*a~ zV^{yA(s%03H}2LVmsq91h6d9G*4wB#{?jThR+kOQ(rCXGv*dpW|^HS}hI)C%b=5m>#Hbnk- z((XGE3EjOO2{5WXZc1Nqr=%0YaJ)W0lTw6|;e(|*jNdeLBJQlL0=cXV7b%Pb%xj>| zh%Upp7{eZGGt>h;-Q*_KDu8jJY^fXV5c;%Kq0F(z`lLR{r1p$75Fu^r)G3uq=trYE zUih{zGgLNj4RF;FxRD$4Ey#5FGP$yF)<%THhTwy04|0<)_zSBKllZr1e!6q%;=7{T z@(prF$9{PeiVDN+s&+*R;3aj$L=2=(j6+5t35?R`q@~n}#BM{*N@slJ0NQ1(q6c_G_`;0T}EWA4w4jdiSNo%3%y*0itJZm%>Wq??r zgEx|@8CxWQAn)%;%)X@)%ewv{3|aJKXbQbaDElx2>a@n+(KfG2LQ2ie#=H`~ruc&4 z>JY+;I7#=$ZIajWw*=iryT|2hRZ~@OuRx1B3$fuOs*MzPH1XJ(Xq|*RRqku`W{++f z()DnP7*{J<$ymc8?QjWIq$P&W_OvctN8n@C;VahlLApy17LO##LRIEjub)}VEFd?c zIxl#w*}MB@v>{#U&2lI^QHB+6ER^Ze5z%g<*sze}r=5Ub2xGZK0MWJlYF3LnaG4-Tpx;J=5A?;6rIeHN2L&H4#tdeyOoQ#~?RL|h zc@umU*&+kWeFe54npn24n6hvIU3nlnx!2$?INHTDL!+2gADi(BLr(@&*4qj9I7P{FY~A za)p1}$;3KKw8At#>z4=%S2P|PY(38z8(|q?jCkP(YG*imFG$UL)b}e)EF6m9i_re# zeAsoCHP-oMA*?O%%Sb=Lb``k`;A>1Tw6(lA_-nBt|cfuxmYH^ zIEcF^k*E;jfv&8=DigU>jzE$Jqtbp>K zOdR&=P&om~kQ0)*Brx+rv6S`aWIz@?rmM7XgN7oeD{mp{-x=gg*Lf1 zgsDCwB}EXXg%23Y`qcwvljYej|L`Ppw}CX3(j}QdBy(e?&My4JXKV<`sDr6(OlNUM z!>9}Los7h@cv(yq8)anpN}mHVSGi2alaK_$qg@mZ_RbLIw2EXIS>*-Ds;4qMcSaUY zxYsrzxiH0!k{Mc+lAa!!`;l192Ze8L^>qq4ETx%=*@Miu&w5Fl=G{%Sm|+Vo9!*fF zOR4=0HoqQQsB7u2@ov*lmqV;kQKqx|R%VUYSKWs1YBLG5ibm`euje8E-aKqgh!3CoE+`8r@ug>Y$tW39?YV5HZ9dmp zv$`C!AzzU!{ImiZ=1XGqTz=4Y)NhiBbP9croDO2+*27_;C zGd8Hp^Z2-`759#9vxzn`YK zzx4e`yVwCSlNKbQHI5^~Q2Ov1ug$`m3uF;aL?-9gv_O(0&c_m!O@TQFVt17hZH-33 z=Fa{_<3)_`q#)~;QrN+~oDg)#(F?k>fH&t^tze&C?bz;-;OESdQdHY1TAlluNq=q^ zF>z0_LoO6;58FZ60%Ln$phc+8-p0g_5!lZY4>?SW%3C4xqz2SBt04sH^o)LnO&qHy zv>p*t6!EX|9nmg8UJ5b>&EeWums=*u#Y&gC62Cj;pdq5OA?7YsWz&1R#{I6X=^jU7 zJzrMn4~S8MT~5d4c*DbFD;a*HjAL(gr1z|;_*KI@tZ`WkQS59@RsuGoJ_MIy$t1C2 zM_1EjS~c~OY;1*vNDuX&^!_#Qz7n!r6wnow^^Ub9=7O&z(X2I%oi$prA*anG3n;HE z&T)$C7(#AxkH8M*@1}}(aGO<1v9u{)9pSKgB&F@@XXjL$2b`|dxy?5cdg)TM{g+R{pUnbdGytj6%ijc~0qDy0&!s48iOZ8NW z7x`9p5c*%(Mi{`bHQHf~4L1-r1foDq|AZuTeb=vI$@8e$Ro{dbWgp4fXp2h{R$c5Yg-(t1GMmJ6PKyc@9-6v3ZiQqykK9qNnVpCQ(#VCQ z8dRRiTJj;23PWI$*+#$v{aWWf)bIJB3S8t3HM%TR4yoEO&-T0!^5wFCa9C7qeB#3) zoeXr*z-i?yF&sso_6^9oN$}Arv*C^%R5$Zs3DTOjqO?rb$%7m4@aUaUN+3}^wbf~b zXJ`Z+h{%(Hm+lkd8m}>H_ou|jwjNWFYR~v*UWW4yOTC?mcGlT<7iV%K0Ip&q*}hDt ziVztZl3*0XA=KYhh#;CJ;Fa^GPE!(+yc`u$U5yab7b^7OonOF@67^*yVjmP85+;5R z*X`sHnB=1pZK@ANT=rP~(XM_ZS1I{27EVp9fQ9fpKD~T%)UwRA!UVZxDO$V&24l~m z{!@#!;>4`PnCG;68HAY_NnP?FxhPI2%@zrkVU;6;L*4vFYWe0&8><1F;P?E!yjAKO zIVA8$2BCZHgr}^u_vL;ZKPR9r>@b@BRcu!Ma_$O=69cw(!x}FFlwRhM3umv7&IZxE zd>9nTGe2~cxyg?Rkho~Mm9_|!r3d`;p^HC#iNoG^l48O@xci#OGTvGl+uHl6zEf>vTo4(UQyW?+D+w+wbq8v7d{W>TJKc_IIS)>mv2V&Xs6@E-pHBI>0MYHH)fv zI0&;FG%*o0v%+ds#cNlS9o^SMu`}73CEi*7jxU1HeT_;O-S%eS`BHLY&Xz+8ni!Q|FBEj9m2t(ni6F z(lFTK{m|CC<;ESdHD84VR}+ZhY;Bo{!RGmBrslzT^ikume~L4P39ET{m370y7|KwD zbRAAqlcZTkEN3k8IZop2n-kC43T(9g@vk`Knal$)D(?EZKx5d90R|z$0?RaKtn7(N| z6<`xZ%nNfD+joS*nX7X2dN{Zz8GKOb+b5ol*Lrn7dexfBJZYFCTd=rN4*g(XML*;I zT>U-57ZQ6mD0O62`OR3>PMeaxNZJCu;SoRfM}$l|AT-|16{Rm}iY?XI5Z#!BhxBO)okT39BV#3r!3$|22$mptdi9SRpI)l&iEbLN+k8DwbOjqPBej}XdWC$N#$4g2pTeN5I zkZdCCn|))3cznkdZ)9yZXY6ugE5bBw9Kt(MlYVBFt1PZ#P$F6Tz$I~@T93#Fj7G`Y zOE02nPxbrc!?_`9^<>6bQrhA_$Q+C}_3CzXW?#!<+O-*4a$2O%zLbAqqeoXkLXZu= zF-lhrwtr6sE8 zBREN3ri5Aee^2RA?8Ua{7)GE4D;0ActkmBm3DW;9pyifks-s<#w;*Gf$K*TNIXWw1cB2 zOCYj~V80U5XN9_G25URk_kW=H! zU1^Tl(;2F-Da*@jSbQRqN6nX|RdT@{^XWwggP@Z?AZj_ZNjF_Yk?;kDeK}>J0t@A4 zGJQ!jw9Q09b0@=t?8f*JSQB$8t$-YMN@)X`$y_<&@MZs9%(4OMk3~w9x;rh*=tp+k zMPyaD;L{iq9|0LH`vsb2c+N7@b7ayQ&8 zWnD3+!lDoJ6BbSwXah(!dFI?dhjyCUvv!D7Ndp%?mMKNA_eep}wR#(+x4Il^z4Y1yD^iv9gQ z8O3n798>JhO#xqtdG)9K9L{1y4E89=xwy=q76e2H#qA+KX`L}cD+z?m)q4~xxhhh? zbRq6;74pjkX(~AZ4=Q?CHv}p=>8Ww8m~`@1FrxapI(_#MnNXZJ8Xs++i`Gx)oUxsL zHHEO|Usx#W!B-4uBR}y1#U-;n`@@R)uYW&#Ja%c^S6&G;u)q0oE6~_{T zXjQvOBW=WR=_|E>x(2Si&8r@lgW`K3=o1_F_aIDNYJ^8uBXjyNUfjcTu#9$t;qZL)deVqSCq<~*DJoo> zR3y!&^umEfV#A~z^X0j0bK#9|GJm+pOP3#z`6$kFcTIVc+Lv&H&J#l%N}ocPa{Y2% z4k|A51n+qK?8y!oe5c`p?rdgB((7$LZS^J2yImKNBN_T27dv>cx}2EUNn)(nL+B9_ zJHf^-vB82u{Bj6YP3}{vhEsU0wA@>`O=S9=+pmaRp>$3bM;Mk(QCmSjAuXBH@r^Pl zVecnOSA}RtvpE)1AxIHf$YhbNNvz-N0tOF;F_zuwEf7fU#W}6>azT~LT)Gn5nN02- zO{^B(!8jWHS!J1_a zPg#qdOyO<_Mv2-y7Z{62lY?&)f()^(zjGXsGdHdq%Eb_5upH4Pz5{0(OOA6^-y*S( z^CDDo36(%wJMwdu-G_P$s_vsJ$D@<=wJob~Sk}yo683C(JQ5L;@&u)7Hd`mQE%E8d z4tAhh)o$8M4D-#R$jIT0jLrckNkP4m5uS;>Ji0$^5@MN5SPdZooJ@AFz7Fm>=`+Yr z)`1C+=w*LiJJ{{ecgmccU=x3|$N`^Q7IWWi6$3M$j2i4q#OgjFts?K{_{h+AoYr1r zoD}e(Z0#c&#eQ)g0@r&>PpbvIE<%fzG`bLk%~~e#)VnegB_c^V6k0M(q&#~@_bbV1 zJAzJF90$YmE8>VrIAw#$2y+A|Gq*}rW(BL(iJ6C;8bnj-(9Hdf!`su|LM38V+Y0n~ zT_!Kcyp=1o=Hz{%vvG>~Rk)TB8xxOz%bo1?V%?5)7U?_Eb_~9R>X&w`_T}HF%FvAv zb#?l$lNqjcs^r*_5O9s{FIHfx4Qhdp%RZPcGq5)HVzEA{{pQFk^d!^Jsc8YtK?48R z(GZad;XIW>GW*izPSa3Jq+{p>6~3?LG_zBrzR6E_wEfSNT;!EVlC7z(Ynjtb*miC` zQ%1$4<EQy4l(<$rO9JM_?lgNS3eg9fXUy+G>t9)lB$1o61;(Os#utv8m70|b-eYzVo?)-a-0Rph>>h%C=2T-hBbcK zgcC;-(auKt!Ivr*`P5u$C~r`s95u6=7AMvd%xlL8oasr~$RnGRh6Xd8Fq$-^ISL_J zZ^Ib|3Ds2PXsywv^SoB5m-C&!Gm8>yhdD>*dDDigF{ZNe1@cP3sy>!yu-k zu9uPJ{vdo*Cw+$q#iISlHA9Oi9>jHWbqh5=F3X;gBnX)a7pA+NuqO78T|1w zuHE$erLT!xi!MqJVFjLup6{J1;0#U~L1qQsnV2Qx3ZCzLGJcN&T6S;bazD*SAa~0g zp(ZWE{wSIaDi>BlsUJ~B&R#y0xVTzxpdsAe8Cb+ zy=o^ERxtOq1X#W$m#EEoA89<7cNxRaKrzcb`emaJi%hc-T>Tt9E(_r?ACm%UN|A#( zG=59S@9dgGYA%6!W4y8RbD+fj6um!6-&f3cN6haU27i}4$PYP&x>0jSg~y^(%`$OS z!NE#COM!M(=SE=$MLTO%+|?2g%6<)9jzFRV8Eg3Lu;APXsDt)6%mq%CF>7ybgxgzuy0tD zj2wTOb|y(cD|jY4$^|WGj}}ZYoPZxhe6%P)DfQRF`7pCE=z%&nXw5Afdl{j+irW#P{C;ky@aApfpM1Mw&hetMA4}ZN zB-&4dB84KLGBr0-L$^6iH}!bh2pcwTE%%cGpQ?wYZ9PS$5_L$0+M7DaE@`c~jm%B2 znP(-K*pKfPaP%do=;~25vmkt*VzFGcUA}=D?i{|KP6*ZXc`Df#h{iM} zL;6>7S`t^duinhdUT7<^u_(Vzl1%iDl9o#(C~U+jcfe)Np|+39#H?pt{>l>0J?%pTg-+!K&ot@2_yg0Y)b)U26bDfy{iUZ4xxUJkr)H2SQ zqeh}*uo)6(_<(Rr)|$R5eINohr`l{cJ7J!ss+cg5g3#DN9Bi^$PEDt={MQvqTejbt zuzWL{uu*JA2dElQdZM8U%56 z*XX)?d_VNK>?2YwB_bQeqQXj(+nGw~EJ!VBJs(Y%QfHRc!lYGCAwK?B5z=Z+?!vX*!J)&(_Q!=ij-&H;qiG?j65+j!cW8<7djS#p8j^io zmOsd5LBUviB%KklImCp6KQ`ME>N3YEbO4-`ZBLNz4 zm7wx>M5b%=UFL~HksEWdua?(|1a4xbB!#FP)m$304XlBYrk10?m8%DL!h-Z{tR=@N&Sas)!JBdzVqvDrk1A`-t+ri-04bv~c=)M0E!$hR0v@m%J z|E#L?Vd;QD-zxhjo&sXtS29e{yKQ3!0Hj`_kCW6wHNZw}9Kfr0zyE&NE1{=8^&zWQ zt67#@$`>?Mhzare&Dmy|At_97*F`gs<-QS5(QDL`C`Y5*n@H39W3Dfq&8a9Z4vF9{ z-gyO6xG`L>(29dlYK^c8=yU{H@K<@fsdrGP>4}J^!oZ}p=jZ5}vCPbr{Z$ za7x1vTG?+jVK4U-@%ev)_W{F;JOAvaASK=|7cl5j7{ z;V@xh_CY6(N)8SGmR+X98S5->H^+nqhsrPb^evSk7G7=v9Z=IXC(08E2StrL5s)*n zO+!~KHlZWeW*xjq=^b-s=saZ@yxBHEyNNkNS`x2@6k6N8bZ-!yo#9N$xk{-*cTy4s z>V(>j@*7wBma70MwOx!CV00Ymz`zx19uAWn#0(do0h#Yxbv_HqNa4!KuK7`3hTnRF zo7cY(17hLyQ*|=FFhPVesRY+~0;=8JDZDi0YLmeICGee2!<}NAO#X7eolI&kjd-XY zdob)wXENAl5_OTV%Iucr)Uec;?K`JLL`;>Uw_0}^oKzI+Wo*2LXkLc@hT;@17K;`W$a zFW8nY`RNATMF&NRy2ly1hla}E_P=@n1cBo}@A7Y+|R|A6ps zcx;Ssf6Zn(TjtfDTg+bfpwdi+@5(mM@D|{h!aAn*`3p%s3uQG{kz4c?gK%?%dY~TY zHJE!)_kh7(8taH;q{|}silOw^Ha4ZOB7#azML0c~<5bX9Ma2TD;_scYQ-=@*Up~Kz z^95f*_{DlI4}AHSN6Nv?ZeE1mFpa+|c?%|TQ@hWx+Z=kJcJmBS)`o^IK-kCP(`NZHi>3_&A{<1)bZ~O+2E0Rd?*^rYNP~7(h*129yzv)E29za>gZ* zXbSwC=qjJATb7V6IZp1=kqn5*wT`R)VyOH&L9{NF4rMG}rYz=Pjq#Pk(kLvxkiUJ` z>!qXZFhZ*-@`VGw3E`3~jpy)tJ~wXjqg@NoXWzE8#bP21r7-qh$u1!fZd<=1l9ysx zwHtva^XJzgWN_^~t0Mr{W+=;yO4eg>{+&`ba)e&P60oTokX`-ASy!kwx2rP!rv9WR^n`W%LA_^fr9Hpssf;aQ`FzJ?A%j{w3~C zSwr-X8v1aa-qC_fj14P4Lnye*O>d-HliXguO|Wlmu?60-b@)rK-eax2ZpLh%Mi96sVsa2XH+1rpTej(* zeWjPR@A}@yamC->O}4#N?z)LknLe%=<%7hc=NOpaE=KFqgXLQ!VS z70qd-J(!*rp>B8u6$gHb#8X2iXGCXIaL5x$k3+WdM!FL|aJ$=hyIm0?Hx$3HJntcR6EQ+b}`uD;Zw zMZhFXBeBgRw4nr`o$>H)-}uV_AZ>dw9Y8P+pWTZzT9JH$Om!m3$pTh7PEqPMSSaYW za5<3^LRhCLY?OMGDAMKofd0@HsTMSxxDbv0jJI3x_zz$a1Vhu@V@f^-)vKQdr=)?- z^N$9PX+El_%bY$(w0e&>B)o{*sQm*>?i)iNe?cf(E0vnUo&UUujH(br;4xLeFgE4dJIEMJRK z_bDmo(8DTd$jXR6cV(~~?8dEq4twp5!uAYOb$OF|l}>Ek&Yu$rM1s@b*z{V_gSLNJ zPVlXa3tF;qb>4ISv`yIUujok>yMhsw&c@ZJt-JD&6-st0z?-uh4Y!R+Oq#s|=|3oU~j*z{`LBnuG{eGH@Q^oYFh7B5=p6u69pnnesK|y<_}v zNW*M}g(YIB3Ds+R%R~;HO*kWyOjDn+$51JX`o$r8lQbYibU3kDyKm&gMP12XN`(F< z1EiH&s=a5ex9fv{hbpU@buPit`$juQYts9NT?6Se>r?xfdC*@xFMsG-W5UzR*!lCD z<(5KATZb zlFS-W{CC_+0}2`PGgkp`iGH%#(V2e$95Mrzp0Hy?2?`D7xe!=G9%}!)k4u5&?qove zxt@=|J=$0&`&-R}^O&dM7FXmQPw2i4S-f%w2B|V2Pxhiru6hRyr96?JTsz6pP)^_#yN7<73b^hS4T4&cG<*A z-E`I7>e{zXc?&6*lwXRvv7p0K5@4QTHcTw?BQys|u~$yGayd1k25RVZ0oX7s*+(7% zN(%gkoGnfI`i%LjEZGQS)V!_%!=`jw%UT4rtC<}OaM*CUq&vdPq$>%46_w{~PT0o} z*<(fv;HX&rk67fzY1q^Tb>29jrIvaLZSe`x+Dop~qR@fMjA_ge9Qmkic7Hv?$gk~H z;p&|4uy16HrnU`5t(3?qaL-?3GPk^;Pg$$=#z`kG+p<5@N3T|a6+~y9S3?V4+N#^ z^xh;+>DJmOCQsPkkAf0#j8HfISY9o8T3vc^1Ew6{T_RN)j|Vk3_WTPuJLG2{2$EM? zvXGM~+V`GS_pl$6Ia$4MurlhPCs|8Jmv{}{CR5akfg?tf**wEhvu}~w!`Lqlh8l+8TZ&_5GXea?5pS5J_b*&(`y4`P^%{TXAfgxe{z{ijWQ=Va%2&k*fw zsGi8$XFxx2-3*|^=7oTil6k9o44xssY&{K&V@(807S|k^OcV}2K`sm z^Q?yI1h9hNOG=A*kvkjZ{OfOolb|wD=75B`zKXnv=X_7Owq9xXqi32g9gYwB=N%PAalBBZA`-bI0bvsPrM zX-#Kgp*dUFsM#aDM$G#tK(>-=(DO6QpnT3BmXo}t!kG`W92wWTXY2c!Ikw0$?LCvhpqp~Fqm#5nx3ArO4rl1Im>UjM&G<3#xJl~jy|)C;p^bS zKY)M1Y*}~b9&hB(6{XK47WwswgRh#-9lrfi5HtIWl z7f18nIwS96aLY!EN!}Znq%xN@&6b6YLdS_Ud#9Zsu766_HMpn%MZs68V^KJsD_6%P zI+hneWNhn`^~>53ono#vm~zTh8zM=QDX2aNEwqqgbN<*~ z<2MSozxHYG$6?R+N#%>Y(e$3DHzr-2&muHmzVNjt9{fV>f<9d17!E5&WS3u4CJT2Le6;lMl+Mw3g_VG1-+Xb0O1rJ1ivxGT*uMFooopx1k?*RV64)zVaHDeYK_hSxI$excQ#ZP zAjK3k!J(O$j2b=`$fEgeT+nTBOhu4k#`l;EEV|53OaULC6(n%t_F`4yj{t)Z7T zd~wyp*e8kF@_rlLyx_*Lcq2chO-tpfIlHV1tmy$Sj0lpk2rk&N%#wqXogSDdrxPA> z3)#NACy22Zs@~)$A)I@d&wKX|K!g@>{3uChH?62x>f2N@=g-ZUv|*U$&m$+dJ@Aq^s&QUv z2h>Z8oD0({zhujkO}WOE7d6I)yOwf)?63~fCSmnA0RE~JxRSCG#j{G;o{o8sb%dyE zW=yYH6Kpj{Cz6=JFTuOZ_ePQr=6XhrvbCVDXOvPG*e-7`zC(+2=1>2HPignSb&B$5 z;5oeWiA5zS=hYK+*Y=~EnYfl#e(Vx6(PteA7U`;nF6H1~*DOsx>AjxNqOL(%0E3dD zBf&4vp??y)OJ?h1^?rm>bS4Og%YU|CCMmto3-w&Fo(%FFO zsO-t2@mT|L0c$h3y2@EfGv9|(0_iOTyJhVVViQme9g#fX>X1cLMYY6x-wAB9QZ>hGGpF21b9Ng@ogL-*N?>$KXrtJMer-3b zo%1ei(ix@49|EwNX<(i6c79~?YF`-k_pmoHD2S^W6;rCNo8f zlbm6I_~A~KGp+@}0H3FD)qJj7zM)>ZNABzlcIE5Tk*lrfrZB@&V`PyDn$vJLodU^1expk!s@!T+cl#j#6Lq!i< zO-&;e{k=tq*MOST*?6EkcE)a8kWURiiR3m37&DQ>`^os5F z!!Jv%;imrQr!5ksXSVR&=M=2+=uofd?P26{!4cunMmds08ZrYMm$HKLZAb44_&E4? zLKxtZbm?SlD~%uK14G=5mbU#45jQ$u8wG)TxH>~N8Aws`8xwn`tsOA}0A(vRf)KtA z(;M7BSbRlKK_ZCj%@e1@bKOs@klIji&BuqG>f+DS>iuJ8E=fA6u^Dmu!E1|S12gSW3}TpFD5d%b za0^pWkqvsY5$U-yKM8-*Kr);PMn9qvDfCW8ri!p(d0XHXYoj53H4N+D_enag%&OOB z3g$-Tmp-Gs#UAJLaIpOdr>|rp4TrVeP3Z0Roe4MmlI{&#bEI$CXH5$x?pX8gIliLl zmlS3NLN!IPD?N#RcDGBot#kWl9DQ}JEM={z9b@k~!G2`>b&oo%J#N(FF9VEDD~L1c zLCthRb|?^=KP)0rClGe4rh8FY!ZEC%NUm;yL?*bMwgwbsu4r+sqtb~iU$f7Nv_~$z z$cKFpX$WV(MNt`;%FEIYW73EcB-M~71J?Vg;TC=*Pf)GHs5xcBxpjXmPw+`sS6^s!)QGrqd~<&kf~oKMwo(hx!OkL z{;;_ytFO6yD>WvTg!YS9p9X1X7Bcdixl-?;r|hsCJV7s!l`HpzPUO6?Jyi`J6|E$= z{{b3#^S`}z*9491kj7*%;@c`xzoc=XlHhkBO*{l|Zo5RQqfipQ?y1Rf$Ds=AEq%qJ zlXbb1DmFkfC}krsuY*uxA1$|s z=i;lAYGHDrSl_lta@&Aa^N`wb9xA>kG<~Jqz-1~-rsK=r6Ut~3ppSNn3X+IX*V=mO zXJLTA(ko#mvAYo}uXG&~a`7-mTYhC|vOuL)&Osw$hh|up%mGPdnHY%-dkQ~0Ww>t) zA6YLGJs1%VEZS@rB^1R(a_VNG2Nc9}`b@-t&Gsq!r7jU|jJZeF-Z52yN9LbQ$C z_P!A1_e^L*3$ov?G{4y1jmKbxDK4BrCT2ZQV2U6!^ILM1<~#D#Jbbe>0e8+G_HTB2 z+o$W}c!m3!6dl1rthWT&YaeRc(p_-evci(FK9NlKlYCrxqL-6Z(Z(y^rW#Dh8pa+$ z5b=EZz!<CoS=MUbd;yWtB=Xo8hRy`yTawOeFKh3 z6I;y*$B8?>sBv$AMF>n&NU zC$jiVOxYK(_ag&M+slzZxPnrSG&ua5)TZjKOqVqe$IwGUd?4K_e#1clCyUn){O+~Q z%+_nTk#tK4w%zo>>sThdmRVGptbIUnKO&Uo7RJ2`WGu-Tvwu{V8Rz2AXO;0?kU<2JPK_rfF zJnt#$C*n&c%AOF7or+m_)&^e$lyn3maR811aklzNh;~rH`22TQRm>Wub2_(~eYlsJ z7~_ke)C{0`;ajv=adpyG>I@g65jS@>)$mkuodW$hw?wuedKZQL`hR3b5#)J6>N}>B zZkx2nOrjP?Lf<`jUh%C8{SBeykum`WE*KMmF~p7hyC@$WFWazwl2Zl&3HOIIoUm!@ zI4g<*2p5jFc69bdpCGLS=S-`CX$l>{vvEU5@HukfepYUn%47^#@9!C=TYDV!d)i3Y zD0O`8R6VW?i(i{WQxjT6QsEB!@;=jfQ2(#&DRsr!1&Tz>0dLm zHb86(~gAu;Zm2hM-1hbm~~P(u;#0mRJhEoQ2Uke^8hQq`>Wd+!l1~{zue-c_rm3G_+?3r87(`d^y(>ZOrzO!}$jWjIf2#;%3U&Zr`&O z2Jv=~a0jG$QLkC+sx1X-OH2;=tj5709&$HUcs!c%cu66|$=!K)E<^iZkF~;{h+ZVs zGs76MieJ7G0QT&F| z{(Jri*XYz2_72Ywsx(#^Fy9OPGxfG)L<$3o(P4XLx4f=3M11DdRa;s5%q!{e%Vvaf zC*_`J_8-7Jlj~kFEJIM-1zI6jXzqKn;H~f!JoaF~O$bmDp+ z6Q6{}DPL6v)ezvL@P562Pl{B3rcs5rg-D4JM_f7 zD7mKN2M%i9Qr6(Q6Q;{ZjDPN-gEd#gP*g_*JrcxVs+bkr#jWQJGTSw?x^ELJ_3OyZ zL8Y`a8QenGNFD6rv^Ox`8(a(x6`|%$zy7Xr>?E)90h!{PY2{~%mj9@+D{i@bv#C6x zAzQ#ELJ=1_a5sjwNt6jt4+pg;cub3p1kJK^3X5^ANTP#Fr#$3w;V_1g1g+k>fCF5+ zUjhaq$VDfL8{w1&&7FxAX7Vep1x^XoBo41BIlJ4h5DP`?pzfI|+Y-slN>_5UwJa~T z$iyK@S;?lmuB+rdK|v*9G_W`JOtMp4SGl(z2Wd2IMD5fv?Ogt37)D;4Xp(P&GI532 zAVNL*-2?b6*fu0RSAo6M6&33!h9x&%A;v*Z$7hntdN;RkKPUhPHT{dQKOYx1eDgNJn|BVLaMXMT#nd-IAll8@*mq zdqQg}iwZ!sfhk;`%fmK6H4lyVx)jE&$6o60jURJ zDg(7<=grTB9OlJ325tO`v{2ipqHPY{V4cWdk+;+y5XTDr9_?zt>Qj`+vo_`x?rRTF zW6yQYkY*<%sIA%U8G0HGG}(~2M<6(znPKhJX1PEmL_|bebA{QEJwPJOk|K#r)O|XU zjW|vTPeEBNg4= z=ZPNV8Xy8j#}CXA$d}(P5f+{|&uFyHA5bcS!nu3t=-C@?QgFpeALG7_&0&)siGf$~ zn}7w1XL`t>42T-X=g_}9XBR{-(?A!g?2!+0pj4!qO7kIH@ry~P~XtJl8=(q3hmO|E1j z62dZ=W1dvIh27sRgZL0^Bi^?3qX<{g>3v#E2fQUyPCLVaUhMo+ca_ed_iYm5V}ct) z8~uXj+wVl2s$m^DR}rt0krL0RNb^pEFFlgTUjG1t7M)>lp9r_yZ}` zr0Y%cD}Ge{cJ#Axb4nc@zdiT8{gJujklhGXA@~FCy5N zbxhy7bpaCf09`FjH-w~{eW9bNr`&!F(fn{^=d3JA!{w3Dh72E%!dHH{nWGCw$AOmTgkW5Jg8~uOR%y zFPfRJ1CrjOy{?ZP%~uVsoecs{IaEq77d;h;kfs-@kCfY7%$L-eM#~;+j>eT)xEgfl zYB)BSZG2K=5l{gQw^fHI#|~5!-wF!haxT*&XfIU`d&3xeqe12vdl`LEj5p7xw#?{G zx&?Dj1)s6C$4rZX)b9#|MADgO<5;2IAsZHd5re}MNj#-kr=$+3VsI*S93SAdw4BlP zOa1}S9Uyk0WWzLQ6RcQtT+RKmrf7b$0fQc{24PKA{3Nl^Ly{CN)*uGurlRUY4&qq! zSMTYzV1}3<4B#S51IduJE za6kTzv6NCg7f5OO`PMeG7N$Fh>qO@ZvOtx1&S7a~O~p9l{C!!?zaFAphPH*Y*4v@O zy26-v!}N(z2k*e?#gT%sTaO+mSdFY{<^l9t*YfrdIDw*DHJx#0(;eTXZb{gcd+?g% zM*ZN>Rv7ixkeOAJ zmA#1`X?M9~E9ei7$A8F8^en+4QDXS!i};t6AyIi$x&L++Q8Qr()( zBEMpxo%yqxpTx&xd*-(TbR=KLK4DLAPtdr%xe(aq3M5~659f#8kI+N$I+-KL(k7_EbVsrCB=eN z5p7k}KvaE-7j{r5CUtiA#%=%7XC{?|t<`u!e~;F@Au$_K=-fqorVJLX=!%CvT8B}l zI|ryKO&}{B(rvx76A*w|wOmbc+14WL_4_eTC-OhF^4(&RACq z&E|XCgF$T`Y?Ik6M)gy=A$_fYPwG=0sUCX^UugXe)s|%xZXk{+Sa>Vt;LwQ@G%;gF z?G%t)Px99u`U~_M`v>sL8LwOFC-3|D#}kBCqbY3osB%JUN^^eqvD^=Gu#aHaK_k9O zV$Q@Fi9G^5LXOzl82`x+ggY^iIT;9l+3ZHvt8w*1BoqwYKktvug^TdU*VLpKob->O z@0Ej4k4I_QYl(juQGm=NT#DpI^1Xo2t8DU5RXcjSgw6=LFb-H3qnMK#ou~NiA0SsHQSv`zAVad!-jo#V^G8&Mt8jd?umXivtrCZx zfKpSz&TWq_*+g$!jFk}bHvX9qcbT=4ta z5Lep2ai`*A32n&{ylojmz z@>h5jSH{OHJ|7dlO4g>9vLd9v42|&Dn_lDQPUAfV53qrn1}x+bak?nsNK#q5&J)Mw zo*m#6Iw_vol)pSQ(cBqHSf@E|(8A~CutdAq+js_aBM(2unfyM}IAQW|i$t1tL0T&H z3xRyzra&+qHF4@SBupERtI0!!@+?6#K#x2Wl8RG)!AM<}RduE+>L|Q_1VL6#s53#= zJ*59lzjP9C)F}5Du%QoIxz`HlD-l-w!T_6h3}K@w?u@nCRK2_I~ zgL37I>2bqCP4JLnClsyp-qBMrmR|oEH|JqFu5hAp69gZKj_ zDP?XZL>P|SLrpVgQ;mnN?;l``I4@O0oq!m9FK<)rsum1QL+N;sXn6)YT&{jGgrO?^c z)WC>*x4L4XtnAX(nDy*BK)0LMZ3{y8BMPR<1yVbdrCsyuvVUs z@Ub*kRmP*D^WBP1TijL1-8iwXN1QvOfEf*eA?npf0}{Ks{rVFl9JwUut>Uk)@gbq= z7-NX3i5t>l=9wji&^50kgGqNY2>m&v$cL9|*@AJVo8ZZYYZKUCdnQHfs0`0ZbU{0| zf`x;wd4Nv$2mCYjvcZmk3K6O00hjO-HsfIZ!Qwroqev5hB#?Tc!9dH@O{Rq09_hQ6-%?EbiV-NGrSKnQBpsVv0lJP9dVmBg#mZESV=3p{Q zckN$((I)FFxJW&1B=a$>5AEvfvc)wyevTNm@aliZK(oz(sTkr8!cC==%f_rhJd0yP zJcbSAq>s=B-T4&wK--TpuBVK7~(A>w$(yjM_#O}wzOAb8qt z&_V;s3cLo)@oNN8I#d$Lw!VQ@+^cG1FR@M?CriYd-ks6;A3%>M4!xtINHg)(ZMv_8 zRzOwvjaz>Dg71+@LpSF{r`TQ3$wl8>T%x~)MVlW4)r#YWNqrI*{Xchj1Dk5*&u}BZ zuB;u@YUk_Z48d&IvHdOV^o@-rB=khq*w}1WgZ%(Leg}yaJr!(SB$O0{%|4*yrBkyd z#J8e(>P`o*h*$@j3<`_PA$^D?7`uEMrVXa5;*b>S1tE7OjU`>eyPj2=k@@AQskE3F z>_;DM@6hm-TLGFEifFbV@-d!P6%rL<8B{t?sp$g_$9viRJ+V!YQ8}WV?Gz9|9J$nC zcshxutJ41~pfDTh=$oM`)4U1vW}1iPwEY2MW6H;jN>;}qHaszbFQXte&)qloUvS6% z|8;xPF!loa#>$)vi!Vd6;(zz+Hih`^;&(yomPm@;`Ae z%HHT44cTjN_rb&7GG0%{;T)`B~84XW%qLc)2X6YG|QgKkytDP@f$ zXY_Bt+g_>68rFs6waQ^#8po!>op37gohTdMM+Ru^-uJ`)i z#FkY>DJR#{$*E{H?~!CKxYihSKSTyDdsL7DUuxLzWgI}(1`_FYIlU|P;vkc&uB>gW+kMltS}nXv$XEIQVIE@_6Dk{H|H+1; z42!bo2t%k6!%-sa@xP1NC>{V`AzHsiSu4+PdSQm{`rVSN}tTVjg_mf(#VBmxp2oXz$$7; zkBs(G@`N4*z(0vpJ++v%8|K#}{|mdq+Y?@R#JATZcSL2-0dHB^3dx*@w}R!R8Mkgx zK1ens4d%(IyHscZI3e$$(YD?@J+*v>KR|2`Ln7-nbX)r&dX1!)KL(P^X~D!`5dsEd zZ^q`YfeY#3AV)bkC~2g~zP)nUbDBgx&1r>%<5t7;9&v*wL6!n!;|>8Ud!jMk&f;5j z@bMV;5LtmUk_=^{;bIZuPpOd`^DNr9YU1iZhC}XKY$=%3Pd5brck+bER@j{??Fcq5 zsIWnLZw=dZ{x?Xo5>X9MV>PM;y@yZ!6V~7?_K1d;N@>c&r-+^i{lwez%nmlou{;3o z7SKXy&)!|MK%#vF6pQlMyL8BkvC4OV+Ah9VwNcDI*!g4scw6UFB8lS|DepyX|1Ouh zbHebSYmT}kC*zf=SAyLAQV;ffDt(xDH|L zz_Ga&Xicnu9Gnf(nZvBwnOk~eh7l*rI0RV_pe^olsUc|xlWIdnD^4(A9oq- z6i(F5N(O$;`m?tNzYd$&f~nWBxe}s35H4XiD0wKb2kDwL=q?Sv?5y*&Lo?lq7ODe? zP;`F&`8zdWukv(wY$%E`WRtLP$Lxx8U3B}sLqOpp_QoS13* z&;2%*q}DSsKVuS!dH;JKdNSHzTD2J`yxFjFcO_Y|JHA`Y%p~cZeU&?dUaJwuHRb$6 z+FhT|<7|&=QLtsg-3QYgq~LS|a8v>K5C#)h{6CpShn2*DCj}di*>UJzHopp|mX)O9D?=f*!o?SBdfi@%I)H1(jZFAIn60n40?uR#uTo^h z@NXj_@K*_&u|MH<%a=uD%?a~)?tbEU)2}a|L^VWBvnl_PLj0k$#zd|P_2^NifW)(< z3vQKA&k#=`mSn5*jP0>N5~Yr^DRti?n2RwA*=eR|+^+~a$!KbeX1-t8=D0uIA| z-006RD6v#Z@+Jf{qNCW$03s}DI(gZ;uBhzq z*mguC5UI0G72GSG<}xE&qZ!Kx6rA!nMg|E>!pg0O5P^^0n$M^!_gssX`y?usM*-X? z(jgKDe0x-gQTDQ%(AzLQd}q(8 z!A}K*{-XCi8L+PpLx2E5D_a-$iqOhcShbM%?=+^zv-6iYSG0#H?NKe(tHMxcYoTFC z?^+w9Z~tC^#@6F-4;!%+qz_26CqY?3>TvF5Im$8{tFHp6Km)^nH-##3Oi@rDhPyHp zZ9bKli5svzSfWvV=%mE);fGoF$G3WjK?r z>^UPT*0m-~X;Tl3y?K^KgX(6K^})6*svMvg0+73JirW*Wy%8x93VdY>I16EX`wpxw zR3@j|8%qIrk`MPuhWcG*LDmKMn`A%Pl@7=>3eiVacZ5kn-V|rD-|@GlSp{>KsPp^{&nt_rx1@JE{=OMULqDoc#SOJLNsB14oM`W9AfhL7YFQ zwUOxh4rQQiU9>214t}v=#CovWz)73|PG@xZOfX(FllEm8Z*1==&Gx6Tq`629g`yp2 zziPAbG7NQ+jCIT&TXk6hk)N6cqlTX2iOqj>eX19pE25K)UD<7jxR=PFU)NHc>$Zj> zAlt1?(&Sm~Jfg`FRO{T@#a&gVJ${9G+{nDh3fE~RjIRPFI|W#c+x`K;aoIt z*Y|L^pF#PR76-}hKB*8(2XiTiJ{C4VkEjaB5$sf1_n*`16fE?~ zurqi{EkiQ)CL$#|E_tIkP+ftaoNn24|6RSm@Vz?Q*I*S9?h&lB%M=k&I*xjpAE;W!F4&1X7qn(~cMM7UJ(OoQc0 zdHLbwDz>zAwJ1y)1Ik=@jatUZTkaIg(rD$)`wH~3&=U&Z@UpGQ;!4irE8l(=?Qa=} zI!uWdlzXX9I*$C+cFVV81T&D$Eef1@%NHxR$EM&hRT+XW#E9ud?bXoS9+i%!rp3JT ztSV6>UV+{GL`5PBG-Z+ddJMfQH897tQLJXf ziXKVyK|NE0G>0yY$>?G_Myeem7$|t3eaT65ka`p45&>K4P>hHK^1odSlKvt1zf=<{ zP4b7B7Y(TwNjaA_$HtaU+2e-c*{w7=Z~@D6oKOG;E!Kkr&es{E#T~ZToqd^86@)79 zWT=N-{7lWYw&LA3RGMIP&AuWcEnjV)cxC)-I>}*$mCC82YsX3aJ5aSyZX`8qhlhNgx0r-+4ki$x9hGTEAsDL$!Y$`CuRvB6jftR|PDBrn z8)wv?-BJ>?l-;es)ALMLtK||J>eirb$JX~%5|IMEq(!w`gLfT&CSpRdyuMQAL^=Tq z@PzC&4ml$jYT%9e*rHQQwXaD&-^Dg>u~=e&fC~QMSb4z%aXeIEH)tX@$A>vQb_$ge z4*-dNr@H@JRefAqFx7A^^pdj*}%iMqjgHe?kg0R%K85q6^%zUW{ToKPDSo0BbKai(d z-Vu8`BB5j=%LJ-U9B}?M4*`YWp=zy8A-7D>E)Sq`; zhSd^dH#fm!(t@(zN_wBwT@q1^)0=8 zX2mHoG-FG>xw`Mz1L{A&bHHP)+}!k+>Mwy1*HO<(-7ZN8vTd?QJuz^1>is3b=HPt> zbFRlyPb3x=d@jsU9cj)nKxzm#=Fl0m|nXk&>bYSZeWuwFkf zE+$5|&HQsZ2x}bbR8xh*aolC~5x3&hya8eDUF-g_ekUio?^9foZUOdZrcd$cwas+< z6MF|CA*#4^77c~^$AYa_d#`fa2uk)sd+(j2bf1`B>ixn=mZ$VXEam=^c+1-5fKQ|T zejwZ=GAobV{oYC^LN(WZ?^NLs+Oq|B#WL!)mhxZ;WeFp{sGIK1;W`5&MZSuz&{q2> zv-(s3P6XzI$J}~D@4O=h+|wMew(xZW|D1*-&JEod$ijcmZmYKDa##x|QAo4qnxv)R z8<9DX{xm-QTJnYJ%fTPF?^46$FO$EKB-&k1^6TM1A!}fAmUFnOuMWRWKa?P@IA7QE z%CURS6{D9eBEo}sBB6NQ&Z`tC=1Cuq0h*hk$5(Ns4ds6bfKsbV<=ewL8_Na3dP!FA zwlOmt=%2WI1v8U2ohF|9u6P+FkXcGgicL*RO(kB$#f)FxrBlVRi#fnXObMo?8E~X# z7>@FXY$f@2MyVAg28p?3&HiUg3Zbftq4qzK%Xd*8p-dwZRkmC2knlQlVK_CDX) z=lgKmfWMbL?KpGqeMJXUjaV$A4RKQiEi?hl(zwnEFF%cR=EYB64>JUl@CH?DvzKAL zZ`I>Y3JXX-L>K>d-bIH?C3v1Tm;a$zZc_sJX{8BqbJ`wSC<^a;LFM2I$u~g1nV)jc zhMAY4tibH^*c6=a=GTeklO2tCaV-vR`Wr2tB2lpu5i381KlW^^Tb9S@DR;5Zv>LxG z;#%f)u{nk;mb?fiO$j|P*L;3r@j-ItrIsf=E@OnomRqijKtZ3I*GEC$7dQDf3izF> zY#}UzEqN~-iIb&;7toA*ZDk}>2r4&vIk;q;WDfKTVi|YcXy6odd$%Yuv|olxI%=IO zt0^rxCKMU{Zhj%@I1WEAn(8{xJL}7sh?}(`v~@y`?M1g>g4l3Ttx*!`pUEl~KkAmt z$+y5BzZU>G#f@WEOMxa1<_yEFkzjx!onNbIO@F@)-w&IW+i#yiq?PLnni4r)(NF4o z>btkVy5TR>isW?_jY_MSj)Grs{ahe(eOg@@$LJYV0t?VUsVbD|IX~eEKCNpGRJnw0MngX3#oHj@&mFI*pXm z3e%Wc;^=UU$G(_l6J@~8-_C;F8H?_OxxagL|BWr2vpRgBEf5saPh{3#aU99ZU}m*u zsH653V)oa%a-^%rxsY6e(f0){s_yP%WPOS7TY}4u7yQ$_$w#jq00uu5eV_ehYz6r;NKSzQ)mmHpk){uw6^7Y1vq0ZxM4>%CErxq4Y7nn#u?m@ z`d07RPzH0~^r{!$5flt-H|l9?+j@yjn+Jauc4;KheK$xqK&qs@)F2YO6i;;Xg2X&J zST#HftSriBGTw^+05^m{GwD#TWi59o&i$aMEH4)+nHAmM2loFBn z69wL@%mu2Hjl>r6;b(5lkS7KNsoj8Wrv8s8lZa1)4#xvPK!14xiO6IAJ-V5-5fi$@ zO)8)OFxNj8jXO{7NepS5twZ2xQ7yZ+*S1=KGS*e>o0hPjXya)UTKTDIOp2SaB7^Ld zSdGDlI1eBEXa7n=Kfr$T5I}`T%}RqW{DOe?KY2mi2M=&@q=bjgwe#~=SKV5_ug+mD z=^;ya{W2H5kI$d;Kj*9e;E11NZ9|xzlz`}^Bz7>TDJ8`v+aue$KH;{HwSM0XVM?jj zLqzi2YRdcj$NR0TZfzAFFeRjM`2fbzAv8Aa_Dmz(Yn)W{Qdj??$$lmxb@BiO|wvI*JbsW@JD4h>|iq-5}3NlBH%zf}^G6 z4@fEdEg2qdI669pJTue`gzfM5wVhL7$2|%JBhgqJ?MF`pnKMhCZ@=o5l$PecBN&N% z`cP@d(e2hQdPOQwq;Q*lTG$^6iktrj=cB@zsJN(He%>bw<|+l}z;^mOUzDZMdw!cr zk@;RBqehI&XysyXDvddWhjrD$hXFTGO|VyUau~vC#l*lgTetOER?ra_bl?; z1_KwQek0(Ok6;r}o%K!_BX>0TSCF>$v*g7?$(nb@%NmNsxi|BElfeUb{9%yqZp}DF=I0qP=}qJy@R4j7gvkKzJ<>Ns;1vN+w-?YhnT#Ug9>9~_x5c5#N!L&<60 zIZJP_s#!h3j22UU`N4+)_vZ~tL?$0bol|%?;Y3X7pE|mpyLdZPhinVV1N-JsyNu^o z^wNKJ?ql!k!%na%sWZuUWWjU0SJ$U04ws=d0j#Z0l5<478Pj8<4Fk z;bC|kzlG%x62F1;QG;U#(rZx?Q*%c#m;42Dd&+)uKZmoSe^Dpv6WuCfQ*UlluP0UK zttmz`{>n3CgZAH+VM6qtd0hvM@l&NX0bZ>;07ZhQO=_XX}7lANv41pTiUIe$YIF<}Z{T)xc8 zRA0|yFbmX}O`$$;eJ58Ezj*W~AwsBY)$%*`kv{tyt$i0G)VF>k z(-|lPr)E%BFr5M9XXQ_i|M-ABz*&g|v~Q=Xw@do4&ZH+^9`Ac$8=|Kpc%4Ou{;KuY zXri;Jx4BXg-ca;+iQS6Cz1!^(Imr>&ZaLeNxbxcQfg4{h^xd4s>%$!ki9bdWNNr*p z05R;dQB_65jIhN>E6I9^8{vMS{o~X6PFrIfuT%o$6Mpk-!PrXU$`M$2e}xPVAJ_!n zGr^|&*Jo%1L;?SGZ}4)n%7umTm-;9aDk}W-Ef8Pd7pF-fy|6(h&V<(USB*t;;Ck0i z-D#NP1XL}!?Ms^A`d0y>IlRYEAHwE9R+DfgsO_frs8|^+L5XmfpB&zrP?;enAz7CItcsqDJ9^1&*W9xmC9Tuo(ve+udhouFQq^_HOA#R}Y5MYL+tZ z31sUw#t^%L`Wmd_ax`oJgoaSGjY$UqJI2=KNI}@n^7m&fP7HSq#)A0RVn1d*cclyh zfm;QHVt^2iVqJ3X&E_{xEg(4jv0GTkJG^zx;(y)1an0Z`-mw3z-yCOZzpm(m~;`=S;=%A(%v*1m?V^IyU2MwfC@ zX$S`V%*V34A!1EZWP+#uckW-GU|D{b6Jf(9RNr;l9QqgA3J-e+#9`;C*nzD7Y9)zd zYhixupc#fty@I5~=^jh$pReM-U!f%Yh+E!Xzna*-3Tt0=YyXB}$Ogpj4iVx~61_%@ zd)JrXsj|OLGx(}A;nsFG;5J(93RG4ji-PZ&<|qDpqql2UKq%u)7}l|g z{_EIq@UTYkuY>!~v*A)c1hDB*ffcM-f%>UBx_#BP3Qci4-FK$9fahCDQK zL>HVjH7MCtClOfj!~(GH(M-G;wm8F`A-U|PrTmOh@<($gP0!6FaGXH4W zO#H^4biLmZ+2S3?ob4P7rr_IKnhk8GeaSHiS>OqIZ4E6^mQpwRu&pJYVB8_D#j*Ah z{CWQwRl|EN4^@t1MXI+=&0FkW9#MvUO^Gj05>#AMx1gOVP}Zt&4Y+(#^~Q#F@?EnX zoTllBEg>NQE4!wTE>dVXrrK`f$W#oiw>$e*<_ot$ais&b)7;SFD?L((537NffVOe2 zTJ;F&_$pkgY<<+GPMuj4k9ebHYxR6T6x#c9sJy-UWxL~*48P}#ObA5Evj2@rITk4s%s zvDXQa)R?0-+>i}M{E>S~S-Sr4bWDpYuMPvPtbnfnNusNsQj*2r4BwwdJN*Ar29 z%oxWJD@so89|yxo^l(Dp8gx&k>&>9XFM|m8?rwPHeq7FSvA=dByMpW zb|LT0?SI+e3zs?-sKE5U)#DBlI1b@vXN`HV^_d~enM-{css+h8Kv1Gn1%D1TPT4hY zta7>(^YDd$crxpcED5)KdK1b6#zi9$H}>xFHa2v_PN|)&9ZX|b%A7rgy>lD=lKfIc zmu5NKwZ*I8t_f1t=*Y}TEad1aJ848B$LkG#!~L_4iW?5s_N`A)6GOSj z{;J+FaDmkzm)ulGen^h{ifLr`Knj*-ITb(7f01C5xS&RUs-oc}xXH-q%+3|!G&_)D zu8XlXsiWGQ$+pr`?MmdVuPvaM9OpA~=q!00NB%63j1y&LK!oa*l4G_W=r|lyBBylL z=;hg8==j(dZ|b3)|KnNIuU<}$`jHNdv86M-a=NvVhjL@baL%K!ib(za0!UuGB#_e_ zp86qcuzh=$*`bDnYjIbA)O>okJyN}%Zh@$bA?d)KDFdmxxDSw= z`K`F|YMBHlwp#7loyrzV<1Eih$-LbkdY4Q^-yHHS6CW7{Xj#zKk6F6&i8mNqo6l%mt?gz-z}opsR! zN{7T)7Bq^X5%F$+F|3`bq1ZvVvGv6kR?IfVoaeLEg#)`4N2hTD%BlWQiJRj%Qv2Br zy0jsFDK6<#0a|$o8a|?7epfrF_sY!3Rnb7Zw8lqaI+NcV9mVkDVo{arB)_g#mBw&Z zt0hy_Iv}HMcYe?y3aUIOoD;FV?>bncqfczfYjvSYZD|QzOJavq36>h#wfK%%cL;(= z<)7`Ol1m7Jm~xuQ_vIXDUJ8O3_Y~R$pMZF|=X2iwd|KR0AmLRpJJWvf%<#BXWp>{r zxY7U`RlS}SgYSfy8M?4IEF$sw2dC(lb580GMrgU=2{|1Mp z$KNLWgX0_4d@0>{$=L{kAL-2M%tB}3fs{guocE$Sw~oXA;4pBSqkuPRYw5R@853*R z(ziD)VjZ(2=#TaGNT=SMqtV)K1AA zz4YjfuwU}Iwa=#T>P{BpEcg%GesbfFYuh7@zVslVdv|3XMpf(rEX#4n@rQe#vr$O> z56Fu{J>zsO6{rk%hk7Z)nK3~kK~&#JZewHWQok#Eq_GVD0!y|B(r03@zXxGLXQHG) zNu?ZEE_lCn!kJgxcFB%dv%Cf(dkEusk&Xq@z&2Xa0GCZ$Y-iVV1r;<>F%}CX4bfk+ zsGF5`Q0-Ob9LN)NI6Cs0%xfj}?$iN&bk1g1#@k1=A@G(K8oxd|>crH50P_<;0yu1+ zb}XmpEmdhMCsm;H$fxOTQCb9;>cEUsl+$#;UKMM7+RZBCC=ZcKadLWD#` z6yI1UCcAc#`JYb_&$P0u(y*@jLngeGHtkucjH?) z^()&Y%_F&c8n(vXtTF^3ve`^JfDH(Y0g)LHzGdFetGAstE*P<2)e}l;Y0rtHEE82_@|QV;=pt;3l4C=O zr&P$gJTMnRw2P>bZN&lGM-Ulj2gOk1QVmj7NxY{l5d6m=KhQWyrt#qTHXGX<7zS90#Y~zL< zSW>9ME<|9fpLDXX-<#mnwZ)GIQ;#+R1iJE;MZbb=)Oua6*I8s2sb&XCX*Ki3Mk_4C zpLUCBinH&DC1GC=V9pmksKx+ay0N3kVIZD*DkT+%_L#|-B99hvWG5wiBk6Oa{ZH9i zVK`ge)yrJRZEt+#4Oo7{lKs-wf|6k;veQRFN!NMH6*67eBd1K*i64-kZYU`^^YF?z zZdv@e;*Mf=Jkaz`Ac*v6deY+AL5TL`(exmoNs*GVI&?DW3uiO+U2Sq%{H(9-^50|! zt@_@bY%KDecU3~H^)*+&SK^gqeW{h6N3Kl=bGOtLpebc(rfJ7YZy{m0C*GCE@QJ)YVGHP{4=E~R@bt#I3ClqemfzOj=Vj#mm|j(JJR z5wmF30elGu!F|Ef^f|>r!+F2&;fta+?mY?Wb6c-Qv4rQTbl)lv)bnPq47qbc2(Z$^ zERbswkbp6|azWje=Sa1KvR65OsIzSS_dht;Fc$d#<1_y^iv551j4(d!i~oXFEPR8D z15juzI&bOKzjtzTa&wGTola<-nTdEEhL6NxM+?1l3z_49SRd<*+4p40;bmnlEtwZk z=zcII#XxlBo&p{NE*V)}9cK$-MI#sl0x?%A1DR9QF0EWNI7<<;E3;@R-B@KH06TU6 zps}dvlW1#8F?5rYDjuq)p8OsdM{gZRMn*=F+IUt-$%B}MLU=;WcR`edG0IBh?;ain zCx(~d{Dr!x(ra=k_hkW&aa!KeV81tr-gjb-MBe~4s#G>}a} z4=67eU#^U5KuI|aXO~dqGN$_pvxW0}bp5u1IvoGtH2i~O%YCyf(-`LF&D1hpz=o^; zUH&iq?NDfqDGK%X$nJS!O#*?d$D%K5&f9fG2JeXkx~04ngf2Cn@o3oZCV$H+125Rt zb59J9iVplf`7ZcL9nljh8hY%@(Tl0~i&ID6>og1EAtTx-XJs6t>L`4FF~#@9n3BxV zw1M$$vS(qgwB;146p!Vjt_aKn9%Enu>5Y9&%hT?|JGOQF&qvMYjXxRU5`Nq_eZyf0 zSxl3C^AtDYsmyFH>_9SF+P0PYoxk5dIMTm&e+m09$vlXU&?R%z)8->{1|>6tG~Xg$ zfGJUq?`l~MAL2alw$@b?Da^94M}i(OSPolrZT&bV6{}(j|4b{2)C#~sc5Sm)zLCh|8`v zM9W3%cz*V_?U(VGxDJyX*pnm+P=<|Hl~ueXjo_J<3C|69C^`8oC?x;O>oF0(b%OF- z*udz)1=FkMR{QL;0 zZ=4B5QQ@B2U8?kd@GOCWd+W`CJI`GZS$EsuNkMlm(x;EhT^%mQU3*WRCXOFJE;~|Y zr4x8P(uqf|UgyFnJVf2-PUY(5hi+_Bo$Bp+BKu)nVcWku{8w;*umxei=S>ecWdr|i zR>D&JfUX8X>6&Glx5K%+S8h)STFMHTU%-eOh;Y0$Z>x|wgXQ{;y84Y;`WDrHvlit0 zfJ28vrF|S^=aQ{!OJ5heRnBNL8jlWRx$>t$MLbT7e~dw@!vPBQ5MuL;q7g^uaPhsR zS8e+dGvdfvkK^Y==`%C{C^eq|m|V*vc7xv2y6n-=-yXswWYEf$>U?L4elH1&-4 z88}+`q)Ny-%G4STrYxWYVdW9;3guR@0LHKGz^`6-r*&R@{N^9q_0FgK9|;OvS)J=~ zAk3{MMt}X98F(sIDci5hY)ZIAhb+)u_?i1%P}3=x2m20wr@@2J3-pR+@pWh%ndSOeT9hzTVuJ){Dw| zhday~Ua0U6N@;^_q`h4ZPXaj*P$$mYclFw+V?EEuFD@;V6yD5yV(HUES(^%4Vl{w;BhVs> zc+^1Q7rHi$&tAVT-ef;hvh|8c8z`CG`k#BlVlwyG=X>1uQ(XSD2{y-?14J4&eR}=U zL1@(K8o!uJzDp4hcmGnNJfXqD$j8jYL^sCvK)`RN7I3kWUCffA z4Ra7bSblV*(~T`0H26hCpc|&-n#u>?;?gc1uZy4+)o?Tiw6Hna+Wi5}w@e1yVU+yY z@KgR zh`tP3r5$NmxUXf2SE6ZTr4P6=0^|(57DZ_2IreK7o+BaRIwG(LSo1=Faa1)zdrI{f z*?yzsSGG|vmooR&{khcqjZv9cUHKy1u^O4jGKhwBo@O~!?p|Q(Q6@0wRd+A9U)+z4 z#0wtoXMC#tSx2kMtNq>=#s?8>bdy1!$4Z%l-i~L8S4o=l|8e6^mH3o{`mn;emTu{fepGiGuveDRs%$T1 z8`hM_W#VnEWJ7-pCzOSxK}E;Rs|T@?Odvlqx6W(2uG%(#m5kFTY{xmkcu|myrsRhr zL}jk|z!6h-CHg)`%eG}9aNdYdYE63N6aS*ktaXKw|{%yn=-r!NZl z#dD-TYNXP-LVRWHZAm8#vE=!C9N2`=^$;=)1n5klIq=K}ap$@Ylhw*!iVa zl%v>T>My_N3yEIzZEY*qP$Uk!fxi=<_!|7EYU}= zd@+`Aq0U`#noYv+ffv|n&Wen)wsiYT#4}$FJ8+yx5^Wa89)Rq9XPZVJh@=0cAhQDH z&}zlVnF|Q}u~d2-8uHZ6iDI}1^!T+K&u4fid5eneW|`<{gC-gVS2a-?GZHv8LJ_>cJ|G@qK;uglpd2TzEfFuBAiRZR@h(W#@5EBvS;tuSBFN8W&Bi}^DA=dm}ywktDHo5Nu$+qI9Ke6e5i4kFXo?6`FEpP?ckSKqzI2i?F z%c2k=FI7(wI6O;n8r7p3CyiektMEShRz$cZGtHj`3=mOIiN(@rI>ka?x2(M^PI${u zw_PkqyG5&_Z-7wO)#!ZgE6JvzS88FVotp(N`buGHIIP4BqfTW!p)RnFjqqpZ(h{-I z4^_4rA5Yne)&Bu|N^WabbV@bl3y3N51+)~O%oUzK;hJ!P8qrrbnyE32Z%qTI{@8M= zI(Isn#C;?$nJntJfA0HDP2b2Q(J6os+Eb*Qdr^{y?SUurB8dD~r@$<79qV(c(>S83yE z-|Q|;FCptO>+4t2_Xh?8ma>BuG5bPS`0Z+*(VHws%_nH`AR>rs`))77)Dtl5IBWCSWHRheLS-j+E`)4KZ?xf^nO+x zY~>Q$p0XC4`ljQqQtxfj)3#lzmSAEPj!eGL$vg1Q-N?NuCUp1d(4$=;n8B5AaK#DK z<~=5}Lq13EimT6e{MaS!@-exl;m{>JQqX3hx8*mRRZM*}8-=~h!34yrYWy$4bcEvb ztL<;eR-9Yx#dK$f}=9+$ot#Oa>&2YZoxxX(E&8TH|kaPqa-}w63O- z11*<9*WUIXH9y2FcUC@^iYSgHmNI-T!NT4|?c;j)D*R5K>O?_Ud2i@4JeN z0q1t#MOeJ(ymxv=7N^iu-wSfM`vhHc-rh{;@Q#O0B8Lv^LcF-mJ0?(5>CSb%Qd5ZH z+PpQ>M1LdBmr0uystr~tE?B;~=cSURB@lrvcxVBHb7&Us(8H4vLMgKdwD`1hH@-`* zvzEP#-Q7_ho`l9;T*_+({>{7v?~EI4#^@avbB1jxg7S$em= zDPjLqFQ;3&S6N|y7*J|ymy${i?W;@O0F3fwC(x(7Ex$G-Ui(*|^$}#YDbB5d;x1Gc z0yXa}i__q{F(a3WeVGiL>PyP!%?SDjXBGG*=&${eSzn%4W+OR9rtC;5R3?k;Vm`uX z5l)WbEC?aDF9>;as4Tq{IMcR$pzODKpvp2_b-h!6c_gcz96+H@D-S2PIc1xS z37}#=f(UJ6Y_Y5WUg=?$x5(ITH!EI1*slU!px8ZU1$O|_r z>0I(-dn&gCCTjG6Q(cGiO|atlV8?NlMWeFKtIT5W{u`v0$|$8D>_Dw6S^VEk@I+>* ztMa$aiS2>SiAmjGl6EXZ_k@=^U++m|TfHv0l)4H; z%}$_2Z#v}ick_1^fuH;EZrv~0v4=b2gCQh*FW(62v3>he(c!Ru_H!m~aN1=GDDApl zb4$4vjHWw{xujfvv)h2Zqy{$0;}83q(7!vig}bOVrA0PB;R_K)SK9+SW|Mif95H*H z;kq($Ih*m{d=Q#5oveP>!q`-5BT5Et{U;*N Date: Wed, 23 Oct 2024 11:46:50 -0700 Subject: [PATCH 2/2] reformat --- torchchat/generate.py | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/torchchat/generate.py b/torchchat/generate.py index 665ae4e7c..397f9e801 100644 --- a/torchchat/generate.py +++ b/torchchat/generate.py @@ -24,15 +24,6 @@ from PIL import Image -# torchtune model definition dependencies -from torchtune.data import Message, padded_collate_tiled_images_and_mask - -from torchtune.generation import sample as tune_sample -from torchtune.models.llama3 import llama3_tokenizer - -from torchtune.models.llama3_2_vision._model_builders import llama3_2_vision_transform -from torchtune.training import set_default_dtype - from torchchat.cli.builder import ( _initialize_model, _initialize_tokenizer, @@ -43,6 +34,15 @@ from torchchat.utils.build_utils import device_sync, set_precision from torchchat.utils.device_info import get_device_info +# torchtune model definition dependencies +from torchtune.data import Message, padded_collate_tiled_images_and_mask + +from torchtune.generation import sample as tune_sample +from torchtune.models.llama3 import llama3_tokenizer + +from torchtune.models.llama3_2_vision._model_builders import llama3_2_vision_transform +from torchtune.training import set_default_dtype + class _ChatFormatter(ABC): def __init__(self, tokenizer): @@ -180,10 +180,14 @@ def from_args(cls, args): # Validate that all image prompts exist before expensive model load if image_prompts := getattr(args, "image_prompts", None): non_existent_image_prompts = [ - image_prompt if (not os.path.exists(image_prompt)) for image_prompt in image_prompts + image_prompt + for image_prompt in image_prompts + if (not os.path.exists(image_prompt)) ] if len(non_existent_image_prompts): - raise RuntimeError(f"Image prompt {non_existent_image_prompts} does not exist") + raise RuntimeError( + f"Image prompt {non_existent_image_prompts} does not exist" + ) return cls( prompt=getattr(args, "prompt", ""), @@ -941,6 +945,7 @@ def chat( TransformerCrossAttentionLayer, TransformerSelfAttentionLayer, ) + decoder = self.model.model.decoder for m in reversed(list(decoder.modules())): if isinstance(m, TransformerSelfAttentionLayer) or isinstance( @@ -987,7 +992,10 @@ def chat( # `is_torchtune_model` is a misnomer since it doesn't capture all # torchtune models (i.e. Flamingo) # See Issue: https://github.com/pytorch/torchchat/issues/1273 - elif not generator_args.is_torchtune_model and self.model.config.model_type != ModelType.Flamingo: + elif ( + not generator_args.is_torchtune_model + and self.model.config.model_type != ModelType.Flamingo + ): max_seq_length = min( encoded.size(0) + generator_args.max_new_tokens, (