From 32166dbbb04d1f327ca2f843a41903011e969860 Mon Sep 17 00:00:00 2001 From: HIGHer <44268880+HIGH0101@users.noreply.github.com> Date: Tue, 8 Oct 2024 00:04:28 +0100 Subject: [PATCH] Add two crypto @ IronCTF writeup (#54) --- docs/crypto/source/index.md | 11 +- docs/crypto/writeups/2024/IronCTF/A.png | Bin 0 -> 22935 bytes .../writeups/2024/IronCTF/Algebra Exam.png | Bin 0 -> 75348 bytes .../writeups/2024/IronCTF/Algebra_Exam.md | 288 ++++++++++++++++++ docs/crypto/writeups/2024/IronCTF/F.png | Bin 0 -> 20989 bytes docs/crypto/writeups/2024/IronCTF/H.png | Bin 0 -> 22519 bytes docs/crypto/writeups/2024/IronCTF/I.png | Bin 0 -> 26996 bytes docs/crypto/writeups/2024/IronCTF/M.png | Bin 0 -> 24055 bytes docs/crypto/writeups/2024/IronCTF/N.png | Bin 0 -> 22044 bytes .../IronCTF/Rivest, Shamir, Adleman 1.png | Bin 0 -> 88286 bytes .../2024/IronCTF/Rivest-Shamir-Adleman-1.md | 189 ++++++++++++ docs/crypto/writeups/2024/IronCTF/S.png | Bin 0 -> 18272 bytes docs/crypto/writeups/2024/IronCTF/T.png | Bin 0 -> 20401 bytes docs/crypto/writeups/2024/IronCTF/U.png | Bin 0 -> 22308 bytes .../writeups/2024/IronCTF/all_chars.png | Bin 0 -> 29178 bytes mkdocs.yml | 9 +- 16 files changed, 490 insertions(+), 7 deletions(-) create mode 100644 docs/crypto/writeups/2024/IronCTF/A.png create mode 100644 docs/crypto/writeups/2024/IronCTF/Algebra Exam.png create mode 100644 docs/crypto/writeups/2024/IronCTF/Algebra_Exam.md create mode 100644 docs/crypto/writeups/2024/IronCTF/F.png create mode 100644 docs/crypto/writeups/2024/IronCTF/H.png create mode 100644 docs/crypto/writeups/2024/IronCTF/I.png create mode 100644 docs/crypto/writeups/2024/IronCTF/M.png create mode 100644 docs/crypto/writeups/2024/IronCTF/N.png create mode 100644 docs/crypto/writeups/2024/IronCTF/Rivest, Shamir, Adleman 1.png create mode 100644 docs/crypto/writeups/2024/IronCTF/Rivest-Shamir-Adleman-1.md create mode 100644 docs/crypto/writeups/2024/IronCTF/S.png create mode 100644 docs/crypto/writeups/2024/IronCTF/T.png create mode 100644 docs/crypto/writeups/2024/IronCTF/U.png create mode 100644 docs/crypto/writeups/2024/IronCTF/all_chars.png diff --git a/docs/crypto/source/index.md b/docs/crypto/source/index.md index 33a6ed2d..56e050a3 100644 --- a/docs/crypto/source/index.md +++ b/docs/crypto/source/index.md @@ -12,14 +12,15 @@ --- ## معرفی کتاب -- ### Cryptography and Network Security by Behrouz Forouzan - Cryptography-And-Network-Security_Forouzan - این کتاب از یک رویکرد قدم به قدم برای آموزش رمزنگاری و امنیت شبکه استفاده می‌کند. شما در ابتدای کار به هیچ دانش ریاضی خاصی مانند نظریه اعداد یا ... نیاز ندارید چرا که در طول مطالعه کتاب اون رو بدست میارید، از آنجایی که رمزنگاری و امنیت شبکه را نمی‌توان بدون پیشینه در زمینه ریاضیات مورد بحث قرار داد، این موضوعات در فصل‌های ۲، ۴ و ۹ مورد بحث قرار می‌گیرند. خوانندگانی که با این حوزه‌های ریاضیات آشنا هستند می‌توانند این فصل‌ها را نادیده بگیرند. فصل ۱ تا ۱۵ رمزنگاری را مورد بحث قرار می‌دهد. در ضمن فصل‌های ۱۶ تا ۱۸ امنیت شبکه مورد بحث قرار می‌گیرد. ---- - ### An Introduction to Mathematical Cryptography by Jeffrey Hoffstein - Introduction-to-Mathematical-Cryptography_Hoffstein + Introduction-to-Mathematical-Cryptography_Hoffstein + این کتاب یکی از کتاب‌های پرطرفدار در مباحث رمزنگاری است. دلیل آن این است که مفاهیم پیچیده و عمیق ریاضی رمزنگاری را به زبان ساده و همراه با مثال و تمرین بیان می‌کند تا درک مطلب خواننده را افزایش دهد. این کتاب عمدتاً بر روی سیستم‌های رمزنگاری کلید عمومی و امضای دیجیتال و همچنین ریاضیات آن‌ها تمرکز می‌کند. خواننده‌ای که بر مطالب این کتاب تسلط داشته باشد، نه تنها برای مطالعه بیشتر در رمزنگاری به خوبی آماده می‌شود، بلکه به درک واقعی اصول ریاضی اساسی که رمزنگاری مدرن بر آن استوار است، دست خواهد یافت. --- +- ### Cryptography and Network Security by Behrouz Forouzan + Cryptography-And-Network-Security_Forouzan + این کتاب از یک رویکرد قدم به قدم برای آموزش رمزنگاری و امنیت شبکه استفاده می‌کند. شما در ابتدای کار به هیچ دانش ریاضی خاصی مانند نظریه اعداد یا ... نیاز ندارید چرا که در طول مطالعه کتاب اون رو بدست میارید، از آنجایی که رمزنگاری و امنیت شبکه را نمی‌توان بدون پیشینه در زمینه ریاضیات مورد بحث قرار داد، این موضوعات در فصل‌های ۲، ۴ و ۹ مورد بحث قرار می‌گیرند. خوانندگانی که با این حوزه‌های ریاضیات آشنا هستند می‌توانند این فصل‌ها را نادیده بگیرند. فصل ۱ تا ۱۵ رمزنگاری را مورد بحث قرار می‌دهد. در ضمن فصل‌های ۱۶ تا ۱۸ امنیت شبکه مورد بحث قرار می‌گیرد. +--- - ### Secret History: The Story of Cryptology by Craig P. Bauer Secret_History_The_Story_of_Cryptology این کتاب به سبک سرگرم‌کننده نوشته شده که در آن داستان پیدایش و تحول علم رمزنگاری را در گذر زمان بررسی می‌کند. می‌توانیم آن را برای مطالعه در اوقات فراغت برای کسی که علاقه‌مند به دانش بیشتر در مورد تاریخچه علم رمزنگاری است توصیه کنیم. این کتاب سیر تاریخی پیدایش انواع روش‌های رمزنگاری از زمان یونان باستان، قرون وسطا تا رمزنگاری‌های مدرن امروزی و حتی رمزنگاری‌های پساکوانتمی آینده را بررسی می‌کند. کتاب زیاد به مسائل پیچیده ریاضی نمی‌پردازد و با بیانی ساده و آوردن مثال‌هایی از رمزنگاری‌های هر دوره و روش شکستن آن‌ها خواننده ناآشنا به این علم را با آن آشنا می‌کند. گاهی در مسابقات CTF سوالاتی از رمزنگاری‌های گذشته مطرح می‌شود که این کتاب می‌تواند به حل آن‌ها کمک کند. diff --git a/docs/crypto/writeups/2024/IronCTF/A.png b/docs/crypto/writeups/2024/IronCTF/A.png new file mode 100644 index 0000000000000000000000000000000000000000..508b24af0d482f2482cf6bfd0209eeeef8a4c06a GIT binary patch literal 22935 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 E2NDldw*UYD literal 0 HcmV?d00001 diff --git a/docs/crypto/writeups/2024/IronCTF/Algebra Exam.png b/docs/crypto/writeups/2024/IronCTF/Algebra Exam.png new file mode 100644 index 0000000000000000000000000000000000000000..97937c2a32197abe3bbc08737feb4f4d3057557d GIT binary patch literal 75348 zcmeFYhdZ0?8wRXe9aObSRn>Ugs##hsYSTeQ(IR$Gd&S;qqSakhtqQH!TkMDxLRD>Q z#z@585^4pB@I8L-`;9;0`;Oyt96|Ejd2;8v?`xdrb>1JI80c`aUt(urVd2z$^uUOP zvh?Cd5;a^%-%F=G2fDvO zo0h^0t=Il;i0Z{*xvk=cGxH9Ho%6jO2EBQm!ur3rS=`#_u2%4wU}4Zu=dyEg=A~CE zJjnML%wox7fI)ztYaZ=0614XGV&Z7%M!}=6g%xfM3arroUBlc5cL;~hJY_g_UX;Q( zh`m(!-^*Gd3uy+Eb|_7O!>2DO#%;7N#mawr4sFXKBJN(MpUQdoujY$|oBs}BIp_Mn zuW?r7zdN%&_&+Xg zbySt0;lV?;*0$VzaJi<+3>cXx6XKC z+=F+f(qms(5!$xNH8BE*TO`Qk+WihT$u`<6N;|KVIT8dr=a|vce=F5NtL62=#op4x ztxH(}Ci<^0?)-u;;RQ@2$hVMEP?#fIB5Gs16-@-tlPZ;&9Kc zbccs6r-6$lDpz~{Xd(D)(iKKnrZ%F_3Eqx%2i|2DtSyJVj13}(7X=uI2D(SGi#SM` z7W%gJ4$PXpQR@gb1~%h*@kp5qsrBnsvQOh%&cYxn(d%x`iR!J7jAA{tC$Ixc~Nasf2NMh(lYy%WuiH!QjCHi+)rD@Q(laDP}VBn*k3M|TMC4LxxDcnBmxLWtGw~L6ZMNp$P_V4O7RM=#Q zsK_ZvYtdHT{W}TPSkIEe`OSm{5k`!j%s;JTU1$FnJT!muT$IxM%^w`bvuZpx!p8CMEN9MY41dNtw48yh;R0 z9&@RmMK*XG%sO-y=@tP+dM>LSBh|?MpQb~6!FvqJc!R`Qq$~&62H8vCh!VjcQP!*f z43ELjx$^lbzW~hT2&ZrQp4jfy5vI~<{nKCWpDCT|LXo73Ywb7YyAAy#-fzx)GsF!E zhwrT^cnnH=yRR^I=TnU5n9S|*?d)vJYQL-`|36AAyH;M+O$t!rjM~v_hFt~f`|han zg{p>x@wx`Yt{OD_`v=Rquz2#u)b(u(zVXrqcu?Yf+52JLJx@s#4D8oNV8=Iy{l}1IcX^}p{ zf`z4(^P8CAXMV^06iTZIDaS4Bvt5myNRP~K9@X)He*L2R&)JfN;hRqrG(#IA*c1X5 zp44poQK9zS=PF+=t{=mn&>W@-I(wfUa~DQb6WG#6vbtd|3#JTzt(``LJc~{lrTo{t z5>wje<^0FaFmCc>O6}Z$^ic*o^oR)Lx1H24TLM8ALy8JkIYSDh%pWSAjoAYn$2kpu z;2Uk8yF`+A7PJMnNVH5ZAdo%zBHk(_=lG~ogpr%^c|AKbXZ~ab$8lEby+RcOg$zfg086UQ<*C$Oja}g_Z$ph(`c)xId80}AA(5{lG=jz8vmi_vu8qbL#l4n=g z6)215B(H3%7vLOkwJHpYdp!UbrF&9@PGULu1v3F>O_NG8{ScT1LKfK8BMxJw8QWe# z*&n~Gp)l7fy?7Z~i*Wd`o-BUGhJjbQV0#Idc9rp>Lc;T*2kJjM+u)*4afZa^uqD}Wf{rEh+)Uv z2Yc^MO$xBQGrQrgSRwwyB(Ey>br>affSbmFihaLpkp)VC_L?08ist1 zQcn!7x6%kj5WswjO`=c#k#ipqH;cGo1_=b?UR}_94hm9O8lp;oF#?HCMwQDYW?6}p zC#NDR2I?amRGIpb7#oHu23tXf0 zyewAnEVQZ&g1naaZdUoMTXo~p4cod=82EWd+>Nq2ID`0x&&CxgWo8h1Kn@;H^04UU zld*Q~R@+Y0yO^^&bia{Y6C6x_-83B>NL$E=CVm!F!IaBv+9au#kBTLSq{E5_Tb$w{ za|Q)Kb+Bghqtr2;%`Gpp;$c5`kYAU*%#mTpP#i`s3&ZD_UsK5S*1HUvcDLr_rrk19-9YI)L02ad@ILE zsix4wS0hoLlvqK2=kG%m-_H@xEFJH%)edA1?&s+%%+x?-J_xa-+VLy-Wh(Myd)x^8 z3LEup2{p#7zCLf@lakl{`9aLoUZiHtm!0{PaL>J+H81lYjUEHJlW$*Tzu3>qNycbL zU8=t3fzFm$QlK=P5DsYYuT}A8zYH#iYz$UFtr%00vYtT9SW&{;o*Lm1K^!o*y(|re z>)7zDhKvn#_n9z=r5{4@IfmP2h`DU-2UU*X)9kU8{b?*4K*;B;Qq$N~eb zx`|YpQ%9UBE?_bCr$zKaUBfHO3zio~38FTLD+tbH1_2kYg#ZJVN`%t4OKivNVYVEBb>+8hlC<+ zUbzWhL3!6Lz6DPSkgscJ;Vn;uGq>Uys!2S0v5&gGsQOMlFw?hEJdORVzB6&uqbKzx zwQ?NcHTGF!Kcr?RMsIWjfJXkJ&6d$$QznZe0b+vK93}A0l20#A+V{v#=a1XeIh1!$ zN9O7vLtfU>D;!b)sTu5=uUV~I1~HhLD({`zq;?mp+Rz$vlz^=EzQ3=hOatpbtv-{? zvy6_eAZB;rHlPX`JRy150RIObFE~-ZL)f!9{1}Fma)e4Ykwwtr9_Xdu(r6T zi7472gW0;()QR@~_q7Vt4M*BmtBbILPYZLY;JWvMC5BH`s-1mRwsxize47p8Lm`BL zXl3kos+CgU4{$oL1cDXzTQb`a7lQ00t6A^5v{iKnxu8c`Z8OzgCe%t=QeRj(4CN7y z2x3l|76(;*#G|^SE2{!CcTIwwDj{IWO^eCh0R^?`*eTOA>vIhF;2EpGs|J<&dn~rg z^GRt|Sq0Sf=W>pZ$}8<5f+Lz+9YqPsB!a2 zgN{Le@XmOS^PAR`oje`8fF3Dv)q}l_ez3z+k-`^-#ZPZCff_cfJJaZIzIq*y<2t_+ z>;?>~eW#nf%tg!SiK)2{APs0xCpeJ#K`ipLDfluh%+*{pJ)Nb9 zbi&G7gVZ}GJLWddoFhQb^tvP&<$w3k7|Sr`-?p75vTY?2`C24DbiJpquZ$MO3i|rc z9sH)}APRde(80O2D4JtRmjr+NRehjVR-4($h_vX)7A5aJP`SzDV+%)|GK&JX?AwDX zGWl97T3d|QQ1|gRbB8KHsJQATxKLe4`o-VJ`77_Xw~M;mbwR{8t$D86*_jPgQitYkMk z>s8WumxtAUvqm5Um|K9~+BqKdm8n3HTr~ZK3BjJ06f{-wJW%V!l*yP7spAjCtttu_ z!i6SzMk_0Mxii+QYixMwlW}PIgE^#TByMA=H?P2ByHMmY7iTam_fv9+wvMhO~qZGul$jt4N$YF zRaYBd!mhEEOdkwC+peu@LtfOOLoM&xnSMcYJA%(e=g`hId4|hs5~AK@6z-AyyL~sz5&Y-zj8#xczInE{rhH=ejm;{1Q=iyp+Mg*A-5-oD?G@!^K@;n0* z?d5yAe@xn?+0z}K+7%rOP7mb%@%n0IJllue>Efg!TzRge3E8KKT^&r%E2`U*oCZ>( z4>$vUXxSTUH5+~NO@4j1nkehelib9GnBf8=A4pl)Em-<}H^#&WrU+|2{Z*?nVqg7e z#jtX*qnYCI3o@s;@-@7XmM)Ineh;nX1A1NdYE+jQ83vqaM3Iw84XyN+*Y(ctmHmWk zJstxxW45bbH}c%4_EmppTsoO3gIKj(-SQ~_8ubGf<% z&6iKh-ND}Ci7!=q`({Qn?F_Rp0FL~sR}|FD?~)m?k@eb5=^qTKWVxv358SNw9q0#R zb8*@xe|NMtv`pa4M-UY(Z*9V6J<^ephubx?h0nePXW2AV%WB-<=-VLqy)&(c_*kx; zuGuhRjFm0D(<|o{=}r(v6pM3I*@CT(*d#gJt~*8e`+G`eH(uHj(?7T$za^rO;KiDY zwH6(P3*A6n|7kW=<~AnhMdX$tBV$B6+nxI6s|Ixm%wNU5>u9|H6@$At^LDwV>#xU) zta*6yg#*ZXM&-|u$&4%W#)?{&8W#*ee5+}li|H(I0`V_{XTdhycPZ+esOj=1(Ya=- zj#I{1NeiG8-*CJP`X@~Rhpq>U&qf}cHNlkDg&|~Sv1mk+Xd}c6hv%y7kZs&ejzi``d0!Jas(BXh)u1`aGxobgxU0yRoF` zu&GEsH`$R_Dgk#H(H3sH*!(&s>I3?-&LE3(=Wgkt@1+TyjgB!M>e(yG)RA&eD6U_nRO@=5i+_L!jiXM9e##F=I&~y6EOmDJE_E zdDSQUuH(pKVdi}qrm!>Prztz0g!J6VlXw>u{Qq;-b%Uvlo#tMQuBIjmZuG8?3aQf&!n zw99PTF{skB`9DcT@QMl~`YVHZ%UwmX;RlY>m_>-3QZZBMq=jy^Gy73r>Di?!0`^&` z_lkZ`){tZA22I^SW;4Kfdg85IRbrKxa~q~39*x%7u@=aWlPUb$OdAq4goj6Vod}XT zOFLgBI`tRbL}|VMtD$&2C&&>N6v*U-d`o@2cqMK3ba*_7(eWn2>BfC$E@WzpUP5-o z@{(+AU`Nd0>IX~^^^GXRDlE`A`_oeI2P(khHrz{vycgG0VQ%)5eGc}SRG?@LZrptd zDg?I|t>gk2dWoL&r^~&Q{V_8YJW_eJEM%T-3koMeE34f%uj+gb055@;>b=OyW*|5L zY}Q1f>8+D6B88W1oIOPubQia|hCyNfpsGF#!81C-ahC{GtGxGMcDAr|$=*_2*+;Bj zm%)&N73~auh)env=2m)Weahp9X^jV_C-e$n;ySK}c(Gx_1}PbG?ppBM%J z=}i1y6S@P1z3s?1a?ubmRdivPf>y+qh8rWZO;m(coNA&@sbTBnyH*pV5^QI!;UUpG zqNVD!W%oo!ML&umrhyzzNe1@u519xnr-RL>`GWFOP}@Uy6n?jC>BYkj7THehU6Ej?Q5 z3W*X@BaQ(C^X2Zbu|g|F*v{lTh7E>&*m?cc7rZHiva<@2tM6Cnv<{se#^gtOiMSHQu2wV^KvF#^=ysVCD^>&T^G{%*EG%C%&bso+9Wvu2?|O1F0QAf- zg_)M^mW49du&pI0jf1_i8xY)pQ>7_O5eoxghAa4NLK^V(K&ctjd8?&rQbeLO9)uyp z`@cIQXl;K7`Fo#6@}@227h5vvTM#$;){yNg{%VMhP-v#d`J%0K&vE^PJHDrWA@e2cmyQ1u!-tGYZSJNmHvj<=W4PBpg{?7~eG} zTp^F8DiC3|p86Jsmk`(%=Sm@h0VDmo=xFT`AU5Q;7A5AMIPLO(w?#J2BVQx7$-y#_ zl@Udqxn0HRg#0d_Jfp1Iyl3phtwhihUXd11kErAuux@@#NFGcw&={Qkn14GFWNQ0- z?ICR9<%!XdJ8TK;RfHVuTSK)i6Eh@4xAr+sx2NRUeZ>N9OSoC)r@HZ+ExC}tc4i+7 zP-oX%`GsMWTk)LMin7nO3OJtLU?q<}xml2E(Kcy* ziY06fBn`z?WZ)I1EJ}U*WtI;{Oa+vJV55DIr+?8#bedT#2E=QxgJDOfoGPqr;>U)Y zo()?Z5v9hIfim^vvS*$dZjRaCo?G!zWKYKDf6{w&A({x2ssewgFex@2NOrYV?w8y^ zUqARovXUE>@e3iO2hAUVvSP>b^UHy)6Ug5*%|yEk*!UxK<3Fg{{Nw`KvByDJj=c0V zsh!*1s{M%FSw03pVOqD9W2_h^+~}Y>$wiZ!cLB;g{)Los>zR+Ns$e~{@Lmuxdv&O> zyQJ{N8bCq@LE{Wn*B-1w8v4VY28OXw*{zwO=h!lr`sqNo01I>r2wNLT=U?Wb=RC+# z7D@E8X7_H3YW1t#I!H^k>Sn-Qxh~%PnQf4?^cKGR%;IcHMAQ6=v;$X#3>9t4IFibG zlkE$De!bLGkfkWACN9jw;`)V6?!o1+7@5g9R(H0A^lgcswG5)s;PfQs6x&F;`yzYt zI09V&;bW(5S$y5V%nLoVCe7unibJ_7B?J{)FE~xC(CqkY0H!5q;Gevdj9oKiNEa-n zr5#sPI_0!(@OscCdBskFVXsFzsOE~CSPTZ(eKH;mfgjp zw#~>y9Yj2_&;wR?Da?TMQA7aP-O=3C%dz8nb6*Z}$y@r0L+Z$`pWXSbna2=7x$0TL4|%!{!QSzF?4PUM3xAfvq(IxrJp$loh!A z^va$3a7wf~UA!@91oUDM4+}O+D0H7x`kD#!VOcb%a+Q-`<+4UTpbnQd+Jr5N#^17b zC!l9>V3pZe;{qURRzOJ#@lo*3@3&|GFIsiY#oe1+>1`W-u1;j)zj*+y-E%iZ_?NmZ z`G*NEA=;wEbVt|r03ax~z>I^!FCTXDhsoz$=S5hLJGKB(*x~-WGv&o~^md?C?8$LK z+Na;}?&Ps}q%|Bm1n}KIojB(IpSNcDF#X?CN7uuz#`6Cy`Nc;H``X)cCA*Oqtbnv` zKKqfkR)R&Y%x}xm>R|l1H_%cO@fI}NV(~uNstk1R&uS@rxhr^E`4Hv5AoGg;D~UPw zp8H?@%m1%ZdGY@a(TyrlrB6e1n=t9(?lxbJ^rNRryBAQ$RDh zP5hK4cJ$Fl?bIYip!|*g#0rgxJHo=wjsASJ_54~)s-XX4PL=7+>tp7UG3mhM?Si#Z zIYkU}9X$pXR`I1KTg!vxb9|7AsH`gzmw>qi@g2_oH`c8mx-{T6W{#$BEn8A8%PBoT zD9nESmFH0RRl@-Y3#tutd)|g`A)(`SWE6LHrb`&5a=gwo=g)_+0h9WDg)!3t>&1WV zbsn&nwPNs?Dr53pO6}o?63QgOX!Euh(ZZ1tmr!G4{Un7h1P2=lxVa`m8cE~|KI zL0LkWL*Ap0z-jo-mu)Pgh}tal=4cMj<(0$aCjIw*M)zw<-r7qeIiyPJEt>VNXo1TBj?m^ z4wO`^knOd>8sbtump|O)4&hUeK8pXg%gAW;hTn6c^J$^Rrc4RroRJ7N4&ynGXbh}s zm;K}CH-FXdsFBr8YC}HssGBHs4{E8R6um3bQn<5u^|EMlfLF<=90GXueP0 zV{o|BqOAWiN0{eGZ4+&@>^Vq3tu}R|t<&N*^iN{F(VPcB{F>(3H@%*d8dEav$c3x5 zZro-$miA~N!Y*F%G>Z~Qw?~M&_nPzK-C-1W#i}}E7{#Oy_v#4F>Yp;^U4yN_dbFQ2 zqZCCSgWDOKD=TAs*C1!rH~(g&X-;r>gT6=Liy+A-*?h9_5^cR~Yp*|iqZC$-2SQNL z5lj>8I-Z@EhV@6umn|3Jn?K)85Bq%LF`#tdDxCjHTVV(fW8K0-j2%d@RmnlLlU~i# zN4=w`K1~&FPeY`8zBY!7tM^Mah1HSJ%%1fy& z!1-G%L*o>*N6|)eCjfRemPeTK`4A~+|8Zub0cT;&d~$ei^C!W1eSM$_F2Cg5m#AS#H)n2{KZH4(1e zt{|w*I(kcQFQ{&~&Wlm||49io{)NRWkA_8(iAB)9muRmN)y>un1;3f#vDlk8=A~ro zC)`)A-B*-uHvH}?jM&u8p69;NvZ!z1-|=)~*Z~7SDjO!SH1{;;#A;=JQLSoMsC#ev z!@;s(TZZQX->rE=hRZU_3%gv*uzlN-o4}7h*ndYGJ0bj*bu(~m02^VW&2p0U(ED!x z7cv)#F1AE;mRj%bQ?m#`YUHy<>SvYJwPqvyCEO$Y#NI}2soji8D)odNBn2^u5YT8q zCCKAmnAle}o>3Vm7XCi?L@-Z1<) zY7w)jLv)B%qa;<*tDQQ~fInFltHU8rkWV#vqgm5*l+|40Az`}7ah@Q=X{^)auZM%# z5EvjpPy!6f_KIu^YceRb?MB4}O1^~eBE7sw5BpqbOT9PpoCsa*-SropW$TGu`^?}E zit@{r)}y0Bh=qMm!Q#@2NnNpIS2$y{1TSgg)4^bC0b+86(znAQ5x^7UUw7N}Z%&Zb#)YB_59G8e7T{bO#F6CiHK$6MuQmXKP2GpB1}R2g$vajKi?*o% z@|ZVhkh#}!kxyKEIfMaqOK5XMy5F>hG4+GSk0!+cpPog7dM(;T?(dUO+@H!lhN>)Y zDPKqqqgzzgI|YU(-SkZ-3tMKl1{QRO&Q$;)KcF@aH z5?n?76Oi>%Yxpc~!c-#2G-5aey8^~t$X5==n4Gr*1hO(0R~XGG8ck(2wA<0Mo=GcX zhnfCuo-#&}7{bqo*}!e1$3Dz%^*mon3)K#b5|9t5zLK7&{R+J-h8g2Ix!m0RmQ$cs z;+f=AuRz_%*Y0KuFfeKoBUOBACIoE9n7AK(?9%(9Gt^>BXF(SWwF_6=1OW*gOJ%_a zA>-0q^nOQi-5jXth)6M@V{GL$zHS&5`Zc$6ioe|01Z)<_;Dz*Ma+o8(%+C+XN;<93 zJIihzeNZm8H$krSY|k906p!>93-w<&#HOX33HXqf9E&1blx}KTY!@G~z&yIyEE+2VG#JUU~)6&|T zHVo1qavshJoG5t$6vaCqvBxNa{ z(X9mnDcdk*5=aVNi4}_DGu*+V_7f9^(_;mZ!L{xwJ1eN-0{sPsz34>0ehyIYum$a# z^z650B=uj;-&Znd$=0wn4j1-jjxQ|J#$Asd=RA|7b77cEW8V=UmSb8uv{tZ@_9yad zNAAYclw|U>LgN#eFQpFQTg@yY+lPD07x(w_KEZ5})c~BP#>6)Nh+7d~4ldxhjdVZ3 zKg_1vv9~66v`=*PDWfyqCgcyDw(=}+IeCgm(Kb381ZX3M%M61{qsPLwMPpa+3(^PwOb~ap%`QS-AW{&?1^=*?+xpxQwY=YKrRAr z(_L{5f5#ZY$K}E~_++p^E;k<^Vq}dpv%6oC_q3yu%F9X0qf0`T#qu6P%Y&u+I>ke- zpwof9Z{~Aqo~1h2O^6BO4i`)kESaObm)SiSw$PtnqvmsfUsS)pfo8_U)C~vp7vE_a-I!Hn1I=W~^7 zy*@t_&X@D)$&v90eloWwKg8UQ1|MAJ3w6*{5*?Zdej5g%6YEHhOa^PQzbxUI)# zQAS{SWU55j&y0Y@zO=|JeFZv081P6yndSc@B}4Y!w=9mbRNVH*%FZNV_^@S#YqFcE zHQQIoLbMIjhv7Aldne1{;l1#7?V`x#5Gcvv=^_C@6W+pH7Z-qCdG_zjbhHJKDO>yI z-NsDh@?{2rvT+`*#4v%Ie8`}Uh%JxAP8SA``<8oDOOK1CSc~0 z=K;tF7ct-R;nfjI4+gcK$SsZO;m_pW8DFiC_|Z}yc~Fk0p}+L_o}<1vN&_Uz6{KNb zH@*Ai!m+Yuf0hyh>_?}!i>v*qy)DUDaDJa@hZoG>qh@YN>bBa7gM@8eBJxzyQSd7r z-6LR+3{t*qHC&pm4U#?~;rWAXM`jp*@N90k^5pAjGC~NVr_(V!gKbWm(5R-YuzV4W zJ#@N-lO9Z zc-bGAeB{-q8p*na`u@^-!Fm-rsNE-*uac4qD(7{q|GRhlRQxeCy_ndj-M`27G-u-IePo?U}Bg%{(E`E067)2e?n`1z9p%ryEtd z?#cuGLTpA}_z*iRyD%n!pG^-C%O)zuxgX-nCxdxZhk&!G+_{thMy3J{_wwxG(0DWH zBT@=qIJN2q~Xc^xo0g9X)cFS4b#G;Cn>AJdyDU(XxfRd>FC&{vtK zlyNJ|E^a@lm+IZ8FBd;g>Nu*|@DKoUIsn=WvIP1DKld3hhabj2^SpkhOHALv6ml&7s8?gTAVPD(An4K^IyxC2S?}!nBe|4vpYOIVqurXQ$GjZrhIwD zReIDOE7kod>mx5&NrBks)B)X?+aoL=eevrh0M9>vh(D$ew&-??Gk1Hl@XL(+^5G$4 zumLr~K0+Nur~mj=f3U9tk*H!lS#I{n;7jhdr0&ye(ACh5zPQABHhH}#>!q&lEqOHN zNEXW^?f{Z>eZ&}%v3G)(2C}_UaMtLWUSZ_9xcscUy7JA1?n;;7YD-j3W`T>~V40G7MUw}^MxYwXBM+nTw zhv}Kdh&;3`@p+0{DtdR>`i7NgbDcTg-_kiH*@3%sac}X$H<6g}t|7Mh6c?SA-RIW~ zehe^+P%-daPXB_X#KTDy~?hL;Z#7 zA$QRtzGzZ#%@tjg__)Rxd0GMm4e%3d^VaQkAGoUwxvA>bH}je#BlWbm%6E~mTIjpk z3;4=!_x{3_kc33v3PHrot&uS6z^=eCv20?sgHB!UpJJnVbExL41;ZNMZ_T=u(3X|y zzl~=iE#B-M;+J^a&@OcWdNqJ@i}fm`WP#4{;XHJ5GhJpX$3q?ROhj+y!_`~-92cg* za3vjMBkV|cwxMR6nf(^CFlL)egMKZ|h*~<`Jn~nze!cmZiDeMwmV9k#r^E#L5}^xh z&>>5`q8BGQi+dM&;dc~E1m#x-K#Sm3s?+mqY2#vsYt6qlmGMF>PpS@!opV5_$cuK` zVoQ_;H<{G5xq?2@He?;v^^NWzhx0oM7L0C!6{*{ERzFOgOu{SCpXqivI(_B7W;NXp zxW7wGfG1F>UvPexQH?Mg$&;sIu+h>Mm;tA6tNg^`mFiV3kC7!mmDPwyYOaHO&cNM; z{%y`x!AEgkXl(WFb(O{6=kXGyc`A~Dq46ZeXR#EYzSVD3^0r2a3?!wrqo}G`#w+wk zQivb^v_~=vi{BXlef|X8`})!2XDTkqM;lh}=*{`IByESJ#F--WK4wcV_I`-P8YIK_ z9|oT*P%ktqFkfW7-mA|_IQC@mIm(Jix=}echx_s|lVdk7jYYlwn)$~pKwlMPO(n+e z9Dl5TRXb{bj96YzR$CfSBV4+pPWGzGi^A{pNzoR+bbGGH<|%m4DBoLzFgjgly=o_c z&{WZnN_2*qm~5&H}o*Mf-txo10w-O92!5^n`X^b4iqq7 zR-jUry|r;Cv`kj|qCS5e|GeI8Z~R3CPCxA}9U`Cz_3JV;P??slDGAksl^u{O7FH?2 zStnRd3LRQIN?7BTGdFhh%XmyWAmz28QThRKCP`rt{Z;Iqs1uV;t5_m%0W21zRwkL< zzfzI0QdWtSNiyHos@B&+qF<-L|F9K-{>E8*xkQ_wq3ca0vXH`;pB8Gj_abF$5+t;Y z3gcJ9cY0;2a^I-!xw zvfg^NR>C59;H!@1YBIUNW!nsLrP{GclFb(9IN~*Kpmf_~u%I+cuYY{=X$*GHnrZWL zppfbv4E}YSy(C{K;0pv!;H43zWQjiw)v>lMdyeN30uF~5#i&se`u3}uWENtU;04sN zUWrKnOR?ycDj~3|BMj#@uRAH+f#6YeqH z!t^{uRv6)2#vK;T72vq*+1wD_p2H%XX|oDlttH5owA_Gt)6~_F^p8SYOs?JQ5(z{j z#O4}H&H9puF*;VrtR_xvcgJCHYHF@%IrR~HVnX8Ju+ZXWYShj;2g82BPGz|>+Z5xd zyUN?9v@_v8_5|H@AajN-O%Gohp$i>#C^!4O!l$J1H2G!CDt?^JvllB^qrUYT_KCTB zLV!sgDpG3Lolo)*yBwal-2V8(&c_S0^J?O_&|IUX1xw{6@I>!BVayy~miP7E?I;Az zgQd$nVE;+sTeF(2N0q|M$CJ6S@ZBbtv{X9ZGJrrB;{>y68^Hk$1W;7r1eD|vp zT&2GC*;ExsR(3E@4#RJ48rSUgnXZ&>k13@DYAOsvV>jtRX zw*iV?1Bg1S?c|k<9iI=WQlQwMkIFJKjyc!(j>y~|qq?{IIIyv-3;*e4VJ-9N9jA4C zF9qmqfI}v>i4CnaM`U>Y8i1H%_hNXc#nl^>@|8T%r|fZFZvOti+BzeAdbCbhL}f(N zfDG6e>I{jZ77Z3zxzq!vF@cYva?x)P_ba!x8w(C@QX$YwZ0&|8{N zeo)g)zH@$7{|Pl=L2|~S`LjQC`TU}yMjy}s^qlzFuoyG82m@!N0o}nd9)QgT4oi#N zbhytK2Z$<$1@s6d4S7o3)@bFe(D}q~E39Vg_l>ZC=uD}L{zSqYDTxHUt9(9rw$O`g z3`CT68>Y?~XWc(~YYDd!L-y9vpkLLMtPwX|{@5za7gq!R;I5Es7=+X7fS`FZDtdcg zdNIQSA-vFVSZ-lGou&blQeLVtpo|O;F-PEBM!skJKptSM1BicM@@T7Fj&#j@dD$x1K@pT7SE6wLH{#nRcDIRCLn`X)IKZpVZti~{&y98ptbF%-@9(rB zEv#M_?ft`out&u-Q22t`pO=xT8dE#Wd*xJ+tr zf8E6u)s0dd7wEV|PJHqrcsCLo$8G%ZGLp!1s3j^Tj7?2NTFV~k z9SdEBGj`)|0cTI)Pe*I~5zs>p>Gm!SDD}$JPCWOPR>BRZ$iph4cIX1jdm(%tL1S-% zi2N=isSPRD!EAT{Xa&LE(H2>i;n5M19>w)-<>lSd-_4AVATOo(?>`(|D}ou*x04jZ z>+n14`9-f)PNKtL<43th0D{ad^1_Xe0(P!Ax}kTtmCiQNToE4o6a7b5EX-l|8zwD3 z43>GQ2aC3WV-g!I3EjfsQxcUo9A+PDK0jb0nC7w z1TpYIJ)I~(nF-@8fG|i9;X1S*y6-Lo8@x#WlobAq~uEHcn!*Rfej< zZq9QjKNhFk?;O4pR)07zHu5S-sI)mJWzk*374Ifs3+%;ezst_?IQxDDPI_9V zy+s;Io|y7q!Myy$q6rC6l`<)>)n7&dp=wFzAWD(pQmqXFY)9ddEepMdd@>%?k~Fxz zh48w&KKD%yng5_JIAw_XsqBw$OD;Wz4~fl>dni1Vz3n^k=IW#*3}$f$BScH{h_oQBv`=k4y2B184BGB3fVdF&PFCLP8EzS0;M!X6_x zHy*l;zoj>OJ`KeK+RDElvEs`&M)SP2z)XQ!d;tejv@BK*D;YQ0FeX%lURg1Oets z(K`A4qYo=BYZYmr_0^hr8EVdB7m>zu>2w4=X=xc zS-@dd*aEbnLsJrxi8^B6C?L@qGiyX1e6yiuMFryl9NsINPY#s~@ZAf!rxm1)t^1>~ zY7N^T$$_ro^Fxfw3|75|Dx&c8J`UXzBcWPa!=g82Xw5Mh+!Px%T=iB?!K{vB>79xa zBhDjW{^&CpWVa@``8>X@!t4!u(f9_CQ4!}k*?KI}vW1pl8X5kY+5x9W!&k|)pYZJ} zly51$?*z-tX`n}~Yb^h;T<|k^JzL!=u=Ix&&s{Vrdx2IML(=Uvu^cTvAPr8^RE*J3 z$tRTUFz=e_3YyGEKzx8D9VR--cAn)JcPMpW1;nXpuF z{I8eBp7RFzwL`2Q%hR;TUb&iNnKZbG&wzI)2JkK#WuQ{`VG=q*zc+5fr`l6YU^gWH zgs-NSm%A4Qor+S(N&jbK8B+%#Egr9d%hrt$o1 z&T@P$7Vv=)c^SHx<@ZQ3sBy=Nyn~ab_ZsDTc6~CkxiDYt*b`L2^(sx+RO5Obe?6#x z#!5Qfm8N^;Ci}R|4n|*^V~^U(Sw*+&@6=I-}~+>rksm3d};4`7O=Hiv#k;nIKS1yl+d~mPGb=$&Z?i3$_i{ zlTEFAO~_c1C;lw>4gA{RBS$}hNnmq%(peU}TG@b{tHHE?kmpAeE6`;5OYwY;b50O9 zK(*)+1{NCo7oURtn$}s+w_3U~lOY=XgIzJ{E5~Q=x$z~jlAVD(C^&yGo#KkYh}CWZ1lG3be!Jg94#X3;f_oHu3ex{7O#Mek zY}Who3Lmpm7Gh{D6wWhI0B&dP6xgEwd@w9|et_3Ie|%_<&r$xzBwt2Gz|01g?=iTW zSuOSr@AGpL*_pFok7My`bJ8tE6NPjVG;`4-`n1xSJ%F`xLmhyK9Lg^3kx64EMt00! zxkffvyYBl*>*=sYVmWfnr{qCZ4nzQ4`sOik%d-)R?pWMs<6KHjw%vFII(p##Ahg(2 z3TT+0LA@vPWt)SRhVxO*>|4zOkjo8Oe3Nfs84o9MUGP$Ev=Ai3#3V_^dhAHKIp(72 z=Nm#EY;xKE_#5Sj{U37Kf7z4#zmUsJA6vWu)RG(7b!=|M(n1zx!L9>GTT)m7a|=%< zowC|gd{E>u03ScF*%aV1{u5S31?;mda~E0X^j@I^7oL9pguq^K|%nF3{+qoTr#Zv7e6C5F)$@J z8iP3cL&SeJE?^fC*!%^ex~E~6MF^q!kf;a8ERE5&&}J&Jxy-!J!T0)4VxxDi8gBCr z)33{!m{`fCudG&}9u~)x#8PYy2C9JnU7n;3CImP5S>~A zq6UT0ZPHTYI;Z^;h-vgo4VvlYprrnIcx4ZVOK<$yLD8dJ z!eVtD(Wjlp=R-PUMCkt^Uf`2utXqnv+(zZle_BfPGLIp`OWnrdRA_r<==K%&kdCEO zVY{H4D+8q>;Rz_%hfS49fH_hcH~@QAml6}GbtaWB6tJv?kc_0>%mH0#udUfWizjJuI#E09nh-C)pBXo}2?&1I|GqhU*4D0#>cVZV z8a9*i$i4=48TV6034Zmj|m^IOKNpBJ5I9=#0L+mNpi)j#Lve2z<=NrUANnudXvhZ6k~uj(FFeZ0lI zC|>=xQN0n&tSo$iz;L*r!QPi$mydAV*!%Zsf3trrx-1{XyZh)(Uz&Qmy3qA6#TG`T zrYiCAu{!t1sO*B(VW~)jE@pB8m-l;SW&PjhE4}twl*9yb(7?P}U9UOAF>dsL4Iw#h z`!L7T@9aqN{)~T(BA`xrUAp^h8$_3d==Or)bv4E%uTEi;HafvM%OjNwv03bfAmLH6Nz|J1QJ1#e=ckzODzXI9m^y=LB&b_wL& zIwgOc7(jRQx_Q-T54|q=a*Z)jo94)X39Jo5{8Yytj;;eB#d1_X1nNAcB}R9Ee)AC} z*_`ytb-l1~cWVp(>kxxXc?_Wc&qu!moEC5MG9Ylh|l*%3$ z<9WF*+c+MhQt)?zvWo5y3ty80@!QS==s1bZU>)Y2ZBBIJ=itc8&eGjLmBE_AwwIiR zt}U9RgLaDnDYrutS!l-2>tR}N*)kCY52yjC{JcT;2fbOZ zW|k})e227`E^8i~$Sb9=uRxVV=>e_#F|#~%+=84>dV za~Lf0;+$J^hEU=QN>yhTo4wPln|E-v8T(&w(iMLLI-9TJHz%<4^LdFSwlK5OF6^|Y zuM^8Yyf1TA6d>MC8oQS-(x8m*D;+CY;V1CVdDR|)5Jv`S=+iH@!Qz=i7f~oc8Kblw zRGCOqbZ;qA)`C7!V{GfY##e5#^8%nuPhM&`mZe1D7228m$LmrOE{GJ|=}B)NG@^ic zbv}8a*<~oFo)pH!^_6+mR=nb=bFXN^!7n7iIA~xzBKTt;$Gs0jw}9f}u*Z1i*AsF( zSiqM~L@~a;ri1X`;(TAxZTw3nyuReWveQq=8U`rK8?dCHk@WcG|1{3_fIhcY@c6FA zrd%t{4Ou_IRh=|SiBA@ER(@!qN`inJ-jMB;ylI}8x*chqrJV<`-VVu)Y zh2B|?&UXvcPk+JeGtZjpQ7TVA9OvgSU2=@Hzf~3}EHeIXe;u~*CYY3Ci6QI$s8AAKO`(Ybtp3&45^H1zu6S*Vaw2W1G6F>PbVnr}3d`vCAs6gF|7z)XX zGjt#AszVu?gRb&HnUx}{suEnzcu!JE%N6$Bv$uBqy$Yg~IqO#&NE~+(F5uG?C#1Xk zE_IoAP#;*LYo zps!ufnrBfC*xuq73ZJh$7cp%EU=4$^ zU=_rwpr3on^@7j()SPeDOR8Njs2}aMcuXzOx<_WK+g^a1y7!Z{xgZQ@uy}3mNxEap zYvjjFXkzX1S_JaY|Q zNfB!sTM-7O0D6OCfL5w~#hPf)v6x++cnpaiow|4*aw ztloR(7QA*nfjtdwkt#Z(-k3%R(YFSwh>_Aq?U7Pn3nGTXPsr5+axjeA!nFNS{`J3$ zWAd7GW{_rm1i4q%-O+cUzXnLhaCW{U^?`ocP=jw&S=f?S4Z1Dmt~1`%HU2pZ2H3kh%mGpO_8pUr15FES75lEu70%$7xMlGN&C|~@F0Qqh#8_|6DxrgO86)oEv z40~%hd_o_Xo2(Q`h&42;5LaO*&+Ci-6l-N1(F6s{vA=~?zb%~NIH0zkh}xJZA3FGk zJvr5@LjPGYXTIC?~Dv+;0Ms}46wE~p545FJmo%G`ApF>1gW2v zoRkifVEng0mC63v|HgXgKmYjuY)t=;U-ADxlwjaJJ>?LX5cnH3KFL5^aTo4pdMYej zs%_Ud$8GH@;rcVS4__z&)>!7PHkPUn(LDiv8*Tx^-nzI}xCJef^FI|3e-KxthS-&k z4ug+V2AYON@JBq&m6nLTFp!gg#E3(3FicprohWoIKAvoo7r*LmmEjt_jG+UK*1g8R zFhS|mxz35gw(zx%_js$1*uj3)nsT7=0zNqMfFSTJFWw_!r6qr(f&#Lay%zgdJ{i4W zjcJc#)QZ%ClqPxiZ>EUh%Nn|%8a@~>NCz&;m)Y5$U-F`wcyrKB4n?yFgn<8i4;Th- z^5Qu`QT6xFC#L$I2+`^?8kYr|=5I>-bjh}QSmkm>E6ZnZcNKfA4e3ZA>OC6FHrJnvFYT9 zUWzPRuJv@1y%BEgsoiZ&Dl_foV{6U241nQyP#Z`XbXY4{$4e5fmvYe+K>U#zKHrAS zT`ShuHs;v=ppCQ*CD`y`rq66eeQ>Y2dzj%q)xxE2^HP^9Oo#dFLYp(%&3`6enNz-? z2=L?z8+V<^4`xNCUujXQj$3wPDAG}?^?m=wrAH-*A5*J!CItg^Ft5;MoVnOht`EET z%5LK3tPnns8aY<``_SqJJQ;tEhC5sDJ>nz;v44e7*_ME4IA;XJX9PMyrL7D67MWUN zCmj25yQQRqcDNrJCe3)2g?A>UU!^*c!GP2I!P*e9AXYQqJb;lus7YxD&*CuK_4kZk z`@M$ zay?w#hkph&FUJ=EYq!dctp}O`R|$6)$LW0T!C~j{URipwT_;e118a_DVHpl9JNWY3 z5H!Go9oVr=+xQ0Dbi+;dz1h<0H#D%(_&wq|JgNb`QxV~mv?dES4_x;{#E5*petyeN z3TdY@tHZF4wEL%bY`38sRS?=FAFy5Zy4l_?`dqPPlbT-hRDSlCP>)4aT%@41lNs-1 zXOgYEDD5P~`&F4uUB6nzmp_dTyfsLPv41$1d?}q*OgvX3!U?|BPK0n+812L5-~hct zbrI{Qb%j@C7Wxx6Gf!~Q%v5BPq*q;2UhMTw0%U@xrBY+cK*!1Puz|7p<_htik7)=z zAVH7oS%5 z?(u*ZF>WxnNQHe>?fMqDY616~&){Yjd&`%J;`)hCzSa^e?$6CHC;?4RVvUGu0Iu=S zh>2dUkylWt-ux5JPA|muZ?6yv{e7L^rNVJN7&2w?TrskK9JpTaqQYMzm^0dpoi^SH zQc`7a@gUreKJSYAu?hUx=TG)3OFJqHeD}iDw#WPSMeoyGm9_p;dj-J%-Xd3BNv{Jw~!0VFXL>Hfs zy(nI8v2YR+I$8DF8W^V|?USxc4@T=y^38^Y?}+08EBPBwiD?KLalfS6`9d|n+L%ww zj$^e92n;-e(&nQ_%8^-Y6ZTZLP4}6bFV`HQW}cQ}TsH(vos;zP8a#LojtrSb0M+{a zV$(wvIfcGu!i=k^{mchtW%)8dhEtyHj&5~W|J1oduGho5|s z5ui`D2?4w?^=}gsQS864Kk2DamLiFB#^*MMwelUOJN_?*?wdc9uH+Rk(c!B8Y}Hu&I;z++D`c(8yy~VhWM=>^ZG&Ib-pn6<8+qvv zFrEMUx0U^d+Yo}r%Nt`Y^&XwzH{-V0cw%wa<}PehINK9-_@+G&X}>;(V3N}tZ!c{BQ`jrk{hQ=Z#RE*TmfPNpSISO zP*5Vh6d}NY-ZpV1fSO<4SS->QE7BM)U}9mzq?k+?ehzNzy;WXJTu@SLkGZ~bhLNVR zyM;&fQ;GVNN`cE2U7xJ#i{D7^Nt2I_(rZXEup#*9M6D3@*S*=<%>K3TLy1w9Z>O;( zo;+lX4=bQIGRfWJS7nyXBL!pE&40}p{=N4K?nSZwk;Nv(ZaLs?Z}8wAIQ|*a z>`)*4n4oFay&9x-|Kh-ob2k_BDs5u<#3j{5A~(mq2lv|EqKO0;6X3 zqt^YWWyR&(16exdepb)c1kZKgetC5U4-{EhJk)VWs{bXdl#wBdUXtO( zmNQ4CjawRvZcdacM{yb87yj=bGImX-O`)+X|ByOHI)UWbG4 z;5G3eIR96naYnJ&;%~_#q-8s}g$)38OJ#O6`&yaaEBtV;pSST%30cjPIm^=*yDxNs zJ2n4XjTk{)5bBQ(9~$;~1`cj8P{M$e`tlU}CI|0*QL|t3NLO~wX2&X!f8yd-J??e; zgHnX@ly$K=tQzxDa1Yp0|6Q|3{%`3|!7ix4*Z=mXon&yc#a^eg!V1`o`2hR%WI!@T zqnzVwz)=h2F;pS*x>_cDN}QV7QU@CB=DIc!sddc8(!ykm6Xxl&=O#o|pu27<+U#Au z9QzWOf;X?kY82r2@v3=joW2@>zrBkVQpCYIxzdJ6yAOGcRNMNSe?DU4L=XYXY=`{d zUVXxrkkYnv;P(D#N-evXoi%n*nhp>b}9J_sGY;{F&@(3ob zSB>>DG`3w(TeLd%?8hVlfJb&f(oG5tS8xMhx)N<&u5{O$I?fiQ7IDbm{FHIQx5~0$X$uyIN^tLq#J66JFU5g}PjkH-eXvEZ9?2U<_=w5@*PZ zvuJyT`{S*FZ|{?%*}jbM=g~98iJTN&Mug9E;BR+yV+X! zj#!no+hp2L7JWyRMd=(Oo%p=|8-U1^ISXXd&Dag{?s~xm!_MztG@n!2Q*5h(*XQ9T z>xE!$7N97JKB+WW4MvHoOga=oWV)?n4~^YunM$w`PaalR#c zZzVlsnw8;S*R$S#%^Ht}*f?+8#O^;RTp9jMMXbWMro+6fKWu4xzR%iYsrsRN!fc{h ziA6Jxm!mr7hH9+j1M|U;|8SN9lx#VSww7+G;EaElszCS!ge~L<&rM)(;j!8h3_IC% zNJt4*tFf>>_li8K+nsT%{tBv1p)UE(}mE`ozyYFjhu5 zQJFo-2ItAJ-^vgAGwuE|H$hb}q=r2}?{ZZF@8zWq?i{czkv9`oa4o?JfYS=dl%x}~ zHnTi?x-NnPegb}d#Y~2C_Hv~im!g;nlmmYV-?rj!Np^Y%YY(@fw|dNEMxazS^U_d* za#h;4rLkmMJz%ARDE;gw1=pltL%EXopz4wNdD=mau1s(NCFT`Xj zQxO1}dB_K2HP}CAG3?gN27E`>1g7Ylf1gkaG<4`C8!nuzjF>OIfW9})XV!avFBfMe z1y^5nu2^hUExjT6lBL^B=j)VQ@0nKt4zj`gv8A|vDZ(okz?=E)1Y%L|CG62Z%&hR0I+)tZHn(--z@S!JPfMB$ z_9!5h`mE0c!hNQ@H%dp^Vw*PKrEKdS(xKrxMZ<^dp0i~ZapI#_#I%3#PZ4K4BlTPw1VBlWy&424Ylonlvk^>MSkYBc1xvgq%>tW*g! zMBXEb$Li+2C6G%yS`|?R8+qlgfo4X{affEtD@Jz!e!!etJDIBNZrbw^wPOi>q%=CY-+7Fa&$!8X+eA;!7P;q>luk8|NGY z`uvNqu2y4R18*Bh?N*Q-uWmqF>7jivn6b<(zN682zfgd(W?~X?k8{AG^QD4cM-7;vFn{L8LNOj@f@pfUg*Bkhwm6UAywC{B zM&w*lp@)#a+uIxXCY@bkEyrj>_|&)lBqYMLu2PZLM%taC(>e>4H+6S^E-Cn338gCwj+bO}uXIJ- zl9gY zOhs`P?+p?Lr7H(f^U2V$Zhh2L#*NYy+)T0cuCwOdaW1t*b%@`NoULdZ>A%)n2KQH- zkwcFaCYyj6W=3Ek(|)Y4__2#6%!4ony)5;Mv0$`Y_hYLSsMOvzi7KM4cz4tny?n#P zT4ws;lk_1UZ9O_7KEt11CXOX@Zs)oqXJTLBh{PCk95{!HpPas zN6=>UELiwgE7HPcI)%LGM!wIAUlEv``&~Um))s@jUK-uz-^H5FD@;!!u-H z!zo^-)#=_M+m(25Hf^x!_s&7pCPaUDMSWdF{{@5ed`sSt$NaOL1_Vf*hksMLMn(zC zp+5`lv;cJh1BY&!llA%C>jflK*G4|LCVdjb;np=Ty&OK}h6`}f{x{)2+(=`aeWZpu zqTkMlcizk$O-Ff%WPEvHx$0+5P6MxR#x=BR{XmdBJ6Lh=ATWCECP9Y-FOobT|z zNhL6N$lKb2jNCl>8sHkP5Gw|TDhpiI#X=Y3?#iu_LYPp7B_Mt|BSJPRhe!xdvG6~c zQ2)8P)oCr#Z$MRS-uXUbd2B0gTav%>Guo068r-}q1hb_D1O8)OlAK^`c8-52baAh# zU>umJxO(Di>lrPwCbUd8sm-?VJe)-gl`ayK^Ox}OfSu!)-xS ztUCSiIW~(!hBh^=nc=X^lJuL-~c#>{YLyO^um1X11c$YFV`+EXoid z+8%@C-5SpbB&5&Zv?hGNds?GkT}-~~h}!H?hyf%uaa@T`B5gMvPh3W3 z4Jok+Uu0561wMf7awLTH>$4z1h<6)A&5Cn91>C_mS5={OqDH|$q>d9 zizR_1&o}E$W6pN3UUAZ+rv+9(CR^3-MjNkSEHG#oW(Z3-C=6dm5&{paK z)UJL<$)ZnqcRQcO!c%WK2N`QPu8k%NaW7=xe^7RFxJ^ZPk!NCvVQDD|8NLKm+$)+yNunlOD);Lr&EV~AgatukW$ajQ7iAXWdlbP(i%O+ z-fk)T8J7!b6es0643gvkvwnUoR`Rkr<@q8>fdcfM!xI;bQkRo0d&~Vl`5y~jjm%ru zX|n0@&hgEO5fC|8H9tTa*ienb+_3Hyo`_B!Gp13q_sX+&&Yz3(b??Nhj=vyvG_JeM z^-KvBfp>0@hSgCQh36%}4X#_+1rmMj(j4l^CPt02?Xj2vo)J-zkpMh&d!Glct%F??APA!jxFGrUw`sX67 z(R*;K&kuwq`b@?OZ)Qk)$F^F2{Lyrq88NSeC(3;{E(l?j>-M`d13U@7d^Ba=@v@h) z!tdL5KCWZSZyBVms;s;@-K>7vDkM;uPH|r$HYEQNt}Ox(7f5wcHuV zEgnO>q9;xawgrae0e?ft&dRzR(zO-HXI9*>JM=`xj}OWtz~gJj3zd+MZRg`U9iWEU zuw?95bz&zJ?Z0VLQ%$XG)hcus&-SFBww`tGjA3HZPuD+Q8iw{++bm}`qh<)OQ@OyH z=mS(@w1{l0@MQ3zms|1MgfOGv9dMp0K>!&<&%7gmyli9{C_+UBVmqSKTb#e0T`a&8M)ootf!+w-%&#I|rCD$~wWL9GxgY|VTDWm`d&4Fp{k8$kc6wkBnZ z$$7b5MC=e4>Oa-jSA6?Pbx(%QQd8e8`PO~hkylhBPeQXl5#dTnbnJp{kkp(%wUzOV zarZ-g%I-({%OEo3K8^mM<&Pcv&KktRnKX~l~u@8=%E%dZLN zQAD_sQO@^uL~C}a@p3**byPR881dY>Z6}C|7SBc8s1AW8b&)?Vy2sysD_oQPa4174*EJXon2Y6q+f2T6?2lyC z++docKdI}k)B1FjE#!Cql!}I~o!3^iuWaOX+q%rU)|o?FA5&7h5I|wH&qqic7p$Fs zz``~xRoecaj7vbTPBbdo%YVo0gqg@~KgP9cl}Fcs_rlxA$EJL_d}qZk9@ltlc@{Vr zrrx)*ZZ^;bL`dBOmGvdH||Sony7 zVc^V+#N8*Jza9eo-8`uo^=je9o{;x>!_qAk<21Ia6n}K;KN@ zc>c!Pa<5z?-wPLtf$`8caNgb8y#_--(wYWKJd?Z6e4`pM||HvveovVy&t0Xi~>9j?PHZCli+YfBu-bB{z^-@0jBDP;k z{&UcV1(?O0Yj6x83er@1mUm7V4R*$5hR@{-PI?O=gk5*~d1VspRCN`_`Lcaq6<>(d z>z(n308){%dmvz10H?1>#^=Nz8b+=YrX#wheI`xvkBqyiu^O)iMurrhZ=XJ(XKPt9 zUj@4spKRR;&K*ex>U58ecb2Oy<*)UQ)>Yi{0!N=YX9mBLR=z)ydMF``k=dQrH7Baz z^sz5Z0M68rZP43QP?=ZA@h8MT^fV7Bir^j0K@;8bo-8!68>z+2E=A|oh5 zC??N$#>~QIo}LTvp#oQx_d?sk`>Z;SYpn~CKjtn}BUfwtU-R-VxOaaRDr3{pfwA4s zXo_f}^jEnuGoB{4tl;mmG&}zD{hMK8gzQ>qfn#jo5iFH4mjYdWmBc)^7O1l5Yka+F zL+#7z(;KS1QZC?_#C#$1FDlbyugOZIXAIy?Hv4KrD|EuKtUA=Yw0_J@L8dsM{9@wJ z_Qmkxi*Tay!uRc}{x`BJ{=cP)@AH?a@^T*Fs@I{^I!jE9`2e!?>e&a6faUTg1J5CS z><67vgbDM1R^Xv;?pPO$ZqDae{^8H;)AMN zpZ`=~4G!!ch$NM%MAb$sGe{|S-#fm;IwoeJ8h2)Zsy*F4P-`pZ7SHL%sV*T0 zl~ywm99lUiJ-KTBtISUc@gnmdxm6&>)-JKaSc!;+0nKj4*Mxgno8*-|PX-o3i;qkMGjgKzlSbR`=V%{d zJTKx7h0bn+BzPFF+>slgyEXMb=vm}^w_UhZgHBX|EltLD+pC8+s0^n_2yM?@*nWxt zzN&ZnD*oi7r+07MG7(zack`?E(MW!oXd^`iJ&z$;(}{ z4`(`9Y2YN3es_%>VOdPHnZjqFf^J;Tf>lor?S9>L& zW=_hIOgb^9EH$Za1-Zkze=)1SO)u#DP&X-}ApKC4o>EeHu1BgoEXctnIB@k{M*7V= zrOC3;`7tfn!K^wr5pvkMx~xgY7p>L#CccjsqvNI>j0P3gbgy}!W9NhuFKO@je$Ct8OrfSf$ z3YNNQG$xhK;?-!hH_M8=d!Y96^fybWp^o#X=+MvH$Hgn+0XY0R>`c7$o+8t#M|wYx zTXH2qxjrRUnNGxGD6dFRYUK-$Vt(-tW&Xj>n|p?RajTKIi?|$rIoyh z{9FAmVGjf^6^?p+fHmu?C+@L1>m|9k7v)bDvQd0&ybclcxjvBvr$GV6S48k)t0*v%fk{~ypSo1d@p+0( zahR`f0$(5jK9I4>xSbD=4G8<@AD!phP<%&%&rhPpjw)+9@@3axh(}XVL-WCG0Cv~6 zA1yhrj1AYe<<_=6z8@hQDbdh+a9rf5%fc1T?+ckDKk9Vj|INN(ZFXMZ{Z`=R3e@~^ z;!~MpapG5cE|njiY3(YG*;vk)Ht17Okg@oJs9 zLVGNr!7o+4rE}+_%kYg+LC`<$YEss}pp40dy-&=%)R`+!6mct&vZsu+2gQFBAE}rt zg}a@@`X|f(x_IshtU;N^8N7Z*0e7H1@+CGOr@Ekh^i&kRp^NV_hJR^dMv=`(pX97v zoVJA0B!kSKs*CeaYTK;y$Xnq{F7sVwml?uJo71r)ZcrUN)}z zY0HZRE>{sS=Acet^`8>Ye7Y2;fJ&^?NI*h?b8~%)CBc@9-x@mnO-&ntC*r1#2yId% z17+{Y2`qQ$@5zWUR!n$fF(av9HSgdiOnHT=?atDr6gqUUmXodbph<*s^+e<6Gy zt|o>p5MUE^M`~qj4M$l?d#%a>=bUcWiv(BGgu=boqyCcUtM%o)_cY9#Evy0q;mdyN zUMu}%6||sJTp!0#VG5)5(}2$J*)ax3Gr)O6Z&2Rv2yzwp%im8L(9Ak=2-URxDR%6_?NI9u@=*g%qeaTs= zCd%5@37|QV+%~2XgxoV!s3a3+96KhI%wX zrZ7ub|IQSDBWm4T1MA=MC0671@~gYmkHj5&rKX}PpA>l|4gQXI@t+1v(!!N}Rmh^Z zjFXUgU2Olg_~PP=U7Nu21*;Rw7qR)Z#z)j9+<}}33p@+@V(lY zwIEyD<(_^H14fbcXV3oo*bkidft)J%WJWM^&01@A9BHy#klCmZo~V0pi@#B7PqHY3 z1aDv-PU5Tc#1b*ErtKd0QYx7>`LZlbW3`!4o~NH)Vp{YFcy0T(ZT0fqe)1q^YE@x zy>N9vrJ_VNuXNr^^3690S73$GT$6b9TkX>FI{A=4Z}%fKGo$3=tx5Z41NY-LwR2w; zA`{;GQHOe=PslIwT2CJ@8xxVLKJRpQ@un*U=`UrrL)+{=uNk!hG5eai7xhCFSnOon z_g7krkU6$vu-8meZM(AVK5oKIIkC)KbK&PRG3$-x*Ud|D{7<($TQFV@z^|r;_KTEo z7@Qb_G3+*!iVS;049Z3Ks#iFg*`=emuiuUI|v^W15L5`_^e!8$e zaG*)O&3~UZLXbjIoZWTmTE zNdPHZDw!7vj6OHd0y8|`I@fT(`K42^c1WT9IqKgF4Vi5`ohH?f4_P?c)UpEGU3{vW zhn4WoS-)C~>9pm8!uD~S#!6ne*_h@B3lk4w->tdq_m=I61c~sB#@WGs3I19eCc0$A z=6x~z^NM-*$f16@x5iIOSJ1`uvWwwdUyd6@6nq*m$|*=-Ii}S6JhOG;^-s;K|H&8p zHTlgkyV%-(BR_AmIMaxd`(M#cMh%uDg^j~DoEbY%k_(gC;H5`@Wacoi)chGK^{M=^ zHo54P1xx-^)GiB>PiZPvw*~%BSB~$SyGl{$QIgdaHCE%l^eX&MLiWmh*iAvq^c%s% ztx-x8=~mf%Rp)sdmEtHKjenC{y?&#=);nT3TaY0pvYf{7Cw1HdcW+U9DgKE9O$cGf z*CcWT-MS3@&P91!wltBj_4(w)sF_>Iu(h$tM~$5inej*EQ`0oLdIZjp#-_|6xB4m|$Zay$2LEZ~|ciXH@U+G%-*PH1ONPrLKu{c~-&lHB>eV+w# z+qva~R)U0_r`DQgM-Mq|$Dd>cNqxmJGZHJQ*J5wx3XK6=xy|vjW||h2Co4=Z z*x<6fFDD-}Q#Ie12?B6gT0HFz`9Aro<;6XwGW(71qnd0v#G>}zMemXy`*OV@7BWf- zo^AQ@s@yic<6m@sZ+Z~5H_AUTby7X1y3OeHh2>t=+&mMjBdA-6uBv0di)Z@f2pDx5 zy_t%C@%A_&y7sZ#flWTtzd2TSke0=-g-tiUG%mb2;}Xm&AMo>aTxlfT_ko>X7vif` z_TBMO{4y#*-C=U#{W>amK9Nv5QPT&%7IUR1SxHnaUU+zx83V()WgW+qz6lf^p{-oi z>E@2>EQQUxpq!G%veSNaeN^_ni4`oGs6V%KD~ZpK0!!T0gq-!`p)EOUDWHC*z5Cdx zETqqV=wj@LzLnj$P##0SU3jnzc&lbz3YAoUaRd(Oh7npW>Ibln;Q(NDVQ>e#~P zfw}z#Mk?n%2>nC!XCS1^FbUbkpS;jaTjYSC_=%7?%xbycJ&eMDT7zZ1>}p+wUD!na zYE7+3A_6ZL9i8V{1PV&@c26`J9{V}d+rr@YA|edEK}GF8LtI(u{lJWL$t3ciIx3RR z;N-4)4*nd!V>2)J;9+j~Kcw&Xv#??CdC(dNk|h{Sj~G2XBB;|(CT%{G4l#*4OdgCL!n26c9ImYQx3CTo-7>x zVe6^aPx-rgv;22!MovSxN)vBp&7^$)6MyGnZq#AUhMZzpVb<8S?ByUXVMF)HaUSW1 zCiTS9oij^EKJPW>6j3Qcv-;t(@cj7fq7wdH@8RwZtzDzKl$+0Ben(5gy1b}^MCe^< zrsMjFvPsV3)vc2KR)TkX_9E=p^;d9YuWDUU_;tT&-rY0WBhH~rLg3iiu=FHnbcCsy zk=X^>E;KN=nIry$AS6(bIZ;%9(z1GU>3udB1cY_@wP~?TiplS!%Uj2wdE!We+>ONv zybRp$7DHbS-IGM@=D|YKhcQ+GiwZF0?*k38{#D~S7{}FSTE-Sk#+vO42_^^Lf^x{; zqxA;lyjX6OQJpqT8F}ws@|KWwgFkR4@89i*Q^UIqy>LHNG>Gk)hoNVf5V_iZyRbRM zX6iFT**#hH&BVgjue^|(Cm^K=(>*AXlI#TI4y+=#^q;kBJ$F>*Wj+1x=nZh=8Y&Kp zNW?Mg$98qHH!Y5eQ(&$MQ#`jhe}<)4w7%2xucJyHH5Z`P45(>9Z>`{08%Ll=qxuEH zM1gDKd_lDZIotEoeQ;DH9O+N^d}rk9Lfi4>QU8%G^oC(QEMT!^__J}NskLBRPI>_{ zI1LL_1gRLEJMv=7w9j?O6+P@ryIBzPeJyM@G*Zr;SK)}##n_l}+KnD;%_2aVv3d#A z@L%?f)b_{|QK{axnmSZmshz`Nw?(h{ ziH=Zz)(oIOtfhZqF_(9t)G&#}Z38r>nLDFF7QH>3c=Huot0|*j>R_(f2rFK^m2U*d zdZZf}ftg|Rn^(y?o#^V{S$@-pCT!()>WAy@rj!pfp7z*6v@TAYm(M>mXI#O2`=$Sz ziJBlO9vbo=^9-Dv<7>S&_FZ|m#dk9J=0b?4uT1RNv#}_;)W(I}U}a$YWW$K!Ra<+Y z=cO>ACYU4(y(qpLJyr-4bydfZHEVq3YN@F7_U^D)*sBd-w--2ar|-bl>oKj_=mYFA zBJ{R)ea#53pZp<@vrL0%3zWQqMCKEl9^S;&2h#3d<|4u0kF7@NtygFpZ;3_8s)x{) z9l-DaoAiX~H&yl!ddDU4d?)$_Y91$4syQ=4XiwGSaRw*AWKwZ+-dGv^OTgZ?4~g2U zZe9%jGt@8p^gbzh%YL*yQ?k47IfIl=S>8ozdXMm6o5dVhUzTH9s+Ti^>A|vHW3dE6 zAaN@GYle@{THTq%KH6%t3bHBpMwhqY3O<|LW?pC9xZ@#M$hBvl>(l93WS9%Zt!NRl6y1ulxhHBs#rCP8>=yVjtAk9x^|o+y|B{Lr zA-I!bX`9v8uRgNc#58OWp*4jS__Hp!?3(}D9OfRd0z&n!giz6m?DZ5r#8$V-j7W`D zp<6=5_s{Bt{VnS;_{l5T8^sT=`=EaO18wsQ&Z$w``laQ{B^sZ7;pzs;!LF|uM;aRf z4!C;)iOkUPUmxMwn*)ygPBmTx%AYQz8Gy`W2#qwo{QD(UuYAGxseJeR! zVXYUrAWdC&p$KamcEyqPm|>IWEinEE!buD1TbMCYpNnu&gx(kQ|4Z<2-j93vBFuw# zT*F33VyGUI(_9mVF4{UaLSQ`Jd%N!U^@Wd4tJ)>am0=L&RAZ^{oPE~g0~)bau^OQR z;QWWF_)k(((YqhymmqKk1!7W+S<30EXr-9I$D?FhzO-&nD=-{N;ve-zExy*gga7N! zIS-C3xYK*WTMo(l59?a70SlZZF^6W1XNTM zr1$QkL+B6!gd(V*B1ELuNS7K~0wfd_rAV)VgixdtLXi>z1oq5&-~Zm<_SbX9I47SR zI);!ZPv$e{egE$3lAFw-kzW_9n+X3##DBlm76mPx0Mz@=#={jp#AGAFqFksBVh~Ns z;TngH##Nb{t?F}z8LRSM+O-I7Y*OB8z?lrQec@GA!DN!HH8(O8B32qHr}^&MBx9f? z5n)Qh=btsKm>y+;^Jeh*{5t<9+rf?XCTb}sm+t)JEE3)vlhLkoD`MOUWKib%Y9@jf zcZ0jsb+U^X3J1bfdX{e532$5=3y)1U1N*UjYwO2N8!s1Zl)H57$h#P!&1|nW?vG_~ zUF~_z9H(dUW0&;iCto(VSNZm3W?&0rAtr-GhBDPcg3}RTqizZdoVf-6Ii;t8Y+MXUV@LQp_+aKD*is7*DNMGXYledRvH`V2!6;AgyF5{wUaq zwm3>=$SpKvZxpLP9}jn+z9H9Mkw*tJt@@ zSv6N2@pQ%`7F*@+>Xh-AP}09XM>7q1O;~=sshmMjJ0-N#owrA=@xcDhe}g4NNhv`= z1uEbtZ6PR|as)P!zuL*}ra`VZs>wY#$fGS;2Y#dcTySN+q#Rc-waxi!PnYVgXLB_cLI#JjzMovuzzFN zvW;Z$oMd=9mWFWnL5uwITq=uxZ|vA2Yw^o?js$ghZD~$%>MrO|jeun2JcK(foI>%y zjT-(Fm=EQJ+o-t~5qEl;08ZyM~QKke%kx{W6^VZ@R(6i{1*NI7nQ1;pw9B-Rk-YIqE44!!ioqH zV&lia+r3pp7H_{3e7k9nCY}aq%k38SV=AUuA-rb_o%O*azPP1AMW#3l%agOff&QuF z3p0Qg5%)Aak#METy;w6%I;JJ(52s+O)p_+Q!=JH);Cj}!3+#afJtyQjbqxp9>vR<8 z^XYfX&KmyChKd{J8Ibfa_+eGI`!X)@Qfyp9VADzj?4_*AH7SmdsI0>RR48_RTJ*c- zy}ZSo$H5*bPR1Ddh2a4k1_fq(M1iTC)#Z5Ub}#OpzI0T*t5nJXspEWoNakeK3t%>{Ag%Q03v^ni`kA5a;nOQH^%=rU_2Y3-Fm>qTlw9;?)!X0)=j_70y&z5{XI6l&|ET#T% zkbyDo7v^M7WnISB_U^W_A+)$T>24f%qj*r` zTQHZ>jQihq4>3pLuQRa>U3&eBfQ$2KVD+IdX^B4tPERq&)W`oeUA^%E&RBCe*Cxv=Q%d5rT*n%b7HOXds}-~u8$~x z4UBytZ8@_{96L61=z1s%&*T(3$fGnHS@O~u-C~Ms&IPiSi4u~2qvZ+0jhFPd0$}7V zI&brXrhul%;SLLV%e^hcfk116@8;Y>eo+RN!Pyqd}<1w#+eQq}?@@E{*$BsGRUS+92vP zWEFx*8&aOK!-H=<6JG?-<1Cl(Kz~^HDD=?nfAaS5BPCv_2%qV2D8LjCH#mAQDdm84 z(=g_?SZP0Qz;gW#XqvdHsvLd;Tk{w<05wTVtrB4xIk?O+~+za!b4)umud4m_ntR`n#0(7r4!v4paaa_AGzYIfmQ6@B@Ft{&Zff$HWR4 z9elBTrB~AKY+KPEBy=|EVA$NXZBl!g>9zx1UE-1B%N_vURSgtGwevn8zLrp;x&Yo| zs0#1$M9@Gqwp9?}-;;0F;1FGErkU`Vg^f@&RBTDj9PaxpB z9L#_;;`@?!`(b^Vw#vLDSeW*hGbvPo)k<#dGSCdFFQg=cYZ|z!E@ef~@;OL_{u}b$ zru-Z7y*-f{dbkz%If@Sk=hmd$vy8+*LlHms7na?$Y0z50H^ue^S@<--9`&9FCxOk!~!#$kN{G#7cFo(+(>fC* z1;2dFy=KjxqE9i3i8HVcb^XWtNPRfr)+mDCr-%q6n0lr}gfZMGE^ua+b(5R-2 z$Al?ZHJ|%8?E9Y>Y(nxTr{$pIx!gwzARt!aSDNa+0}{tF&wBG=D*GLtsA}Rk23b5C zQS~4t(s0+GBmg%Zt+X%g;Le~H|D#H7?9U2TtciyGHM*7JXt`*7TS6a5%S`4)akU)3 zUUHSqDXXp$u*}@?0W)`;EPubU3QgavgOkCC2pU$#xW5;P{n0AaIIlcSm}oJt>3!sR zC7gH~Siq|l6~;5XEnF@z=zKfvkt?-hh*dGk6SV-i=DJpZ66T)~R;L8-e}B8ZV5?p0 zcKFSwXQT}siQgKc_eD~H{$|T6MRqCft`xY9%&Pw$!wf}9HMxMuORqrHLBMwv2Uzpe zl$xUGCPeIQQ29X4jlK2t)*&sQl`W7gqyd?wdCz#TjFRZSl0yjwNS23MdV`z~HcbKN z&1Wy^bG(soj%i_Omit+lp#Fn4U<07$1EoL-X)boYZktNP&D-?dMUzWwj>~Dso?Y-; z9VJmk`zR~p_*LKeng0Zh&)LyOPVCk)y`jT%iRNUF&*Q}b10e^X{!X5Mg6{PbScmNr zFV)o{0Szasm+QQ@&H}5w@xm`J!ar(*o?M)fA-xTb`Vtn^PK3N9>x|zx?PI5YXPyMJ zI`d_{KOX!9?3~VEziJRTofraDyJXbm&~Cc;EZq?m+LxA^IZg>BjCeHx80=!h!3Kz^ z;-TMxYL?xy8aM%+4>A|}hZ^SEE@J$G4;jdDnL_D3!SyDMjZ!*Nje;4tip&d|0E3d` zz^GiWE@5gO{3Nej-GcK`Ql0iZy5JMyt>OJi`Kg zKOY^HJ4;hBM;4$0+zAoUeBiyj4%es&3hdIiL}}ItISKX3^=%ki1yjqIgN8l1>};3t zOi@n5iHQmHGlW8c1Ym|Ig1%%I2eWOsin&^Zfq6!wOg6;3{YsPD`!o+wVHp7qUAdIQN*!k2y$M9YCBCvm*I_ zMHp_$8Qln8sIAnUIGj`$-7;$s)n(4cAy(@;ekR_S)_e+M#uwua3a@!HLJ#Zy(S1AA zY6Y8SjzcOy{G0w|=~WeO6QNSj;OQ-Q(r1^7qJ_Qi5rRW!@|3c1wSa*)Z$s!CP!(^?0fI5)ps@IGYLt1x>pQr7{4}p zh$)Vlu`9_#es|@4>zDR#OdPJglsKSS%csY-F-$OSpsvx8AnpiC;LziO{x1}@3sWA} zI|v7A_N<_BFkT31wj-$qY%B?!Q0tUiS266~T0aW|`jyMS757^LJ-EBd8zY>rv*NEe zOSgKsDrUZW6&y4%MSaD3d6hs*F<0s}z2>E2JNJxc+Bi1e3MR<8!u(F_V-yUj+=iT; zpA}2rOB!8KQ8N^W9pQo;oAc@cAtJLgkky7(|5k`X=w9?9XBpsihxb= ziF=vqv>fcFab#kad96G{#G| zH+9ENwr6HT;@zzPpz&{vwgxP zeWh{9?C)6pn;7YmHw{%UT}==(^gT32o5txBHiajG#d{W8px$I7Je?|t`$E|6hi($z zyMMZ-iZT{?d@}E*)jpczVXhH1)d(aS<@uvBH{zf`2XZY>z|N0`X>;>>a=lk^v)r@Y z=R;+cK=%A9$ezNR*W&>S&&5A%HN5x7Zj**L7GL*J{Y2H(0$R=|y6pLDIezrUHXn4T z>SaNRmx=n-Qcy+F9J@ljvUquwr+%5+V?NqUTN%0BrDP1&!;tjZ>%JDpIydB1Ko!ym z83Xqf8wa?r`d`03WBxY$FE-)!H~ahyFtHn@hZB0c^=A2-xHxYv+gG4+0SsMcjBW(P z=+66)cew2FJf+(9%bKs$`S|4S3~{Q7PV2$G1K960m}o{r)dXOHLBSg1t0fRPjem*5bF~=Wy!FEtNc89 z&~@u=C%>SE^!&KXU&2e9WTD2tavTJT{G=w{?+@F%t1v@*W72(}6q^L#bT6UfEN5^2 zL1arWTDYuSih8KQWvHp^R{zLQe`xlD2N+1+ZswZuGJF(moceLXN#LwRDmK_L+Z$os z(MA2!v;mS6GR1+vw4GC;BN6fGQReZFi|oah^wMTCAy!q6sF0sA3erJU>Z4zVtTEy4 zr=` zNd#}G;_^s}nFPeBKQCMazo)CkaYfgnx-I|s-E}%%JcG*&#MTnq(p$QJ zf-o_nkXKyxX?DgdX@cg(@?`~iPw{xdP1A3N=4TBnNC|c%ISiNL+NY!BwK>f+i}rv1 zjS{teCY#>Z%YWvqxbS67VHeC-Se$ey+4_s26Q27}qxuo=FUJg?6;TUe1)sxIO1Kgm z;-l-C>SaB=OVg$wW!UXj(%s?aQ0+hWQi(Ih>mOyPBNZ~$tMe9!7CWr!V!wTf8OFuk zWbbDvpIq&fzk!*2sMVdq#9_7i8BeySezctQKTU^f9vpky^>F^E#LE)Xs$sYJ&YKqT zTRl?m;{`10q~aSG|Avsp#SKOV?5RfieujjeCn1U}zo(hoX%n!W{=i!MvVnsG!@Cd8 zlw+RK`?-HJiS+?K&AdWS@-Fpg`{%w=j5_QZ#R7fH$mV;IGV}8op?#O{@{;sKb${Q> ziQG?nD{X*FT(kXm*?U~O@1q2Au;$yO(<3VB3r|RwMM-#(DuJ`F=zH%Hb)UvcXS;T6 zoO@NJBXl9q+Hm#p!~5sHhn&3@e7Jc*W~^M=NhsldgcHho;Qrog)GKkp;6_xPaxuy} zc`+Hc@NL5q{YN&I;PNsfcHeJowgx<@b=JUPzx<+Xj30b@7F0do?%9?tUNCG@oJ+pA z@=e!`TZQ53l%IF}wJz{N*S^p&jED@qd!J)S(anqx@X2Ad>LlG;gJ_)_K#UBe=S ziruZHx+!$y0delfV*d53qhx~bUm?$;FS?stNN?3nK3~IGAerCF*iDm9Ob4G+gT9tu zSgjQeI1^;Xj6tBq#kS=YQWIdtZLRHK!xv;60#z4F&70h7)SsRI4p!_=kcr)6gp5+s zeLo6#w|#ZLbG0>M+g3%tZX6#Hyg$zNk-q;;OL#2r%(Cv4&(o48{?E#r@7l^d`f!FS z%v2@ce=RA;tO!wt@Mr)pX8T}l4SUTe2($-T&wm9cnch8TsS~o<&cesXKE|OZf31iW z*A0Csjx&j>*HO$4gn=Sg9$&~RgKIhJAM2K`cg4^5$-U5g$3OY)9~AIR4Y)xd*Q(6GfRaal#G8BL zGTMr<7BAWB>mxdhGeUL3Cw!VTlkfDUeLQ5V5E6bsse?}tY>n2f05}xJK^0BqaE&MHfU=UP7pB7&(M?-04ynh zgZzy-(g>s=V{GY?pMZhK5ooTm#b@>N?O+$YnffbG%psat1jQC(&-Z}o1nxjhAKvFn zGG+C241?^t$RV3OEX&WsUu80cHd^*#|`)!IgsYL|(B%kz6MGx0Qy&%Zd%oGEDImqEf>c zUJ+jcR6Xi-u~)=S8ikkD`|kV`Nu&x8@xkshZL1{#QAXQ8p=8VGw;-ZL1UvY{rUv|r zxFVP7I|sdF&i>E7@F$<+S@p2j-<_~|{tvvt@A&zV*EZSLE&Ivp^8Mts?!(Tpe@q;X z*5Yq=tadn#CXUfV7hy#KT&=1Rs= z{jEsGI9rYf6Ee!MDj!qZYMlDUG{rxx`1x?bpFvY#@1bOjyHASwDyZ7R(2Dvy6+#(r zP$36Hl1;zOYCN2TPOge(pna$BM5T(!yY-J~wyKfY72r$f-KlG!ii~HNkksZ`sZqQ8 z*s$4txJHj4nd*D(R%i09mw2bEM0h59deYgB%%$X- z1gqVzrF!c>w1Hxj4!iqSy;ZPe#-d6>~>Sz zO2fP)&9;pAHbf}M&e#H0YB^YsA;YwVjAhn9|I4I?505)2tz2I${hRs=u`_QOOGXYh6=rtErnfSJcycb@BS4NlAnnFMq?n1QtK=$x(q{j;A?u0 zmTmtg+`BC5J;E#88b}>V`qr$>tURwQ1S9#laEp&5N*vLOu9HZWI;!XTBVODqWiQLI zH%Q4`3*UdLdLcet3EJ=$8@BTT#G0xkEB|g#W2Hn)>qbvvEOBNpIa19EI?&$JlP-)! zI-ooDOF{{9n=7C6$%NZnmSy;svQ_U=JUYN15X{MY7zx3E<&z}52YL%}NcQ9;6y8ap ze!58G+HK?;uQ@w1)?bw*>pVPGdbJBZXCC$)Xpt5rUpd!Z3E+j-S40dwc+grM<0dez zFkF0`b@@PuR<*ko-eu5pHe^}tWZriJuCY)Q-~*3R`G{)u3_JSo$&n76=f=oYE?i^d z$voRVOp>)PZ}h{x3M{gljmX>313zN9s#u~%b8jT1i@X}f{66Vldaqh)DSJ6iTZO{f zYaJqBho^lfA18VkiWyfHqfc2~8wEW1IBNMf$4|py;ykOx$83ILy^}R3Cr6u>m_Kg$el*-|E*#V7{1|}i1v%Jeo#bqbZin4}-f6Jh@4|{oDTq!J^;tTt- znub<}Q<@Q0Y>zoLa<;ZfQYu8eN7Iys!`iPOFHf!x(#lN-THYF6SNdy7Wfa?$x83TY zay&dP(!#AM(YjhW^>*VIP(%yhllK1rTkchM@$@R%OAUuL9L6D4Ji|WAUyG@sh6vvI z;xhbs1sf))Xee4GQ2mS;S?)0?R0iZ%Lm5-y^&_l*vu%!>G>-@N?op1hzLmEQ z{h@qNj^4|B$MZ9?=4;9~B;)$!O-NCp;96Hw+3S}z0>1T>^g>%YsEcUnY|JEk&viOW z9juzdJ1JFHX|_~2e0&_7gz3$JWa8Csj*PdOtp*dc3BP9UW06FTm6zzIUA^ZMfg(!F zR(gH7+W8elw*}P8l6eU-(%b|0_Y}h~W8rQO5@bOODv?lwqn3k1+qgW0JpBDpmdU5E zYr?Q!Y#)<%XCT|(_1*o`&UH!ou~iO?Hf^~6@Vg_!gi;UJOhm5ObhHX>bI{-bD|lx> zH-|HwbxT7K5?GR^obj}`+s_sJJWL7;j)wZBxWuWRsjlK7F^OL7oMCdF zA8%iKU)lZh2d}k1G44}F=?G9Xusm@;Q5_bSd%5iPS>#8wy4ZD%X{KvCr%=6R}eFvVH{pV+?*$FUzCd(JK!T)siCa?ats~7ZN81W0_e{o`K zOl=YKrOX5(g4Y+d|62b=&ZY(!M{9Qw9AuaI1_)-`l&LD&v^hl?f5`m2&zS?+o}{yS;!= z4E{AG0{rV;&&d}II^j=6|F!1}v7bP>aCG68tt#zfqD#LJSmup^4Q(R<^;tuigKA}hF? zF+D;Yya(L4BwwJ@_2@7zIYs{Wu1!D1N*#DkTOn`Lc1~s?9KfctjO-cA%j+5CQWc3j zZ?6`^??sDy=Q66Trm4`)e^|eckFH%bSf{gRF29C5@eG;$@y5N$T(Vt@t&E2EPTn-%(@oa+g)#zk;SI-z;F;>I2G ztpU5Vz`a(v-H(TLmo!6RhfT3Q)U^ZKy%kYj=PJj_&PN-sJe;fSPC(-7orB%^50PB~ zHZP(nn?>dmSJPB%xywRZ6SsvHvCOabBrhxVTE5xRI=AR+XbdP@LOJ;cYk=?8bU-AU zY%7iE<_B8Q#|u`zOVa{(zb8hFy?Y#tP8jP%kS%GO6%fQWZXT4JT#%6UcuZYMPVkOy zC@mR)6*^poojp6}TjgIReJteUQ~u^&yY3)vU6_jK5q2YzS{W)BGGhCc6^~-W9MfT6 zCJ(Dw!Ytuv6d$mCRoL6Cl5%a1h|V$=l=8knk*obO*O@{QBsexs(2hd;O9FQ8N~AfN zpW0<`(M<5CGu-;Jf2^#3&rh9TlRC6HY=n$pd#v3ex7ncKTgJ3`Wtm>Ggbf=CT^mvK-g!ecZ5T}qzS|-KLrlnN zTmBMcUM?*j@W9oV*!pm}`2npHOr1LMh$q4a0K^E(O5eacUyu#-%|;fMPHuIe8=25K zQe*Jm17zkMS;eLX8kyPMriYs98Rp;~a?SQs)G>`^C|tKMjk=d?LAou$znh zbL4rmOo_V=X!LRKWMt)4_um4?K|x^^FyI>S;u5 zx7lB=5$V+p$Ms4E7yHd(R_Sw{&V_n;-pGQE*wJ^^mtL4s>C}U}B{89y3zit6RYN#p1biqB`z_ zi;b)ww$+{wt*^-MWZ#`WxoXAO zx~{VEtwsR@eVrLyX4G|Yn_eJ9Dp`zk>+W>k?lwo819y*VPiiqHQzbNH!RmvgQaupk zPOX2Jv1@zYuv**I5_8d=W3IcpFs_w!n2DH6?g^0k)9H{-=s=iDvHj>aV>Ujuzt=NeU%U3N=nte58T0Y7cv70;(9INX-pghtyEdvJ|S zafqPj=J`^Psf&vS&U)s2BV;8yj6 z*X(9E-^H7bG5o`I`o|Glv%C^&G0Q8m>_3}!chmd{Q7%iXxD7wv5(F>Dc<>%4{JyGh z*!0KYQrB;_ecKyfj)b}C5+Na1PPW zb(4);2e-+p_I;LhdVa(eu(LgXfB~iCoJ~ zx*KDNhhOQxxFSaD4;k^-O}`sLm%CQOB=9#k?grcpUMays>Br31mOSJbE8563$DvKs z#NL^X529&QhDVwN!*|f@NL{!Gqzq;~`Rk|AO#j6&p7VjyVbx`r?i}4vdI~Mnxk`}U zg6%Xpw_=Q@HozHjG+uDgK`l!(>m=|ME)7A!a<(*B=r&q)9BK^t@h;QnSt*uvKsYKc z^ke>Ms#Fyy_eHF*-S_}p=z9Jm(r-I+%UBS;m|rt=@Hx`{M(l)TiOC>*!7I#nxSy?b#E^5W-t9c3XZW;o>UABo;fK<_VxXk}v=U6HUKJp<;E$&kx$}^7R;_DTG1m)nsq}O9PW|Ln-Prt3v_V&)3RCMgl z2`l@UAHb*vz9RdmE0R|Xij98!o@?jE!Ecr(wH;83hB8%Dwx`;bhDvR_(yY(QI?>|7 z>%+T>O=joO-eK8|+U=O`2234C<95mD8P^AyEG~KtxrZkRr!0@ywoCGUH)|F04;x1?K zPz?xM=0;s>p;v?W9hTpWE?MW-ZpBu4dx-~cyiOGH+3k&UFnu>)RY|j0lKj(&Uem=P zg680GeLSRBj5XW9?srsRq0Z&Pujcf>*332e);J_ywl1Gl4H`Tf)SOJm?le!WG}s4P zEMqO7@wNUTrQn1x3Rn^An5Ye^Mb+$*pyLC73^TWdlb3t7t^lSblb;*0QW$}a04`!B z-&GS(Q^f+C0JsOEQGb7xbAPX>JCbs}($9JjZq`0(!<`aq`Rk&il67NH;^p99$5q&! zdKyY!b9i61znR?OZE$lbKjFTT*@X2_w##|+TgwT|Ny~BUEdi^_grg!RjrT4Y&%Q36 z<~%=?i~ALqAwddw{Q&vLjXN|!#q1e(-CZ$pr;;_#<8ZG_dP|$mN5lO7elk(#-{3K= zu}UtN`19Uz^GoSIrV<)y)ScAbo5H_Mw<}*;dZIc0xK)^Fh8e=0$P!u6P!^oBDrjPF z)F2ObdK2E`=}nS$PQetp?aCzA?zjna+;U3E&nSXfCT>2$3Kl>2XxalWvdC-XJHZLA z%=gH9iYGtInPK|JM@F-Aof3+MeQgz6>zzC2+fv5^KvOQi|Au9sPxnd9NAp{yT3X(Q zQUMkpB#PEMO|BQD8O^OVACK{f{WR&ex=Sq!t#Ao!2x%;`XV9oBwp45C(Hi}XCeqAx0pb$2fRWC(9(-eL()A#lj6L-lyJ4LiG~(kaEsIK6Vt;r?p95{n#C7_ zt7l+l2bLY-yuRK>Hw0JbnVWF{9R5SjooE+#W%ml|{XflWg7UYG)Tg6i0%8^ z?TZl`u~q)77D_y7XmMhI?YlcaRcICSPTLm?_Q%A~tMkM`lCs~^p^s+7n-?s45l%e^ zo__}xonBR$bcy6z8L_Pr+LN;==HI}E_?K%3xbliV#0(cT48LaYvd#Ziw>)OmS|j%6 zv1(8N#hg(hTjqC=&*Mt_%_%uLT7*J&8I@fOmhDTbOFmndQHdR5qb%^z*gNPSwM#fOOV*T%V~+_Y}4EE6gx zCOvP7Q0m_qU4sC!}!ejv*gFbxiZ6;fDP8Y+ZP5}FOIkbFPqi~`)bQhUC;74E7+vHmBwO?i^%3xp85jpvM<;*yjZ4egh_hv+(MP*Z;yLDN#)Y z_|5OaaMfXlXU6ADx^gxwb%r%PP))>|Inv2IqTP^^xW6Wk8j2p5l|PNy_2VLlwfgBh zct}l|JiCYwqJCPGJX$CD{5pPD#p7Tq6^A;t#gOc+&erJ0I(E&i`El2r)_VSLg#&!- zZOp?)jvA7aEW>LeHfkCa55ei?9FzRCxzC{OfUb3ShIkU62Qla7*iU!Crzr^qS{d%3 ztH}X5V+jU=kQXv3y;;qEJD%}3&6LF~K7WvHoD2tbN6bOa<7lr9{(<IIkkU~FQ!Ok#K*6jWAG_ab5A{wt?qo5 zs!RPT{(_J^D5{~kC_9)aU08e$_suqA3}^VQlE)gUScZf>C``fawuw{fKIR16?pgHy zBeFn08gct#M^MkwLJ!!HPA)$L?^EPi@{CIkWQ#)ZIpXl(`Uiu1i@Fc00n8a35qYlb zd{IwQFuST0^!*89g9>*Af?L1IFGqMSR6vDkm=ZINbu(9bi|Nm+8mmK!6s9&k597Qb z2lz`Q$7$9hAu~T%o31ze1F(i*oaX-9g3OAViGUu?qxtr|uU{XT;Ht*2Qn{^;Sq9ba z7Kv*I1i7+pz6?2RUINE3B5c7GEW4*6K1G)<^v^9nyo`G z;^vJx(|z@9L&d)sq5QWl_n6^c*q;)%<7OKl?dG)V)YII}YG^&3fDKqWW1Lnt%iJ{r zvFzI?_kZ>N)2vDhKVmb`5O?_Z?ysf9HM2*S4pRQK4)iUAh|mtS)2 z;d?S=9Lvn%>?_)@q@C4b^h+m$2fjbTP9{uPOd8d~WIN1??k$Yo`Qz7Z;c+uX{|L>+ ztyrqrHi|<;HrK$Wx7TK`hTpuZ9!@q&qwOPC@UopoVGakuH7>Ip)_M?&JtfLlv}KjQ z)KtoF8tcMVvjeGqKE!u}_vzQQe(lG^x%McsYqkoS=q>`NCscj`T@`x}WD zI$R&4q%79ZJrcx_*f_@^7y~nUX1U~? z$9~qc@ZHmE+@hL(_ltNJjEYS9b{h}3y{7NC+P8F?uE^A9eI1mdPjl@>aEIMk2%%)q zmP>0UU^H96PDO)(wwGAXDV6PRL@?Rbjb!1%)V6VyUA?ik9873%Z_KGHHP*&YW6jC0 zS%;*>S+;|=eiRrL_?7lHW*7(b+5%+XLB4Ksg z7d21^BWB|uo@)Y(oaEh)BZ;>@nq3_0pT>G-+SD}mA0*}yQQhRoEkj5oP0(rjac0@cl55;N5)<^N>VWZV~nqz>pD5x zK!{UzJeO3WsX0V*JLRXS^TBc|HYTy+xu?H0vSr9f=c3Gs7!mCZX``t=t=7{L=k5%Y z2q=*`EzbpbT@i_=0Fp=K}gI`*%zF2aHEj zC-R9))&;obdEyHA(C&b|XU3DWEL?nYSNQG3{qc<*vWY6z%5aseZk1IfLOro~-Oy*v zvwyoJVe3u};LJ2*TlRj=+Oz6YDyHw-B9-iNBDgBt z<^3R%ZOW!*<7s#ptOKAJ*(iMt=Jk~8BC--j*)mdb*fS^|7tZ@P6mi#k;T256?TWc@d|>sp~OEtLaS#_jH6W~+qNHFdLc1b zlsdFT0EnEHf$cNVg>P{#uRB!yQw&3?ySCx3Y<*GVj1IQZI%opcChVS~!{6zcXZH!O zEKmi?0~#tqJc3C|au_rG#=cyK<;Kn>^J+JBIKH>Lq14{LO|A>gy0qj0 zgLQQ=Ya>rUom}*K<>S3)#a}mFs&j_#FdzSGY_k8c{Qcj`zChT@Ss=5D=NsE8p!E3UQf?*Tw~%yx4iEU zM7j3;63$W!i<5`1C_xEXRkE&QoyQo;BLW*NXBh@$a(rnfRvm7c_Z-ZYbgcsBFccI!PebA=7wdtdS0=Djq+*6Y_iqQ{bI;$Ju*<8%gdK^~O^&m9dUJ0QE@o43x z!?#pYO%EjTmg-}TI1!VZ-H8&#v)u_KO-g{op+Lhb7Swn>kw@-50O#?K28DX2px7kg zMyy^ruvU#Af}=IrH|U(?e(Pi81xkMFdjUtlHH8nXn_^u9c8(WXj8^(}-<_{rj92HC zd>kz}9Wp~Wq**WMURp2w0?LM{5daBsqY`1;Un7O|S&nMG2;pwxTYCxY+#S2e!;^tA z^mXRl#E`?Yrxv#g20$=|%4ig-r8C@mSGQXyRaAR&E!Zh648_LeCJKfo1=!GYXHL}?2wO2{!M*1Vt-!7C4V}n`0{YSLjnqlb<~zJ z0<*eQ^_S|Que>I_AuDROEtcHi(boIVa5l`G@0NEwK6FvI)a~bYFI|s`(7gm6F@xTQ zGMgXla+^Sv*QiyqG*pBm{1~i!@}FH`wuNh1v)Q8{ z?u+j9jd?Bz$0g-1sm3-xyLKD-iNT?z!7?6DvJ*GDhP>GCVp#k~%tjh{U+jge z&!TXaqux2TQI%8s?aY~TW7~|&s>cvZZ(Chw%A1y_j<43_YhE<3uz5t*96%~%*|00KsLLL&wC`~*)IT2e$$22RBK@xS!{7|}3gIgnDCLIP z&J>v?gw43Y`lrN*Y?byAXZ=17PsM~-`8?XJxHXOfkgeA=Hir(B$ zA|~dX;Mo(caAAY4rbGJtL~p|raYUGA>Zjz8@n9(AL~7`r(QJKuaHowT~+ zEtOPvpHuxTI@nkW-rZA-HN0*uIX15rR?hlsWI_G+&f7SPzpe6pZ&3VfjcK(XL%}8J z(QKWY2<3hKQfnx?SPqg$st?d`VrTi#|5=zY*Hvw%E~fsOxcU-lp@}tXfoy(Z41fOT z@=fG zN`Me4FA%+ZL7QDzM%=owp2<$rXuBLIq8%d(trH|{2>$06Fc;F6P+^(u#5nf2gBB6f z2$A%{(5%MAIjPz`;fndv=eG!uIUU;s1C1vf1(4BV_Y);7=khst#U4uBdGW{9UM;(& z9D_XXyk1BZNTsz9Cj#61^CYVZ2hqlaZk0o&Vl&y1R>aTv!U_k839MUMSEdX>lk%?8 zrSED$^FL14V@7@EYFlp$=0=FEM=bUF2!)JIKzN-2R8~^Pk&uSN6a3LbfAd}(f1+}) z&%fFE#@lGgKNesvXTZKt`&E-Z=!`wAjCV1;{rw3=L#k@t+P@u=&v9PD%yLP20RMyk z=T(s|A?^dOKtP6Bh7Q<=yp>E0y>&iQ;= za<;(Hg36vp{o9KpbamQ=bt=WH%h7c&de~zoNX~g!shhspeQS$Pu7Zt&7uQ;i3_ff| zGF!Cdz#+{6vx$?7)3rdmj@T%L$B>R=sMY%w>%)5h4ngh4jC*-%CY8AhZl=eSI<@Lm zPn+!}TA}UVQflv}Ob>JWSS~i0%`;nC6s@zQfMK7?)`!mmGnnH+w?5n6l2eGlbjda; zU~O}H2J7yl0^FYSeI7QjAw^=k;_d5I3&h8~?n(^`7kM;sk)c;TVw;s8WtK>|Zp`%NTYMdNUSU&E;Y}sC)s0fMV7=6f6XlRS-??&CQ9u+W$@Q@bl`>SRPmA!cDboUhK1u<{P`LGosTUU&|iW zVO-|P%WAOZ#YT|jIm!*!U@5cZ8Aj&7X#-}mT4 zHUZfm$Y^$yydVAt+x|swk-5OWJygI-sHl=;3A-L{q>tGt9F*y)3$KFbLA))URo-?K zec5*wqHKI=F8fsaAdhzUrw#fWqUK9|s~mrVa??;A6>N(d`A?@l8~`cQd<-tPRQyjd z|M#vH>$IKqiqlp3uq=A7+`#LxU22+B38NU*SeUgQWxbzMBjrrr zq%)&*q@zb{f^5giO!31!emw8D8uygtpCvgRNZbFkyCA(oxUECy@jaFPQ#tAEIVsa$ z;h(^8(0G^jOpptTHYekadh?WI9qfX+Nw9*yBp*&Tm+>Hni``R)cZYY{D`ZCpL-M|q z0`(d-`rao2AECjJ!s&ahY8KVwaJFqlOa3L`ebY?-`&Ll*ouHjJ8ZBpUV3{{+qee&e zq{r~`9UncpM|;f?D=&)?ClL3QCtwB&@p+3hs>GUP<1POk9uw zMQ7{;6-FV9zEAne!I;l57x_~slajA5CR|})gXiRv{~j=9 z{$$>^)26NRoyK;Qx>vvVVrwjYMGa}uqpy>;-qvww;~)zE4)lH1~g{^chVbkHsK9>BN^mlLc4`rL%b)up%V-whAh zB2{L?vq#=@oL%5C`7H8iBgcL~TC6Zy+1TJ{Ht}0B<{Fdig2gv#r`R=6%jkW3vRv#Z zwn43TTNcy!=a7q-)0@YbBR+G-IMT8oR2#qKc}nS^9Q#YA5XJf$ze1fhGkGID-bm|C za~}^mzZMN^qKgo&c`o!$m0?sZcohZ}9v&I_A{6TPHl&fU%OPLinTBq%ag%EJ9vowB z;NP%OhR_Z~X^3egNmeO`*&dLNOyFVkAC3%ikV^=rj0|PnppQ&zw+7yS6mgnw%4Mqh z=6HbWUU@!j`~x#tI=;F$<<%Ow(loKE3Xkdc`b1F6MAY}_yr500B3lBwb^InhSdZ+H z!l)&5TFg<2o-NC=3RlpvvkF-Dk|1gkc{c-tX~DFy*>0KLMpP(WR%xOjaLffYT)E_f z>2Yp=S`X46ZY)xT6j~p1R5O%BlyGguQ4MFzlY|BEu{loP6G9)(|B=DxYc;rP8l)Ku z(+Zd?Y$XRMd7rqRv3j*<9rr_Sd0@4P3%dewhc)?(-@WOLXhW>hs#Lh0pUrUJZQ4I* zMTJcekCX4p&nbVJIJYYQ=tyl$aqV`1<&2)hHWfZjl^mq__jyC<%=lt(BMmR$Q+vCC z(6MF(_OczBkO0x!iiV~~TSI|KXY5w)w2UP1_n!P?hR@RUW}Rr@(GQ*c_p>?vC{wcv zq+_n;bxX{HA#j5HW~Xi#%g&Qh9Ou{uDsV{B3U}`f`J7DfKtNK87Y5&Qj8l#P-a!TpU z^?MP55cO5U{DO>7;7-NWuon`W&w4qe8h&LCl$v!Zs70K*05IRV_l~Tz8C!?)g^;Uy z8a%J*oHzmDQ(0B4b~XE7?7e4HQ(GJFiv?iI6zRPOPF1CqS?3m$&kU&`Ga{xv9stjG;-WJfg-et0FoixvVc|zD5 zGw-X9A_fL6Cm(2~%FcB};oK#JUJNbIEo$wWrTD=@e!{q4$n|SYH~<`cd(SiwePbqn z?T8Xm0;rkTk})<4;K!b31}y@bKnxRXeLHf|1w>}5=gH&xIaDVdm#cPVHZ7{(5jR&)P7$XEoS8}<)+2r@A1qbrADDR6 zI8FSW&8eAoGb1x;`hM`bSH)O^|IX)Y>E+MygF?HS&~ywv z@cF#N9UnSjl>Qexw8Pfxi+nA)iCXaS{B)7d4ZNSfGK%e z3)3T*l$paO1N!HJ@6Zjbk0W^-f_)yYCVlLjn3DX`I34PgS?0eROyqZ)IPC!Cm5P1$ zT-l;05!H}6S~oVTi->H;7~oWMKM2ZS7~1B1JYSJ>IDD-7AxJiRDRH6OfTk^t6pxvL~L(_f@Jr$7t1 zgnb7?*`AJA3;Y7TZ(LWao!!kvUV%wJ5(;4rUJjNbObTVI<`|R>ki5F(1*+X&%}NZP z)M(P0c)jG?;T34KVT25=*QQWKWdq;^CETPY8Z8IibsCxH7j%X-ovwDfQ<->B>BJmC zAiqlT1GTcqo*5{vVRIKlFvpS|TGoL*M#HC-sCK@%O)=-7P~^3TiKstW3L)R6F4e2f zRR{035Qh)KRN8w|i;#+Cx+Y<@;U5g#;!)|)f@i(fz}T|>OT)a*8LQr#8RGiL1|e}+ z2RdZtf1scAzSonuP3EMjuQSjrYf}8;>tXE+GVWsQd)Smf;XhUT z_v?(p&|907H9}jpDey?>q5En8Y$*7J5!?{P%a30#2w~n0EQOUBaTJayPlN|cCBXQ3 zRwi?wMpj?5{UtH;p*Q^-2RGGi$%n%}@QqxiCs7{EaZoO_r5`eN_*5+DJGU6$xK7iF z`ztu)SA)~fDW}^X_v)BhE!Q-)>}=QYh`q6|3a?EG^f4)Ff$d0I`IR)rjXkDsMUV-N z80O&>!)OacA3Az$6$@9E$y}~WT2p9$J>C9>tFk*bTA3wIknhSd!^*94i^6F5NutxC zsyF}EcGysIvqm z6`T|6gjcg^+n85hqC%SM4&rOw2ZCSMcuXvs*RH&bcE!;~r5rhSB@JxsSm_Issa*lv zLH)beYfGl%zPmaUhK(FVv~WgJnBJ^?tUqXpV3&3HS!;V_yrOE(6+&tZ!2an2@$%d^ z2dy&gja=Kn%!l;L@i!l%+@@I%TB2EZ>A62me`p&heA4rE^)khcoW-{fq&Yc7=y~rz zzpzD7fG!v0OC~$CU=sP3*XeHIY*Age8*565r%-3Iejb_{y>|C|g#Ni&yFWGtP?5-} zvGs{K0o|m%6jc?261&dlU$^i%%RSezn*7-(97x$!a*D~EF!<4XRec3xt)9Jf==duA zY{G9*hjSg>23fy1x-N#n`X>E%AUjrij29t)zi;D>hi2sTM5=~bE@`vOQZ*mHctEt& z*T24QKO3de7r1myBs7|D4a5KK2MU&_&b~Fcp8(vP;dCGUi4jh668MHu;` zUW%<8y{#8}2`1kq1ZFq9exZ8qd-^s?+`cN|ZZu-*lhjP>K35o@ed-SsH~ml3#(?nPjey#xiH{3@tT0opS)%>}zq4LB%Ed zfkPFXMZBsqv4;PZ%IWaqT+O-qmmE4W#5A-Gy~(r3|C(4P>%1%$)LYi)1YLIGOYQbc zXN*F~A07!t-{9apgh8a0tv z%@VL%kGnq`!FSc*o_+gBFx>by1=(GmiqHHxMWV{YOo~58(MgPd87}|XzPXHiP#Vx+ zE=V3|^@$<1qsgyg&wqI7aq#KN%?a7W$vln3-VbR8-?iX!ON;&f%a0d2GFmAZsP@rD zVSn9ciWPAgu0MI~-J&rE?i+UGBB zX;`+q<*UVn`*8mGeOoD@jL5XR zuZ(pwJUnjSvk1xRYy6WDf}C>S^v&(YX5EYKs>|*>_v!$s$2aJyn8Q;>pV-AF16j9j z{0?G5H(9>P=~*&4D88>osq zd!`x#K@(RSS}FSHE+a0>!wRl7a75!&-(`h?iyKAPB$MYWgVJ5s{~cKAorHYvq;qRcg3-n^Chv4h>LJ)H5tKO$)! z@VjE_-5M=^Jiy|Lu2i04s6$VLHa(x)<~|KU?V6 z(MHs1;aR_y9#hsg&iy4A6VWl928_9NuEVSXb;%<}JRTX+#%1PPieFV?wt`25Gbw)E zFCX~3*O*D6b%H_S#p3&&Z?Se=X`K)%T1eK=t+`-*Ub2||;*Ln(PNNCY#PPJ`L6Q-4 zwn5qDM`5HZ9hde8pWUb=@29rzGp6qaJekNIgA|7%v~uAjiANp~eb^oe1j3^Tj@<3}j5&8W8Abh0 z6m3OAu%Bd@>Q(Q$l!#rTh+EYuf{k=*mj|b;BEZC=O*5hrfMfUmxNN%hdXX)nHOAIR zVJusTOK!2jDN`%`X#Qx7O(IBq>!c8Mr|`w(>SVAP8nr)2Gd;GDE(PE*E>|AFw9}6m zN6~n~4l)_47=5)TQRQX73x`Vyva!Ko&gVSlNf$P24-rH$dr}?|=0(1eV=H$*rZerP zKKZFX=Dw%Th@=@wrB2jg;4`>&mbOK~kk#o0k#0Kd zmv%qpkYTc=X|VT+HN_V2s?+^JVO5#Ft}k3AH%RGM8W; zJ_}(#xoW|8DG|P@;=!7=VSB|v$~8(F z=Pya|{ZFoX3ExRtw4ShpIT$S)m!-A^82z4x*U{4dYT%Vk$FLKJ(oWunFFdsAW4Gcy6B2RHOd%Yx$ zKZp&+W9WPWRnQ>Az`-vsbG!IFu|9euZlT>1ZmW7SkQuV?TqDgCUaCawo)qHI4I!1q z_1jGKTTcD?G}`_~#~`MSetl_hbSr3ne3Et4ngn6 z7=>XTYhVHFGJG5q=}f!ELbmOlPY25s>|mlnk1dD#_gh?GO@Skh1?Y&)K3lc3d# zD0Tt0N*94!{=?735;C)v(%7>i27$^pfs_s=rTd9`bessYjB>^HMA98OoQo7_Tn&3b zKFTz>gJ{8wT_8*^(Z1uZh)($m5dXZDolenqk}CO7+g={p^~@4k^Kq-X7YiQ<1#I33 zhP(V-X~)015p`k66fK%VuTSuW`bWApCZ8;7+*uNf9-x}A5z0FVw^M~_zm3GqCcoS9 z_MifB?ANWgbO=NN|4;77)8DP{AltGy1mkE8k|uD-+JN}QujR>HuXeH!R;JMQo>0sy zes+J@Yr^K(9EH@tuupYrCS&IHJ09lM)U#^_OsO62w~~eIQB>J5^S35=#oRWh7?eyd z?ipG<`TFf&j#oxzl|^lJxG^yn8w65`1*y0({ABMPbD4rLXVZvQhZHLx z`w)CQ)nHT{%KO-%(<&$ynkwj3FcDKtqs$+3R*> z%||2g?}o0GEVq2uxg6PjWu?%m2>ml10Y;^_6bs*!){0bmx|_-=KUr-+p8X;h#@8BO zr?c)c){O9aLXUbFXNNts;sGvhrU>3jQv*_3bgR>@WA`pGL6Lh+eGJ}Ie;klm<; z=LJC&_5JLtg!*R-U0ZKMYt5nQJwpNA8W-!grbFhm!U`XrP2siYJ?FTh)b(ZKt2aTt zN`+@gjNc$nax~&#*gi!VdKlXlbuEi>gY1(okmMc;IS(aO%(>3yJ#imj!!smy6a`{xy+3SoDN z#?RPl>YEw)I4Yyx<%x4PaQ;pSfgJ1B+;^*S;;<}Iu@I@Qzx4=62P060HIec!=8jbz zZ@i%QXOOy)oaJ+EI`y?)bJUPYKPODUejTH0%eS}Lj&lY6ceYOCnRkgZrZH#p-!)Vc zc^$R88Fa=p_!PDmdX}OucnmTAyA5F&yJ*SfCemm8^j;;#!u4+I_6jT@#8u=~;kPy3 z;uJ2CsE<#2I-3qwT@vrylRf%KAi}QiJ=hv9v-rnlAm@AZbVNLX%d17+B)LXa_|Wj2 zg4|KCRE_5CwV~qIsi(kUuwJ7OQcHPtfcw^&^j1no>A2^g;kveTNYn8FnNsH`pfzEe z3BfD@_dJW*Ru@dHVkDbND7Igp?|%3oNR`>E?%9v+O$lrh4{!Cp-bU3x{l%9`%sd^Z zKK=MjL3-)jD00LI#A`3X{fHoUX##K#Zo5>eK*)|3(dYQHhmv(?q;5-Y8X0hpw}Z@n z;AAEABnTMRfXT1#4QoWI`Cmathm3k7aA+1FySUZJc+GdX0~*(RWY!suAXgjtUT{g3 zp!)IFLNrS;*x4JE)2@GDKWgX}z|V(?q|;diEExISQO=#SK)Ov+AN-}z+V>+L6o2vK z!J8f0{g&m@D7f^&;9Xd&-0Ran*j@1KBb@@Sez83$cgTtXV5o_ zw+LGawI)O}`#jk)zjptU{r2WqE;`lNl-{?B9@Zl$~TO%4l&I3C3t&vk!?&KH_30^>MHXhx<3FESN5<+c6 zZrK3lcN;ys_Txj{SqA!3kxcc;f<<>Xfwg&|yiB!Fp}(q6K})s=iEf4~deLGN6_q}oGBU!7mlrIZY#02C4qe+Ke$T5K!Y|~?5 z^$bIEItZ%u#doirIm?3E$rp(5kaL+@r41Ck&d$AM{7J-n^a}c<7j5|zGHyN04|Tar zf7gm*WWH`Sg@1qJ6&@E{oLw-) zWk^(*b6`aO&SnkR^H46&H4|4CqP&%i_Esx9KCS}nzax!EuLHXwe`lP#*T7q=SKYlR39`!0APj&*P z>-K=j7hVUX&TyH2bJY);gXb%_T$jqz_ot*h#x`p9sH_*FqEd2rBE}c_QgMNM67|mG zF2BZ$Z36?>KVOD~5*`;N7ejwM?%5Q+Io1eceU98J`76qpH?U*~v57RXt{g54W4vwX z2t7Q)iQ-2$fq3JTf@4-$YUrlq0=X;poPQN+V7ogdQ$W(^TS zBiml!bR*}sVq~UphW`k2eJ%fm2Sd*5)4b*N!zscptXHH1>O8CWa4GNjM<8?}?9uCR z9znvM8inpE_Nu#FL|MVl+_2;S0w+>q{tKMg?^e;`uO^j)k~Hc?h}qyY2{uWd}! z+1Ui7H<`3xk^f>R>gRrsEm=QrugwVAOynpq*zn zQw_F9KY;XI}=Efd! zx_7%qE?{In^D)y#p6^5B>s#&52;q0IU>M?8T@W=u??=NlF@Bk_Klu|F;WGj0v(iR- zaTHy^Q@r_9GYXqhjfd9(!Plp`#(E6&I$?CA3jrbicWk1`P<`u!Zv{49`B(7ve?b_- zUUs6k$hLj^xezDYK%9_ zzFb&HpR6dceYCyfy$((1y=_(fN+9;=k?hI*T>EKK1wLND)U;v`5ZA{VK;TLG?3QHQI-ZX5Vy8L`!&F4FQA1VJT zg$1r+cy0s$E4)s8&)pL!N!FwD5TQqy=U4Ln&8sV`$0Tsr=8l6*L$NOjb%ae&mH(-M z+wa>28rj+U^n1HO`R)d*!JZG6o{%}RL90oXxW*lyWMQ=l9iZa&nO6O>o>0qY4psC@ z?0t<4!(YZ^j$Hq+C(`JL7L+6m=@g!l4SW+_YLh`QlHXFJ;{OAT(-Vq2Na z@$$ci8^xR9r~?T{a8bAIi_9|5oWwohr>mz8V}p=SWi}Rw%dhAZhCRUt1E25r1&M$E z@qb7f|5IR);^>QS3O>IX_85I;;CO0F$x!xHWKDD|Ivu^S^;DF6CUL0PzzkKIT=u+0 z+8CuN2-jPX=KUmKvTOz}JNq9XmI{)OVooKdIJHyR0xrty7aKIDA)WPNUNM6MB7kr2 zYE<&y-AxC<%L6HEhAnb!3}m!AALleha3j9;9ZcA=J3*uyxOE$d9EY&w$HYH`iWaE{ z2UWwNd5oUxNDo}UxwRqJOAqcjP>?>$xs{-n}-GxHc?-hl%`t6+Hl^HQoF_!EY zl>Zw0;Xp;P?M>3*bilP|F#BkPYhsOyg5Cehoj6HRpO2)HmtdeJJ}%**bYv{76aUok zCi)3W?hq8X%$s#c#V~VrQbP_GIt`Xbso3D)@K-cfs_6#8lz9~m$YLKw8-YI^M953s zC^M_!5m%`4WcR0FN&Rh0Px{hx;7i9Vy!@Of z|8FC>Y}_ngGveE5ObkG$7Jw-LT=z(MDRQ{kf;3z|yE$#)=qkXECQ4@k^=)p zS^g6*Z#ozAn17C^{rBPif3wR+WEuWZ+_%eQE}iD}o4DX-X-~erKp{i=G3@yq0Dz;L zy12LA$QU>gN0`1IF#poWCB8dnnqE2Q2;t6}P*g>+%U&TqG7k*}l2q%bdFZDRD{1Upy z0*)csotv+A#q+!d$%A^j$g2iRW8-_N8y%lHP(j#$RACs%(#I?H{H6=E-2Zrc&|-Dy zPpK>EbdyQE9$hf7l?*B@Duc>oPG`A>Pclq4LOg=q*2G+|%EY~x?@Yi6<>@fiCyG}( zbl$vDEujUj*33`EtNTjVXf*qW_@gyrn>Kv zM5SW|)oog_{@#Q~7QlxJsz|)@By&(@YB$BEPt=_rcn+1m$bd{7KI@K^$VG=7Y~4te zhK0iZoah4H76uD9n=0RY`BeO1*w*^w@1Jct$xEzg)S$94+L>*>gwfaPUpU+wIM;p(R%6HT^>uw5)0YG#^#Q^t?5 z?z+&+=lk>c$56Tb1sDIPpqiF5Dk@!kLiS`I0n7nLaBue+qDvkANv3SNbKg{zAA--k zzU>lq@(eWDR-b+3cdUwWvE`HQG@e`++Tg93zf3O3Y~zzfUrbUFBw_mr8>!}~hsn>} z_!}KgI0KL0>P%LHp5ER*yd#-X+ke!KHos`Om?eD3=QEk{Y1#An4%pu=VE(E8i=*&y zy5s$)yzz1|J&>~ zFyWx9m1Vk9c>`@Ag^}Z$A#14g_I0ITU41cdyP9c+oC?_~lIX>GYolYV=x*C(J|N$e z@o;k4un?*fL;2CtYv3dRmwKW`U2>&OoZfh>(w(WulV`1#O1J_x^0Og_!Ukz}C)LYdBsAM&39 z{bIB?zr9YeVS`u~TY5P|9@ot+Uh{pLySn)&Nf_aOe(mtf+JtGl2D8~|P~A6hT?F*1 zU-_U5kd)6j(mRCORnGagQQiIqGH?*_+p@ml02#=swc32@+hnn+HtxYRf>=cjZpsiX zvoJnH{_dMEEhhxcKar}R@A)}rT)Cpv>IkNGS@6&q8kpDGSn<-q0%lgyqp zwD|7Fx*03va+h|a?b2qmUvG6EhBDX>STebtO~4p~Xw^XF{np3lru^)Q4#xYFv+e;a zACUWdF&yhv%|yd0IJ>ZF^h1OGT}d z*30@4^}%o>h}<8|vQiq4c;6S1IISefX&J6@j}k-f z4Rbcl^u3sqU83nkgFTx1wg?uc-BYrJwl|{QmpTdY?JjEHYp6Lp$ajl8%H{#Lab`$2 z7Zz?{;3C3klC`e)6)rD1KH3xT&>Wx``W@4$MB>Vgi#54Brk27~M3{})OC|`I=*pN2 z=Y9=uNGajBVxV8whPao)TwzU3s?$p_LgF+HG87X9h(&}trkMa_*Sje&!F&!XZ}V;~ zDC6%)mnB;J-I&35dTr$UH6bmC4NtA9rR#iX6CI*T>c(x!6Ddz2tOw=zNxxO}(#7+W zeizOyysvm<>E%L>(PB2d+PGuttY291HqyA>-^go?&w^RRBb|(lQ~b$e1w+4DLdYrZ z`ovekq#&)92539TDI~v(N_K!>I9Jm|XwY9Wg;Tnq+p%{r4%nT^;M`Y1TVJ1Sl0wB9 zP1P)LB|hcJjtzuuP}pmjhVQDzx&@Q@i^ z-xMQ1VCpt2zU0trw%)|WDWYmsGlk?>7YlY!SfR+{ENW|E#%r#BG0Nh z>-r>8>iQe)nEEN?HF_$IpEhGvZbWUO%=NSf&Cz+3RNW?LO9e)7NRd3N7_9z_8FHcZ zLJP`VvSx8GH0TYPl>L;XNHzu3O}^M^ z@`}sX?o@+uOaZzyHsGf)XIXp}b^N=_e{QZvgl*IQps1fQd@^<~WXf`Qt@RDfFNaB$-xUOfT;CyE;uUs;$jVXk_d?h^5Dka?`+y*W0!N4(~>KL-Zf z_gsvgBMfvm?Vl2$uZ>y}i+I9xaK6lmyvf>7LB$#|?beW=RnMfoiL}VEl;5VO$X-`< zMr+|;KeXG00^^k-THp6@O9`^=WtUR`{*R3PK8V;9XqjAzx9v2>bvZX-#B2Bbv&!ro zxfDa;N3xMA$(XYh1pl9r)04}VJsvH`b!EzfDf?THk=jz6mF^~^3HnaT!ohF?@LSKm z%_M!xkg(;|(YvZQC+}Q2auxzL{jcJ~<)z+62#oGabwuZx+at`p^~dN+=#7n6O{SP< z+W2GEhL?(i+l4(w#IYX1fA??tAH&4jb}AFrAp2g_d`9R1i8WuhwSL}{?4|*R@rQrP zc<(Fj92pXMiWA3j=N*lBzj)#pCj+kNhU|@o|4j;-6RFw zal%;zm7-l}@9>RAQ&ox>4xh0$N~}6A7vTH-R;1?Uus;hZjtvIa^Qs>S8=4e+ygm8V zm`j6^Mc8hr3ITfxlRN1VK^Xh_QfuVztt6g_x+5=K2H4Pt$wIZ5ip~^~I7)T;iyjjd zQoBVVvCw2?Rw7y?Addr29CF0_i%#rR?A?+%A0d*v7e z)ViBoR?d859?K%&om`%)r&W?dTd0-VMs6#}^9U9GN1vTF?)-N?3q!ipE~ueIAJcI0 zEl}{4Qplj?!csMPRNl1!U@0v5k>@E+?eJ44D0_?DKNz3iGmnXncvEZJnvCTZO3j2O z-bR%upL}fFgPS%+$!?ltRV^U>}xaxlu65wK^ zt4QY8G~d5&VtR~ut~V_F{EP(!WOnxI3@9*y#=^BGEVlx+*gMK^UP0Y_xKhB`J?JP< z8I@X7N8nY1KM%e-(k`X5x$dj|J1F#U)IIq^cYltV+uBQK4nnO<8f#J^J^YN4CK72o zk|E!m(y5-nJ^#fF7EJ&5s?_cwmN%363IntGyJknj2PO}$KVR|{AyQ1C{pyBNh5*U$ zJYpcHoahmmAcIKqaUT>Hp7MP_bo`@E3gQTmoW7yA@7BkJ(1$%4e37Xk5FnFSdDd9Q zis@W~Tdi1{NR|5Ek#G+Wv=qHG94Tu(!RfJ?<}SrTRVDz#2)!C9*6SrNP=CL#VI!yi zb;Fs7DMWHH;G-e(nX{Pj-tT4=NVRtq<))5zGJTM>rPE}U}*0qP|AIf(qhN{nZ@b5Pzl@}2tNpA?*tjC?jo zc!CeI&;Nye)rOQW`VV4`qT0urkyf4ji^&>?D!a|zaAFfiH*}K!rHO7a%xV4mShnA# zbk{6cPIswK!RcU%>R5#rK`<0$Wl*Q+Oz@|O_YwRt;o)uIu;V}tH``#c$8A3}tp@D_ z{ubWdWJiYU@1{jXTy6?ENLq0} zZNQHN0osRwr~M^1QHPYkNg6Pjm`@vA*a7wCEzOcRM*~Nei6BT{$k`fqB65=Wu#C>_ zLK%mTSU))pM0%{=?Hx4>?6`9I5!fXC{$j?*HS|KMrG6>qX`JiOLGq@58M8;GeoyT% zX~+HPPQE0qL=j(5{_nhF-NFC~biv@;@)g%-zcR84=3==_u8n9~+_Zxop8P#Be`F}_ ze@0!7s1Bb!T87KHDsUe%e7eIuAqzfe<}$RpkL+`D30>TI7yFap9?DAP=`w%t3SckA z$P=luG_g?0vOn+QQko3@hZh829@r5V+i&pC>>d5h#R+@Yqygsge`vY)s9>b01XgW8 zapc4yksCvjERO;3<~>07KDzvmf_bbs_#f@?e@!yncpNY3Q__F))%?eQgr9#TrLjtf zYg*^jdc}=NN&y!Tr3`CrGG;C&*voILQB?katJ0qgCpjD)E0z%on{vvmKm+AVa%T{DP9if99v!jE8#kO?dU0W9a z&!Yl6SX?{MC25IdKCoPploC9Vs5G0McK@9y4kb5fWV!F}V1S z_1q`J_ybK?r87S%l=}WS3zot?lOegoX7SbOEl|ojeb*;p)dkGWJO({J|B)2k(_E>4 zE58C;&R2QzS)`pO*{c|}@PBUR|A8X^Z&C7X|9+m3aRw}WNpUp?PpM;>imiSG2 z&&|-JyHq;#JR_%^ukq4ItS(95HE(M0SM0l6$KJ2~jN)sJ>%?XlP}x4c;28zM9MO#K zId3zov|X)Mx-9SRl~;NCx#spR{+^G{Z`!>90`bNuazfN&jG??vJCnZ*o&O|mT)$9# zffWoh$AZ>Skf45dZQ}I8Wt^7bV7ipaweBzXtI(PHQJLaDE*&4Z)GpTh_CSp*g3NdW zv~P5O=8#&r)2u2v;tKGu#^vU2UWZsbuebQNnrsxW)LW(5v~(WgIK%B zur9)U;V9M;ZbyaB7_cv7eh>R>ZMP+ZO1YL!3Qg1Vld@)-yzpb2RjxWyVba| z#aTrl$TW{BV~9s5j0u+w`PF!axGZ{pyk%z=Kk=qoHN8oC;{W+>A+XEOJtxA*)o}^n zuX3kD5-u3BZqgbT*he03(-|$y@8F2(2=vP&7Cf9W9 z*zXTP;RQdt`O9U;$YN>mNkf9_W&0~6l0pN!g-OMepiAInG#1DbF5kOP^{3dgQdz|D zp6rEKMi!v0|By2Nyh~Eb!3e`y2Jgu=|`<02Tc-#s4Wib){R|DBSxv7d37Pwjf z5ZagJi=30%I>F=aD29-pNucSqTN^%GI)$dWl6A)Txdya9h-JNDb621CeD;_)n4Y>W zSRKx2k_I9{jD#K)cs2h+O0?0I{t4*)b3^bkNCv&Luc`dsS>^xl zgmrbFd+fs0nLq((JLyS~i6o{PUOGL9qdwh1^f$gi6Ee`CSzR9>zA+OBFM;Eu59j@J z2}qm~6P2(;qD79=QvyK~i|)(a#IFg+Zk*1(B<^oi6%RU&Eql_r&K30dZp|oY04sxi zUq(-_Turq|k;TLZdcIj!4IpWhRuW{7hxRvdph1mckIJ%*n{y={4Y{<(Evq%(fyk=yR*A3!jx{O>o|11me21XHps01r)kAt zSwA)W+d4qjwCPzsi}-WE_GptVPl1Z?_9cC`v*uESfr6$fy86raJpPG!U(v*OP(}a< zPvhpLw5zwKcyHW)_q$Qs-n9J9HGKY44$y|s84%1+B&5tH4$bGa_|v%D(#!>$^Ol}3 zK)ck$8%Zn!1?(yxZ#nNQ348_B*Cc-M`lOJ3>C@IDW28Dg(7)Z5v0$1Q10Qcs^jf|` zoJ0I}uMfa>`S#GWXp3Lgo_8#|iag>~&2<=p$(=sb-8X+)_hRwuRAaqG^qn!KJ{7hp zjlrY!l}C;f`z%tB!-pOjlf$K+N^reKb@3+_c{-Tm-bO1}!QSl>qf?o!+Xe-_&tU_5 z8RjBzvx(sz;J~BWlsU@Kv*jB7-f7_0J?yp_2n>?8U{1edDv)657OdF?dJ0ONOs;8s z;dZE*9Q`5W@N>re%JEVA^~8uELOBj4H}s4>rFM8^?ET#CZjK5wmzKhIUZ=tOKzqj5 z7`elt#a_xZvI|_61JlI@g=0Gc4Nf63Y-}Q_1?5NAZcF~m@Za}mmT@Qr1D|Wie`m=8 zLnBLqd$-mTYDI#Gpm5dg?DS;Q2MpuRCoSg>TN5ZLv_p;;2;vu7^QvbumG^%}A}*hw z`NQAAkkBXUI%zk3x>W@mJ)@kc;@TgdB|&qK&O}Eo@F8}&ZO0p7t^?aq%yONw2lE(<;=>@gcipn#Qhqq3GO(dX*D$0=MO zp4b{2Zoc|N$X*S9%9#Lg>Z3V7B5~d)M|%%-GNj#)9s|U2mqTybLV;~?v~~(bEar64 zV&qMs+UL8zW+4Bvl3!M4)XiXAYAR?^6N@ zza)Luuh$}LBz>Uh5zv2N7?k2N2E40F+1y^}sG(Fy$Uo%9Z$bK|IzwE{*}1AcV|M3S&8Hs^;1&KvoF9*{VYKUq(_U@o={(uySuG*ptdAJ;UwP^SLD`H=&9+XPUDO;d+^aBGjq7yWut ze0;gDU*VOXs`E-r5D1(STqsShTB@&TB5Y20kRlJh(3v{zven@xw>A0X^#=L=rdF)t z+LuR;*O(;&(#lNh#=GMAoj3U1oEb%(=Y_r^%xb23y2qQXkwFjjN}ZOO!weTw|MoAT z95zz2t}_2>l=_VnqiiN` z8R~{CF)CGGQ1@-!8yRb*nevEY5~-&B5os~i;9mw>HTb&pS%B^~=QrCOe&uzxTQ*KM z!O-BCHW_2MgBBW1U@=A;YZ0tqDr?4k8wH@n5naWy)Rg}k_1b8*43{p5@*a{F1arvb zZj!r)`c(enjE>CN2bmL$$p-#vTuiZ=8byg2zg|O;%w%B=){fqkj#+tC}PhMlwJ$-Xh}BNk&jUA63|iPM)RFp-Jouj`Se zjx(Mz*1Kune4XKu8wLC(W=Fd#xHa!{?B(M-N#5s_dSM4mHhUasg!WxWtf z2_$rPotgP^^MzWl4`27>YNSgLu$Eo()bN8_Bdmskhsd{=YA6=E>zwy+QxzPhtpZTa zrWZzAkF9F7H=bu^r~&1~x255sS>^7Vl-pnmiiZ?clsMDV`zLz0KI4^V0_0Q-f8nVT)HD zJgt@n8%Kb{7UWeCrn!GXY^>V3%8hFBRs2VwM+Yu75;isiiQoN++i*mylHS1+uF-FA zUw2v=!da5<>%)8+nkAGTKPptCn5wd;6fN^I(Yp$)K=ML`uMD)(*+RBh(G5x#BX-i9 z_0BQVINjF6UqX&9oLc9WWhA@0bX z_i4(<+fw{#!uMiRBKwl1`m_@HjbejA?sn#5JXjrFJoV@T=TFh4#HbOo;ZoIi!Rdl7 z(HfS%lJ*^+re4_5Txx;(ysWaBY$W;vzKG;9)*U%5?wZ0E+3g@hmqsv zz$(NO+9laF%(u$4MC}+*zfN)SXu|JeT%3I;Z6KQq*;Uo7sJP0Pe`rU(Tgcr^^jmeZ zS5K7vZD;>zsF0ZI0jb)0#}?F_0bAr5aXfDHo2n$@(IZSl2sXzopd38s{GfTMVE(Iw z(vxr6iD#!1HfUdR7wpbbH=|?t3$m+9;KOIBvH6@h|LsN3K|!9+Z5gI1ip30pi|b>X z?>J4$(+bl*0x4m}Tffe6C<(KXs1VYYsuzd@I^0+#z57wxx3|$(t3?dIIIe6bWEanE zOd`7h0_sM+-?kwGm}^sraP_##rNpOsjLnxx*KO+hb*5mKy;ZEcPAB?Ln*NKJJfWAA<9ssYR5$;Q9 zgnbjErt=+M=tFRkmKQ9T(_)3PVq z7J++ZO{l;TcQIE}#dTawpX`;NkyBEzMOTYPhq6?J-_c%8i&8jR-pH(9%E~ulEjQiL zxd9LEA?Sb?nK)iEeK!9^seAvp+hZI=%JoaH=3jx|ejkJ%!<9dNl*gcGbBa}tBDgYr zZ@0>wZSzi`{bF$AI}GUE*x@e%)=mBBXro%Sr*H`T3z4c(B_vm`Y#$$T{1o&w|Kr@( zb(M_lx>kZZeJQ~Ww~;1)s1mtXe;; zG-d`LrZ?^$q1~HqmOkj{O%lw73>2p)JY@a(Cc~1nxI#yYR)>=p16Oy=+$FqkDA|5q zll^3Q-Dxgw`JxHNN(Oy`vM39xd-0o7NBP6eifGU`a^8XIOwzIUPAJ=lk`@YC|_?07QLchwo8JD zetUa1+JkeiHWzUT&xp`&*<K`QuDrl;3Uz(UM+n)V;!jMfCtquo8QP(A^#VE-gO%4@35z$;ENC7tq-_S;%v7 z1g1U4@2cdp+>1^jry}364w)fS{=floH=C3gCu8@&+piMa4e06Ea!9w9PLg=%eLW&T zfQp8ko(D9-NchIEt~Fpm4#Y!hhSziCQxJ+ZwK%4Vt&;bKo3b9CZJKol2 zf&9&4W|1!7VU@VMJ{7oGi4K@n_{Y;T^HCwn_b%9-kdZwG|NZa#|Iu3iKhkCnXzrj} z6e%GludB|@mZ#0~P?1&k#rG5PPYo~I3;as&u2d}2-H=lR+wr(qiYBuv2hWfiw~5Wu z^J-QNwuArCr}XNpohPS(s))vbWnz6H;c~-vOLD1A=i3m)z4NE5?-CZlI+@mJcx~&v z8zSgAC)~U)hbZOTE)!M3ZDPIiBzS0Du}D{!w@M!03mB7A-`}QsA1lR z+lv)U*azqpxl^V^@FQ3ofZ??$+9-_`sAmsNqSyJ+Mdi=%6Cv!o+`wH3YGtfR+8jwG zG`E`kdEeKdXDkWB70ycjTyn*92&nu9?cCa+AN=D2_;8)q!t+5iVUueV=!Fk+rePW}OWxS54t7NwR$s#1{9;OvF2+og77pAP;JF&l%& z5~~|J_`zzSHMa|Tktj;}ZlHQBP{}o2^v~D6aB4xr+`$ETPEjuMCNa!KpxKy|fpF}O z9mDAq|6e=iKPQQ~?$1>|c|N|xWevNNer^i;GDm3|@MNk}mJR(S>n>W{lse>n^XOg% z;DBl969hXt)zJmIdtBYR6pWeQ@Pv%w*GSG3^M2{nF~u&J}_Q>h|!P9oK-` mRKO+0qgOmq_qcBJwEyhcEu|-uT;<+@0@%~l&t;ucLK6VP@e?=z literal 0 HcmV?d00001 diff --git a/docs/crypto/writeups/2024/IronCTF/Algebra_Exam.md b/docs/crypto/writeups/2024/IronCTF/Algebra_Exam.md new file mode 100644 index 00000000..5a2f0296 --- /dev/null +++ b/docs/crypto/writeups/2024/IronCTF/Algebra_Exam.md @@ -0,0 +1,288 @@ +--- +tags: + - IronCTF + - IronCTF-2024 + - Crypto + - algebra equations + - Coordinate + - Matplotlib +--- + +# چالش Algebra Exam + +
+![Algebra Exam.png](Algebra Exam.png){ width="400" } +
+ +## صورت چالش + + +در این سوال یک فایل `txt` حاوی عبارت‌های زیر به ما داده شده. + +``` +x=-3{-6-7.5} +(x-0.5)^2+(y+7.5)^2=.25{x<.5} +(x-0.5)^2+(y+8.5)^2=.25{x>.5} +y=-1{-5<=x<=-4} +y=-2{-5<=x<=-4.25} +x=-5{-3<=y<=-1} +x=5{-8.5 -7.5 +plot_segment(x[mask], y[mask]) + +theta = np.linspace(np.pi, 2 * np.pi) +x = 0.5 + 0.5 * np.cos(theta) +y = -7.5 + 0.5 * np.sin(theta) +# Manually specifying the portion to plot only the left half +mask = x < 0.5 +plot_segment(x[mask], y[mask]) + +theta = np.linspace(0, np.pi) +x = 0.5 + 0.5 * np.cos(theta) +y = -8.5 + 0.5 * np.sin(theta) +# Manually specifying the portion to plot only the right half +mask = x > 0.5 +plot_segment(x[mask], y[mask]) + + + +x = np.linspace(-5, -4) +y = np.full_like(x, -1) +plot_segment(x, y) + +x = np.linspace(-5, -4.25) +y = np.full_like(x, -2) +plot_segment(x, y) + +y = np.linspace(-3, -1) +x = np.full_like(y, -5) +plot_segment(x, y) + + + +theta = np.linspace(np.pi / 2, 3 * np.pi / 2) +x = 5.5 + 0.5 * np.cos(theta) +y = -8.5 + 0.5 * np.sin(theta) +# Manually specifying the portion to plot only the bottom half +mask = y < -8.5 +plot_segment(x[mask], y[mask]) + +y = np.linspace(-8.5, -7) +x = np.full_like(y, 5) +plot_segment(x, y) + +y = np.linspace(-8.5, -7) +x = np.full_like(y, 6) +plot_segment(x, y) + + + +y = np.linspace(-6, -4) +x = np.full_like(y, 0) +plot_segment(x, y) + +x = np.linspace(0, 1.5) +y = (-4 / 3) * x - 4 +plot_segment(x, y) + +y = np.linspace(-6, -4) +x = np.full_like(y, 1.5) +plot_segment(x, y) + +plt.gca().set_aspect('equal', adjustable='box') +plt.xlabel('x-axis') +plt.ylabel('y-axis') +plt.show() +``` + +بعد از اینکه نمودار کل این عبار‌ت‌های جبری را روی plot با استفاده از کد پایتون بالا نمایش دادم خروجی زیر ظاهر شد: + +
+![all_chars.png](all_chars.png){ width="400" } +
+ + از این نمودار عملا چیزی متوجه نمیشدم عبارت بی معنی از حروف بود و خیلی از حالت‌ها رو چک کردم ولی باز هم فلگ درست نبود. یک مدت زمانی روی این مسئله درگیر بودم که مشکل ممکنه کجا باشه تا اینکه یک راه‌حل به ذهنم رسید که ممکنه ترتیب حروف نشان داده شده روی نمودار فرق کند و باید حروف به ترتیب عبارت‌های جبری ساخته شوند. پس عبارت‌ها را به شکل زیر دسته‌بندی کردم: + +``` +x=-3{-6-7.5} +(x-0.5)^2+(y+7.5)^2=.25{x<.5} +(x-0.5)^2+(y+8.5)^2=.25{x>.5} + +y=-1{-5<=x<=-4} +y=-2{-5<=x<=-4.25} +x=-5{-3<=y<=-1} + +x=5{-8.5 + + | H | T | A | M | + |:--------------:|:----------------:|:-----------:|:----------------:| + |![H.png](H.png) | ![T.png](T.png) | ![A](A.png) | ![M.png](M.png) | + | U | F | S | I | + |![U.png](U.png) | ![F.png](F.png) | ![S](S.png) | ![I.png](I.png) | + | N | + | ![N.png](N.png) | + + + + + +این کار را تا آخر ادامه می‌دهیم تا کل عبارت فلگ MATHISFUN بدست بیاید. + +??? success "FLAG :triangular_flag_on_post:" +
`ironCTF{MATHISFUN}`
+ +--- + +!!! نویسنده + [HIGHer](https://twitter.com/HIGH01012) + diff --git a/docs/crypto/writeups/2024/IronCTF/F.png b/docs/crypto/writeups/2024/IronCTF/F.png new file mode 100644 index 0000000000000000000000000000000000000000..21e79c43f4caf5aac70914821a638a046bbb7c15 GIT binary patch literal 20989 zcma)k2Uw5o8}?&{C`3lnDzgY_7b2mOilU*SwD+E7D1}hkl2TF9-YFzWTQsyJmG<7> z`TSC<|NDK%=kOl9s^@n<_qeX}I?waEZ=aGBTef8V5`rL>i60X^O%QXn2x5-QqJ{XE zE6exW;}2fbBl4y)1{$Uos>YWH2~|@=T?12HEj3p2OU5Qz2KswBcsO?NWW8)^YG}g8 z$*DK>4IBo>nwxS_9`qk<%QrJpy7=pJO8#fTy;fX} zg6(^>yn?UX!Y|QIX(eI>ep#ux9~Bi9-Mrj;-$wkp@-2w`*TwJH?&7ye`|F*%i)_#rMco(>^So>oCX20={X?xG>+apl zH*DB&>-O!pt?|{aUS3`@Np2$}ww@>1_8mCD5camgxYiW-J!deNgtt#yk_ zO0HXV|9UFrFSLk;=4ig3piz}snQF_|S3}&@cKu98T^Y4rEPVFsi!ZgXu<-Tk*ME=e za-a8bYiV86_smVGTu;Kx8_()#F3l~_!{2sWv?=zqRWZDM`__<$5#wIi)!m)1d!N1b zWU9GjJg-}&J8cU6BDyfw=$tKriD*QN}zK-vt`YkQB9|;ISvjE4Nw4wzai2?60!0_`X)NdC&a$^DlgG zS!dbzT{B-qPFO;>$o}dNn|8sHl9HP6$h6EgDz;Y!yBjT92HwAafBEudk@2xn{z{Fy zcemx!?FG-gI(OsFoh3gT8fxRyM|b^j7$4PtS(2RN&i*Vo_~>|}DW9B&=^0NRqmA6U z-yBQB&pvzeW@WW)_p*hw%r1HralVB{E@PbmpSE}?2By1eeDS$0?#}i!B}Gv|(217i zLtkr!QP#2pG06hkwk_8A`m)gBN3sQHb4yEdBA@z~pE~)Yz0bAQpF4j(Up7=pzcfs4 z5iM=H9qt z2esW$PoaTBsoYts%DyaG;dfLlwvN3mW$NEvt9JDFJEf-!N2Kg&fl~j9oiruz*weevW$k2C%{05>&a`=rqkqh zsI9H_6tv-X@w;4qjaEpcI?ZkcJ^f9awnVD4ibgla^vWs|O^mwp4zyGxjjv9%9W?G~ zDWiS*^y%-?@HNWzgO>;qJ-uBK$!&bAR2i}NvD#tW zF1fLJu+cv|o;!(I*gBfOSOqlYYjZ&e9y35Ut@WySKi+{@S{|8Ubl(KUz2%T$_op{<}Zs(F! zF5N!b_-M!3y07OA^y2e|+tb~sIa8LO318jW+3Cq|5n-=X(PG!|>Cv%c$3$dhSJCg3 z4^VNyYu4hSWe(=!eFLIysK4erv?uCnqgC->)eQKg)?dTlH@c77ew-&|sh`BEV0*EJ1o+NZ+QVT|$M`R

@!9&G0R3;=Y+3haFfjVc-vZ{EClt(njK^XJbR>@v>-2FfA%mrP9dD%gq#1O}oAGKIY`SEmLv0`|5nWc|y2t z`;XKimebh`Lbg0%VPPGk{ngK&KVRT5K3rWfdY>SWE#bnPP1R8$8HpbxK*;wb9RpMo37=*Z%Qi z4-fS}-=YTc4D7GHdBZi*W|5xtElRy2uU;wDdjDfi71w8CZh@hpi*W*Mo!q*s$HxvV zp{Cx0IX>yNFI1_x>X)y@kGE}A$(^NVRa7yn@^QLP?5n=`@{@-S`MfSP#4i(Y=37&I zT5N1AyRE)PzTYzE_gAx=Xw|>JxzzeWr#MnY*cN$!ow3p9d7;#CHMKx`M#h&nZrspX zym)bWq{FDrtB456;(Zdyb$52eoK?0uLjJuuEIh_T*;+ik%3-XVB~O=Ihr{DUZf3_DdA=rH+1nvNsk5aTsk;@e0-|k1bOUPaSFwA8I{!?p#bp zhR7~qVHJGeynxZ+>hZ6U;|-h+p}Q0l3Uu_aib1~`8$<9KP2)gRp#Yt)6cbM~aO--e z>FMZ%e~s3Z8s)X?%3+W7)=v^oPm69;9U15>Cl8rK@jg9d`*VP1g4$Zi>DUHZ=_3uC z6@o``D)p+k*q_1Dk?Ap5ZSZ+>EA?GkQ-#(|T+TJv5tBAp&A#F_lxr-Nr0IqhY zau_`Ef8qM`=f%;a^73=b9L)zhR9ipZ-{h5^o<1g2wol@Gs&(vGl9@#|lf`8m*i*^5 z<$jSN{`Ti6LkC#WdUo_~ks^o3LJ{nNZflkF(N=?4oA%VR#WCZlKd6^1>1jc34|}B$ zeY7}6Ju)Pl+2&+=n=H$CCvSqVU$IrI;NVa9as<;KZQLY2>3c^f^;&_HL@j;&ub(xd`w&H1$^^SUZemuD^yZeZX$}qHvsG;5 zvUl&J>%jtKHksBTLJs7rj9tb4bkn;^fJami9lrtC*Oo^!t5m=(DT)E;5T9K71{W!5aAa*ohOxD#AE6ExSD)JXl#$ zTB_Pn^LD7OOxb4F@#Dw&7;OeRYLS!4*bRi{D*f!JRaHbZUnR>t!#^T!c)yGW~pI5|-Y)xo|T(yMIZ&X=L7L zY>RS5j*x$EZ?9#`tN0#+xtxhVS8m?C`9g1VDU%RKf4>4^K!shdJ(qtAyR|;vqoA^~ zvdJbkDJkhZO#vSRic+!ft$pU*aWu>VivV3cJw4saSO03oas16^+*^9K9+*HxRkc>U zOegv~ImIc1zr5uU--9K6!^+mNu()}s*e5Ef%c-ci`H%k5WVahXKn0Y zUm49~*%9zGiI$PaQDwCGto)mci$8t(RAb7w=R$@fjmhmhcMe^+z?wGP#y=W+MnS>q zlh`SLZ6@}Wcne2I0tu&iznq+0Q?hsEGDe=|3JMC!k=Qq)r%$is+Pl}N{_X*5MPa@2 zeSilv3l=Ou<@D~QLbRl{edFyPEFs+kQvI=1mJZ`g4hpum0uc#ycg+3w?BBnCphac; z&WjgY<#*CYcJG(!wQGG9=iZC@D4k+?=J$Z84-gIyT(C=W;=SjQ!`vx!hWfF96-@+#E(Wb#--}l99P4#$vb1 zon7kYcip4dU8r^?6O_M}gv#u37_$ZR3W$kW1+dlanO<~%kNSri?80};4pcglumouu ziLdzfGt>ZCVRGReeH8}kH*1?loX;j^A-zFIk`;ME* zsCa7;lCptSYK#+si8)zWS!;sU7XpiJWM`-H3Vy2{n^{)2CM_*3r1PZZdaV9YH|D#G z>DX$JP(%T-!otI&aDsN8k6VhGW8izf{Y^1utNF{8EgQfKbe8KxHaYbAH@9dN1&PZi z7;f0UefueS`CIRu*D!=7$HmdJxi2m(EF@f+Dvd_2aD$N9x^rhqMDGjdz{uOjJ#KcN1LRE%qDh_1y@A+nDxa= zmuh>B75+xzM49tVenYy!v*KO1=zQ!+Nz zpRNwBB4KQ(MJg$d8$7@}mvwtzTeK_x`5sM$1NIiF?~b5N-vtt6nmY_+v7C~YzH;^I zT(WHc@H5A~w}r%jAV5}dcu*Up_R^<~kJ;dyGT7^biXjhzT3clzPIcDU=&;}~H)cN5 zML3OXg=`153I8&g;~isCf{!%J-4%b~-K`bJjvv4JUaiof5QnBojQhJTcVu2Mj<)ND z!#6L~WL!z8xk_zVcw|j1zj63p5J_2hb2k)s>rj7-i;G+0^IikQ&=~C1ujIL?skw=b zEx1ZWiH_}L#$j5)>)T|4GqhvXG92f$y4v!~Q84l=cY076Sdfj|w=W^zfZ2XP75vpk zetrhvzEJyQ)RF34KXcad7_x$rscgH(y>H(t&a{DzY!Y7AQ4f<58|6)LWP3$CCxYD_ zi0>-@0=r6F9*M6(jA~*qE=7-=9CaF6;L%0j-ws^T7!U z-IOzAGCq(ke9zC%72t6bs?>Q4mu3L>_Ey<|+c{`&F9ec>?WCt;h@bTm40@qqb7Tm+ zzwPPqubL=N6Hsg~EwvpRY^+BB$VN$c)zfqBpQ_||rC{X#)kFR5Zr{GiqcEC7_}TR- z1O)|MK(<09x)vwKexR1>aJ|1Sldl3Q25@|ac+e&g4X6bE7_PZ+^5oKpq~`6Y4Suxr z=H%osahMK!q>n5Z?{^q?0>kjx`v9#wn*?9edIKb~rR(=CqH&t1{=r47jM1m9Uf8$n zM-DRV`>(IgN13;t`_^jy?!$+=r%ud8A({f?Bi-cU?nX2N2U>%F#fi}g@qdo0<6DB! zCbHDSs?;Sm`el8%%g|d^p2KJQdpTLWkmzfiei!%=MEDOlP8AV*)(hJUko*}~K(H@o zgy+%|DB5mf%E=0yWDA7HI%y+Y6#YJ#L|@EV2`Z13Bv`7<8T8Xf`^@82$iyY(@9OC2 zC}aJ(af!S6n`$|_`%Wa;fKs%rZ|}V2zOJLg{bW)0Emo&YoTcf6rm%a?b$kY<)lxBD z?fsGzfcOF6*rZo}h-~DHusDqDK|oK@XXw{eJ44dKW}F5(xhu@#kyl0=@;k#$upam<%Jyp`E#*n-+~K~fKd|Km zT)#fQbjv-4X+OM}np%cW$a~*4V`F1k4-tLO+b2ICVWxaT2w2Oe0X$G!Pft#1ZlWq1 z*Pb<26W>tEe(4`Oe$BeS?N!ozTNZ_UsNO z6)pETt8R^+redmX+qTKaT)v;(>lIvkAboHdiTMm`L~MalmW1_0#KoO4Tm17Ti40A&Ff z;B-}dV@*p-xD;zof4`Wz`ZHy)6~J0CF);+8%gwNU{ra9^(Dyg-v!I;_a^1=4SzzEHl^xj{(NELTnD5@bOE})UxBRkKaQ=DlfA~FQH!w7mi7#XE9ojOp zvZT+ScMc9_BSbD=-ij*c)Y-Ek)nXzdj`k}RD3s`H^M0%~Nj2D2r<7_R!Ry+y;4|?a z#s2ki!&`UkDDJ*ZmK2QVU!6%%tix(FpmzZFa9XWNXU~#q7 z=TI9HWY)vBwjOZs-A9^gEuv*zR2?ubHTVJ3ZzfS#Gp3 zGxN~5);^gZ!FeDcZsXk25xXybT)tB|C4o9@%>U)fok79D=1pr&wWn=!O@w<=EJ(KX zLEf@VRs7!e1uIKt6e}yM%i7wR;NSP?S0n41>I=zjRu>prfY`Hnru}T6pQw zrCB4%?`#PT&6q8L?Y-qBo;&^chpkzw;jU5884|v6-L$z5X-#<=_F8=Ji`Myxo2jP7 zgc#r5N~@<7wY|4mzW)t>6DR3RxEv)CVOz{Tj2^kqDMJlau5lIELy0|8)>XkEBfR`*-hVPm!VFYswTo^!5&)wWMKX5$gXI zRF>uOiRo{eeUWQo3IL&IeIDJ46;COj*U;EFYdPJDn{fOU-Uk3adkR=_LHn#Viun1OTv01LPN!8?L)-dhpv%7yx>t#mjvhi=+IMS|PPl%D%5=q|vp zm@8vvg6-R@3)t;g{OyOf0qv3n1|Is%pgL{s9<}RbdV9IJdX7dUB&u$tFPnS>!Vxg@g%WyywWDz-P~DL6!QCa6>D{u^VFegpv`f@G(EX ztZ^0a6cV4EHxM(}s8QaibFXf>xQIdxCNlE#X;EK5e7Kg|FqeP=_Vne;rFaD42snM& z>m~>aBAd_FJ1enc9JATRGaNE6U!<`4k9NLHw>2?AMAHTIklm>a_J zz1qP;hvot-6_l4RA%0gSA3)W1>il_Xf)pqYAD#y>Wex!tylBaiLkADeAxJGAC9L&A z;+~h+9Rz9Qzj;JmeZBPAvrbSL_CA(@(uKTU-mr>}?iuIu9G{Y(C6$#+-E&Mc`{_)Y zfB1mwFoY`O+ttWy(p>I?=~>RiWLKWf27)wx^D*Lou$Oq?b{DoTk|=pC-3A;{=-EAZq%lGKDaVD>qMrWIg+Rxs(iz9 zW>7!*@TEKbx^=f9wOc9b$5-5c@?W+g zEvDyrBBE_o{%6v zD`sIwJaWyS0tgF3mHBVXSi<*e6OSCwcrfwO6QKTEkneLu$=S)Y$#grC^i*xr)!%=1 zW?o=cQBfiD!rqUyhO>hH1O!<6DKBqU`Qq2rWlZ^*7tf#1&i$4j=8$fmt_&<3q=(rP zGP!V;uKTC2fKy|ez=_h5l362=l96$rKE0WNbtc=H8nj1*YaZr%x ztT}FOZhrXxHODW{gwKloaK~(=pdKn3##xEm@6)H_GcxS|;>Em)n(ok{tFswv`@BZZ!=8J^FHtlvgt8#@wYHOBt>O@iH(b!b^P3d zwT@?>Eecw;b~iy%NVisO;;RgXWE!oR{~=hy`?bTkJ;>UH!~N~;AGY5{A}o>S+7zLZ zZttrfty9K<;y&PPq%z?MHt7P=BM+#HlafRw5TY`(tBh>p(A zgD6%(;@^TmK!{8vN7U4Fh+D3%H~sxtkbMZEK|(n2ZOFRb{k`L_s9(#^Ei5PqDAS9Q zhbrI#d53UJPiGpiHtc(@ zUCFc7ChDaz0imIzc9*>tdbA7-cN{r<_}Q2(wh){q$`1PT=FNlJf9vsM_3kZDOOX-7 zs-67(*9i%wUDg%ow1c&%*@VNjN{m`D;@9{OCl)Z*J;NQny;su5Z?|WuEfz5`aUNql zFfbShZ&m&_$dMy2UcFji_=naT^A90mF0pabrWLDJT_@|! zK^N?i>K&7bebma$%}q>6i3$0dSZgD^|Ggx0?GKr6oNxT4iR%WPDT~f(kMoz9& zYusKJHtmRRjdW z1p9_6hO?I6d}l=Buk}QBUv@}H$UL4n2K}4|TM~YG=@dY>hYMga2${3e5oZNt&-ukg zJ`ty%q@s$seUGl*LPc}ZbN3t&y&Vaa`th6g?v)wm6%f=_D{o zH~A$c@jb71uA&farX1?-8uyyrBOZiIl-+A42`l#9yH8Q7hpygUGUAhkhSFTCw~9X} zQVdcw88-6*;(Ak#xyG3p9{V?}I2s=$-pNwvo*S({pO$Ps6KngwSr}~mvu|mgT3i>S zL&Vt!*Cq+NsnD10FZ19c&zPd_W~#|~*W%9)`}f!>tibbD#;>GA7V&3l>|(uhvyk}f z__VqV?`|L&G|JpdUApvq0)60ck(uKfFG&hc0Fb;qN<5x=Y=WehfTH@bf3#ohIWiUJ z1w4LCkI(YPEKdK(>;~h%#U05DlseNqu$Y`lv0j0L|Eh5SZYg9Sw(Z-G@k z+1d`2h^t4*qnK0PJ;@M8e}8FeYrcM=(Vp{GaEBnTPkqfVENuIXL{nL{O$r4Xatih2 zK6z$6#>>C#T7u^*0rO;~86UfBnH&X^$VU1e@_Q2$`TGyC5vasB8;L%)D2MsuQ; zi(GVV?!0*<&;ZjoeawE)qA9T8R!dNh$wVzZwLl?n-khdvuD@)k*5%8{pZ_)&)Up}4 z$H;e|75pVL1_uM-bl7pUm-p*O{%LP)6(Uhi8i)|aNQ*96@xfk4Y7%B*dV!%oq$K=M z7*8KEGm33~y&@QSm%v3!>T4VvG^n(o{freb#gc4-Z#17CJP>OL*1db_VAzsN)3~)N zOe*QPA1bUF!-E~~dA&D(MGc5;URdCq;T3?t#NnX0_~M=PCoD?Xyqe{1<U)LN*;-3ebVa`|>kcr{0gR= zp$zzxs-7S5T}Ihb5dNl53v;PXnOS*|lKJ;bq$d=LaVG@U3ounBKpm3ODTx1JO^tBp zFZ}$K++fnzty@Qs;yy&oIYeM!;Dso8h^~ujzHJssu5tzA zPB>x?aHtG%cI^BV{+9A~P+|*7&{6hUOIsU4QMk~}$Vg6%?7qK$WTgKuLmo)^wWfS? z7`>Nkb3HMHr;l(1m3;ByW+Zolk$?FHxTQhH4k<7{c<|uVnKQxurUxJZc?CZOej*Ld z_|=rz3K^WNSapJcat~JpDIcK$t#Z(I6ZL z1}xz#0mtyir2&<@3se@t5YXz_dB3{_Jl(x~PO{O#Ebr9L{;On^m)BQP(YEt_NKaz6 zPm)jwqB1Jq-!b;WdqVbl%c!bu_>`NQZ^=^YH(AbSf`AW}q&>m3U;82RKqu_Bj-B<{ z^N7DNAuVfA1E=eCMJtbW&sI`MhYYR`eb)Eu0qj4zFJ}Bo@djy37^^(Ls-DN)gCQJ{ zl|w^A!*U@L{Z)HN8honQFKRlV1+Cq(HMXn+ey&*lKqJ`l*i)*USnMwceC`9$L)4^n zf62POnC`VsS%kYbC3Su=XOEqq4bkoOrCfSNqxY+!x{JbM@3H30`Saoau1}%NpO4pn z?>J{(l5M5?`)-d<^@cn%;u$y@(-BGU7#|--fzh5~Xc-^CWpqLxRfnn_vi~<&{cBhp z7!>EJXS=@NU#2*(=384H&H$19>k;LY?z_C4BW*y9G;+h{)2emXh7DMZWawh@B3TtC zbE{kPerf)ys_$`c((*L2((HzpGcbfp&EKb;d3~|xZq=*V4KSm?)k`=+BKGZ*4pO=; z;Uyp$LWe`+HyvHAs1B+EJp&;lV`Q)!QUMRyYtR(p-{x9QiDU}C+*%fuMpOi;nh(Gv zotzR7y&%788*RP~`;?Bi!lCU;y^_OduaaE0f>`hNcRz1W6TM_LjgM0#r=&2~XvvB| z$IVXhW`oBBC(}o9TtUQke9no-I}6=-NY_Pj5;IxJW{Q6n=QsYj=;qROSDiVM7VXve z>=>-|DSgb{kv;QKwstHku7A;S&YU@jjy>KnXpz_i2?S>McXw9rC_uR+F!cMGub)A4 zh$|J%N4jSQzqiPC0j(FixvEjZ3eRiB)wu?{C;lEuTZBq=sO^ar%PpoCGMA}#kb@Jk_E zY}m6Ws;U8=RVdEt9;?}y8XI!5lnVZdlq~)-=jPYDw8V(R?5XTjhJJ>27kU%!+QnZR z#E&1Jfepd&J#vkVJ0jq01Qg|yzhP=wLcwrP<3NlO6=&ozgtHkH{ugm~r|xMWjoVv- z0vqbein?GW2M6wGxk*Lz z9}b%&X%gl;O((UU@zFtQ=**a7g<5EO67YkYat8j=FbN3}e6AmCEy&R2I=P}Rl<6Kp z9nmfNSxe;eK4 z>UCWre?zTR`#;z$V9}^>$As!90-*E^1n1>7gHUS?~7je@r(SJtlof8^B?8gtHkN9W0Ugx zV>CEjH-|^fTvLl_$M}jl60sRwQDHlHZQdypie<6MFX>jUOzIiSSvwixD6-@ThfdMa zyX$X&(Y91fyYP0d3yZMwc=~tU53s)fjPi|tuO`7J<5Yj?;zd?qmW(L(5{-X&rN^M< zAH7oZ?SR^Z?!XFlj392`zD;_+(1$><^6{-lTLl>ExrVxDUxvmmFk5D3t#swF2#E^h zbU+Dk27+2aJKem2>UB%Xzs%F<+n@DE^J}(lvfI#2>(Qw5JL&f&dlgm|y|weq+wDDW z!6L-QBER!7^zyZ9Z$VPGJD5g{6EWJahWHFX#MI9_;kW=1p`hTc9T=9_UWb0@A5@U- z?fjH0>`F?<4eXw<5~M*fGLnjTm!17AB7z2tujbAW*hZjoH1XcJew~$#Z6OX2tZ#qF zrVe!djq;lEFv0>bl=AVfSQ4ufdu|0#O-hQuXcXI)EgLvFr5r{enLw;REGM^`Al)@y z!Ab1{ONlgYA#|+k6gf zF$s%^_;6&6lIb~$=#du+=mpV3GsVp?KXenDL}Ae&X@^7eMwDI!H( zzsnrL?nn71H-VxiJKA+z^FcleMK54!?8}RP1`~u1`^(lhdw!Q-CO7Qg58>eF&B+jm zwg4*UHJoi-MtsfZAD(w14UIxoira8# z?yo=Y6+^bQm6n#S6|~+*76Uq8cM_z7x~RB#4r9f#csQ99P4f2tE{kL#&1v99!?%`& zqv#@wb%0TXiGR5Q&jb-_TtkvmWx1{9{3t|v{fmo>dxIs`N4T>|;lb8@e?q}XW=#?v zkjqh%nr&XH?HzN>I7WhT%M|#Ls<^TeO8k_XN)dR`)i48$l{U&CDlNCL_*5Jxv@9oc z^10<-`Q&c=4dfwl@2UUMI|z1VgGZHa{bTG;+ZD-mt(t`v{^k~tkz{GerGapuh98BrQV z#k43rH7`Cj+oVV`Z3Z=QMHQi*EbtRP+?&dbvk8LQw~SLz#1EljM#fcSmtc{k$VA2X26@awukIIJf!F|g+HVP$9;Tn9#s5%hM6L7 z`~!t(!~2`@%Op2QegFP_#-nFC9`4$6@kpKe$6awf!5g2weh^k7a*rTR&-md<%fmaf zqMy7Fj;GI-jDkWaMa}ywCm>`)m-%;;{);z5?4R*`d3nzX-mR!85EJ@rh*9S!)8s}Z z-*|HSqgi-5sWy{2JJu_HHb=(PG-mqn=vJ)?q709sZblhBo{5lvVL0~&ePS-6z{8v{nDP^Rg@{tS?s^&nxL}$5!B>Gdq?cewCpsJBC_JE#% z><9+{Ap(s7=B-;7A<+|#NCpUG|1ZKp77ZGBsY$|t^}qoS-ff>l z6BE~gbzw^L_mt^x1oXRkf+O+gL!o|8nX*REi#Oh0qw@a>KEhPPgmmW4rW^vDUn(Z9 zJmJCd9-dvv=H+FHCXE}R&!F{KB&3379aqqa#@AJ8gXVBEsJC8^RpMUgn>67ffDl$W z$pZVq-FTt1?!A(bq?n!agDPJXVjrUOg`Af$aGQP$DE<1iSxm0v>sPhE_5q8>;+pGb zF<#i8=J|sC0ZB>gVWB>H?%aC#=Acv6W;Zo85w5LoQqYRE`*Hy*Nvcqk2{fv&Zm?dx zb}eb%a`*9hIeibKmYOiI_#T^LwL5vEK4+Kequd&d30%=1l)`P|(n8#jbZV3UQWL zy_Fc1z(HDGh@N*T^7y}+2v;P`q}yjz z?NQ%#Cs0KC(s2M2&3^Zkc z@3!##6`1~dqe*APEpQ|t+N17y;QZU+t zGwxrohbFm$v|fx}>X!)e&Azgq$}9oNP>iXC_M8T%hxbHM3?&v>^9|*XwEXup=(_HX=+|%rSwi0 z1qpV(qa$-A39^yOa5sZhl|DM6$c_%s(XTHT2I@z2y@TTM+#RfR)cqvFa9xL#};`-kK<_VzxiHlLb8;ZvoO*%TmnbqYw9K!Duw@pr`k$ z%>7Y&c`P+R3TZ_e8672?q0xDf#-A&&0ZJH&AZC**ata}x=yg{mFZsYd21v|;5yA+? zu!i;e*Vom(Mqg>$&d%%T%puEpSA#KenyE^7Is8ihRS7dw)9=iVw)X@Vz?^}?Am^aLx|HhSj;fP91_`kCN(gJpgm0hRvVg9le( z0t_TC%|N3lnNVeAWeMW1CokXEnflgYcw1%=`Jr`FL_Pr>fA^DD%#sncNs@_%3PMb8j_X8H{aRKX zHBoL>Iw54pzdFOnV@PB~rLUjJr`J$D5+b08aVtp>XY-o>EI0`fvc$i9(TV0g`Mo zapN_!lZ3Hqt$<~R*64(q4~pbjO3H{!|B5zVvv)z;gidy%^_I*_SmCm^E_8QYK$F$C zHY;dNj5L6%R9VU0ekD$nKZ3pd=Ot!%H?@%D11Q0#9^tfQn@#t?aqkO)m_j zx!7O58lLZnL>d63$Xv0MiEkAUHcXFL7`m?!O3p_0AIvnLuv5;x+VtKH&@nD!xWJ_z zY(A;jK&B*{?I^V=t|y{_A)U0PPAd9nNh2>8!6hZzKlN_ku;CzL>GXCCG$%~ZQ^T$C zsmc?cywGu<38Q-3_Lhg>16a3gIWo(Vha`e1oX>ONR7KE{2iK-k-Tu=H$Y%6IApuP9 zAfe=Nl1XIpHF#Ju5g{qDchV%h_k~`qz>H^>)3>8!o$`@^5&a)S8>QGiRWX=&jApuX z5ZRhS|CUSsIBq=6kS&E8ZK^c7SR~6CQn3J{SdAf1lBo+?jnUm{F{{-eB$+EGKfixS zqFL&Vcnb~e9po(uavle>r@aGn=@UZ>c9KFsGtXpHEI>m8`1TnsHeq{feI{KTQwS9===t*vxHAdzMc9eJaci`Osd7C@;0anzUXikphVd5JYXz$>MV94j6db6z z_8Sdxi$Sshx=JbM-u(6b3s81xwS%?&~=*y z`xALl2097DIh+UxWvE|-L`av|>EG$hwjBp;u{EGA(vmHZ=sS}#6K_oU-|~d~$O9KL zh?nQ%X*L~oIi>W8H}b!oUVVJuf(oU+*!5RAk@r>rzng9AQOWiXN{EYl{CyEcy_{Ch zBy4O3#{zxxS<=$E(5oh0VYt~S`{6d3*SN1pKk}MHxz;&!7L!vz?sqiGnDI8IkOxdN z-)}AMGH5>iF;Cr1@FrNRl+F(fBWx0$e+wZQrG@v`;wFJZwzer_CW?xTG)#OYt!AFd zcJHD;zmR@LN}6uDYaraIK+(3WyUmWPPdad!Kn>aW_vTXWDp@OiUTHS+f-q?LVFBCu zq&eUi%O*oPIL@7l3Ckhuyv6+{&jUW0oX~s{Gg__7T_5bN-`v*qMV#GzacHAnE%j;} z;#-he9o)47p{@44;VQMrW$ks^i+=OCr`q&y1a2FrfA#wHa!_e2&~Sa@+qZAXF+Qem z+8=2Z2dhF=(=AFmsQH9M|F|{c9ngOQb&|KwpW*8zI5US29=tMU0*UgExlMf8+bZ9X zT9k}KYJT%O9fcg?=3O|;OP~96+jlyv)Xa=)J%7H-m?<>IJbbtcjCT5$3>hDh*}3`67X|V@9|-(~6XCB0U5G7x>nHDktMdH| zxh9P!GtcX!C1+z`aSS5s%X6{E&DM$b&}D7mp`7Tt16rb{l7r~3COh3oN*T&1JOtUO zddu~?ab1}z?)xFH6WXI)vK4IWJi@-)yZSe~Q#JC&QJ1w>knTu!6IZYZ5H+|c=N+!Q za=S8*O6}9bZB@fHw|=wVs190D$lFNX^8{Nu?oL{PoJi)Hs$R%)V0Dq8Ezx7wiB|3U z8*7wB;9R>&!*plMiN_bdzEmLFm~l@I?t62Flr7MaF%QK#nO#Ig2;2*S3m?3w#6>j) z{Vw?4`oc?TDh02fsTM_!rY9i{n+z@MA8_{tJc8F@fhMrb%gKwf$VjWfxHbq4)}r{OG1R*YUZLIm_RK~*Y^_IGrCV2a2UIE?BKAdet$Pt#k${>p3E z)OEO?<0$TXu&*F@I93-SO}TxTY(NKg>%>>paO1;eef>69Cs9#h2wJy(`;ZrR)Ip&o zMT6^3%+`xY-1Ik$5h5^M+0Pw-9@!kvZ&*W+-K@5_Qs*14tT1n@{N84N{``4>2S?Jz zfzp%_^P#P+oz!ZyqELz&ZJ>p`mw@VU`44&R4vLJ9X#dfrEOtFB$c9`yZ`9It=)~Ou zy7o5aXA>tUtyi$>ug^~`$uJ#XLAJNo##QKN!43bkIsze(ygv(#fUq@^o$Fsf+h$qT vke3wR7n$rnovOd^um5pL;eYMZp>gq=o#T?eFM@CtBO!i7QZ(Ywg{%JuyTY!F literal 0 HcmV?d00001 diff --git a/docs/crypto/writeups/2024/IronCTF/H.png b/docs/crypto/writeups/2024/IronCTF/H.png new file mode 100644 index 0000000000000000000000000000000000000000..c6e02a6471dd28cebf1dcc097989b2be4c3c827f GIT binary patch literal 22519 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 EKS7zYHUIzs literal 0 HcmV?d00001 diff --git a/docs/crypto/writeups/2024/IronCTF/M.png b/docs/crypto/writeups/2024/IronCTF/M.png new file mode 100644 index 0000000000000000000000000000000000000000..0a16d4cdbd0221f75880805b21a7bcda5c3a0fe5 GIT binary patch literal 24055 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 literal 0 HcmV?d00001 diff --git a/docs/crypto/writeups/2024/IronCTF/Rivest, Shamir, Adleman 1.png b/docs/crypto/writeups/2024/IronCTF/Rivest, Shamir, Adleman 1.png new file mode 100644 index 0000000000000000000000000000000000000000..7613c71c352537db2bfec1ff17fa44ea980a13b7 GIT binary patch literal 88286 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

oCOz&n^k2kjkgTS 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 literal 0 HcmV?d00001 diff --git a/docs/crypto/writeups/2024/IronCTF/Rivest-Shamir-Adleman-1.md b/docs/crypto/writeups/2024/IronCTF/Rivest-Shamir-Adleman-1.md new file mode 100644 index 00000000..5c13df98 --- /dev/null +++ b/docs/crypto/writeups/2024/IronCTF/Rivest-Shamir-Adleman-1.md @@ -0,0 +1,189 @@ +--- +tags: + - IronCTF + - IronCTF-2024 + - Crypto + - RSA + - Partial MSB p + - Coppersmith + - GCD (e,phi) !=1 +--- + +# چالش Riv., Sha., Adl. 1 + +

+![Rivest, Shamir, Adleman 1.png](Rivest, Shamir, Adleman 1.png){ width="400" } +
+ +## درک چالش + +کد پایتون زیر به ما داده شده اول یک بررسی روی کد می‌کنیم تا ببینم که چه چیزی دستگیر ما میشه. + + +```python title="chall.py" linenums="1" +from Crypto.Util.number import * + +m = open("flag.txt",'rb').read() +m = bytes_to_long(m) + +p = getPrime(1024) +q = getPrime(1024) +N = p*q + +e = getRandomNBitInteger(16) +c = pow(m,e,N) +p_ = p >> (200) + +print(f"{(p_,N,e,c)=}") + +# (p_,N,e,c)=(78251056776113743922781362749830646373211175353656790171039496888342171662458492506297767981353887690931452440620588460424832375197427124943346919084717792877241717599798699596252163346397300952154047511640741738581061446499402444306089020012841936, 19155750974833741583193175954281590563726157170945198297004159460941099410928572559396586603869227741976115617781677050055003534675899765832064973073604801444516483333718433505641277789211533814981212445466591143787572063072012686620553662750418892611152219385262027111838502078590253300365603090810554529475615741997879081475539139083909537636187870144455396293865731172472266214152364966965486064463013169673277547545796210067912520397619279792527485993120983571116599728179232502586378026362114554073310185828511219212318935521752030577150436386831635283297669979721206705401841108223134880706200280776161816742511, 37929, 18360638515927091408323573987243771860358592808066239563037326262998090628041137663795836701638491309626921654806176147983008835235564144131508890188032718841579547621056841653365205374032922110171259908854680569139265494330638365871014755623899496058107812891247359641915061447326195936351276776429612672651699554362477232678286997748513921174452554559807152644265886002820939933142395032126999791934865013547916035484742277215894738953606577594559190553807625082545082802319669474061085974345302655680800297032801212853412563127910754108599054834023083534207306068106714093193341748990945064417347044638122445194693) +``` + +خب اول اینکه اعداد اول `p`و `q` با 1024 بیت به شکل درست ساخته شده اما عدد `e` یک عدد تصادفی است که اولین نکته مسئله همینجاست. +علاوه‌براین، 200 بیت شیفت روی `p` انجام شده که باعث میشه 200 بیت کم‌ارزش `p` نداشته باشیم ولی بقیه بیت‌های آن (قسمت پر ارزش `p`) به ما داده شده است. + +## راه‌حل چالش + +خب با توجه به داده‌های چالش، به یاد آوردم که coppersmith میتونه راه‌حل بدست آوردن مقدار کامل `p` باشه. چون با استفاده از این الگوریتم (در این [مقاله](https://eprint.iacr.org/2020/1506.pdf) ص۵ توضیح داده است) می‌توانیم با حل یک معادله مقدار بیت‌های باقی‌مانده `p` را بدست آوردیم. + بعد از اینکه توانستیم مقدار `p` را بازیابی کنیم به راحتی می‌توانیم با تقسیم `N//p` مقدار `q`را بدست بیاوریم و سپس مقدار $\phi(N)=(p-1)*(q-1)$ را در الگوریتم RSA بدست بیاوریم. + + خب پس با تکه کد زیر الگوریتم coppersmith پیاده می‌کنیم تا ابتدا مقدار کامل `p` و سپس `q` را بدست آوریم. + کد با استفاده از ChatGPT نوشته شده و توضیحات مربوط به هر قسمت وجود دارد. + + + +```python title="solve: Part 1" linenums="1" +from sage.all import * + +N = 19155750974833741583193175954281590563726157170945198297004159460941099410928572559396586603869227741976115617781677050055003534675899765832064973073604801444516483333718433505641277789211533814981212445466591143787572063072012686620553662750418892611152219385262027111838502078590253300365603090810554529475615741997879081475539139083909537636187870144455396293865731172472266214152364966965486064463013169673277547545796210067912520397619279792527485993120983571116599728179232502586378026362114554073310185828511219212318935521752030577150436386831635283297669979721206705401841108223134880706200280776161816742511 +e = 37929 +c = 18360638515927091408323573987243771860358592808066239563037326262998090628041137663795836701638491309626921654806176147983008835235564144131508890188032718841579547621056841653365205374032922110171259908854680569139265494330638365871014755623899496058107812891247359641915061447326195936351276776429612672651699554362477232678286997748513921174452554559807152644265886002820939933142395032126999791934865013547916035484742277215894738953606577594559190553807625082545082802319669474061085974345302655680800297032801212853412563127910754108599054834023083534207306068106714093193341748990945064417347044638122445194693 + +# Known bits of p (p_ is the most significant 824 bits of p) +known_bits_p=78251056776113743922781362749830646373211175353656790171039496888342171662458492506297767981353887690931452440620588460424832375197427124943346919084717792877241717599798699596252163346397300952154047511640741738581061446499402444306089020012841936 +known_bits_len = known_bits_p.nbits() # Get the number of bits in p_ +bit_length_p = 1024 # Total number of bits in p (RSA 1024-bit prime) + +# Step 1: Construct the approximate value of p using the known MSB +k = bit_length_p - known_bits_len # Number of unknown bits +p_approx = known_bits_p << k # Shift known MSB to correct position + +# Step 2: Set up polynomial ring over integers modulo N +Zmod_N = Zmod(N) # Use Zmod(N) to represent integers modulo N +PR = PolynomialRing(Zmod_N, 'x') # Create the polynomial ring modulo N +x = PR.gen() # Define the variable x in this polynomial ring + +# Step 3: Define the polynomial f(x) = (p_approx + unknown bits x) +f = p_approx + x + +# Step 4: Adjust the bound for the unknown part (we reduce it to test smaller values) +X = 2^k # X is the bound for the unknown bits of p + +# Experiment with different values of beta, starting with 0.3 +beta = 0.3 + +# Finding small roots of f(x) mod N using Coppersmith's method +root = f.small_roots(X=X, beta=beta)[0] +p = int(p_approx + root) # Reconstruct full p +q= N//p + +#p = 125744600137007428336686588524997758583871561683692726713676285534301107098981040025358212893254808906490849809996401262081360657684811764499058585423566589418668455569756206340960309696630881351340690627578536523134632286484896258485029204377197049678809995370536434185505078509989342157694120501717398288147 +#q = 152338557313492806920938057132024177169537855797474186224778436724151018350841859306050747693427022538305746331468540077418496101170856031753174852597426413417774981047349677917782159366070625041741663841773378489741748290598624909537640900100213447631657455022547932304046202563857706877939270502191620357813 +َassert p*q==N +``` + +خب تا اینجا مقدار `p`و`q` بدست آوردم . بعداز این فکر کردم که از اینجا به بعد ساده است و فقط کافیه مقدار کلید خصوصی `d` رو بدست بیارم و راحت رمزگشایی کنم ولی نه!!! به این راحتی هم مثل اینکه نیست + + بعد از اینکه `p`و `q` رو بدست آوردیم مقدار `phi` را بدست آوردم اما مقدار تا با استفاده از اون `d` را بدست بیاوریم اما به خاطر اینکه `e` به صورت یک عدد دلخواه انتخاب شده پس: + + +$$ +gcd(e,\varphi (N)) = 3 +$$ + +!!! یادآوری + + در الگوریتم RSA باید مقدار $gcd(e,\varphi (N)) = 1$ باشد تا به یک مقدار یکتا برای d برسیم. + + + این باعث میشه که ما نتوانیم معکوس `e` در پیمانه `phi` حساب کنیم و عملا مقدار `d` بدست نمیاد. + خب یک مدت زیادی نسبتا توی این مرحله گیر کردم و شروع به جستجو کردیم تا به این [رایتاپ](https://github.com/HackThisSite/CTF-Writeups/tree/master/2017/EasyCTF/RSA%204) رسیدم. + + +براساس آن، بنابراین در چالش ما داریم $(e//gcd(e,\varphi (N))) = 12643$. پس اکنون c را به شکل زیر افزایش می دهیم تا معکوس شود! + +$$ +c ≡ m^{e} \ \ mod \ N\\ +c^{(12643^{-1})} ≡ m^{(e \times (12643^{-1}))}\\ +c^{(12643^{-1})} ≡ m^{(3 \times 12643 \times (12643^{-1}))} +$$ + +از آنجایی که رابطه زیر همیشه برقرار است : + + +$$ +x \times x^{-1} ≡ 1 \ \ mod \ \varphi(N)\\ +$$ + +و فقط برای ما توان $m \ mod \ \varphi(N)$ به دلیل قضیه کوچک فرما اهمیت دارد. پس: + +$$ +c^{(12643^{-1})} ≡ m^{(3 \times 12643 \times (12643^{-1}))}\\ +c^{(12643^{-1})} ≡ m^{(3 \times 1)}\\ +c^{(12643^{-1})} ≡ m^{3} \ \ mod \ N +$$ + +بنابراین اگر ریشه $g=3$ از $c^{(12643^{-1})}$ را بگیریم، بیت‌های پر ارزش (MSB) از $m$ را به دست خواهیم آورد! اما همه بیت‌های آن را نمی‌توانیم استخراج کنیم زیرا مقدار دقیق $c^{(12643^{-1})}$ را نداریم، فقط مقدار آن را پیمانه $N$ داریم. پس با استفاده از کد زیر می‌توانیم فلگ را بدست آوریم: + + +```python title="solve: Part 2" linenums="1" + +from Crypto.Util.number import * +phi = (p-1)*(q-1) +g = GCD(e,phi) + +d = pow(e//g,-1,phi) +c = pow(c,d,N) +m=int(iroot(c,g)[0]) +print(long_to_bytes(m)) + +``` + +???+ tip "روش حل دیگر قسمت دوم" + + با کد زیر هم می‌توان با استفاده از کتابخانه RSATool قسمت دوم این چالش را حل کرد. این نوع مشکل به عنوان یک کلید عمومی نامعتبر (invalidPubExponent) در این کتابخانه در نظر گرفته شده است. + + ```py + import math + import sympy as sp + from fractions import gcd + import RSATool + + def main(): + p= + q= + e= + C= + + RSASolver = RSATool.RSATool() + RSASolver.invalidPubExponent(C,p,q,e) + plain = hex(RSASolver.invalidPubExponent(C,p,q,e)) + print(plain) + plain = plain[2:] + b = (bytearray.fromhex(plain)) + f = (str(b)) + print(f) + + main() + ``` + +در نهایت استفاده از دو قسمت کدهای بالا می‌توان به فلگ رسید. :sweat: + +??? success "FLAG :triangular_flag_on_post:" +
`ironCTF{@Un7_CaN_yoU_53Nd_me_THOS3_3xp@NSIon_5cREws}`
+ +--- + +!!! نویسنده + [HIGHer](https://twitter.com/HIGH01012) + diff --git a/docs/crypto/writeups/2024/IronCTF/S.png b/docs/crypto/writeups/2024/IronCTF/S.png new file mode 100644 index 0000000000000000000000000000000000000000..f1124ea8f012ea4255134475e873e3ea709e2d94 GIT binary patch literal 18272 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 OFxU%9=hM#`-TZ%Y_%Z(g literal 0 HcmV?d00001 diff --git a/docs/crypto/writeups/2024/IronCTF/T.png b/docs/crypto/writeups/2024/IronCTF/T.png new file mode 100644 index 0000000000000000000000000000000000000000..cbbbeb2f20d9116d64da07a776dc420e97d7c46b GIT binary patch literal 20401 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 literal 0 HcmV?d00001 diff --git a/docs/crypto/writeups/2024/IronCTF/all_chars.png b/docs/crypto/writeups/2024/IronCTF/all_chars.png new file mode 100644 index 0000000000000000000000000000000000000000..d9b512cd6dc9edb10f40bb7b0ec91e8be11bc359 GIT binary patch literal 29178 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