From b2818eb4d3f8960effd14a0349d474718fc90696 Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Tue, 21 Oct 2025 14:29:56 -0400 Subject: [PATCH 1/2] OBBBA district impacts Fixes #89 --- .../Congressional-Hackathon-2025 | 1 + obbba_district_impacts/HexCDv31/HexCDv31.shp | Bin 0 -> 205932 bytes .../ny_congressional_district_impacts.ipynb | 1890 +++++++++++++++++ 3 files changed, 1891 insertions(+) create mode 160000 obbba_district_impacts/Congressional-Hackathon-2025 create mode 100644 obbba_district_impacts/HexCDv31/HexCDv31.shp create mode 100644 obbba_district_impacts/ny_congressional_district_impacts.ipynb diff --git a/obbba_district_impacts/Congressional-Hackathon-2025 b/obbba_district_impacts/Congressional-Hackathon-2025 new file mode 160000 index 0000000..3f6d05e --- /dev/null +++ b/obbba_district_impacts/Congressional-Hackathon-2025 @@ -0,0 +1 @@ +Subproject commit 3f6d05e76400c6e396a3a4eddd34a7b3f6919fc3 diff --git a/obbba_district_impacts/HexCDv31/HexCDv31.shp b/obbba_district_impacts/HexCDv31/HexCDv31.shp new file mode 100644 index 0000000000000000000000000000000000000000..dadef3654d40795cf1f62907a36c6bd4edfc30b0 GIT binary patch literal 205932 zcmZsE2VBkH|9{GAh>DU~gfd!a+{S&~6)B0(y7!h5QD#Qc5*f)J4az7&Mj;idV>D!! z60*xItArB&*Y&+epa1c@kH_(Nyu8o*{XXaUdcMXP?~{VU5EX_0>(_3(#Tz9Bg${Tv zaIT)s=;>0Dwe_Rl=Yr8NW6G7U5sN309u^w2Y#W^5|GJ&|zjg`=?ObKg`fx5#dxx3_ zN!0e9ADC z^Pk+wE&rnlaLpc^Gap{L@xh(sPK%x!7;O)m%bgqtKXoU4E)Fj+n`;k(Y?p`g?z)pT zeZTXsZ?}iF4+?yWFS(O<%lE}?U2YF{d6z$_pLHh_AI$ANbiX}>J{`HtKNX)hQgh+Q zHTHkoTEx|hC3)NL%H^vq5$A^xcVc7LV|SRnJ?!>29yRTyJDF_S`G9DIJs7Ti z|EznhJDEDe$up^+J-olz=-^Z1PQt%V9CTa59>)3qoLcbAon$Om__A3M>&FCR(byX;p;PvkoBYa1{w1Xk9zW>g6=uQl395j31 zwS%6gbe2D>!slJ~-LvwV9X#&QVR|~su4yj)hh4OT*Y)eV?!50#I(uk0%s*=fle;#H z%BtOoA1lQ_`hKp~!FC=b>S@Z&Q77y`{i4H})yf{E=V-Up^MmYx z@+m{kCn{5ZA?*~Ar++wqKKNO!cey*Ey1q4c&Ct-L?u2v9aaD&E+&?_+E9WW8D|+vC zgFcJ*RocS>@ylf?h3=#|`t?_<-}W$1E`OEF8R3(E{>*YGQ=V-e_v@uS_)T};Bs}6y zF7do>#i?;&rd+-vmuJc4BDwr<;M;ifWA3DMYrO1>ZKX18dzq2s zRC%mBNo)VPqEx~KiU0MK+8B2d*Lve{lP(w3jPBhZ8R<@ZhjE;}J8|Jb?D}uI5y*?@ zA3tmTu!nD=xFMXC?&QYR@BzuS_K@zFD4K`zk@@1!DVOcx81Lv12z4jdw=@S@pKg<{ z$>qfvCoa3;b@QcNa!+U2!_w>_Mw)p4#Ut)U4^!;HEOXtg)DXn}^xUA5ZT3L1&;9P5 z`r6MPmJMFGczv`xxp~W|_X5ekcFEc;YuBvZv-(4|qUUSZS>~_ibSmI&Lmxr0P#e&^ zX~_!Yp`wNng5~k$l(Akbh)D3zxaYXiTK)lKjah_t{hg& zP(SHTo=h$B?q0=(%X0aJT(_+YM{DAacDEdmrWStWXuJVC0P)8_t>V2fL?p!HMg=>UFp~Iaua5 z>xd&4^z5e!jIsWtPe<&G%(;+l^60}fZ&2% z_JUK=|9GJ-=f#An{9xVAZFMKf<@NG=>9ab{?ipOv%mqughCk2#{%S~wOfHOlT;!pO zer!@o#sGYF_M+#BhgCcXeb;?%tfj7^2kCmRN$=4vfa&4Q!-ip;TzhAx^5-CcL;C|V z*I=AH7nXCzZ5Dvnn)&=2FVN2#CokO}0+4+8Y4ITRb^9NE?yoctU})|5ipK0*JC>I)edr-X=em%Odf)&F9~_6SE-2 zdAk$<9OSaOT<*jXDNk!g-W8s_Y_1OAD#t5cju(q3!YotCR@pxk8)_re2GaPJuPn~~ zPcL2NdSUH_wI|lzSX@}#SX^1$S-r4&qiv^p?P)WzY%AjMcugcI901txp=hQ);<_jy zs(ncs+VAzNM~0-KAD8!y_Lcf3wtv{|j#$3SaB`GmPGi*H7$f&JvOKI07TK>X(O~tB zH|}K2(`Uz~=5e7yE{~VX^jX8?`lI@%`ld4F1IrhdPpltg{Uqy0SwG9#Eo;|o{QTQ@ zc|2v~FB_lP_|3+5HvTW0y1-Wv^FY(mC4C=$wuj|%c?2U{$mKenc7dNTFLbyY?|gDJ z7gAc3S}ie8J7PZb&KPN%d`vF)%-hv@Fy@6B*6V-wKF9@DU#P-PSpMk!n^!OED)d`y zPE2j>zj|l$Yc~I8^C$Z3!76cIwinw&??=_9Q}A7%ZqDp;A&CpDpJV+Xwd*LkowIh& z`UTc+uzrQ*CFQNNoVOIGv2wXw&T9weI^{i!Gu6vcxgJ=(Q9V<=Qkm+V}P@Z_s!cj#CtUdu9>dNJB0T?KVz6yfU@MUO0H3YgrwiNu!q+z`ND$I*mX%K&!Yzx<3cfYxUpeY?qKNxnt9a3J4tzX&Dsn}Pgj_jhmpphj2jYKx5`SGQAtMH!PxJTWz|FiUW%Jb% zGEZTFy8(v-QQs;D_gy6+mWjLkD@-}Cr;oC;En-jBkGX3)s7)8%PMbm}XmViWk-A0m z!z5&lW3PM3oj5Sx(IVtWxP(0Y-SJXVHxBsoa&``il#qL>Ya4~?9JtW(W$YS!zM`{H zgAU47`$l{wC?Dw4X~HGc^@?FF%g3#0)4i78$QhTTCFDdukN(H7{xQ=r)=t>|(`(P4 zKQw>?*HsjiEY>48ZmaNH^f{n*Yl#1O?5|3iLc|jT4k(RR=ADX_5bZ4Ig+#${C*jAv&@PEby?)L2gUh*oQIjMneFg_UsEe=eLH#~dbIog7$brpUW@^1bK0IhJe7JQP2UN_| z6*nOt)vwq4B_kgKTgQIgk}4r}>rZBVj^x0bCfha5X%b?$=-elTjmW1hI%OA+Nl4_- z8}EwZIk4qMmO{n}?0@74(^E;jo%7RI6XQTY97iVhvRt}7q zR(LKY6YIO^hICqw`qCdhZRcs^_ewM0&<)7HGwzEDvLz&?^5F2@5gh36=UMXhyo3x^ zl0@f)av*wR&#vmZ5~87dC0@9V1FtK7kNbX3LiW#a9CLU-2fAqorM$uV>AxLU8pd(p z#g*`fk$DpGV@~H4XJS!*y>c?NFGwSw^Fpe4xImEb7X~iQ|xOW5fkPwGuME--GotCUBtBX7l@_ULqeq zL@yyO9LSk@W%`=u65_jf{bc>|9N1THvLzPVSHEJD*V(BY7&d14hE)$F0znU1}p^5b+15WShjMqC~@t@ocpC4467cy+)+}LR3M#xMSF`cq)^8{;y;N`2GX?$e5#8DM%dvf0uaDWKaX{~jUl&W1 z4=+xwymk)teZue=2W5xBI{GFTIS^5s@*)iHA2c+o@LDzpp1#v7`;6~@@pS(Z5!TNb zrF&-q@<*`g(EBr3-=kFVb*4-{mF~IqDhEz9%=#`yzCHWp(!Sw32Nrt14K+o%a79c0 z>DwGAd+E60)_n;Hi@mu&r;G!=d1|`DQJ!bfZ{VZ~4sgEzI^u)!oSAV0dRB9QZ=$|; zJwD$`^Zntvhv;7w=idE=a+F&v#J=Ew`-qsQ+fcT=v9!9+d-PwWW}SrC-V4tyqaJ+W zKx6*nFCVdgX-7xjh-pH5?A$r08_KmwRssW*+sACkzJdCvGC0zE$4|6J%Y4sisL#Cq zl}8m6ZQ%A&m-|u32SG}KsarD#YE$a;W&GWrUUYf!Zw|cG?2ytE`Plo~cJ)Oq99S~e z|7!s9b;m+aw}y5$Fi842^=OfV3^?b#x0jX;TvofOaS8pA%HB~H9d&Hr?zF=JhIoC> z*WE|@_qKtorH1KG@cyy4PVmcm*+A1o!=2Y<&+lOu`K^Zyq}kdk&A|7c>3B|M7T&); zW5}7=$o~sle?D5#*9HO>m3#UjzmM;bif#Mb05@ld-!W|e<$WqUQ}r;v=(9&vi2T%U zfA!sILmTkWe)-T4<=2&#*~ueqVAazvw^pOPx^>f6Un?89|MOJ`J;dWs-VMQK3mf=w zp!eDZc)ieLsOM6!f$IZOt{#%f@7_%t;$Q;}T}q7{(4NvthTGJRwE?SJ%X74`eed^I z_yywiV=&$5KK3UsYV3JkCmYxpJha9R`yUv)yLOGE4bTO+Um_qv@$ z9w<9&TQ2mlw*f<Vfg$L-nx>gl_{URc5}d!g%6SBpsqW#suSla$rqh%z{K>+?brDH`h_oyR=V0iVEc`;*I$(oH~&t12T!qq?8H;o_$Y67Z=8Aw z^F6PEPm0s9eM;jiE41d@z;rLAzHZpRB_8<$4VGYggzx&D!s|OL51Xe1+ko!FtgGAc z{(h$8zU&FJfdvgqB?D33sG{s0zsd$`R)1c^!}e`Rebci?s13Z=c1jzL@viIpz%NZ$ zzn@>&{ZALs-*Npc`B64d(tGFe2#l}UZ|l2F-)aNPBF9_w$9Q~oK?Hx~W*exx*|{(^ z3-Nm~dF%+h?);$F%#5=VvTuH3U*{dzUI&M14>7(shiWbo;Po?(BhIWmB_XlPeR}WN zW&>d}ibGXSw<T_=h6J$1$IY8x;k3{gA1B)7o_OcZOeFs$y;6Q{$;2PRAs~#c#BZ z-+JViYLM%LBN8I|w0mz%v<*m}XFuMGvQF9BUb6n2$}XF6F%9FlR?z(r#D~qlF(p^V zvR{_Rn|P{AKWm9el0{CZS4ROf9!oEtEAl2&_L!C!jpF^u<2A6J>_@N7tQO^69LR&C z`co2Zi@nKr`%;fleR!~78{H%FS2T zy@~b2E^0fg0HUMEy|%gKO}rnTti5s$U`*W56Dm)<|F-4Qx*48p-g}dLWj)ube1O#n zg8ptT-lW|uqs7gc06#Z`Ucb>aMr&fb9qNGQOx-G?BW{$+BbvM?nb9t z0bX0q7Vg!+>&;mcBKq@S@ZfdfH`|FxLDKONlHok43)0FEpiKK-y=~Yu=ZD_J%Sg+`AfDp@p2f@nd=DfpfKV{QkFO29iTu zeE}wwX2u$S@+NEi6$iDu{lED#$|qKTtbR++zq2~h>P_@NmO2gH+V-q=eP$?GtprGT z?{Rqb7jH7)Q2WQTJ#ikg)hck3qL|ERr~Z3`Gr)m<&!W@Xi^-apQ&qV`0itY-I7_>? zwe6YSk8dCK#pF${p5T@_z^>mDpCtAdlOofIImtK|-|bUOO!pCD@>=P2=GHj?CAVHK zEEp;##UY|9-;DsYudm0S&~w`l(44eXsb(}@zp6TB;AH^I*j;u#2IKqXeJ|J}-nOTw zn9SUjSgn5kU;ZM7YFIL4e4=evuoG@A?$M@WY6~(xXkF1_q9Id3RU;Bg{oKvELz9ZRkSqRqkDz~34AqAV=#PWW7dVfC zzkR2EhV3sxppNB_zl-b7y}d#~Od6fyyIrle2U?f*?Z5txUZc2a&wFvV>5TW^dtWcV zGg?ySO`7eMkDJxm!;Oxu?!!NOlcJcY-yMJ21AW(b@!qwE`f_37K>zAtzr0CF`u2mT ze7Rt@QmcpLgEyJ%JkmcPD_+*!S_dSmsf? zI8c9AD!$`Zsx2lCK^;PRe&_zK3*dd&pQFI-Uddf94(*NqKJXP^AV1;I2$EANS764fRe*B)Tg{0!X$^nazpdghCtaDnYVLW8FDzjaZ)VR^T6T*PGf zv2*;TJK%3DJ{ROaWgP#1c?ew>W#c>>M_510`eD{jQ$PMz?#Gqx{(RACY+GAwR$J>g zI*Q4FD>~B_?*=e!clox`IE*t69%K1&0On0ahkiPV$#}CpS?ai+_H2WySu*xzmd5^L z_m1GYs=RM;y5fwXnCCRDx14?!>%UZ-H}iQOz^8md?D2WWJ9v($?ZgAW_D>h2;QN1b zOvrF$9wepP%ncVJ&NrP;%tZN<64(AYh)IxW_`zrGc@Q=!aP3Naj5Bp>`}Se-$@>{;*=Je+zA4=qxQinu+cJ(e9r^(LMVvU49Sb@q0nXvBNn3=1l|Tc@>f8 zRj=fEmx4U+V)HUqpZ_zNb{;bStl?KU$Ye$vhiD9^x{}$KAr{$>UZc4O%Qu#fEMHkZ zvwUamfwdRf)?10)uI@#9i7@$eC=2ap$Mpq;A3FeyuTXMr?;|D=s~4xHp#9t$`_RkY zOH6ik&L}yLa>vz@?)TiqME%pOpXa&(1o(E`TRKHdejP}tEWq{ka-9L=t?+s`h4z^# z{Q%TohfmPM`z?#+t9cCssCQdr-{dVOh3@k=9x?=&ed_qY6L_8HW%2$N=A;Wc>f2V~ z^%2#Bt$$krtPD6=;OZ$R^A)=Em~9Vm`ix*&(o`|=dS3Ry8RJR)W_9)BlThBB(&za& zfL?a3R;ehLeAR3=oeB^;&$wk8`hzN!XU|U0!1crtFO#<*@0~k4La(_1l6&8J8z9dg z9B#gGZ2{&-^UJ%RKs)MoU0SefA;9<2ZvnlK=b0NGZd|ko@BdUZ+Dn8yR~PR*uoR%j z;&sKf=wGhezATW20`xaOT(cMN&pq~~)9m$#myKBi2jzO>Ma7k|0IZ#|cFfv2o6n7C zX$aQBd@p7EmR{R1-#e>v;YI@HgHa(v%4GTAuVK?)eb5(^RHbX_vV4){8&XgcxBLXl zcsqYo+R6*so`ior(?9PR7e<{>KdyeygH(Pl2>SZye|fO8jI{Vmu53Bw-o=xgoZ$R^ zE&9!)SF2{d`Q<@McDa4Is0}b-=A#umetVD(tJ+VmvI2P5qg~|*bx&e6_+)9`Sb&{b zN^d>7dXl*sKAZ=L`<|3%``#*el2z`rcwNH)go2l+cee8+`Fx$sq5A+{G(I|ZxV1PAM(P3eEf3D z!X3wP;bkYc+C29lE$v>I_O1YUGPKGw`@t`@no2t<%N7GH(q6xxkNAF@ofWuwK0r(A~&WO{pOug>zR>wefZZ4J$m;>Kg$WZ6oGQ}yT)Ea(cZEw=O1{5@}4`X zv#Ze$Cw`mvW8x1Fa>nf99KWu3zmMe6e3WNztO+@;jQdTj@3mUBco2&%yLRqF*{Y}(C*Q7tpoZG>bt&M{MdV3&67MUvG`Vbl?$xDLKh|*ivAh5 zp0V9EGH{$Hxp4A>vxQ=tFQdLj7O&~JmGxt+pJV+X`(Dm^eYM4XJjuPruWo_e0gMxc zQ=SiPd-n~extT52*lxG@tlpXcLGJ^v9_DzGzFfyamdL9vN!#@-YJ3l4VP}?KZ^yUM9hdSFS{P zsMnLenri@PTX!{$T>SO_h%apXp?#s8VcU-w^uY3G{7&D!uwiY^rsOv6(zeNPpyPK| z-z*`A&sUpX!K$b}bY8qWOm@+4k; zHW}78apA;K@#q2{PaM}yJ6QUI`wz~n9#}oG{Y5BbTL^Px`H7F&u=#Isj$FyHyYkX% z5ga!)^6TS=YkUspYBT~I{>=Nz$R_)(n>S_AQJhZ>&h+_}^jQQkaydvYPcl<9j>h@% zz^HZG6lz64pI!Z~Y^_nV2oBFn`@9I(1DvCp-hAxs08frKkJ^pv-L9Fprff2FfB~1n#>bANV*Y77xHdgI3 z#{nv9^A|R(l8|A$Hy6JbJN)g-1#30Q6&D9Mk=Rf13ij=L`x>o>A_o}apSz`Tj)dGV zo};sd?*L1s*YlH?O33F5)ihgc2QVHm!A3h+LRQ(o5iZklfN!-e-#)LCkQH6KRaL1t zK<3eiC39jVq(gAsQq8v_2$?tBOoZ*BSh9E_ggRJ0$#7TE=(BX8L`wD^@Te)R5<%{Z z;n@$ArKF@?;gb!y|HHjE)|36x!BanaxRiABpM1u+lLPp-f1LEwSW5QYF`ej-IGdGh z@T#(Jdlt9kbfT@Zlyp`}eb7)Zf=;nM?mfj)((cjqz^TtgK;OMP+H%^>mm(<7aOp2{ zl9KIq`j_ruzuL!4{j_|nltcz}6kX}&02|xo+V(+N_s*&L(Hah*J1Xt*9S13C>HcnJ z%V2D4ZSC?Fo|IfLvA@{j-~dX(46n;5t7c1j?i}j?-usN+tph1Z03V+f&JIx2J3#jn zM@lyH&qiBF9U%HXSvT8SN|qdWdU#2w1Du*4xK7zdO3r(F{aCu&0d!uqKE8<8?@Sl( zx_`(4%AGCeyt0szt7d&;hMjYOk&WLn4xmi2qgbx~JYHMrpaV3|OImzgQ%W8-o6vomLRWL6=Di|#+I7-N zr7^h1DCeZiFX3R}&u`7q_GfLUBmeDHcE=qRfy=zig*_KzUHQF|c@Hx}BP3*Ka9F>A zr$un^=+sdia6eB%*8`Dn%SHe2k>xAPXO{1*J+SsdeFJSf?aOHK4CPiX;_^)@Za)F{ z&%{+0MgA1Q)vV_?4O}H;)|(?zg$5Dk*Sp7EbHnvi#jW#S-D{JN%H^Reb;PT@Bt$`d zhq7;y2v|H2BwZ|j@(ZdX`>*p3>NJTU+$`)v=2Kj2mFxV!`NhCv#Y;DSm5{|3#^`x% zcYsIpoW3Z2$9+u(2KhS{I>60&15PKu!*%8hRV8!19U#W+u(5VMt}`2C%}PZ-K%bp; zVa}qJ1`c5HRUyFWg@gzV9J*#HI)Fm%i6I@nNC<69m)y$PbAIE#8%b^)s5(GJ=xPH| zS1CDS{CsH2FVR2zVfjV-M)}9`ljSeVZ*jfEkq`sN zLz&Ts(65bl@O;DKW+-$M8M*SP|HHXR+(R+I=pwG zSvMAaJdKT1r!u|J{pj=>jhk#-W#cXzm)W?@#`Pgz?+-1+eJ->utbMTd!`c^Xf2@77 z{G@%SeP#QHU6*Y!|C8Um$nj3I#XT@~7f)#Aj}^f{Imc*DBEyO1H!NR=!<(nS&a~ZY z0~&fWaQ{G>!H>?bB_dcAx+&#-KCZW4>=SSzLIj&b&%K<0`$g6n`1@Aw6hTFf`Rpp( zpYiR&#>;!piGa3crosK}!s{Ynabt01^C>ppV)F|&|6uLMK;CyFxqVSA2FqpE{#g5D z?U%(1p_F~P_QyZd93}GWmIkZ!ZCKEl`CtFc`b*ZIvV3B3V{v71XZ11_X6zq^`wVH@ zW$e;Xz6!SdK;T|l#uPxm-KN14Og@i~27r(^z30 zN~Slhl#r&(l>N_oh@d^p>tD7}LK>s4j}$12z`$ha(45V zXbsK zr|u-&A9VF=rqHXG2q-q@(pKx$CL-wAKEK)?_YWTUs<+p1q6k<#5UT!I{`ievT4T33 zDoKf}$+@LX?}dMDopR*AeuL!~>lfJfu@=wG6v6A_i@GmcaNHO7RQK2Xf9->{AJ)Dm%k3>n z?h9DF5OX~&fAS6bO?cp=@LB6^kuxRgiRs#HV;LFlG~ZzDtVfCE!>$HWa{11sAHgSa z+#|ntvj4L7t_f|=a*@kq<96+Vx>EAu&ZL7IFdx}4fm{B|P)Z&h2pL^B7vsCul?ls+ zNy$PL_wqrGB2c}*Ky4C^OK97A-H&%ZhvTCAf>Q5H{zNH(R>O>8p(0p++HZE8yOjKPDtL4`5%r+)wy~EFj=Ku8 z-@QGKF}rfKl*nZ$By&ZaUeTRWc?D0Cqk`{g~;*^ zibdapd)Ibp75?Q2^?5SA$R=ZCKh}S;{9*aU@{i>w%im{}jZTBKq=dHRb7kMy4SG19 zRC%+~LQ@2zv=X~&_LGv<1FBDcjue5VTvj~zKbiK0>Xp?y%L~du${UtfEbmwx+4#W5 z4>rEA_#vbNu>7%)tD2M4KjEB7-o?*Z3iE`2b55FL{?|Te-QCiRky$Z92u@oT)Qs~h zr-nrdyB|k?`SRMiewdG+@$$;d%n`zm{tlcp^uGhYglPpo{MR3|{+jjYtiNaD0hMXI zVDn)%U;ZbbwmtPQaS`r+%~)rB@QDyYpRd2MBuGL$tSeS~-4-j;{yV zr5i;FAxqQf*2Y7)U%zRleJpOQVev$r48-y$UKCdzye`Hu4oN* zEbgpc*!L94b-rD$$1Rn=O0VNQ8huw%`IKG{8cen7y9^_EvijCiK{9EOJ{_yrZA<({v?snLFp-lKsJYnMv z8;{s{#l~$muCsBUQY#3j`K#sy5nV-zt|0ES(U?=60IKH@r(%}e6J1vWg?Q2l(0{a=VuAQ`sFS- zkMnZ0Z(+g*S6f`A#4vGF4|RMW?Yl+4++H`(UP~RPZ@KO!C9xlX|LiU1EFIfxA46F< zcY@Pp%mbn{CVm=(vhy&_@K&%Kw=IVug& z#`(ff;l9J|xk6C+V7v1t>b2M78>w`A@a#!pxguy`% z8%N{y3X#o>W(^_e2qrBI!aRmzVHZiJ6b{AtPX+&pDKHqzpK&JDW$M9ahOYXEoz$eg?3*6yyJWnf>x}wR58-N@ zw_AUANPYFpwz|4=s=u9?AcQ;mXCimwTtV91oL%)Jgb-KjW4HJ1_;)PJ+R<{4`dyDVCG<>&_l$7@f z8JV!D4J+!KWVq9PZ@oi5zX`y+*KR`n1%urJcxo`dQ61yYm@%U12lfl#=kQ#fF3P{Z zgf^6+T&}6}Zq#5Y+4}fq#*o7TSf9T2*lZmCY||SRZ*)!o93t&971u%h4lBMsTPT30 zYc5BQVtuP#Z+#QX1wh-@pm(Sw2lbYyS6QZm^{>Ytj!XS10Mktw;?DTKQTYZ_-8u`Q zhw=QE3Ye#>){NZj+ffJ~RC~T|hwZ&p?U*;QMF8D$N(mii zOOa9Z^X-oXFm8kKw@Ww{tPzy8n{rP814_o^8L3H$lS@S8{vrX4GP6E*p_7y>8sW96 zOQ`_9tv?!6(*^yo>8EQMRRUPM>r(5{Za7|Z${75)P5>9i6kqT`KY!zVrg8r-0_d{* zcy>SZ>sKn%;t~~v5ZF_7dk^&M=WM3fUcvUpto!5^iQ~oV4VQ;op`ZS-VNUrLj4P6E zl9y+D3gL^#M!giQzw5@x{7e0WaL#wp1|Mwij>jd{s;Kw8M6FgW9JkcZUo#_a)W30s z^&hN%Vf_#5pIEzL?W!fvzUk)^oG(#zS&&#FfFjfPr>k(B?^3-~vGsxgRyEEyas7<* z*TPBrEfNJVCZ~7Zuy$?So020OzExdHc;SVHmk$bn!2^t;qobkJ~ zx-Ny!k_50_l7Bf~-1h8)lGlo@IM04^(5mr)$m7=uGuB4W#&Jwu>M3*VXH!CK(c2~X zUD=>dsouyV>&njK7UQ~_LY`Kq0q9@GR+`0B;=0;`K|Vjnb;sO8^JEtv95+0@7$wy} zKTrEIe$Xv9j?=&626kK#pu5Sk|8iU>Hr8z}!7&=!KkWKYEPvt`^$jsiI#&62+S*3P zApebDte;{15IcTh$2V+0*nYA&usE?eUX)m`E?grawC&d=)2|q9$N4_#j1jME1+Y`U zYh;ImINxWokvKjOz&<7}P`@XY#|bLaxWW2KiWT*vte<7^L5zn{oGG{C=IA9h1qpy# zJLh80xV9MdU!2)^#kPyewB2mK*nYdzZvPpIYiMEdv!$!E+uq&Xw9gzbw4;_I^;TOG z@H@iz?;UqW3ZO7B@oT_Q388H*54Ww*PDQmukL;Z0{!_wC?R1{R>UQaJ*he@-=_(L0doBKEepU z*IiSi_n?;m4D^e`Us~Yzn{_7IilzdXEfFXNj>2*7YPaB$i2_(A3FP15;kdRgdEVz) z0?12vQ|Q6P^Bq=SzMZ}PUq8b78P-m{>dKcYS>yNqt9pAST^9W9%fo2}`r-WqU?(Zz zan4Uhn{o(IdzQlXU1Es`@{#fe~8ftjOz-r@eYm6+S+^9obTVJQ|en~ zIMH(eSwGAAVb)Jmu2VnG@`2?G%cm)g4f6+HlaO7i3&{m90rbt;KkPToH*c?wbL;0K zfCnoLjx57-5%fe$KD!SWzya>vnUmg2NFRA$s7(8o%3MFqZB9Lhb0sn1uUEVrC4gY1 zv}xOM9KCiz*Del*n1?9cInadTt*_Z$iVN%nu=K96*#wNU%fc4?`e7{qZTtCe>o5+_ z^INCWgO71ORysKe>(5R2F7X&6fJgoYGtDsW=gxkcrZX9N(EhC3T~!>1&&(V$(N6%L zOEVi6qHLIuJG}E;0SqBgJz}wb(YnkcPB`W*-#(aW;`5`xp^H#%F1pI>!hgd4aZ11di9tlQ}y+V0@ywrFj>tKUA$T{oX}IG3@b- z<6^S-?U)0XaZj^n*_n?aH@sl`}E|zaw(w&NzqP z5k6_B*w=E6m>8^FBRF^&_bJ+k?=M(|-xX*cIpkl1`*-cro(xzb|p>ZQNJ~K-&^|n&W8Dk$+w#Ws`gIc!M7EgD^pQ^ z8=iDyiUaR2wj(ND^w%=x!LoT(otwq@UBtuTS%>jE;Cme`pJq)LlZX2I0%~-4@c2M% z?C3dS@+dWAM1m#{vUbgQp0ohJmq{?6eGI?Pd9D5RRPhoq+0ysC)e!uCreDGng&){I zpM2sT^d99Yt6G(oi^-9B+{>m<0LV%ew`a@5q~F)`$Fz$9SbZWdOt8F>`3Ljtu{(l# zBj>d9D;{O?VL5kd>LC1fp4x=WKgc#|$bJ_dDbCu7>yPhtj!brHCxFA-I$l-4y!QK# z<(fH)0{C(>ZoviQvpDT)Vv&{r=(8gR2F{x|PyqRA236H)UzyUW1D%Wo(63*2Lsyg! zZdrPu7VV9-Kh{23`(^E$wSVd#bQpg@{Rit`uB~jDt$7R2MX5IYX{;lFHQb1r4LIK^ z5OqlO|JsJl!|L2r?lV4^DLvFnD#Y=oXg7aFJ|CKk);FKJ+DY%GWu2;qiD_~ z(<_~?(60T^@_s(XpC;=KPp1oDaIKE5Yp8_S`b39!4i>QN27NcpL)bip&EMGkj?MqrJe$qK**u-*1~iYSeW&r6jo?iC<=r?73%q283l^bXB;g(>?-j4Zb+w#~g!ALj#YduiRo*#j^Cn@6yD2AhY_oQw7~dHOQbux2s2 z_BpTVKHAUk4Qq!Td@3g58a>6-TW#3T{v$NzSpMuUpteYDi*k%$`8s)C{;np-roaKuUCDDlIuqkdOU>Su11IBt!$B#@o2+nrbHvf=_Y6E&t*O-P z(=Y*q2i`opY?g$C`lQ`9QfZS{%H;_8^)R{YU>dS$(lXqSAjfX9X-ej~)e=$@-^(Kl z^YDI+6XtK+7d`N0|GF+{9+q2UfI?Y>Xh~u=u zui=gu`I&vz$k___rG8VtXYR^}sO-mcGDO&JAFpfPetalt@T|8I;69IUVZ#Qj!{^J} zn(uQ>&uK3odYk^v7~~=$#^36qG%(Ih4xH5JXfGkO?PCIs&eodZ{`tHW&CywW5Xt4M zj9es_S-->jCDw1TevQQkF&>S1?w|D?8bg&`-A=7{=HnU8k6wOHY_nAv&U#p6KO;>| zx2HHCOzRGl%WCp_tu<|S2yneJBqupFa~dCXa~HqaTZiZ5JZtA%?!$+U=B;(ExW37m z=YHE3eg8`bGsDkVKm0Aq@V&!r4V855a+I9Dc=Ol?K~T{t3n$00ua-nr+IG0u}Y z6(>(D!d&giu^p3hQI0q3a{E>RAC!KqH0pwTiF~*2O*XsoZ$8218*Dzp<|}MI!{$3Q zSEN3h^@|5qMyA!`x^_T{L!Yzv`5@-DH;~}`b+hWg^YzFRs+&zI_pe^v&j%GHAK!&Z zcrKyZ+3CN+`EaL5wXgFD9G5?S^woDU_P1!1Bm?KSSBZwa-+(+l6!Tm+wiNf*X-^2R z!}vJO#c#LLO+05QVpyNSo_wJCRhR3N%2eM-0ShdD_B&9U`l3gJRc%?V@U;AY3m*p=T*V(ww<^^ot zz~&VeZhjt@GsQ$L%-H(iL_Un2_1HckLriYxIUfjiL0=>9n_?Va-_DQ^f|_;KYKO(d zuj-c3ib2TBG}Uvfk6<1F>BXm&uzvwLi+ys$gkn<>@ci_ZLNSqs^mDaWymEg~rzUYr(kJPVPJCT*nW&kC*91M^+Di&2s-wuYHrtjq|csx$M~RCjE3N&iy&v-v;8uukZHLF=zioRM!XGsE9nNpm4?ex@6b}yBe|#>&ymel_i|7H) z2hhGe9Gu8e%)#?0LUtZ9?|}JXe%{`a2Rty&e*I?ZS21y|-=#e36%Up)%m{q?MNBTQ z$qg9ZnGdTQVvh?HFkaTTpEjlMzy5*cJ8KWDy|DJg;)l>$)A&bY)QgjrE@8FUc0~(4 zwXJPFQ>F(!EV5r0O;VpPpWh8 z;klyU%jVZr`>stSD2QYrQtgtDY%|Hv8I=)ZRhuKj+F^MPF!ZwoWw1Ls)W=BK#7$a`<^ zP5Xp=P_&k$xz^%5|MJdi-zVU8OT%&9aXv6v>(;%IQ~!<6Z2V^9I~xzEOydO`PuO_F z#v?XfvGMGuTo;)s{_`s4@c-&2T`vESUq2?7vx;)}uEuo^u9`@->sUU7#?12c!F3MX z$AQUx%-1gIFCFGj+qT5}%@PXAgQhpf&bd?J$ZhZC(jRQzIahCCuf_y3-*-|`m7V#9z!3`!~Jauwnr;* zT)KQ^hu1l{?lo}kOk3-CKCE47Jf!bN+-FvH%53_HfAa!1Z(#EZ+IBh~W5;XkxQ5N! z*}R_hqpY80{V?mNDRwkprufi&n#B)wV1wn)IH3bqJw?f*&DT)hLUVPQ9<;E?e$Do^ z)AxH2 zc@OLNXxph@Wc?=VS39oEtKF@M=Y9@W-v0Rm&imTWJ-B!P&c}T-9W?m`5322Vyr?um z-uQ<03d0;te`VKMJ|pm4&Tsod1;}^Pl~#wZaPT`R-}j3Gjd4DX!3QC;#S$;eD`oauMmY<|S%PxM|om(I>Vv-8vLCYOwlZ5Iv0O*^ky;=WEja6wccZEb8Ao0oSoU zew(yx=@K4D6oaIBxMtTfc-TwLRsY6eHcqo~oa&Iqc^0S4km8wkm&L^Jtgx(Q0S{K% zFVWX66O+Nwfqv2%JQ%I`J!$JbF*#d5Rwez`GyepZx<_ySuXK!**icN1wHRu8u_j z=0_GW2|efHJaUinhVsb5~8`|qN*vbW1TE3DVO~n1miQhOZ67F zL=S5&pnt!w(WfjL*BK%oZ~nObCJ)qI7W6n4it{OIv&E(lc`zyFeY`pL_j5{2ep3q% zX2f)VuzQ_^NYyIO^w+@o?xL;Y{?X{0QhxM!WsdU&jQ&uifaQ-Lqq!N?C7lDKImmzg z7_Cd^CD?fjHh*FB8#e!8^COxc(EN$b4`|!y{2V)f$HsX!4`6xA;=EBDL)$|6#qy8k zC(B=!-z@)G`*`_AU#$Sw8McOnTrteY_;br#*XjU@n2W@c+pfoUS#!yD&u4MV_(!aKKyp+=FIfAF*MCh z|7%~F^0|X5`FJ}-vG7T>4*vZV`MnzyKlFQNfaf6icDb?%ad9h3d{j6J*JaH{PyKX; z2h)nK^d8EWkRu6^PP*3+$C!mx9VX#<@^grum@oz1dxuVef0t4CJPEDzXz)4tJp8#bS0^G!CtN+0h!xeoV*QLJ*uuh{829Ovf~ z4({c6<317wAB0Ybd4!(KkI`7%HNd;-1n%LW&!VwjhO<5v*^geM@1b&pTt_oC?%kQ8 zkAL4Laiqw}0Q3Kf$W2@`oX3_wn^ST0W(uyi1eYJaS&4b6ja*(Smpdj*jfueZnPsWB ze696(&^31pllAlf6;>bs-rOuJM8pPz&xkC-x~8l$P=IP6^c7h9{u~V zCRf6P%TY60ljq~O>(|=oWM3Wxp4xS^-C|tFn02;e5c0-ttuWsezn2ROu1+w;oQus{ zD3&y@Ve=lEC(*o!$~13c^C~v)VtL5&l=7PLn97vrtR1j+!t#XW5!E-UM;4s5 zvh&2hH_&aymd7}6Z}lPe&_g_Dam4tinzL|T|5$WJrvvNoywdTV-Ad1hNskXLKd<3= zaSRUi~-j1B=nm(6qsGEG=&9)_G%nMf-y;(;@*n2lrMe!0XMQj|QC& z2iW?;@bPhczGg&;Pb{7zS6Uln9D(o83oAYl5!i;kT8UlLTwgrj&!D?%C*1c|8e={3 zx+{R@netIi_`fJG15E zP<#0}G-7YL+p!WzQU6M1YJY4TV8`LCK2WD)u>4t%qJ8gs`=}JeXk!|tcgk>24#h^M zSGpec>fRaWaUbySJ@~%p^85taYrL=W;9p|$%1q^e0MB)uE3S!7!gYcriLdO#BJiA9 zy>0vz-SGQ>0QIt`c&@6aSDjf;oDWkeYDqeY@7k=WaoY@K`tEn{2XwfC>--OVb4-G# z;oq5Us9&sTg!A*Rp2=I0&vj?&0twEKO&fhFxOxS^`GMM(?2Yl>(6)$-V8?B5OnmNvkzWDiVrPNlJy5Q6$-l z6jDi>MA{?bcdoZrKHuqgACLLtJYKKY%$(<0=FGXXD8o7z@q87pvj`<625=(a`GCRv zg>_dEk|`?r-3sGSd1p^uM-@W!on^%tu#Vu>!94>mFA@6cIzDa<#1Gv!U1h~!9U_Gd zr5B{$ka|Vx9jTY3-cnfex<`9v)xbHo1ik>h8I-|%3H7bSZTT3Lm|>3eFXmn&-Vyt!TG#Rj}MN22mfF0=uVt*J?YJSnAf)R;q!DU?nNaHR62)Vq{^lKM;P zH>v-meUS1caVON_Zuk*W!QKjpyOJxpOx=z?!oE)j!2thpl1CaA!@*nAPjk4ba*1 zm1m`Ncz8AaT47MU0a90W4)|ck!&58kJtEH-pgfhDD;X*|o*4S-lt34L>a}{sk@n-O_Z*c5BbG z@rI~_LH|}1&BOJ11E)W<8z2|$w8gfm!+q&4)ajSIz{8tfRo$5O#Q;%#70sTp0^OeW0hV^VU z6-N`Td3YTo*W1Ym`dg`9zi1r~Yd%@`I84hBk^BN?mQX?j^OIJmnNw;?c=$xr!0mDH zUr@qyhA`SO+*g7AO@Jc!6`xMinwr4FO4WJiri2?HwYg)QP4@Ayhfe&@kzNK!;rQd) zi3fOiuhF~=arobrs;laf$R{EAA9CK8oY3u1H`Ufy=|=km?(S-4O28iklV@AcZ zeWw57MB+%|%+K9=OgatZ$U#>mi(p-l%Hs!?aXc(uDmO4H3)Za?{Rfs-KpC{d4(swL zRW-P4NX(MIslWi$gw!^3+wE~{l6924?f1RZU2%dO>@^IValpRQ9^d?a#%2cCiQJrx7uve)|F$LnOHnSa&mOBB z+NC?X@?X0k?S`}~((X1^F221%frlpq+|5*4Xoxlp(KCl=ir0r?tvtG(Av$?wp8fQt zpzlMx#>Oh${4o>mGy5jHIT`lXSh!e>&z9ifQ?ut^4_RS|Nd5ssD=35Oqxz((E;Xz2 zaNzsWU9)6{d8K$0=o7U*%1+VdirEi)Ea@7J$1gEJ@$GVAqXAdyTkQD$V$*0IE^JKn z-ZR?(eQp>vojZny-!@iQ-2&QoZ$ZLl=-2D)dx3WFzoyn{^GO=BdHCt_fZG$~VcmVt z)K|;pdDzu*8e3Sw0C^ozYn=e}EXCxr0Skud*+aC?&~up~n&Rd0^}@9WmSm=FNO)SVIMDOOf8dvali*h2EYX90XY3EaegYE>OHtV=5^p zQjVmYNj;$ShSC#?ru2x^vrh;w%tJifb9{9~w2}eJP3<|Qwu*;6vt181s2Cs;Ux3~Q z%HaBT%7;-tGk0hVZx|X|1ahL*x05(hI8(Tjav}XQ>Ay+;NcvBzZcI7s#N z;}HF1sP7xDosjPgNtu~f74;$@S8hr!CK{6g8;}r^vuS4++sW&7Z z0M$w;gZfYPjf!!iB#tD`q#Q^&QCLxOq~e>#Avu!q4;3F#@e&zNk?{wKFUV*WltKOX zYt{|U{A!D1LZ^QfTW5yk8SM++C)r~5yqL*J@686|VM_no=l;~XSZ9liHnXF?6q_L> z4TZVd)wbC9@ajjmO3cuSt_tUaK(D-NF#Tn<8PZ4%9yKd-xGt^dzKT65w%GYn|Nd{U zhuiutYxa?M*9^HfxKG@1$`;Qo=_t8S4A!+n8QtizVVWeV()34Bgw-eM_rsn3s%nk@V)Lwm5VkG&b7F3|%#jP5snt zi+@GamdxL0hBnYIhsJl>;(YJU>g*^pL}8&Me9Fz>q8W1j*?yh{&*$$*7r9qxhIXG# zI%H9AislGIpdE54Q+2RvU z&4%`dX6W1Mga@~`+2R8ey)w#;%+NRm<_fU@Tb%x-za zhI+m|UUWCg7K;i!yQs4JUpbL-q;!gsGpPp@R+P?l2%T(RyJHwD5+A_W4obHmp6(yl zAIW%Zi$jiiRUdz9ioOot}pPn#YcAcwB;IuzKV5= zy6&`v`-o^>5hiA6UdxPiPlIi-Y@k}ElbRWlEfD7Y++&M>=AXOxT*(X-Pr9z+eaIFc zx;JZ@=t48JdY@bMgE(8P;yfU{Vy+oFG$B`eaw5n@M&zW5gc&+;;(}iq*hgIa{B0j5 zo1vdSM@Dh8Z1L{z?l)b5cAQYXtmT3&{_x|A=7Oe;t!@o7)y82sB5ZMz>j&L8X{@JPq(;%-yq^LE|(8xL%;T3f|+*Dh1kBklim+M{9Y zC@eir@(ZtgG)0;rfoC%B+v2ZzXRhBLWrob;M`vEIvc)cj>)7k(nW2!Qp;+OLEpB6- zv-1TVC+&~4Pttx#`zG~@loyDQ1!XYq)yuJDo)opiV=gyFEDkdL+ZQW`%0XKf$eoIN z=h;XcSPM5-uP!eC@mj?U(Z8ka^?YrMD_4fZ?Ew4mbd^dI_zCJ;k`Izk5(g3|5=Ro} zcUs{!nSlGo)P9GMdQ-H)E;KFY3HVX5_$0kYrf5!M#bKXzTg;5UW_0b6DN0Bd77p&R z#RajBwKd76Xx_Z;kgo%_e|e{{n7Y@)*D%!->8Xy5dHLHG=f(B#4ey$wNQT*D-O+Y< z?8@BCkS0@P{rQxZ4`8?J$Cj!^AlHPL1==bicGy@dIZ1z{8LARFy)p^DFH>ntw3RkP zpBfXle*IvJpX3DnssTME@dT*ZPzL9>?ziPtgJuoaMPW<%P=Q<~KoR^%|4RB_(m(GR zfBJ;Lf0umUJ?Ouwx+%GlawYpo@v+&1n z!hSE{Tyo3Q(d>emEPPb{tFZ)}Tf4FEhP&-F7VK}@DJBBv{8|3^y0lr6g{RWT^p!0z zMqez`KP69q_J4?dQJiIrJaV$n=8Lg#+Qzn?QE;B>iqNfFrjBIcuR{7R4+f0Thq1pD zHVxQe=V+_cZM{Y)=wg?ff1e$GcP77NG0Q;f|RhEKVD{F3%{1^Z2rNdcT$$#)`r&XWZ-9EpYz!*^Z1|BXr^U<<(y;PZ*<5 z5*2$forP!noyj|wX^gtEBAl@X3&%e5^KO81b0wl5S8QFv`iu3OW{pSj3t8BC({&?V zz@Ee#M8Jh|T_CreL7ie!+FWcVPCMZu%S4a9WafH4<=}5ezTe`|bO+`3cO7NhtGNfC z4L=hqw+Q^z$ie51?H_oqsr&ca?S^J%_FtK35>B$KcmvPs zF_CL;+l_Y$aKD({n3*egGLf!h)NLnX~ltXCQ5m+B=IUdxAQ$NY@WtM2M;E( z6_;@FZt*3G8?Q5A-TKCmN19yB{C$2P@G%on*uATGuq~sLiB69;>z%2=#RF%YB;%&& zqE-?wA)(a(`CuGM@xH(IqK3T+6E*C~Qguk+VA1`f&X#lj!<~vl-9!^3yOTMXR)qz0G0x*{H>JVs>e zTed_z^pVmQ zcrR&o)I}tJz%mcYegRH#;kCZCJ#4%qpYHzT7!y69*J?cuVPl8Y5}SVV|HEk_yeIfI zEUVH=KhDPbTKxEin@qIg{iai4=h*m6vHH8lCrq?IpJn#qIvcXScRbz ztcyk;zcJathmAW^^OQy;>!OLr*UxT;_cze&F0>Zuq7Z}D$T9B2ZM6o;x}tS#{JSl{ zL+!RMnw=y&x8976RlhauUUgX)MI~}}6&kZ~|Fw5(FP+l;+t;oG-4{k|(M9tTf)aY+ z{nFDhx|;%Yk<%s*I-3o+HO+5mvC>7Ghv+|z|Iz9Z4?JpY*|>c7d)YN&x@epI4T*&t z*m(T4T}4eTOtdU)x_QQ0Hm+W$H;R)2{&R@FKSb|dIquV+EzqC1`V)`6ndryQRNl)S zZ0s`U!sq%!Or%~KJ3v3c#uT=hn-{oCABFl~NI89i_#Y zw;(3c8Zlyb0DOPt!Iq2~8zxfOV0?Nt6ZGVZ)!B#hVcZmHo}yz3?FT9LK7#jKA6H#X zSk1;1R@Q+I3jVHa{D_(G-ew6CQCL!XLh2QXA3(bn%3z*>syl9+UmzCJL2XCQ-~J#v z+&6(7s62zisJvZzYHa)`enn;ROdWLe8QZK>gN>JVM1~o!(Ltj_JM%M**!YOQW4(!= z4x(`n2QM;Zj~U9!@N6;)KdD9 zsDoZOS8E-Z&c<;nbB^5Gs)Mp(l-x&71^upn@zOw92Yp*BJ$cPscs_(3i4Q=x4$7du z_pw|)s)CO63g_EtYB3P9kP)tKW?`zW|JC=oVmjhmC$RC|npuU{)-w>lQRT{gso`&{ zcHNcBUdYCd(Gi(i)(k||9rvzsP2ph%D&6O2`eY6pug}xG%e=|>r=KJrB%hQHP<^{4 z6QqPO^?;plh@9be==~ zJEvD}x$eb4qf*zm6})EQ{QB9YRcjf@<49ir($6d`D}J$x=FLDC9Z#i4{9$3Pk%`My zQwAdO0~xG`G8iZJ-ErQc3uDBwyYkDfC=6po>8wBwRGhf`tA+YI(BBc(y@&I487Q~> zbDx_z=u4)KIX#qt6g>8Awz6mAl%*2MjAIOBZK9%4&u8O@`)zG+J!c@+5ZyRLSAM*c zcGZoI8IsDUZ~p|j4fSQqmMwfkh7P*+eOp;8j1OAckBdtkbkGXxm#astV&kXh`aDW3 z{mvs907UGYr^UEQ$Fv?~L~xf|Zt zYCIEByeyNr>|YD>CURUQ$6azedNlseuz&Z7hd^2mxDRe zmsqcc`I-3D@OB?rnAhM>N9toBuH54vRlSIV?Z1bs**Y=N+zYiOrpg>VKgD=Q&0HoL zQ_ek*sldV2&)W3^W-!qb=e=L7NBJqK^n zuk@^Q|9AdD;s-L=1Z8lZPtEz(FH)XX7Czh-HCGYnJ2lTI+a>!&_M7Aj9Z){F0QhQq zDjc@qybcQ9e@0;ykAuY(Yn{8ZL=D z?8m`Lt3&Fu?&_es#Z7BR?&jbthV}P-f9t?K@$v^^qdB;K((}dx)Bl~%Qgi8)q4_R3 z&m!kx$5A>=&GSe(kaz)<4p0X3VwBENIwiJ>9urr`#?)L!fIF2JBlXpQ&}UNL zNqZpYN#s1rd}v-3I5e*!=UwEyjGVVoeP6z|Cw~=(i7aH5H9oblame8qn}?9YxK&!5 zR`Z#SKg@DTe+2oN&?`><&wqm7s!f<3p~gfN$s1n^|6=3Qxx0hj0Ie$@Hg%2&2j^ty z-V0gIL^oQ#Joz~h0-s^jcoFq9I74Kfx0dc7?i&u9{j)U!fnrO^6V4~^t zrfc88URCa-Og|<2ul$zIDHmeEM-Ri=++i`n?nj#uZaKwmFqboGT-11=Z0n_4{7K{2C}A`~jw zn5tVv?f8%4DmGrVz4(YP*u!4Gfz39xY;4$Xf5!Z{4$@R^vsnHV=6$)hc+6_}{<9`e z@)eBp(b8^z-s+%<@48Dn-m!6Rt9<^XNlcV8UVMehS2ngj*x6eJ@j1l{B?nSYq#Q{( zlX^hT@5%W;nIE9$)Kva}!jhWzk>eLRzLEF>^iEJ(1ahLVH9q3gs3|)flTc%$Ku$BE z2!3)4vg}3`vGLw#NSAf2vSmqf^0yw2%c?z&G01qJBM zSFT`V<`3^HLec-qjcS{cD=GJ$A-yme(hHI=a$G0JeKIZ};|4OWAmcGIUh{S7Zg{HA_Ma!I- zoTWNwy*n~@Oo#l&*Dr;EnmS1RV2XifHXA?rs5bhCx(<3{xv^*~*a0Pr2$}WQEUp3V zRpV@Hq=QKOK_t#l2IDcRt(#?Qj(hy1|BY3tz6#_>&Fg+N^4V*5gMCytY`HAOK=g56 zAKZy#W9r)*D`d-_9%5s8DbH2Pt_&0#6nw}ZXw*F>@LLcAz5lf!_uXMO_I!tJH(z8R zqXn0{Dj>cJ_qg=(>1zh^3vCD;1^F)8$Zb<5OZo=Ga3q*&|Lct^eBw&l0<8zp=j0p zciVQc@f@vXXLtRgA-g*>qQ(Wn{73uho|Nfyq%rNdb^!3FJ8kZ!bagtq;Mb7;2=YhW zQ;Tc;9q7o(;Gwi9Pvk@GTg z-bUsNsJ2Sa`=(s_N=I%F1EP{4Kh@tNMq6^9ju<_UOQu5Z?f!v^kaK(JXh+#S7f)3- zrusVIw&ux7#Ks=W8SV>x=xCPF$de5QY<&D=phC`7I*R#_G@)=68;@35<#(~>Up*!D zn8JdxFVg-<`y}m`#0N0m45dwAkCYDc7b@?Y8K#ZOHme)36k+Z+WCH@6r3CN6kJNAK zTT1^)`ylOyvURHN6SpJ`jdZ{sj~DdM?Vus|_ge#Q!uE%}zwOL>jW;1SRs}xuI}N z{ju3Jq%bx|-P($cC;alpaDxr1n^mc*#9`w@>L+%DY0}WL{Hl2^(4Gi;&4!f8G~_Bg zIsF{u$ERFR@>toejS{?ycU=H~^?Iq69v$j0f3xzu))qGYcF=ZuH|Jk}10vc2Wzc>o z-$!BheP9jSxS#b`=l<7zuKK)l4wVKz_K5Oi3;)HPlnW_0Qm&+5CH*edH_9)Q_CVST zX-}lRk@i?+tH;rh0KMt|wm5qW9VPBO8hJsSjhAFy_E%g$NAgcc%2ob4 zL}3$Ma(ruA1q~TjTmMcKW8(+iYUAdl(GZCbVC)8EFuy?g2CA(iM{m%@v}51@62a$n%bsJayCB{C=TXy}lA#XQ}Mu!do%uL3zx>yt?Nllno` zMah)xH_6x3AwJ88_#|;4aUyZNTI`d*@E!{@);y861YCSfd_<~lvhcPF8M@^PIyx)D zIliZeg{2PX66RCMST)ipF^BL@p>+7^@9U%Xh_EAYU#(zz)m;|0G`^LP@rj1&-|0P_|A>VT1+Y}*N@&P1qTXm6Wnt+xZ=K@Gv{7VdnG5GU3vanHZ}xOC zh|l8IKB3)U;adGa9y1ict~b~O#+9?MsBgSzVvjb;6?y;Ow~>X}16%ksY{RSppjU6Ldn2G1g?1lo z0sX{1*;?bxw2`-U`(mA!tiQax_#Toh)5XFr1vBLjX=x+z%6U#1Us(8vxP8;aKy4J} zb)#<22*_6?FI5qb(?%2)s^7d`$34+TK7k%Rxj$LB=T?*1v=KD)^>M?Yns;Ci>cYPy zVVo!RlJVs$d#cL%00F4)v z!F(|lyUmLpy}jas7NTTKwI#rj$`_My9rZ00_mTY|`$_Ua@=59ssb5szDE(8t>y7;T z;QzhO+?!*^YoqrctNcFqu<*u2Pm%EZT4)C2Lo{n78&kYZ%r2O`3*wVaSld^vKnv+# z|Mf0QmW^*;XMNgRu7wWi^xRg0|1UFyk_@89K#bnTFqpFl))Bn?T1QvaMx8s3pX^@D z#>r~~H)UFBqwf#ihWNq%%p1<^{PfUA8&!X*;K#xLZD^*esIrfVasjQ)|1 zDJ<-C`1<^1Kedo%0y^^==-^qIsjr%}kaR{w1*7yQ0X7h z?)ttmas|-36GV@(}wRWLa!<{E{6BLYR+8(e@tQXepmI+*Wl+4O|Bi&C#!{K zvwiU9LWp-snMCSu}7$Je2DILs@>2myXTk|h(lnx8zOr8Hn z@RRl55gLFB3L0*4D7_-Sw*SCrdSv?8UAA5)gMD{StX6;EpCbb0@Lq z)@%5`dx)2JYfNl9Kd^8q>OEjur-^>Nuc!%!_{DWmXuUbqZ)7ql-w5c`RdE;g|I$Pe z7FXBxbg;07x7UXGI{vH@#R2|K~#erU!jLlaW5C5m@ zmZkr(;Ao-lr3a!CVf<)()_V2YHZ9oaTkcc>w1nHaiItIBXdwA@jwH;zrWYw6TATf^ z{geKI^dF>uA@zjRBT~;u`GIJCsq>pgr0==2^AxP@`Q?-PG+P%{gq*KjZp+5@NkwB< zEYcrbe=7$c2!4}4(KB-0U_DvKSC!skJ(S1)JWFRQtn1m(JGpzbKDvH!)-*H7w^84o zjQDnMGt|}Bi;u3Is{gm{_z>+|b0+Acsy4-MP4L`=uU?kbrH8)h-a4iM^WQshW_9K7 z^ibVQOXrI~KZyICYFMv_4)9hlSPJ>L$5tQr_+QjRDF@V6*8_EioDfkPTK%6(7>kVXMTE!J|!^s8@#_A%{;!t zQ4i&M3pI7Yd|Q>D{p_Qj9x_V|P}W+<#x{4e#Oh`Bkmd^e(|fl=er;n+)h87_RH14W zpuYpwqutecZXu_KbR`$4We2fw+e4cqi%EJY$2<9R(N1_SEU9hXuZzx~lkiM|e4bhy zZ)Ws+U3BskU84->=8;;v7Z$*JN%|a#ILQA|vQYAKIkqnp@@pmgm0d3CqVoECi%;%l zV?X}^h1!?8=y`xJE=XZxZm`2P)u*~>je51|*K}CVmh!qZ6!g%j zAD0RbBtn18^33`y^w612E}D`_Z2bLZ;i8^sJ#^t}!XmkYY#jAHP{Hb&9-44`{J9M1 zUthkOR^~B1M9LpjVjGl)0)NsQ+ja2i1P)HS(mg9YPZu?fG3eif**JY;@7d&$|LGC+ ze^qng5+Uc$kS~`(_kMWjp{L^RHi@m!&W9=Gt%-W*cd^uOxi_#5Dz0?j>n1%kb57Vp z1)z_g7;!J^8OXV6Yx=-zHom(4ZG;8TlU|(KBKBmsE!R8JA0qET9!KGF(f7A{=!^G+ zmjc>m?`WZKK$qG&ZWS(N9|7w4k9;k)!sU7}gDz939_3Q|~WtyR2j9k9Y#>JM(+T^_GBM9crGRdS4g4`x6*%A~cLe zB75W;!(Pyvg};~?SQizH$&IY(gFNWtv%MLk^w6~-I&z5S$kWAFjOXAP5??y8R+T28=0^-18m%ItFSaBLJzGkj~m3(EX4b%08bKM5RV_&yQ)A=f4nze7N>LY zw9jkS%sT^pAL`rZ#`F3SIseH?9^MoD$actnko_e2Ao--)qHrK_8tbmGd!hsff0?>u zMEE&aKl*D`sI<&*UvZZwXRZpY8-GY^&5+SU%d8F`vjw_sOy){IH9fR*V4b`FVh&bB z?^>Kp^w9gm`mRxe=OcvtO?Z09So%Q0Euf8h-bUwxe>jqrT2a50gFC+Ky0xe4p)1ou z7F|&1;D`>f#Jn;+q`KvK=5jR-w!9RcY22WP#*Mf}$MC-1@-JlLW^)jux)wE-Ct`I_z0sAM}@!(Z>HqPreS=fG8A5nG1r`8_(A`IuZT^ZAu_Yu}T7phH5o(}hH z{xDHucCzuLVukc1I-K8D_hXs)OIUw*di?^U6$s6^?smJfhK(D;nM*-TXl&h!%S~X< zR9}*UXB=q&dR+rfI|_Zvh!xT2=fS#y&c(5Co&4Xv4|s`an9fCL)sKdw0$vX6nn4rL zeKm6{OKySxIbxo1Vj@D^4Q?wLH`!RGFk%C0)JJv`^;a*dfd75NDmQ<;1advl*MGU3 zjVLrS z4p}d0*QDL&eY^KX;L~N?nwXox56oD=KT^pAKPAh$xwc3jQEj*MOg3Ap0`|jbx*KWC z!4uyvnv|e~kY41N8^>TB+3Jx|2Vpw{lD@LdW%dHlgFkv;0tn3-ld)b|3f4c(NbNlW z$1ME`aC&(`l!Hgb=ZrSeKxpqJzryoC=lG3^-njnrYQCFQVh@)L^ z)m{_C*(YwzR};k9WE@V$>0}&F#*_R~^O}tiOV>)hU-73N;(Cn{=AD3JcXXH9Z-__9 zc$LC}if74q_n-KfzymPd3FWgOUQ`PXm$8F2tdverGECkiFI_10-+kFsKIn~~s?Kj| z4sKRl<&gvTHCO4Rs-(6+UTWxFuXrcjT%a#x9{sTZ&c7U)>~ZHD#PwmX@99`gT!zXW zC)PAU9B`~TY1@@ia8CcW_@!Pj&WmVoekR@rXBVdYE{*{D5l4ra`yI|P&7PlI4&!9( zBIk0CPK4H_i=OCw1>esr`@wq)=XFlcQ@QgT=0|I?_J4Z?=bR=b))h2B9A3ay@qCU@ zRrO=>%Mjl-b6P1ZD1E+mwP>V3-&N8@zX^N;X%Fn+>5&3^QOvB~DzFzDmG*dnJvANN`b}U@ zq`i^$7%5(pRz919rE=I#v1bsXWOKf)sUi9SLfW-?k{cj?`z@?v$9MtfGa}dMj}T8s z>fOFa6IzBy`G9zXU|z6YAZN-q$(AQyUsk4%iVMU1@up#4CWsqUpa_2YULG?nVj#X6 zdUxJo9oMo{(D&ZSMQ>m0BQwJfQ*6`N_}Z#g<~Iqz;m!F-0sZFNvUxv&-Y}+YnH|t) z;`Yw}0rc!;tv3Yp`{gcG-+`uLMJnDR<1x}tlJT7Jh3MkOV(?SrZTBCCc&=1#Vwxbn z8*SttB#1pJUMW9J`f1Y7)Q@;@VfQ6AUeVZg=~V(k?whQ3dY*&&TuW~uI8*b_OxNn? zr(n%Q;!V-!-3ZkOJn|`pdH9NT!L#1OdAr3T=zzpYHeN7umfQn4e^k1Emhfiq7aR4~ zIF!OTkni(!;;%T^zq0ILk{g^?8k~Gz*De;;36zhouz~Y;4!8)8=Z)3%MEQFL*BWrtMozCIW6P({dyj$^5=C#@$m>-w=9t?o^_0Y7E#D&3Z z93VSh?x#M)xA(Mz^kH6)XWWcD544YY!?iGf@U!)|cEPp{RGA=~I3DOVlXf`uYa;Zj zLoc1_2m5xOFGxJ94(-*{pMB;F`D@yTEeDps_Jz5505$8r;pOlNJKSx!~e*|lEt4M=_A9EWO43p;CFz3 zG4Yc=G8&?<57DH)f(q|~G8ixa-mZ7V0ruxou@DujP&W3z@v`nvoWvW7lgPMA4vZ}j`w6dK=Dq+X=MCB#(6TM zpEGhG?mPJ|C)`j2q4bh-OBX_%xS_v%Vj{$e$zHqYvmlO?eC-s4D4N0( zWD*QzaNId;WpL_p@^J3SD^XqQxCQv$AsrCNg&KD#`QI9nH>n?_{#-aS>h=ooZ8U>v zK_grYKyTQ`LMGi2J z?}FPAcUiIVo@uwPiSYH&7T>FJQLql^XZGX}iDmkTpTD5ylO5#gHrHt6Y3QTgj#YQd zAWxdCxo(5-LVZN$Rmr?7nU^K=c4S_UjAzJrhm40P+3YW9&+FppqvVkVDL4x7vyHDa z3e!iVy^-<((S<-6TpvKq38`EiRaaMD_Uz?z|BJ7u!pnjmIgXIy3^@*w{h;cm`bqLZ z@=3;pWZX!`QRIA<;*FZulk3TtgHg|Yrx*jW4FhQ zN$25IvzDr-a~Meb+siz6IJ0$Dqx&aINnsdZmHh$z-=}I1#+HVv%SK@wJ(o%m?$yOdgHhZ znaey}zAYzBRE>d*H#!GrT;yRtgGa$zH5rKH=i)%yv=^Rm#<5|giRL#tx{f%{I{kRq zL}rqaR|~A^tv|j?7|s@^@N@qf+@v4O!=IDHxjE11$YOQOi9KOF9K2k9bw>vs1%A0! z_8!jEt>LY=&Jksx{ii-#uQ_o3xIBe&&AlIUNuD(`$N`t!ALa$Kjmu zu{^9laOvebE7%)bai!x>BoE7ZSWToc8R)Fm5tT8}KWV@B8ruP{*K0k>xCeN+JHg~w zw+;h+UGjC6%pM+Ikm9-hff)m36m8w96U4(I`L7=xgT1z2&-_^^=Fh`%b3+T;;r;h! zp_;2*d3cn`p3~d~jKBIff1S4k4e(gH+5d;P3lHyF*f=fZ4;_u`k($-z24`dkrSV>U zp(9d0;aRKt>GyfKXj=3$i;sFm|IT_b80rny+UnF;L5__6iSl zB>D5pc=(CR*z@2vOHKChh`$CVCbpjwsWijQYNA2QM1pF0@nxqHWXBe16j zr-fcQL;v2bydLHT_M>^M%<-TD^rv&d=q+GBZzUyrI$^J~o_@pa=h-}*P&#$#SCHrL zm6NUo74k6SLZa_wM+RapEERuw8}vbEzegPG6({jZK_<73jpE~|(dlaQ#=w42gJ&0m z26)(^WyE>aZqUE_F$`T)Y*y|u%WP0x#*r(#gt-Fgreg*rc1%KgTA?q`F ze~LlA3bG^Cbnnd_2YcK-Q%9tYhpn_Twtb5LycLw{ zMs)CS^&Q%sNrxDy;3_Sd(*NCc_<^UyHLNFas^Lnf&Lx zB>2miEox%*40I~}kLT;DeEh+7>e`?;3{<3Khvvci(vwY|IlN*Z(Y})Ihfv?77#k-W z*xNFSHbXQ9+B+Ll@$3)mh2O*W3u+t7$0|6pr5yHnA26%8;Q+00U3!iD00WWoFb;oe z^)-Nx!*2TQD1p7oHPKa0)?4|1{q=nd_X|0$d@LILIL$9k2fhCIZ2etFKCUfQ`|>hK z2c3FeyT9ED`ZKm!#miX-?emaWk_yj5W2KMFo9Uq2m&c9n-U4^0M9Nl)Ezv>jZ2zv? z+xU3PSdlJ$nhvsTc^9}M5bi#ys3~eOg}riFFGU%<`8aUIf_edNHAJ2X|Crw?FLhBKe`lBl9^A^)jKox7!-g zg;YK+?Q~k?W~hTo4Lz#{j`OinX4<<^RywFrt7vrjQ9iyW{7giM2WLzqS$Ih&@v-u{ zKgG^m9n{;c7G-q=o-50JYh9&-KJR>DkPOfF+OVxQ>FJ<_rSh9!CG+uT{o47~u%~MJ zuio~U6M#q8>v8Paut)8q+Tjvtf09bqvy@qY4@X6^E{%_m*SQ4S%me<0#!srhFeHXS zPJt#ETMLehT@YHu!~0U+Yu=tpLvO}rs>*z`#{oT?rXG!@59YiT;61@lLcBNg{S-Kh z|E?6%LXVD$=Zl1AkB4#O=EJJ*l6165`>N?W5wPRLnB38`Veihe^>VL9g5Q+9@Wn?6 z))LbH0PD3U%e0y>mFnTE=#7N>@fYSIpcUZZ!v$%+r2b6t4sCGK5;nvz0J*YWe^R0 zyd%E#+jKY^UgPqjU9Vr5{Q zzdCKoXJy!{@T&OzXt`l*XtcwVdz5*2n#V1#G({SsA0L_F3+Ig6%srIz4A!om;7RA$ zXz_5deYI07gN9;4#qF-^@NmA6Sc1br8XDtzWcNXR9=^Ro%mgRV&_KG^S`lL&KJs&e zF8>njEmAqE-e=0gBRe*oH-WuMlTL|DJ8r?lhX-hSa?Lcf>E-uN6Ia3+|23xX%D&SO zCA&U0t7zu{4Y|D?K;l+#cfqXh`SH`}2rGYcf4PE(n`83c_ROFo#jPvL_~vlufVhJa z2lghpO%L7ncscm_Dt&1Tdy76g1gXV9{RMlye#iULk*{23m!LgL7nZUYO`c@J!%J{* zIU|&g+81h$a#M%1$U_#N8tqO;SFdKt&V;)XHYqGyI(;1-k@^BEvGfuMNzYF^D!?g>*}2t6LjHL>a^TDd@QF> zdacmI1bv+U2l*8aw@vkB!+5#3^IS|&-6NX;WIAo;@Sl zebodRjn3EKexHvSv9Wnt*aR88P<-eHbXr!(#hrId&}_Ret5;R8z~zAKRw)8GILu^P(bqR%U^Ht@ry^H6*E7X zpv0Lk$CkjIx27)_Ka2ckf|ywa`HDq+yuMDu!SR;~YF@fEiw1P#EKB~J0TVQ;$a=lQ zO+IeDa;cauY>G~m>~a?a{4P|AW*Lq(MPaiKNj`=8Gn4rj$4)Xub-HyuV}TB^Vn-=Y zGewUl=3B=A-P4jaMNirk)h}PL%r9?PmUq@KykdPC{Qq@}V^O={{lr6=Evr>^L>+Dtyq8TVYQ*w_>$=LY4hg6EMxg~cxGnWBTT z%Ifw&8xMT+AICIBza@EHv{QU6d`LuQj;1N6{*99q4 zB-EANuL}B?;l;kZ5%~SN;QI2@;Gf^VaxHS2YKmUfe>l1w{JXWeX!5`WQX$UH#;T33~PQk*5;$Z)9yl``zy*$S1g}wD=w5qqj6FOz zikGcF-)@3(MjbUPh3{qbtG^GtF+qFvX}YRFKd)RlRzNp(-7MM-?OiV$kL!Szu;Wzh zIL61bzoh$my*EJ{>hA6Dh4HAU^LzTlkHfZEpI`a42x!tC!9>Hst``XGnzFU$U0(JT zMkXkz+HrHM7avpK3g)PDp$LAn?Z+9mz_@&+Avsw0iV6CVseUse1oY_sv!gfjOi=E! z?}hz4`FNjdzlaRb3nh!s-G;d0QD+pl_o4~1D0UC=_UGeD7uQXBV5cV(6z@*=<74kl zVWVDvo!+xmHsbm6ajb*G*qnS5^rLM+YGTNQI~YK2`YQiK7QT~ zz-g%OZ$~D4Q;GpSFenZ1wlqOHUndIq_j12NGb8xe z?{HUW2gqYq(e@`-55k>(G|h1b;rWQ#5Bi$>ASfL!e}==I<+6S&=Uf86 zN$3Np$X+Pj0=?SSdH;`5DHq>z$qm@H*btrEw!JOEn~N*>2TFso|GOK7I@9{Xyol1T zJBFWSWhA7Y3gF^o%bK0@&ln=1Zr-@PKu^?@?o~NH+qw9NXxIDOPKM~s zMDa(fq5i{5zwD{u8lvz0UdFs2F3vik7Rs`NyL0lqUgZF-YMrRy4|o6AIy=Vbg>vzY z%k(zxGDEaY_r25k-CX>-wV>aJZipQ8LmU;txmYS9PSZl$5KXul!8q*#M^!`Q zlK$!8x_w-%-mnZ60XAn&y{`5J`iW`4(hE!B`#!fv7ZSPncgmJdX{i5tV7O?{sbMUA zYbQ=nyTZk(Ata~sDVxcjH=*&|tl5-vXE`a#*=1Nt{4i<^Ju zecBZZcgrM>Dp`IV&OGIn`gx=qqE3+pr#o3tpJ>6@{CGojZ2#>={zti37WwYv0p2aD zTFQC{xw!vBDDF67h)8*Xxc7lS5f{kaLNy{`@@Fo7IktPo zI`6EC=i<@#Ht&}D19z`1&U6<8J}XkMUf%|HBo)wH2W<1WxPjYw=v)un@nIcYvb~s# zH)N{#)fA19+dmWVZo$F?ZbnM$#N7jO# zX)L~e8SYRbaaG=9HhUc4?j-Tc<0Ifs%7v60DOXbN6jqd8)cM95uG|l2-R7|6KP)mt zMi=%@lLa~KklNN)H_H&MT*5o29>K-DxIaH!CK#0fPV7ekd-&wrPapZOWuj( z;?fSMhGf8ZOuWf-=NK+#PtXsr`DK909F9!A90mMoiE^zv4A9+1iECDexY!dteP90C z0I_E`MCriu_BrP+Mm{q@rOunx7Dsb&z(ZYw-OUDQ{}!1CNwLGSUK5kWc@@XSIWGJ1 zh2ectz99PjPzKi)%!x7cQE+8+D8j)tBaPt(QKnF+ycibKU%JaIv(~iFpa0 zMo6_wR?G1w;C{t|m3N)n$%!^>pA4JM+P8%V)nZdtXQn@%GPI5wP0-ObX%&9m5 zaH+dr6SDsdoSVHz@m=U)E>={$ydw315n3%W@q*T#VO}fF8>-v@|1w|ozIM)&VJvQ@ z8T@<*?Vopb`>_@LjrIE_38Vat5Qzt1dH~9Gf&E=R9vvyyz{QlUQ?^WDA+SGckI%YU z{&r6Qhe?ku{O$k_Bu*rbQ**U%3UIE<*pni_d4kY!F9AKUm^&#F=#ryJJCu^Sc)_cm zo*O3^A;q|bcMoNA@wf}cN520yL`4M!Jt=3wugXcfylj9mV590UhhuOSbA{Y_&+>o$ z4(XRjzeW1BLJi^5!H>DPBeZpV$4NsZJJENmdp+PbA%;2Pt|6+7=4s9?bFVFM#qOh5G~5 z&1();4eJOc)Ab+v3}ub}J1d>Soq9&eo74wVUr2o-^^Md=QeQhvvS}wOxj0o+Z}QA^ zBSiJ}yR+PjB_&2^d)`U~{o7o;G^Kgv6VSishwgN$U@neZa4_^^w-GuxA^Xa!OWgm* z)|Wt2^}T;9MadK;W2DT5Mv`H72jnJnUH4uhQ7T2Ek||}Vl%X;wQie#OP@%L_2_Y#> zh!TmCh)DE4`Z~Y<>-65W&Ry$Sd!KXmexA=W>}T(@H*T<}51yVyM^B0ru4i2YJ?Cex zUI=@m`|Hf`u?IW;Szq{Sl`tK(i~3L)v0zs!OPk+n(^2FZ$C*6f-y+5iScX#RD8H%m zbjVQ-CU}#0YQKMCFbAJ{cunJq9v#({uHJhs5bTyfTheEBIwJE6czzPD`U$)*Qc;bW z!pr@~Mt`cfWf!jdpB*9AlAViDmf8vUxX`>|RU_boj32UnC)l^yh&u zS{+G6NwRmwKY!!k1zSzjPA5a$GPI=fO+N<*fBnwMyh}x8<~OUwr*d%?{o|auPpF7! zyWrCpn)){?s?QR!yYZca&G;;D)$`Jjl!%yB`XD^d`kKwC5)HNU?&#rs=?@O%B;<*_sWhrTvRlkvT5XU+Ho{`+c&TW(811!WIxQ#Jk4})snsc+O!F~M697D#~0-IgRp5td_uM(WIIE=o3KMwn2JeduBU-HSz{n#@qB6u-F`SIedPpN1q$#Lf~UkS@S0AlPQ*C(zvPU%pO6LhjjLUqkqg&b#INw9@|LE3w8qyzfEPbBI5SyD}fI3#OwAZI9Y? zh{GPMJ4Moj=VjyL$&6Q3igl+7IzIXUR>M z$4+!~RfPNSI?%eI9-o6baHa`eAzkAb_$j-31M`h^l=k%8*E8V9DrX<9-2gtGXdB_z z$bOIP7s-B;>{rQrCd+{=r@4}I&4xg3rPXIdH8#^x?VgnNS}=ZTQwXg|bf+VNm((lE ze&xcMBxgNSz0@Cb@MeQAF4L0eD9Yxm;1S>-!P^@{%E=x;Ukp?(4Tz;9>9TF+7U1WF zzR7Iko}eQ#zd>B5h@<(_5+ zy_w%ORI0(*GxxnJwPq=BvEy)la5yg=rN*I`n`F6Iaz{a0n*bdxGpf84A;ZPhSq>`C zr07WLl(eRkBp3gTzVcER?1OHBcG9>w7e^GA53K}!ewr95HZ+@ycg))!@=J$~u2r5| zI3mi$d3TTU&>3`e?srN1D={t(h`TfQJ)4f^ykV^RI+u%Uv_<&uZ=$2mGVkx}2yrnX z+hq?p_r}5ggb7Z$PzriOwnt=pMYd;Tdq=j1WV`^BP6O^vP1p-7?Q0p++QDAY|x9 z9{z2+&YY_oj7llUd4;T36xg#}))GveA`0Tmv3_Y-mxCY+VC=l#&@WD1%sUEXv%1M&sD+w?+XC}?Vq#jN5~$b)@dmcu?tL7A__!jA*p zxn!;H_#rsUwx8zm1fDn3WbG;^Zwl(+#C}{1<2~&=Gy8fEP*6LcM291cn|H4dQnZ2k zo5owqHxxl0u8>jrDTso;w^q_m7ek(@aZ`F+7zL$eRo@hbaY>uo>Vb}M3hJ|77{99m z;@w4jKgW;4*`K;$CqKaWRa|b3PkJB)?R+#fU>1yX4xj(M&|?n;eV%F(zY1uEjANpP zI|XfjX;UWv_HfO^w_9cQ!}Cqc0mHRP9iC^t`gQ4sw}b9qz~JWs(e zSQpx-T_m7MZR6mBHRjo2&>j!>56`M0U$l72=QDEg6m+|2r)X#koJHhm-cp)ELApsk zu`oGMU=G$o_F+k*M0Td6v!J=mCWIJ$8B>AhCu$? zf+H*C;dx$Z{fZ^`DCnhSvtm;nwC}`IFUE7qKlv|mevFK7fczQ4KDUg`NWCq`{ok`M zg|*f_g=fE&H!X;TvCIFp&*XNH+c~6RDNzmdu1sx1d^{9dv^oHxjHs^5)QZPKYqDhd8 z!yf20Sx=*)+s~+m-e7O;pZ=b-c|H~W&@g->Glz?pwCuiQdz6h>zC!tjukSvE`G*SzVY)3Dq4~1yQByBm+Do;4ggvBeRMt23^XB|J5~=>3xVGr^)s4v zVBAR_my+|EJ1xFfK_kFJK;0!_vx883jlXt?qx z>~lN&N8rBYTudJG625r?cf_8sr(VA`R#W0)nvv8ouY`a7HrcO}{XRJ^Ajb{l@dSCi zK^~8g$1CLVI(a-_Hj8>+4{(|KNpDXs59Gr-3c^*v@AB^NO1ZB{Lv8v7QCk$bSo!fA z+hxmWh$4~8u~^8(CvA?OFtMf~9(NtP|BA2i4QCktPx5Z6fP;8#C=HSM1FVaI zt8aqOIR^?){Iq~)3H6pH`~Afb@vaFz6KlQ6_#)$vj88It$#^I0LtV};$CQbFO}0h( zi8(h;m5XmLYFSYcLPfgQ)OWwu;NmICFL`HXQ&A(k-(sBJU0r@j8i*b0A*w zaa>$726;lM#SS6HMqIq1K5)79b1E9n(BT-t#HwjDu@+{u^llcAY%FnITPb|a{NyoABd60 z55%*GaUgk|NFGO$$C>1~j~o}0<3@5^X;c{B8ZFPo+Zr=;Uhkr#G9z18@dXgK2b>7x zISAvg$-WQVOzy~o@yvel17B?3fIoNAS>BNF@A!t?e_%}<_(PrveTm!Eyr7Z$7XyTD z5@Ui1KFYy0@$2$zD*Lhld}p54`zO9M#44DdP{iP3rNuLTz4fD^2EApuktWdY`%Nm` z!!&fKsdrvGj1Lr(wAH+h(a@``hjY&Zy`$ouW%n5xN}u`-xl_1!tmsxo>p2=)=Dc^{ zwgDHfcMaEUO#gR0LLRS>$1`NRK(-rXyF#`*MBfQpLB{`Ml75i&hpb;@eY~T*LUV>S z7u$XuQm~mtLj>=)=@g0Yfw`dJ(U|dOHW$lDUpnr>q@i^S9>=&qeIbhJ)^jWxYAw9b zFJr~UqPyjbw!?f)xlQ^Z`Hfs0^r>oEfeXlEq{>p8#l^x$*X`rD(~zI|zMudm7k6?u z&zo`p#)l;Nfk@-w`ZIrW?a8Z7Lubed^uBxbb~g=8um8$>WFZF^9LWvZ1LulP;DE^E z&kf$QYx4?-$KA2uBN;lfl?V*vwHT=d#Kez zLt)Kjhr^a~@QSvO;_{a?6g5d}P14zhEw+oa!SDZi`20>04J~0@dAZmS@;cj>S6MzbksRtE8=o1O_4vHne|#tM_~d>Q_Y!;|^KC`ro;xwXXCD8uxkbR| zk^G;Q@jz>+#f9Dknk)xG=7gNcawN-{+%Ga8f;L(to*((!mqlsIt382!-Y|or?wFIXVK$H7(Ho6H|y0ngh#4rL9ovAW<%-_7s-^5(f}O|0!* z$PYByH!^rZ?$N7He9569eqH~(&MA;T&hyRa3ZtPfjI&?cML>>+at*=&|29KrXRPEQ zkNWtH!~%#Tnx{&O*e-$jpGn@6`3o{igzNZ(og~`2a;dX$p&87b-Vk$+d(Os>e{P$4 zUGqOV2}8Y!AGsgIy+l9Bd?545bcy4+Gw=RBn|Rl$f>UMHn;`#7Uroz|a-uDzUq5w< ze}gk*4n=)raA_zt;<2DlKO3t#ZK$yX{FC`Y<{N=Ig0E!0lluc*JPX&K`3*w1WY6yK zzXx+m{abZEeb@M_n-g|J0@y{lpbPV9uXR=#NYl`~w(qx7jX7AJmZ4q`^N!jS z@%S}#4u0g=Nq_u-ipt}izSpkgU^VfQ-OFE4QR~Rzx*ecb4O*keGz+O{3!f!pFNK4N zcR$YO>3wSj>r+0)u()|t)V?!P?hxqppyWP>7wJ@l1?_@w+QB&0#O`$?#9Qudr%;bQ z2X|0v^km_A=~6czTS58uIl9lb+=Q{ucoEA&BpVkEn7kq6Wlkx1MS^neQM zC#|G5LwQP{LTFzd^&dM!wnJn)MaCN$j|4AUH-;(aSMjePWuF1Q=3Z{*yOnM5ednZZ{NMO!?Oe9~5*ZFIyz}zGG>G$5)%GW= zt8p-KFZn&hvx#<)+ez*RS?|btNycZ&B!1N=@q3emZ!-RgzKLIVt-Y;EL$uQU4u-vK zyh--eJ&U=J=iH_|<;oZv|K2$*>El8gTID$yP&fH~C(>$@e~-vg5Hcw*IK zuy+avq~-yhVjMZl;aWDXopJMcd^HulP(J)zs}A(Kv%MYEjPWe4c3pX9GNL2-N43cg7`LW zfp~jR_(1G8uxZ~77-M7cFfTjYYVj1#PW~Qqe#_5j$QR^XoHyDGd&87@6@|chs!-~l zjDc1-Q!KyvY+D=^eL6ibCf@;jX3g2~tqRtoz0=}p^Xg*bq-2-j=TTHN%}dF;X6TD9S>E0<1{$R-Xz%LibHxRNgQD6CP z*JUaiKY1j|ANF+L~j2N^#rFIjI^1buqmJa>yE=+gz+Ooa)$ zYeC8mF`&u#BjeL}vYqymI3o9h+)pwe$b9OdOv&q)fcJZEDd8;!Ia<_fj6!@y^p$K^ z$#$1)mkC}GcAIP;$ov7;rNDUOPnC>aOci(SyjU zf@X*ds|4LXU6rJw89}<1daEGMs+noLU5tu8C(XT31@w>5srEZXsmOD_@s#&E9L((9 zyk!=w8>`hkS$j$k)?ZrNRQF7wqU1ii**>CsyZJS9& zZqxmIkFJ9__&Y^PRGf^6q>^gn6Xuo~#)pXT&!gZJ+^9;%RN1M_gV_od15Q4y!dVQ@PK?(bgH6*P;A zGzz`u%>)1QZJX55HP9aV%hI>Y9XVJ`y!%T9&@mz_q`I6qc;IUbOInDEs=ZgG@@(T^ zTSY7C9k^d{*9*UgTY+ClbJTGf6%}R4zOr%#|JTmHZ~AWvD$Ki4dL8Ol=|;%N{iGm^ zxkh@HJO9dR=g^^cbyp5fznY*R4dpdv!>L+sFi$AnM(yAM`!OlotDPryr2v0gjFyzS z?}l}V8&twwgsJF+d2UxG-0y!vA>CG*ie|ZaS-u4NN%NK{DFrI>nzK>l=MD~bYfr}? zHL0j$yp$9G%A|9TBE!N z`hRis%%>1zSSM+uymT(m4Y#=$Zqv2)9pk>N?W`3uLinb&dO@s9oDm|w@7aQ`RK7b1+M!-ePPCOK^6z= zXdXKI>o66WEXfXk4&{bn@7~yfJzJ-=>COcG+DYheXdz(7X=FVjazSC z4i!S4+GlsJR&O`h^=o4F?w(ZGpHMAH7e`-Azl!D zyRWvH0=T-PvtZgd8~^Ii{<#J6>|3ehRFU6oT=it7Qw^+7)wKASJ{QIz5zQm*i`5|S zX4$)2c_yq2OJIvit3qClxl?;g2-Y1qn>QORrlQ|sKG$xGa)u_WAPeh@PkjqH0QG|o zpE35F2YLE14cE5{us+exx*!Sc(wZr$v`1i*FNz${DTDI8F*dR$%CJu2&E21lQdGpV zM=n-Y71kSPzxrhl&pWjLn??e}i@f8-&n|%;uTAIDdRuCCXxO9?^+>)!sVu4O9*mOuV1m>&tlRs@b#>H$8 zE2$h`Izmc|JQ{)C5mehMvzv|#J(rFzKf%R?ztPSGu$DmUyr#7R+`oJKy=*sUSf7&g zH7HhgJxo)sN&R|#JTIL*ad9*w=#F{dN` zrIFJ|NB%i3X5GlB_-su_ z^LGlK?WlwP-(x!^09|>#%=aG9N-3^6tG3e-A*%p}!k1#md&(vc>{SBUr4KraG@Yd* z8zd@d0QL9w_k2B=Lq}DzAuVxtxmbq2Dt8d%H3g@7=jL;9&)R#D(U&2wb8gPM85d#w zP|PfIQ7FG+w6t9w`saK)Zb@!79qr?LlhXq2k6824;>lxJ2a`QS9}MQ=O}b9nZq0Ob zP*L8v31|Wanz%W7mn4^k>h3I18=>!*w4AHt>pe+EEccSThn?6_`{AWbAa+E?mHzM z3L%dswye^59~WP~b6!m{kB&Yx-CkyTfQvt*xi>{Y|2Ew#8N2HZ^L@!CuSzrM=!@}C zx57b~uhXdIoJ^sk7S;QGjXqr1n=v5#2JnxJZ%~g5peLdedP4A);1$vL^LMhF1XSP~ z8K@%<*TnCXd&(jX;L7C0YSE(E#>i4*{#0ea)mZjLiRU85$W%p8xfE!gzN)-?vy9Q` zoVrKHfXrR^N zO#nT$Y*4!^*8Q&>$#N#+fQ%C|j>tG84#9_a4%zFXQ59>hK&c@Z)NXfXe}>|Ece)O*8OUEq7bHCD6C|_E#)bg743s zSIP_kZVA~ebDp2`2537RWjk|`F=|(~YTXX>kanS%oPsg>87c7e0O&0@)M<^I9DGmp zn%^Qg3havU6LAe`_>S*^_}Ur3|JtMW3!~>6BeHx!XG?Taa$~&QqsJ9 zLZ>JDcJQZQ(bTs8?5X4gNZ?2216iNR`cAe7WP8z>iux}I{C&6L52nO`kSz|&*t>HN z*gxOmmdvbKwwN}1mC@#HbhJ%0Em#fcvhlhm53r})rTrgX3fkhjR(`cYPdYliYW+hc zxW8t&Hk4SSQ1(b1>!x96IGp3d?==mPdV zDQqiy_H0``(paKX4gP@O%~N}}R!tHe$-G>0-vxN(rsPyCauIm5_Uj7UnYQ={bM1BN zRlqTS!q_~Zv&N1*-};1(cybEkwSICj!As9$syoAaV9lyI+bggR^gx}?d!d<&``5i^ z%C-LGJ%KASzd;0Ppx@dP`u+UW<6EZkf7?P}PGwO>S&8z0`c3TJO~xNlm%!&g_$A?+ z+)i>o$o(Yqfy^f|ACKHCG_eQ1@@=fNZ%?D6tRSuWhaiUyTjf;NfL%9#s?j$c%6+%i z7rX;Li)`HXJw(hF-~W&id|%F zad}GTD{ruOwjX+o-oo<_j&cIqrWzybWxPA@Kzrty{mQBnFh*A2TJ_IBxmlu)-y^WM zd-@}e2*dp!UGo)&z+QBI+QvEw^t$}{X;UPO5qnVh{4ms~WD8#Gl{7|2=4dH>0Q!nr z%F@?h4>szkcJ7AyR*B1krYtZt+W1&xYYR9k#quUpD(fPxH) zt_^J5Xp5h`FmKFhryvHyYP%TI7H_%yLgEap6WZOnM0b_b-*@@7xW=CKu*EY(=B`(J z0PD2&nz)n&+G6FLgZw)RDJW}C$bH2~c)l0&2(Ezd!g#mD7$<}Ni`>-zeS?CCw%2=F zU1%wxpgD{u(Tky+XnTo5s-&)qExr|7e_sId3FP)emonh`lV7^yJpR*+Ws7qycn*Kz zz?!#HhvF&oY%$T-34coDmqeNN{f9xmE06Ee(mqH*1g$km2guCYrw#HVo<%&{Rs7g| z&L-f4_o)r1t!;6zRac@z00o)17X-M`ZSl6EkhgH01=2U4Baln8#f|Sq&#lh;mycvV zljT6}r^$sVny3=k-FFLnu0WolFS7J|CeZvZay~Tn!TPmHdfFsS^xa?RscXPn3K~$J zKWnO_Ef##oz2Xe(!9+`cHYustVvT@1+b_a;Jz1->79BvBSsG^_Kk=6z1b={anPAs= zChQtfchn0hys@DmZo=H8x_(&GFxj>VJ`?lV(Qb0T%%1M?O_^qk_vi3e)d^6M zglL;u5U(xvuZdn}5BV2nS+n@|skZoLOoNaV-(_YsjhyHh z<6?)?-=ZEsc}IEk_KaT;&r;%UFrb_rS=#q-6ym4_^`e@Pe|kIpV(=L#w-dg4!TA>j z`3J``U&8(L1Ql<&5eo9Q+H*qeH^ifzkKV8SPC?b5zuXW3df+3^n(kf-diPN7b2Zf8 zF?)REM>phauC0042+!Yo$+=tXBL!8ezrMNw=i%ipkKay!!9FSe21T>V>!qr z=MjIM@eeM(J95a=AHHiOczH^7X6BnW@SSAxnaJ(mxtQR!n5ReX1!(W-AFk56YziXd zl)y0|H$qnblPgK?WL%JOL&%H36^Ql{Tz~A&yCuIAXQbI;LMI5!6S_Wu1H$f*?Eu+M zknITB&XDa8@h(EY$ofatPqO|JZRb@R5Giw}{9}j6c8c77=vo%&!=HJ}Ik8bTHy{TW z9e?S&Yg>uRPNa^QDEca(7oOhjq9-KjzTqb8uFJ$cvjw6eN+Jq8Sf)jYfGqpr8kKNV7Ko z6VJr=?bij;7gJDB!@lY@kcSz`c2X5uOF<2r($+_|v+%6_W1)m6!a#-zVtZMSKb_#sm~AkRb}gQ z4DyW&>O_Uk3Q~}?*nNp`pk=q_{ZgI->jf=3c8o&(R^g!XZITpJT9V+C1kcMdF_l}c zOhE;{>#jY6d~R*`#yxK|C`hR0vZ&D}`2JUtrhH7Bf>u0#H!lS8!D%nFlz22LC}WTO zwJgX#{(AYc0W<-Msq-jTcc+?$a589+00- z55MPjb^!$`DDhdRK>k|uSGw*IMG8t*OHtct%)$Hm)_CNr!n$h%ZcskZn`2W}6==b_ z>KT#&rLfN8`s*0kC>>b0o9MiJKZAp3Z%TN(!hnLxLzY|GKzTvfQzcm%1&w_g-Rxxo z?>AMC-egKaw2{%xpJ|X6TG_p*1n7k?%py`Kkar5x>i)=}pr^NQ8(cJk@9rw5;H4V? zAC;nMvXIZexz=GS(}IGYm$}q%Vg6I;WSO3uH3j`N8Av${`T8ZxzIi_5f_(~9P-t8O z^R-4Y8m9JO-$-}{h-ZUdbWQjPiJ9M8P5{;k>~``nT-qAh*xO%rW@XNQdZ7pPCVpg` zl5tGNIav?LdP3GCvYwIKO|*5!oyz06ptI|0hSlO=ULs|G?q}ca6tv|@{dxp^TAEPt z#cUU>uU>qs?;Y?(LoLFidM5=%pUmoC0el+}NYK3G0et?r&~OO!W{-nf{#;KA5_@%J zS@m+r(+^Z%ZiMyWGd(}3uYvNQHxAV6z7!N{Dz`WiXtCloRG&cbzZ?;TBB-y&Rp^^~ zgo1vQIDd16d7AhqK8rH^Vg0|3@iVtVx#%~EKxai*_i^ad%C2Av!cXN*hhUw@cfR(!p-}%(#c3OT z$am^rpe+9pL_sDGGD5u&7>R4f)q|2bP~q z_o1Mh-;Uo|D8|9~gI;>@A;9qmZi^Mvocs`awF0{Ck^70q}&1x zK0&Zk!pX9xkrbr$WmC=>0a)jtsXZuhhJyA_6&(}dhxJJny=&xv9=yVS#mC3NlBvnd z^Pv7gvziUZrg5-(bF6ntI0gM)R?xI>DhC(Yy?Dbt33Fz{qVZ;6S3h^12#q>MK{t#C z1WrM|TIp!Z^++gp`7_oZF>~|8*dQ)uHwFTLE0TQc8ch#(1rNQdr{es zs@rUw9{oAo8R9XQdVj^+ciC8IsiDGp7>|_d=Wk-%V`CG`1!|3uC;z#eeo-Ch@a@IY zn_)hyas1T*KBzBY;F=O6M@6F_JPvrk^N4pJzqGrdxESU!Ivd2GEIk@gR8{6kTm}LoVuZVw4bc1n+Pg*Xs!t=_ueaW^x)b8Rq6bZ*Drs!2 z9Y%S#vjuQB$(zxGA#Z|9DX5jN)a*qrtT)hjep~ty_=hiR3tqtU&&f#KSOIz_xbAFX zNC~{JZd<}*up`A~yXGyc23(x>I${cXL6#d?u7qp|xz}Z`uoeIuY+Jy$)BLiE8k&nCe%(;1o6y3>?2x81H@8oquY_ zYc{U@yyUk(e7}KAZg~BE!N&83V`0N73VQ4Md7Uh*hq&dHe}30%3JQ*O{bKfvjeBw{ zwQSo!&wj_7TSB=;L(@QM2l$(|%A4BYL+W^Tl{xiL(3Q=Smv6)Rin{P7XQMs}^86Ne zBNx_R96dV3EAfqj&Sv}88^ZdHr zH546SW9zOj)_yS0d;R0I80tPYzI3!ry9efZ#dESO!uGN;@1eR?DRW?5dcJ1VXLmR& zZL@A%An1*@YazSejg21!??1Z=?%$F7UhMpCHa>rIaa@J{ZtdCXu3UZsPDlvY|5pZJn=~l!Wh+E5JDpmk(?IITcuo3K; zdRQi(1L)n&x_hP#5NBj>+aX~KXRV#qv*iQaq~c}$L2P*6{Yd%?{Fj&6H#!8q--hR% zF_{0rhK*NMm)f?1UOnI!Ik(pZ&c=zTqHe09plib~y)dGr6wF1ry1cF*!hcNn~H z3(IxHErgA0W;<+K4z!kB`Q8_Y*m$nt;nrxt0~x;n=__#kiTf@VTZFvKVq=EOrpt@v zC`j+*>#V@Fe`PbF2hwm&{AR`m?)U(><2n8`e%?CB7iIcClLK7RrGgVWVf@l@?C|FZ zz`041rzsUYavKsJplc`z7Qx*m7^Y&P&mdwVdIWuZ+f}bSg zf{Yt7uE@9}VGmk@<%S^ytMJ!*dckwST*U85; z1wb6oA2sdjXDe98Iyy6FzaQl9e4cmtZDQk$vvtSYAx^ajUBBxA(BC%N@V|n%c5`AU zXAtyIcHI+mD-Mj0UhCy#rHz7XSLa{NQ~vn7*$*k{rYll?Tg zzrccA@C$$DZ>VF3{Dq&w828Qvr6LD?G+johquUQ+arwKdcCX-kD5$JE!8G{g+VJdC zONH^_d>+Zmeg-Icz<1fjB-npru|iq)76ar~8UOr4JnZlEL27yo#Q?2bV%VsE7S{P| zPM1Bg#sDp`m;9oB9=`9f;@*y53g^1+tej$-2IGQzb*b(P43LxmhOm?i6Z;sb(O-%f zpw(9^Zt$Fg@int7RDst3_4b`;WWw`@tM)&eCuD#;Vz~FlB4NLXL4nr>$_D7<%46=P zVI2Hk@#Tt@%M8%gnzKF^VIPCq3S?#^YJgU>ze%wR=imc_mrtJW(?@-c>-QTcaPXX) zk3xD|_0jIL2hSHmf6Bf_G@gB|k3L9Kw_JkvB`G#rHr~=lUbl~)C_M%H%S8(6OXcdr zzJU&o0r30};+p$|a`cgFh**8-VfZdMsNC*J+FxF}3w9M!c1m%lsmi5L3>La%w8nvD9-E~=+r&GWgeH3nCc4%T>D!mHFW;(pzz2{5x z#}xREcW1#b$!q%P5dDo^LI$jd%CTXk73!lOcbDE$>orCGat=kHL|5>i74vzXr`DJ{V>2(gSzM;c9x=SAod_C-UA)kX4rZ)45hv=iYo=Q#S z0{HH@b%jkjwBK}R9<{TWgPXFN7QBY%|M26PB~bzEX0kZ$-vO(>vI^|eweTJHlv@wf z;Q7Jr>&CL{fS>&Jri-`gqb#KxOUi(LF7ZM5wue4CnkXNjiDBH=s_nv#(MME{#o}{7 z8+7}s$Gy@=3)AL?CqCie@Wlt?SC2sdw$Rt`*TZ+)I^}i;4Ga)&%st_K57wjp7A_D6 zy!*$zUEKln3jwb8#tb+!xivlUJ=9k=xA`#m&;Sv-H5lmPGySmv5-l0xyu0{Ux4xu| z*)IV88Hxnl-ji#9>Tk?;g*|w2b%)H3@^}M8);CbWJkVRtguPp7_G1fG3ie)@>?_eX z;$0JZs|we|kIV-$pANs;ZJ^Z%{n9Fy_4d<8p==Gg*k+I$Z)ki_ggz1pxzghL0oLuE zkNd@&r;ipmhQ6!m0=@mEzsnxz(~dGxF`r?48ycv*=$<}0<oejoP)Q-Iqg$^sgF1fy(@dCz&;NdNu%YNnKDyIi&^c=q@@^G64XQx9GyDq`h9G|sdPA}0u0EQp{uuFngS=0b+%%0M zeRRw+&A+7&@kEUMGN3%KUbF02X`57VCoOpfoq(-tl4DJuUr|L29qCRR`;yFC= zopv78d`r$%eRS@DZS+lOkIPq+1f9$JNWw2K)D8C85OENSJpy`trL(5yrzq?@u~6|C z9q#XYe{sbWkcHz0xx#@geMHDcA?6J$_lZ6dFLS(B0N-WjZc@3rZUF3x$Zxv^v$(id zec`d=ItHjbct_6ZU%=miJ#QD<8K8FEi;S2rpx4(t_a4?WK=-fAN}ATn!6iO-D`gxE zP~fgLW}ZMNgv^Yvy=Z_w%3hcq1oh3A(Wh!Z_!oC%T#|81#x)uDWW6Bk4S_vEugG`< z2!1;zyM+&ZqADK@?U4oBfK9l7@n^Kt83*X-= z;g%1PCHjbE{Hw@b1J+fH%~5qL*GEBm^D7iraPj_jbLSO6Z^{w1oC*7v81FinD-Sqp z8E+I=1Z_>vs@&TG_K|2icdcF2$Q!`j>36Gpjk$PkZ|v$7-}I4P`=e2NDy#=uGgGu) z9OUS{P^ucf&#m6cJ9uNU0eZhq$aeCJx=4hq4#3Kxc54;moW_mPM? z_#SuD@;2?%JOgyP*rfHf5zH6OzZ_Tf0{o%Bx@RlgUvu|H;mQ%e$eb?n;f|v6b_W1lzgS}`TUi-9u3YOPMcM_q81Jh`2}-LAc!=tly7p3MX% z$o*8Z5U3e}eybmG2!AVJhzuNbDlajhpT{0QR8u!ZAHsg>dIK%k8$4ss1kR#g^Vs32 z4eSG>nUFl}YKVxo*YnaVKWZ7Fk~veSFO>V+cAaPKFY;yKJL%l!i1crUh`rhO7y{h9 z?TA`6v(6ADq?)~IP={}io9Ld^aP~L3f6(RYV5k4Avmow0@MYk^@N{^$V|7jcD~O@i zJnQ~R`HxQv|8NNok`pre<<{}H?DbI{!+fy2sbaflRvH+=cfi}FUEf3gyzDLi0pRhX z3;tK!-@&&j7lV6MwT;kPi8f&aD3=a$7UxklLiLV)3FbiGu!-8AE)8c#+c~yN0YG#n3QFVXyBxas&e&ORW;y!H;mBtUh<@mLZZF z^!;%J>=td`=Ab=S;LLUX)^l`teqH=KCy6veq@mV3!~%M%R>JF&SVPqFBJa%z)c>VT z@1q|!MEtW8@1BG9OCDIEA-dNPNjRmd*K~saJl#L%^JYVIaBa-_u8+|F^!p)U8w}x$ za>=68Jz!TGHjR29L$q0_sBItEN!L2t3-dG$(ZEt2+DV{&L%Axca0YyUjPtJ!pbguF zhvjD)BC$4UNop^|i<7cDG|jo}%@_v@HavXSs$z)N+&|-H3Vy7sStN7*ZbKw1%&nyh zfj-L%iI;~1|IU65n85vI8(gXkxF_R=zy^UUGVaK@B;x~MQvlbkKX!Fe*9o6O_za>g z6LyvOes`JW;xfyx@SPhHKU{qOU;jb&FT}G5|3mgqWdB9B+YfCYmQL6eLpKHZG|&JY zmKt=OusgB`U2nO9-ErJnT0LQx+)K7AP1q%}Js{f)vc8e|PL|8hyFYGC$ZgJ?4H|7A zH?mw0K77LW2>9_n?qJ{ZVX(`64C+FNANF1Ddt&~<0Fn6xtSp2xzy9cVhh_8fvu;f6 z8anIHV6hq6CHtY-RFsLw(&@9W9A^CSXU=fL#4k6J5%|%Hi8n_mtPpl&Aa%jxZ{*f8 z@dCx&8C_fk`sQVmEwYM>23m zru(YX<}q=o;q|7Oc2HkDbMPC`*VDHxpU+{So2#Sl`$#geQou{0UMmKQ*v0Rb3iQX( zZx!b^FwnGXqn{Q)|FVi@(Ghb7DlydFYzF=R?HFNDZN@+cPr9z0;E$79*Ogs#23mbQ znKe&=i7opUyVtK}pu;PbokbOyIM(RWG(Mn3`u6gxEn?!_llp=05d+B-U9mU<{NB-$ zG_wQBvm+c-=qm8O2I);@-Qmd@evg^KaKWroqJ0 zsRgDDQ2!qNmWw9Pa?XktiHjMiZR*YO9H@`>izTjCWuV0l1Kxg%0dF6ZIo&{KHD-MJ zw1kOgM7O5BR%4)gpG&9ef#%=t*&D3RKuc)ZJsw(2>{tBDv<}*PufNG@OdI;Mtgn;` z?|)zUxixSp6E}-pkl}&;Q@48m{<@5b<8NiP%L9KN71&qA0j(YM^p%h<1Ids12Oe7i zcrdabciP!jHM&h`3Lv4DZNV$o5b;eHK04}RnM3?%u~u4g6C8;xab z4#)uBbv8^5g8MszMzk!X;C;LD#x4SV;&!R;6LALG{M1G}59-S#h|J>^WuV@+ux_!H zOsvo$`2K<*@H1^^TQKP7I*|}HCeWw76g3N0GjRxKssGKH4D`LuGUt>Y6Ym$R&QX{F z`aI*V3JvIrrLNYNyr2(>Gl~a*&N|`ql09aIqRjb*3iX+Iy?nf@->4ayo8sH!X28Vq znUp()Kg`gt5WVB$MogTu!?1r%zZuHBblk56?8T!a4P#w{U~3M3jJZo=;)HVx5@f%d zp(bBd(?~iK-)(H}%;_~lJ?jM<27o@{H=d!`V}{n-u1mdU%*1Z_p>qwo%#dzt&@D$O zA2PT!Q~kXevWeA`R5AhDrSbdGHZ$bwcG8{+v`<=>#oiV(6q@r&{3+aDvx;dx=d~Fs z4feGd2Kve96xr#|&Cp`Ya_K{+OuWe2n>W4Q4E4Dl^fX+@#5}#+Zp}I~WZH6iwkXif zwE`y>Rhgkpb@x_#L;d(;5B*M5n4$Np_>#(jK0B|7=5^l;WrfUomk)Gr{ClhIWoC%y za*0bi+)vnAmR-ye0dpp6f|Lx|@j`9*ejZ zQ$YV5URbQz#l$A-bX@1t03TE1^;Wwwacw|P!wx8)@__owYX=j5>d7o@1beYRTGL(~ z=-i}}P5X@*NP7OOlu)2?lf0r6*sD(Efc(KtOgz)3%1{W($^HRcMiCFsRMiRpUZ@aS zHVpR?bqQZEchzhc{el1d3}wQ}z>n|f+pVKc(695WC9Ap^=qw*PpT7m{TKTy71)!fU zJ(z8=nThAxQ~cdOGSKW@F7C5{7QVLi@wxYaYc+!yDwv~aleeSy2WCu7M zM~bhS8EDSE#P|*_6W<;Vm^S=|fg*+8NM2)uofi_j(GB&ZUmxY$1ALVY|J<;@lYzpk z&iI^XGI0q{`O5v>3Sh6U=Ch+xLO%oP2np&}F`#{u zeH-DOW?NGv|vFi`167pV&>OkC+*%W91UzoWeQjJOgLn@{t+bsp+h za`rVg0d2k1#BDH=fifh=U#Ki(;1>C~GPPIL#*bIJ4{_=~1F`^I z7uQ9^Zv#IQN@XD^->D;%am0m*kHu=9yaj$;Tqxw-Vz^&sZ|8V2lYt0qf9WY&w8sYg zzP*prV<_+c95^flaY8}^f1v=-c{eu>z1qY;sZ;xdEa80uZqjzfTNtQHy~ZOJ-uD~1 z?HhLnKXG5cwSOxUOP&rquj|4<`wr+hWKOiF?m|?JD+8^{JRTnn^fS2&CSmRjRA*;$ zYBALJ(O@u>c2NF7PSL>)RxRmwF3GyXUsG_k%3remTT$5`?mSp_p?$MXv?0! zuIoT=oVLo<`2qvwJDO^|hUWO)EdYoskRrLb3;7B5uI-XWXzc z{?c^2bu27EYrEl|O+_W_cYY!L)_4i0@j7S!fBRq);|Au+(t;!EEZjYK@9Y{`8ghN} zv+j&03+Kjt<99Nkp`-q1FCax0ZZ_f^;(`5&jC{+@T7a&;c7C@#hxX62>4Ne)eM8oG z$7uYa77^I*NL%Z)*)$f8Xnz%SX(|mpFU)cLxPXPzzaF$ReoaOBzEYR+R9Sc)*HoPH z4Axt;r%~@NX5lF)*Pele`NoX;o8f|BvsoP;cV54Qb5Y2Yf%6ewN1{_JtzzmALoqB;R+E>kAM0(&X!fTWZ}Y+xx#`nu+MKgQ{mVE;fz zxf#uHf5Ls*ZQ2$Z8oU;~-JHe3g0+ShlDENrftNpp(`{JT&*Gx9IP7iZ73%Bf%4Fel z$^}jdu;)^kdP$rgw8!z$`zK`+`;yggcd9X1IMQRCvHfMh?cT%?Jqs4Lob6K({FsIs z#aFYtC@f6KD$3=2r50l0TfEkS5wK4YSzaK*TX6l!f5ruKbtA8_uxzeDp-mp_`Qkcy_sJwhqJJPdfS&p>***Yiz*=M{?>Am0IsFX{9eyh%7jTt@XBhq#jsP7ZcwO^W)4u@r`6^Hv z5zxkZ@C|NImu}(G%@0J!p5B2HjV@QURcM1zXxm6`(LZKrv|3QYukk`|l z&|ks5jQj7KS$MVd>@PK7`z${vrBJ;8zI#HBi{P60H7PyX-{;4|%T%;Qx{reX^axh@ zhO+QdWr?5zuzx@QI=7*k(=5yzkT>fU>`%7X#BX~e$bIL1Z|7ZLM`vd=#i&5PiFcWl zPx+yd#lmlsi|dXX(~y~u-)wcD2TRgT!-1Zjvlrhm&v85W)Ms*W4O6z&_<`lYMarl&@|7Df#LS4cQw> zM=yi-c|fB3KqCz~>-(BLDQ4j}F$oF1puc3Cka0xD85xIUoF35hJAw_D-t$wIqyWuxYBAtfRS`R%P0@_@7G+8x< zhRApU2$cZt6ee(&Ie&kQVG#@K#JpQG4SeG3*ei=7z!no&n!w!xxF&vNoRD!u#u*uh zWSo-Q72gqa`##u*-Uid2_x3cjw2AZ35_Dka(x{&$fLot#kuo>1FKzBicJ4K#p&4yH z8(ZAKuGSpAlC_G4c%luctG2W7cWSa&H=Nrdk=L1$26TG9kHGmwG$fzx8PEYVE@m3W zNYRk>gLihiK${m-&#n~#Ild{Jmk54g3V)EAC&UW^^Vmhsn^@Q@w(b0e!N0sAcvY|6 z;ZkhJ!eST8HdMTYeI9xl4n^RDr;R#qJoSZ&gp&;y4S+qhT%+545d6KI>q*fqVDFwi zz7d}}3j0iqaXe=pVd3#vd*-?RgztB5`*Xh^gZrb?eWyXWm&fsF!BZ@pS=MaU`wPyI zaZg^mEsljdU8Yv8hIrxgp#4Xk1QtHlH(F7{PeYn%^3nlmEG+&mV_N0_tfP_{w%U=) z!c&KILSBERqIv(1t~ZaTs*C=|4UrN>A<2{sAtXeFeGPXoBv*!8LP{x$Qbc8{WG+KU zijt`^C7J7($4XR0C=pUAg(UpeeIDo2=X;*d@4jB=kM%nH?z8t=?=|dk)ny7(3qY^h z{&1x!(r%fPF1BVjal}W6wwu zHUc_%S>JL&BP%SH=5?PH{LFQMw>uB+u);>jmG@^}8=zywTVH*$w!&=EL)%}b8K5EF zalsZxE6jmoxye|j0djQlIeqG=6}BOE_lwqGz_p#)?(3(mu+p?c_thbONDOif<2nDA zmpE^=K5}1?egSz6&Z(_+GPA-sb(cO&`D}oQ`~()4gMR;WP7wFmNxC;Lhwq2GF&AQs znLphAzmNPYm(Bl31p>*1*a7$V#CU)hFKEUOH>`lT2(JsT8;@IvaSbu4);f8K;2gt%>iHVR!`RaET?1%HA5M5VGtcO>iYVmmkl&h7=;dmJQl&*qrC&=~Q@Rijgj+U76 z#^}pp5%7H$$3OG%eU=HS&&BZu$h^pSkpq-BPU+dN76*RE@Oz#Y)Gxs&zjFZmTCN4P zY&qDEqtSUQFz{o4mTAW?2HHA?U6&3x>X|%g?gH_ftWv#UN}&OY{i6M8%-Is_%n9#Qr#EbZh)4HvTSDqT9)Q ziZUuzdj|SzNEVM*Qic0F0(b7a0JO@bq@pA#IDfBy$o4MuXJVJgK-U_$_hIQt_bA}+ zE@l0#F3aJ*6hgdOvsQQ$Kg6@zx3=<@Li~#B4j%6k^#jzV0-gk>{lje*9y8#vAs!1d z{V2X)kQgW8W$`%j>OxHaY$49{U5G=MF2te4_=6aq5aSnOd{ZL5amMJ2C00N)_;wcT znOC|;ZOsoDZ={>;SPS+{aPY?&+259!G0|QV?T^KS(|r-2EwMvOe8csD z@5KHBD;~oW%;a0gD-`->+yd*{8ebMXNk!wu)2g3xEHE*#oPvUG+CSqLUMR=>;bot^ z7Ba$WXh^C0a!Xpv-?E}*yCw%3EwGrNW?j}M8sgew(Qx_|%oxH1f*%{O@j<2WnJ0O7fzi_rLsHhhJM@?4hK-EGrrsOHMeiS7(9!ci?-nNN_Z|~y^@jo5~Ya1-=jN;jU`GVuAE{Knt zGxqO0ylf8Z&g^wxXowndiOzAu0^`^J70UaPhV=4oZu=1r^PlY8vz`UON5vaFmr`LK z-k_k%F_DHgm_3|4c@x$RIOo;SN``si z<>ls*8-{5pHhc8#n;jO|$=T_-RnKYY5@&m@AIy7S^u2r};WZ7N415v466W_mKG{OO zP(ee7(}w+7VIFR~zftMuBpR}o9HL)6Zh_%#rTRSEwk;6ws29v`8%9HP>ms`8C71^e zJQelh-hbtW_Z62bQSL-O5&H`~tAwYRsfV}>vsEdKW)T`PHJICW9@Z*wj477W5ErJB~jhK8g4x z;+u$nqJ9wNK$H_vjyUgr25>AT?WZ9kzkroh@MJRij=#fs_p|mQ-*V>M`~t?9eCLOU z`6J?oh%X}ki1;Mp_faRux)fN)VB1z+nD&l_vS-$EN5Xoo^~^I_UW|qky+nE>VLh^J zyBEjrbQ+3ERIOVM>!T}XL%bY=Xy_)%xaTmeE3lsZ$=&BmLwMWmTJOwl@T4K59ohry z3@tFt@|9B@7Br-CGxN+!iUrmj@@9$h-v8nT=Y`DzuFMuNII+M-BA~%V1pAiyUeJR{@9O$CO=VDx8opYfr#V;Nd3c`Djy%xO|V|0wJ(Gz2z|aJd9`h+1*Wv+b)*ru5$a%=7AH;8}oYfZRc!+x3MttLu8;{U79M19A3iQ5CBy&&R-$WLH(Ev}!q?V#0bNNrg} zLvJtC?Nn_2+g7GraQ)05-66FJ_UTlA&b+YQ1!9`#a@06QKDh`tFV( zSImqvtyY4D)}4GUW!+E5>Q1;MiLaueJ3RhDRRdr@&Yhez;i4h6PmY{gfD4>=cQ{vw zy8obK%@IHNpD5DM0PB3@)oD6bEt&KDg**+`dtY#WV}*Se5xD`!v}owUrQP{~ljm54R_>%BfuqL{ z=z)EluevrJ2K~2h)~WhPUY0Zg>8}zEFly zG+tesNXKN$?-lm7(a^bZT^`+dIwpQen=;lwL*=y|wTe-6Y@NSP&TG(<=h+)ttRm=` z$AQv!w{mG{NX1QOD433=UwJI$e1nF%w(WD;9z@4D?qsLeU#1}mhYk5L7wK51%z7U) zz~8IY=EDU*-{ZH6UgrYig4p!)Bq)Et{@!<6SJ2~TzRi-C=vYhY`%i^FG{o{}iOdMp zf8}?|D(X2JQm?jVoV`lNBKL3GcKA3Aee>5%I&~ZHu)@R86yk-oc{_ft%B5q+baT3f z=nyB`Xw|Wn(XsiZ5APL%ygcuQ$~)E5v73WO-!@Cp(AJ0jG3x+tk(rlTXIN<{?Z~j? zKnES$`O=uhl7oisPp{XLsiR|kMGsj;03WN;-xR#9p<^*Fa?Jv2G~~8DV|;%t9pfu# z44~`M5XZ9aTg#z-Z9d^FNg54R$(68eX`y3nT7}2%8Pm|i$7RoKKv#90%zU;&{C8RO z?c=r=bW9^~ALR*@FFtv!H0vc(hHmMnw$o6+r#b&2pgq$$VmX!ns~<%DA?g=V|A_jD zV+gl*X=TtroP3sE^nuC7sjCchRvU+zIDWZ_-eN2OGt|jgAR!@9rH3nzF3lE)w|D@1Ut72KX7BHgUMp zK*wgz>)#rQqoGQ1Gl5p%|JUa|^{>G0h6#FW$N<0lbt_XT5Jyc{y7oM(0{bClvO^K@ zaqsjpwG5E=@-MLB0eD*%W_eApfR1gnQ#18F1Ae1IcT6M$;)N2@y2ns{)$2%)C7=(Z z6HDge0s;SoN~@!Z^u(#k-x^bd1|VW#TT3n4ncoHc z*Vt=QCOIIVw6Sr%=Yx(j>=2v*l?xi%rEc<`nt=UOiSok z(Q26_F##G1v~9gTb&rnOxCr;g@_@a)%k|}F79A5_9ja^!?`M=0tk(fPwM%NJ z+d9C9*p#R8DLQr|ZU0pJTH62E_{am3`89$d?6bZ#pL8Z#b5)1o~TkgQfHw9s6_Q;f_0;G?e6U?Zw(aI<_oZ(>0nM z<||?vdsss0*xj=5xE7da;Y8q?}7bFUXJK zA3h`K59KFy#yP;>p8n=iG706EoU2<}yNQN~`~w$O4{^|HrvLlhGiu=oXWMkS$vg7z zP*9AX<#@t*ID;CHd)dsE`pd+FKE?mm8ZXjif;Xk%z2gy=R+I%wsmS#(XfwFihBy&6SGfp?MW&XsqS6m<{uB| z;G86#W38y@_Y(OlXD{1eCgnV*2KG?VkQB;}3HsZ1yf2|o=g(ZR0pBiR=PZ5!?zcbn zyr$Y5zW3WnrZWQi9vx(O+k}diEM@bKiMGM2#*?xY^r+}z>Qv92I5-!$jML?Z1{F=I zh^+ep-}f>kIi1@`Mel>!*eEyP-f!Vnx#z2?$ia3>D?pObN>UJ-?+AkI$B6UgTaqCR>Ap@nEbw5CKv_Xx>Xu;^%I;&ej2bS zuaSbzdPp_ihw~m1GikhcpnhD|X3ZvZSQ`a>3vYg61?O`rA0MvM8ls@2pS$*k!MVwV zkoqQ-844oG8z9gCxcO&(5O1s2*hP6^1qu?TRUb3mXM=q~c3f2}|HX~UKd510*=H+g z#0ZCb*sR_^_I^!45k~e~>(4?Sj5Senehn1ZPgvy4eFn}Ed%fZfOQ)cZh=t+p0(pzu!tNy}f4a7zJ^ivE96BzYR9aFX#I45Czee?|#sG z0PcHFbVzo!rJ$M1`LtcmkncQr(Ltvj6l8X)Qdk!1H;H(9_KN`p9mXnpIgi<3SLI4} z#cEMd^Z1&d9YEuK>ptCM=;;pkc5QUtbR7CxVUT0-<^-H0_We_ISA~K)=|_F6Pr^ND z@&(E7H7UqJL((i7Xa?u{D`Z4L-(P5PctH70$NTu#(J1J$J}tJ+1I}k0iHedlr=SOt zH*{4_+hB`prrz!}p}@J_4E_S(hwD0lX&azdd$N}I0sY1B-Ipdy3c4*Hw0Wx!oEvvi zKf>=oL605#S)O~teNYwbCe*_ebk##*N2o94@sL%xmvn}L>U``xXrR-}r%Uv>{3xjX zmi;!bU^qu4)j+#+j)MNEGF*ScIqaaxy)K!76eN11TC)z`Cmx8@*St(Y1q@~W_n~mU zRCM62dJF}L)1;2BO$I%c7ugkdm4Xi3x}$d;^mhJU$ z#-y@@*8}d`>xB{(<0(k;WRv+MoQpO*Ya>*b`d^&m*uwRIs3$}{BI+4~`@oPr=$&}& z@r&=lPDy-z+thW<1}l5?TW!rUDr%|f);S;h7pr2wMUx66A+K@s#tl+{-2o4cUGKn- zl;?imaf6SFKE5(|-sTVIZ4NtVhVp=(2Oc@B0(9A=mfc0DPh;0(5drvr=yX!fv0oHK z#5<@#Bj}Ag)867`aqP}^Ry#t9WRC(sE9oRJf`Y>v+}*M}Qu+ zZ(b2=0QvVm=r7(LL_vv%U-K=afZjZkDlP@P#Fg|C`$L8Ehoj!X%Ruk;+$%Fw2l}O0 z=q{Hq3i8VPV)hLFA9vtFi4*9-QP+D4K4i$-C9J7A4t6eGxZUJ1@aMAQJ!*X{1tq69 z$?paJCYK-WRk%n&j;CDcla_E#8&{L-$q=xk8%Tynt>Iq0YqAH!lPQQ*IgKp38}3Vt zW|6uJdS}?0Di;aziqhOGyZwLQyb1RAb1`v_%LeED0gL$$ zJ(x9ioL&?33St2!&UF@Wp7}A7yL++C|GaBjLZQD}0(6ikQ43hOu(u+ z3QC|T~FNND?{dk@^xHK$~ra0+nw+C%(DHr(S?Vmjhi3bH%3{$9%q_`mI*7ptCAP|&HD zoicC_m!RkU+t)iN=+4*{rHKY>?1|En9Z#YDIrSLBEVyUOc~|AWo_4U;3$pO?%}Re> z5B{&-E@e-ZHD=z~>8(&rLG(baH68WVnEt7if0hHydti9Y)N{CJY-{DdtU3ysHy8VL z6xySn7qM6y{=doZ(&=l^-gg1nbz?OUS7e?#>i^Cf4vGG7`&>mqB`-{jrQp6igNAXs z9=vZGdQj;H`D{#WZ#Lb7`u2@Hdou<6r$n&m&cOTYZ(qHqOju+57wm>)N+Av@d}ntY zXq`p9UGoLtKSNx9(kDS4$>zop_bDjn3GX{6kY}r}Sok}jbtWy>?EPbn#fX}|G0g`% z#@#g^&kFZJUND%ef%*&;n^|rH-qsauy?^lu1%>rLQW@ulyiJcnMe3RDo0Rrs=Bw#1 z2q~WjI;AMYVvQK+ZEDl^n?)4llH==Ox(@QT8y5yQWW)F0tf*fp19qiEKh_WE3Cr>RIMx;&-%a2jU-frr0Zp`1L_3D-5^m>+c93W% zBUjzi(oltaVbxBS$8%AU%Y(Nrb8_IX$rt!;ET$r5>2bRXXus_IYyK77R8$sn_GOqT zjH6|11;H+fvA^>dqM{9*@%Fka;J(K9u1!kJ zxVP@9%BtmX?zwS#Nth@V5%n3=ycr&hX&1J6J6dc2n|zS1)%#<(AvzCB9}aM5;e67O zUYV(X_X7zm*aeq&w6J53L9hIIkLi^BE!)>)r+E1e?8mq!8hab=x0|UbTOI=WPimYb z1U2BE#W$3NMhWY1J-8QgK+5^!5d5Fmwx^UK zc9o3~w@P`xdXohCYx+t$BY=;)%cR4!^9<4ORsMMX^>BYM$BXc`9nh8UF+{gz zWttuVZr7hQbCdpVh}s0)O4ozl7;Tx)QTPCPKxXXE?&$l=t7V@uUCTi)*E_5c+c;u~ z)W;!TCfI@43OgmudP79yAF#Cro^MP!+|SM0(Fbt{{%ytw>+b;rU_%aM?fn`4Z@vVP z1v%WhYPrl-)&^sFmVf_{AsM|9ig0WOdfJvF(40a>ho7I$>rsS!QRjQ+#;nL_jJJ;S zI^g}6GRq-uCo;mnHQRfA_PGxkg&XJ}OM&;c{2qSa{mH0GHQbI@(gq87weHE(iNEy4 z1-f?iISI{`FmBrx`E@*qjHWp2R;07T|L3%orcaa6^yfz~b@I3E%H8u-+K>xun=IqT zZ(lOP`<8j(MmEP@$Tu*1P}yc2@<58I`YxrB(K(JMdy~K(9X#t9DFC@(&WJy|eqzoV zyC=wPzh)&Fr7y@ud_gWaEw(@t5eHUL&9}Y8ZLo@uye=EQ86wBMlc#rpeeqQ` zH#-6O5XRJwD*pod;R|lLtt-grfnCeZ7l5NADXX=!>&b9vZDqt$De!M6o%$=)$%rT) z5ZhCTH=UVs=GYwjs~YqT=Pk}F2lKN0U>FNA{jmIkoQZNE%84jP?{2vwCWd^lQvNoO z>&>t=M(f~PJ@N*{(r3x&(~~p5dcn@UZnn6XbD4}{^GfB<0ez&cKYGbcGICF$R{z-y z_cL8D@6*U2BfPD1@5PdH^T{adwn6a~sE;ozKV7YajFyM!jBW$F#?yLV(xVE#=NVzC zuMBy*x=V+-o5`?mTc3Lb^mRq5tC&s)8LjP^qvioEix&Hx{!B(o)~X`|DF4xHt)b@} z8D-S;4eSTHhaMeYz)3;-T{Nz^g5Azff1JOV2gWJ8RTXAH-{;x3e7m!jg48wkvy-K5 zu$7f(G&N-*zK!z2nE98JCCp>_6)DK_=+@#H&~LxuLv}%GFdom{@xV|R^8X4u?6o7o z_}l%R+EO8~2QPM19y5aXq|-+wz|Y{aD7ktusapW@oONHboY@TVw4JlHCfMEl21AmW z48(iuX5Lgo`MJt~o=9j9RJ_GlK8oyO+A15QvuN4>Ha6x?g(S5d~myD7p1s;lmA3d#K$n&9`j8Yb8&jtF` zfZd(2DYy@m)5&xs=f8SN)MKKa6Y&TzeFnJR$;9=0wdl!Q=u01Oxa*q%GKvTai13G) zsF{C$hyk%Y6W6i}xITF>J!L<{CmN*VSF5g2(Bj}=6biPkWo~eHrauL#UU_%y8N_SI zR^Fw+4#w}k8|=5YTVsdByY80k1imlS-E~&1tVW4~f>W+ETY(*3FH{iLxCX}WnZwhG za4&1Z$*Jove}TR((9sKYR@Ky&;}AdMZ6)%R$akV#h;rja&+j!tyn-2y+Aas&)qF|E z6oIxBUMx@1037JrJud}%*ZX4&`NLsWK z=3iP=l@0~~PG%Lym*;sv{C8yN<2Dw^PrueQMF+-3dwbOx7a$&=JN4%HH6IFkd$?4` z0_-F**bDE2yPQ_5rxxm3Ent;pdG>2ivTlCxJ~L^1>f#&leQV7nIpD{C1oDdw06oVN5E%pUAr|ueRtb!Ygs*;Y@&W&V zV`HOTVOJU0`?tSxkNKof(5`*Ib=H8NEjgE8V0@i|?k8ydehB#B%h-48GmOLDv0J7D zgM1ysV(!WVoiTCH|1{t!ouUyq4|pQt3t;ygAMfK>dz^MYWEONJ##JRV>h51G{_pWV z5jQxERM~;=$1oHGJX`)KU$}`rW)iVG<8$rECs!kGd=nZ?o;N7dk?Fz-1Yw9Tzgl z0(PZMg6}N6?^r_bT?KYvQ?paik{oNS_wKlk64=kSvL0bIX#Y0WuY7`IWE4qvHr`QS zjj0NG{n2^{Glf@^)+PZR7bh~9_>znc{SX%De+2!PA1HEuN=BXP8SIMX)>vezXJ>Og z8PO{BN4YDkF&dp}7g7Ux&fGmFHUTZsmF;*B=rjIRx9cH(Hj{Osc0M5^wzG^ut|xFm z_W~BB-v0?}fcu)YhI=~18_1|HZqp|&h#xDqWOR3ZBBT5TI~M!@W7h!Zt$=gHw8sv) zTBlyYm{Y9OOGH9}j2h?L?yT{EzUukjI`{tHcv5=79_Pth&Rm82f*EXX?R&Mz$kZxb zX2!=Ft`YcPB%(`3#_oj&UIhQGOEl2+l-gK)NVXWp=e9d+`;vg~v5lYR zL5}g+_K8|R#}DROEeAR0%}wmT3+2Bhf9Ms=w8pkv{bjVRkc{NZr=M;BS}4Um<|4@9 z<>6IE!WSgtu+r3d)|3HSk6y@02fi9(Ax`LD zh-rxSpQxWplS5XUg8r&p9UUD6{Uz#mdwCxZ2KruSapLyxhh${*^Rajd*n^59-rP=z zw~06>>H$$ti2MRpw!woj`Hqj7@Ubecv$#$&`Hqk4iF_sUo%kK1J`?qwXbC6KyxR+Wl%J#mPG~|!VR;_9VKOy$)zU%7EWc03{#Bv+_*b!%vwx~E6@w8r3`dA6^ zLG49TxmiO*9A^{9;lyz|aU4$^FXA*lp2T^Fk2i_qQQ~-&$Uk6hJJ?|rrX29L;&UXp zuHd$nDF^(1J|bU;d?VUnqMgR;#_jk)&x1RL!LFN#o-UAsap{R0r%F>n&pU-p8(rkc z=$>QJt)pNk(x{r6pMgFw&zk!H>_`)-_uRxrGP><-VMPgqdCLP@Tjb%r#KyN089<-P zx$eGEgpA~hJkKNm?X1Xn`HC0n=Un}5=px*+zSGsgkQ2runcIgILanh?P3GsrS;*+w z&DE54uzS-ybot5&I4?b@^;IGq{NEq)s&$YzmE+`B7IS#7ztqF4?Y$vdAHT?V6TIJ5 zyL4kP%*R;9PULO?dcM0$B>?D;n<6}oBdoCxwFx_)K;A^{Q?czwu2^G5x%M4pt%k_# zgMg_-47_iXQBQ~YppR)Ro2-EzoMDkYQDun2Y+m^2UbV&+QOuW#l)-$>C%=Tn@sN+A z_0D1ALa2{lPSq^M8uO4ey{(gPhyoYp#@;Q=cj0qoxNM2@JH+`P91HmT5E0iz+z%}1 zh2(->5b*)fc?md^W8%!p)0scu9RpL(-s`>z#`bD2R_^sV#lY5YnX{9f{ny{GgL2H@ z$L^8Xfhq>}OK79r4;aTklHO)3_>h6^GI~?>r3vyk-qNNm0b1fP+uP+|$jCs#@E>}Y zw9ZE+9dO1^oB4i`T4X1aK9RR=4NLmpZh*KPOU>!7~GQ@;CD#?{BhV_x&9f*&$}U+ z?RhQq=aOh@?%qob%t9fyX1b6oUfHv|hvQUKly-U`lAHD|u);neA zjq?G(%hlU?$YS{ zl!E`aZ^F`EFtB{L)a4>D4|8lvpo~d-@QLy>Y3erNe`rg&m?cb_hzEekD|r6#-wK^c z>hB=8DgJF78&lUC#iHl_#TD+qi8#T_;y5DWtZJw1RVEI7Z+_g%#Nmd8c0X8XH%=EU z(8PWb`%UBvk#8{~ta2j*3~ZG^V1XL&5${`XiTR#7*csqLU9tEf*_p<4|nYju$_dCd@GXnVz@xJSfc?hwMF)*jc!THYc{-kYt=Vp+@AMT0O`++z0 zT`k!O!1sX27CCKrKTlC~Yl8l+eye$93%n=t3wZt-^!YSXpY;SMlLsItDqgoh=c`&7 zsC#?#O>X9z6Vq=f!o&Qv$C&n;LA#u4x^_D{!8odQYS~VpyNjMpjUS*O&6hPEcfNwY zE7OhH2cf~_N9D0{e1}NxtXpH_cy^faN%1G@?xqNC15;F=ohiy zY93|&mGHgvD}j3sK);B5BJz>QXRTx8o1DORovR|x$S|+g(>Oe5E3g~0_7gZ70rM%v zv3WuMkjwPL&(z;S$}o;SyT(Wp@{|7D?xs4v8Tw?FwZiyFtEEnsc!%Z}RxfRCd6)XnPfep+^A!AGFct3RJs zB~VbKh~|_tl>c+^)q6phmpILm*scfk#Le7reV}P3zo(gW=If~y0zeb-3J~tV$E`;V zLNC~W&fvaf31+lU0epe;*6*)hH~ouy>3>kq!a~%i(1Tffj)Q*fW-np20^H(t4Ii+$ z;0L(o!NQLlL*0ev&)&ENxKB1;7e)g*e9leMM45Gj|Gpx71fPry5+hbK459_K?JD z{|tT*Z#&)>wZm%Cx$u6ouA1du=o^b5P5M+K?8{MD8GIA`;yKo~@iS1Lf^Q-%3+POt zhX+qZgPcEZ3E{iWz^W&FXP@k&AP?QE$7XIYu>Gf^XKetNQ|!}vzTjuyciy?!ZA(Gu zT4$E-Ee6Kxf^lxy4Y;b#K7I=PG{-FxeE{Yi*}rj&zhfXSOzV zBjC>o_g5uLN-2oQZxF*9c)l^^mb9^~I09@9uA|G0zIpcn<{XtqFTpm=fBYuCj!M)| zqW%)~n7^hCoOe$Qgnm;&4vKq~ULS||2ey7{SO>I=I;~rdSzi7c|5BhIiW-TSKz%x+n+J}8 zy?puh$W|F>kB3c6S_;_5Bk~=$B;Y+R8x6*qZ@)fMkn4iIJiK7*iShyQc7dO8V9GhY zF@QgQ-Cv(|xXt`dX*C05&DhbxIQg%fH$XY&kJwIPKZyM#@`1=FA|G)+<9sK|1*dVj z5&bREADjC{+eU+b=F4{rm46HIjLW%HLx^82v`Xxke}sL5FP=Ym3-ONrZWfQ_*Ps;wWW!|MPwLnWy?x zg!8_Z`llup_Hh?{h?h9|3C4>~_YJRDQW2L>{m~sGa4)@X>zkb*i$%Y(L&ar^C>FY1H)+?zH(zGe^SD>7bO76*F! zk5>{uV4t|$sx1*Iz2KK8(riMFsHi|EOJRM>Z=c3^r4Xxg;7rs^$- zn;Y$(qygPP*QzVJ`QLbl7!SD-^ndw+?cTCrABgsYXkUo-2j?v=2cn$9@>r}A!9G=% zREn5_+$>|q9=BBh4o;Uo2nD%52pGChTmtrwFZ6C0=tbK8tG`Yb!8mIyEom5V5Iw*D zbt2d^Tvn+j#@9=8K<@h64V>Y9jdcIJpnFi?m&bxL>afr2wUlk*T?TgG@^0riJY_QLerJ_6E+#NF@{&O}vVcZ}IxP3ug zI+6l<+FQ@%3H!p_j8;b0K)iUD@0_*KYAPx{YVA+I!N9hC-rX__G`~#lj2O@dZIRDy zaVqjTUTtmz@n;mtFoJ(Q74?P8HvE8jo3=|kyH)~S{jxi~@hY^ZY6VLSly5sdx@9s3 zzPDn3{=GF+L~fu^6s|zLc}nwwu`m_A;xkw(9u7HP?!E9j4t7d^Fxc-yFawLsI3D)^ z_Ps?`2QI1rype{wcPRqx^1<&@9n8y!Ey-)v0eV~ajVJux3`~o?bPo^MwZQe;2aEvU z`eGtG3fF=>i=T!pgLxN4c>%Vy@crd4%l@dGgn65bHlHlvJdCb--k;^Pd)RKOsJbw)cX1ZwjeJyu5?}8tJ_z$RW9}^1f z^LzQeq*s{%{&>HFz|W;{*Uf_NZ**7FZHIlep5liDiy#NipS644Kd@5~QUAdtyk(jN zrX86`X?!|!*#>j89;}ix(naFbooh54&_8hxe$UB+F$2A!|MhO$Q+>mu zK+o%+yr5D2_rHI}C)A}Fx=6shyrgW$-?~{m#5C8~L4NOK9kq@_P~N_0x2?SmR=m=D zWb~dc8oh8StQ7XSU$K68Jh4$1aUCb;{BeW*iB9`tIye#f8l9=Q#}D#nFImx&BY+T( z-yyRb{;&_m;F?Uy7KHG=tQ|JAhiMs9q$C)b1busW)>H5qh~ddb7*|9ZL3ZBK8;9)dO+FFDBoPHZ)n~Wx$^JPy4s) zK<*v9?fAEt^DNupVg88iCiV;eFW&FMQu(3RaIVH$VP>ORsxFFq=28<2=SFyohEI#z z>ms{F%O&zdY_Qf)W%Uxsw?kUJbM{y;$V^bw|ISYxv~0%@n=m-iJ zZZ0Ri*FgsFq zKej80!7HMRPV%fRS$Z4JF9fcBVkxhS-0WKn*@3@h>-OlPr@vh?ec^qS z&3?012VIo?I4kv7nho||rt)^Q6O>2w1~otjaMNTf59=ZYr%eaRcWkh|D=dDsx#=S8 zb@$p5cweVvy0*&;`V%8R;Q{n5g)72x0lJ9qXKipH)PGNFlG8p&7qtYQHr0Xu>m1nO zOO4S*G27fbe?a*|}RLl+JG2=J`{dJX?>lgNHuG!scbqX6vD?K+}vKz}P%b}l3# ztE~ehM{9)wD=0aci*98o0(m_)P zX5+j~|Jp33-iyJ*{CSS2wXA@1JcVr~QxmUskR|6()-x~It815`_dZ$&No)`07`f$w<+$~Pjt*6Z`0#vJ=ySHB5b0- z&Rz#;O(iKQW!qq)15UPQp+3nu<&MwyZLr4b`p9V?9hCdBG;{{&oYo3nKgbWZCR))< z@170zM(M2p?V1iUYNX85GNC=XKmWAc(Ltqw6SrgmheveZiNrq8L9%K2JL>^g2X@`e znt(i7`=fPewSbEZouAsykY}r+QQXQ4aIp5dcur4`4kFqeqFu6G#bxXUcB^{L%EL^% zb(W?6DATU-T$UDN+O_;9DgLWq_sC_v`P4wt2=$ocO~z5H>_vxBL(!IbUl zOubzmr2d%VtJ-_@OD?hCJ&^I4ctRta_>5!lY5`X_2Zmif>p$y}&2fL^{YDfsL zJF@f5tjk9dns0xS(;x|R;G?DGF26`ftFo)gVjTnPT7gc4tkFXrwidqaD`DPMN^(<( zq8_?WI~HxX3i43W(m$r}_)E(y(B##U?sI&M|7k1tAvsqjt+P|%9<%M7yxg2(%Nf{Y zs=`G?)1&9BDeM=O*zDY(8 zIi)rHikg8ub#XD>qU-fg*Nj|g^Ay+<0nMH9!g}b*`hBF@N!XXnQoFK=2lA&s_HWmo z0Kfh8wEkB%J@m76-{FSua2_Tj!`OI^gf=wYH>Qn2+`+ponG4?UR#I^08wK1pYw^D4 z)I*w@SH4MnguKFJ_0x9jdWhXY(!3C4vGkkC!3VQ{Wuw2rY){uD3H{mi;G+5f?7xjz z!kPA+geW`Bq{aJTpZ8t9gse{_B<`b^$om1#DPD|HXAF{%alN#LiH?qxULMEYH5k3gbydyXj&x5_%W$GvPN2tY<8KqknxP z32h_0@0$j>PFV|8=17sy?l;Z34uI1d^>;7)q3#{q3qGa_{QXvjftW^+7z10(m2{>= z0qWbNWyB{A>xvsCH+7i)rQhQ8`R?0mp{?4aTG@%cB!st}|Bz7+zds4>TIO~_7W5$4 zTOo-*`oDTXe(wlU|+LS&C%EANyt(#*qH-pS6$uW z;(a7UXinZCyf8LU2FY-bB6rC`i}3P+R0{hmSzfhTnmK! zU8_haWX%1_OQ5~qB&mlEfPROL81K@Be7vLQeue-Z=e!m<^Z{MX$9^|swI0%1c}~QB z6O3aQ>egJKH5X{2{uAv3(SC$2*q8DJ`$DuoL^%-UB)ot*z6H7UEy#8If?V$mI}Rmn z|I3@ytsE%R80?Q;u>DF~66%qa*tOXN#@UB>1UC7SP_K8@eI4K><4iucStJSJyj8lT zQR$jTLPY)n`#->w$&`b=$jTHh81sK{ZZ$DGOF~r(yp)vANU4?kR}T1nh{1!_iIYAI zEN*3p@W3iPROR1l>FEmlI%JM?egHdFt)w)2WG@5mX{vi)E2xKN8`FzF?OK_d!p))qd#~S=# zejv5*@dLoGFSY_+RmKUsoK@xzC;gg;gwrFaEXB_3#eRM!>fk`l-F(>4u$;a z{XMhNsZkOldPq@9mGL72_7i2kR}_`dL!FB~OV3BbyxCf{dXl6bjC(Fbn!!AiK$xjO zt*jn$E+6}72Xv3t594dfdT4!aZ^6>b42(}#<*dD$9@>1@le`h;p;GnCyWO_yp)bR) ze{sY2cp!1Jvc4Yj^YdEV40QRD*L$)k;2&MSRIG*aEN+41+cZ7I!5+(t;QRHwiXnBz zdPt*NKlF1H$W@zTKE+56?KM|qT?O-Eo%YnyA)vQNFYYUab>Gi{uD4lD^-!FI=hM&x zum^jOM1|1-rxPa@3nnozs}+s4(xrDOrZ6wKW8;S1Eywgwb3#n! zp;UNpd(FkfLl50Lk=@T+H#I7c@O1IgL*k{IR_g*?{&j=7T!0=5So?GRo=n)kFLt9NFIZA-vulkrAkH%0UZ`U{cAhC zKQ`&BwalJ@DO|8*6F;Yi)R!EP4uE+wE4x+`);&NMRkoZm1N&j5X!Qa3g<})fQ=%Rd z@d@xAgr}2?e^AL_QJuNaQo#cU%rPS=?{)ZHD>UJ(tctiqS)D9BcEWz#rqh@Of(BWU_{VJ&Scn z4GYmj*Hp|a-#|Q&HqSFO?5~HmYF1VU3xb>3C=Z^U8NLr2>zlU>`PDM+`jxIRuyQ&4yg%J8C~ie!ovbEzXNJOud5fU>tp! zLOKcZ$49BEzJU9mj9kcTfIgC5cK2};%zyS%LtU>!9Iqkbht^CW8Jt(W z!^c($@u$qgmzI_#Fz2)q8M#4uSK%rpe~^t}y7rB0Hl+WN)n3KEb{BhR4?X6o#s3ElUdjYi9i>f{|s6j%%=;OAF9>aOu z^2ve4s!%?LbJ!DTg-0<|cSRCnsqa=y#o%0`NheKT8QPz-S=bWz7tnXSXB6o6nDWta z;18oKN#M)|656^YS~#c*=D*$5mt?^BV}-^k4SpyevS?_o4)k!9^<3>Apcx{M$3BaY z(6Ds&sVFG#_xY~q7adFSnU#l!@Y3NRJh{EJ2nz>_ZQfAx7!Aj8SI(a#6?0k+~Vz=I$-`Ycvhlj zB?)<*Fgvgf=sSTSh9O|H9w^gvUITrK!5vG1{>5jUZ|8ag_tm&`o%DeIuPxu#QP5?B zr3_JrV&q8ZoaHjV)M=QF9KR6t7gTx};=O;yGpDcJcc_rF#VUl7 zbI-uqSm}z#XO8#m!5BmJeQV18U1wJR#|p5pjOne1Bw2f~>aS$|b@!-nui0_w>>qou zWW^h;ESF$iZ-Zm=+mCxNmszd#r`)N?C_TD;%cngUt3h(q?2f;6Q@Qj$o`rSLGXuLh zjr;as=unD#?~CX6nB9XZ#_eKBRidIimL~%%=l1+h+p6B(4vPd@a%{8F47Bw< z|FBI2i!Ih&=5{0u))`MGUke*#wZ)8g9DE-F^|fvP{$rNS7JJ`fq)-Iw?f3E{8EK1b zvHy>*FM+1&d*3fYhC&*U3`J>>p^!9e*EL*<${mVJvnf(kl!`(mLWM-B3@Is*G||>1 zB8p6z%8(LDic_Favz#)DZ<6e z1kE=+hUcK!?^W-F~bD zzAyjrie#B27gyvj^YDf9-5-4SXp`n*Kl!gk)*$N+*DRX4GI7ZY*BnX}h`|WYk)d2aY%9&Ubz;i|}Hc11yep}*JUqf@0*V0OtmgnMy zuRrg4yBwa&I-sn}Aa8lCWAqf>kI+_|^wexB7fZ#-2qdk5_dV2C-UwFU;`U#WRi&2Z zsCLIL|6@wth0(uW@|N?d>4H z^%`5U#v0zI*dSE58)VTXww*Nb?{s? zDy!%w$OnwCES=6ZN0V0U3elRz#jm*5cV;@m`xH+arli35isT0cTDHM+P~rUP2NbzD zQZT?Q+RYpVtKN+(hWq)doDN&zWsZ{4owBn)zINS5(ru49y0|=~r(*^eE0vy0jP-|o z2s1QKJ)gzJ1vMphB1g?p&{fBwn;=I=0>=0yGl0od((Q z_^#zz(dLM<9f@yQN-go`X#Mi&+oxu7|7SY|2khOtf7s!^2Md1v%rHl!{eW40fMa;w zMcGn*UF;S=cm}Tb>1On^v=Lk5FJ92NQi*mF#j<$H)sGZL7&=-vwTl!j|P0`}e@2_d#H$B7_zp!*pP?e>l zWpASd&jj1zwj$y2XfgB`G;7WB^RdM}{-zhzEa>PU|JHC(YtG7TZVWe$@XqTY0rDmW&9vWtvP!8NR!o z23go*71iYOFY$Cl;sH=~f*)_@<#W{BEYBw>wFp43v2b-^Kar7Z@o+VOgZEdJU1QFI z_sERHqE1;l(9z|Hg7uq0-ulq}y$$rs)yz-YuoT`S?;E{R%iD&IX3EIxx59huviOYO zxYcy@aIvY%AiU?kW{cVOLon|yNlB4p_`ES8Q^FMVAm735t%c7EB1-eO(dbB5Um-IJ zWIguv>r zpI~z7WodX1jk~%>9752g>sGpPAdl}&l^d-LdS37L?t!E&Ubaolf}OQ8#_y>F zSv0q9OD@>#F}Bo}NoVM&FZW~$8)WSUDTO%+&_`EuYwrO)&_6eO=R>$&c%$~Z;sv%? zxZvEr7x1~*$D@I9S|I4r_(*++49LoPv-G;5uV+oD&8)*}wz&Q6 zyLr0D=qRjFgYG~vC+n=0{rf*^l# zbBNyn`YfH>H22kE7|+#ZVlE7If+}re)KlY z^>%foqpKgCT(}@#SgW`8`4;HscD`F84t|HxA8k1>Z4(`l_6H{U2@e0^b=iI~x^<2% zrhE|PGqk&O&wRT2*FTQq88Q5EuJ}z7$O7E?pMBn8*DMD9Nlis-&1vZCM*0`(T9p4G z{S)cGNdHFqKhi&v{iIcb-^+Gd}E{7 z&9;d;_SoRTwb*(U=uIo1*q46~Vt?b(Cm(@BJby+#->CXwg~np)aLR-|HxC zdu$Tv^Ti1GyUu)QCMY|*ba2Jad7~5$*i}5z&`>nfU+A7A0Gdx zu~7H2eqU;q-NnVo@yA%{X@B>9lYsMhf1(cI`Y(TQ@$TsD9p7Hlp})-EbG2pMEk5P_ zI}UQ3onm^heZ*b7ia)G{mUqXyxy}xmBOVL^P z{_o(oi1ES{df*sd2T?lubNt4Ew^7Fb;|RqG9^a_vIwW66J_RS&J8J-+HnYa2r$E1V z$CjwQ1~0fczkPMmZOc-|3&;mT!z)k99rW`jU(Ly8|jGQq%ZXq z7q>0h6l;Wykx{MOIh9H-e#UT{y%D}&)+sbLANX!Q@S@q}sWDPcvstZE1M85A_U(({ ze(zVjE)sad#j8%3gm6Ii?WFm7)N}C)7528sXU6EA&lmc!2H^8jb7z&)#^{Y_w3uHL z7gKYmu%P%#@|om2X%D2mkoH942he_oBZS94N{5u~UeM8)a4nPjKb`XQFdh!xALSD$ zyC&_PjBc)0l2KiIAP&<3|AIUU#4wLnLX zEnjAI&<5*1_;4{(+H%+*Qhji~R&F)jnP-D#Hwm!bp0hyIcM}#S%U^k5fdXq)H>|&9 zgD**aA2hGAKoi~`j8M8~gXgux7D)fFK$9C=_O84>a_#3n>t%W_LEn~3=>d}CEm5MT zOsH{`4L*Hf^IMff3$!RTT2(dz`n1XYtSgSQKo<*IlC8s`|Cgnl%Y!HjbazI}Y~xTH ze9>_1_$|jR(DNrQ3FD5y_ur;CJ%k=xPip=cUJ10p3yy7!9pgVTH+bFldM)(Xx^v%4 zC(6$Tw{-T*+q2UGjd|WM`3uO)Ok^|;Z?ix;IpQ|aAP>#_eB%K0*}B81ShNzu^1Duo-aNVS{&ThsmdVR6vbMKC%?~HPQcQ!siE&ct-McN2Tk($3O;>I3 z`E6M{a$_tIsXtJEFYw?Qj|Z(oVLMG@1KwS|4U~?Y2Zo7Q15R!}Y1Lz0M14-uu`F_SZ>lQ}wn)$DQH?eo$-^b*i-uf+6qU&H8+=rtxYXc+1^S@q zkz@ncGZqm#%FeJry)olne1*@wu6D}Ldt!m2ROZezhR@47_uYQ-!UCO3xw6_1K95ah z)NKL3^SylWF&F5wsx!f2} zPq9P?noeHP0DW|*2q-L6wnQEtA!&Qy`+4^bmmZjDiMnL8?v4U{OP9~Yy>l(mwNt;3 zJA>T%(|F4w9ZN*o6PVanI5K&5S@!-D$FPA3y=J8A1t9m)aogZjc$A6P#s;XiI{wX@ zWZ*pBpNoJ>%+?|%?vIP(M4TR)dbPcomcsFj)~378y=YnnxHu@PpUkQGx3`4SaOY%Ei{J^=bV|8MTf*H(xN!+tG4BsPAo zV`6&igtZgYO^|r^wwqD4OuT!6_KXE4Cg{0U`{Ff~Onm8?z*=E8><9dK5LZ7R!HUEO zAnSu;__-}L))zNppM|mM$fUly#CH`F-ZjkD37_#7XX?4_)7@Dr`&dlueQVp9J<$Jr z&sCGl`CKM8%$~hWuMpM&&GRLfZDeBShNeA|uwMEa@I**#GZUwVY1OR>qoXB0d6kb` znE1<~3yv?H>1bD6jpbr5CZ_Iv?8&Cc^Lv;$z4hbosgTEahtKD3h0i}ac}z@!HOfVm zmuYoAOdMAnCe2N!ql$HBt{cTMaj2In-6R9*Ap15?Z34ZX%rqQ$l0rvc($9_6xWdHq zkLG1Pz5B0TNWGDIr8r0Fo#chEw)Nn#!%WO6HurUvF+p8}UYSEXnRvqf+sRVmCaCDq z@5-r;BUoNPK0P!7@Kf0{gS%j=3CfAelYb9bhd0IcbAe|R_SF`5?oJ1p#2a+>4UXaU z9HnE5qjlewMy&E>Vwv)Zj&BP7>Wx~@3EJih-c4cRc2AMkX^F6Zvuew24d8E*s`t3Z zF(&Bqtb>f8NG6s(-kH|5+XPkiUi>rQ2YOj<_v)m(38JoTc)83yZ-oie)o;2k3U&)-2&unE!WyzW`amNB}quOv2v}I~M zZ3m5sS!Yw~1psI2S_j9wR_=8&LB{4{pZCDE#f1euX&~pE{we0Rgo)*kWNAczUlXrr zKQ6GGiN&gpO=w;nyub|04MO zBl$`4m*h98cM2Pd7fpOl8t{2T@+#}@ycv^rfnN?`Z;%4L#0IUd2?2jmZ}9Z!tpg^A z#1C}P4@WsKJ}jFs?a25xCdRw_8t1?syWL$uMOGn9{4%2FO2huY`&UeX^LT&KGk+!P zoMPe&vuboE8^L~@cGW%k$xPg~+gWr6?2oznABDQvFz(y7s>QGmQi|w~BsuWsWghEeR_2=` zyv(vYr40C#-{W@asVQpNQ&4pD&B$2W%=F!8^`N&-CAVN0yG4}uhHUWf)jy->Si^pG zSKB{5j?pt2=t7h!qeT}I1OH`_FtIh|$QlBk;aJF1Q zmxxqP(rj|rOT-kZ990TcVb(Aq?YeaNV5O&yeJGq`Vpm@CCXF2S`ADn$G2JpQje zk@iN~Bgr?Ck0f8Ixn(N8d)%ICfzkY}0AIZ-Q3GszH?=tbS+6ry&v!*DzTJuBeWhVX;YHT+x+7!jt z74KaF@xrw)_q*vXQ*=0`XMQHwk6P+1<*scb_dYI}aBs3D>{Ho1D!wxwu2*3)H~gb`M0FdoP6jn}W4oH9lqH#>dt|hpbIe^YYmmttAkj?ykDD8um3U zjXR%psv6E;HqT~-GwfSt+9VkCmWeaE*QGy&eK#rWr1!o$W*1|MNc$u0lf(~n@Dq;V z^&&M_N@o;DFGsDns5|zT&y(R~-k*t~L0l~4FK0zXybSDM-z{MWD{=5|>+bDIXj)^6 zL|(l2oW+5BN6>Q)7jWHrmYA@%res_m*AVQ}<*s6Z>81S~K|o>|Z)*P(&Z(&7!M>56?D5iwx}K zUw}RN9r~=IDhd0o681&%kL0I4pTDhq{&I~x?wYzXv2T6PH4*xmw}B_ zHrO#Sb*=A@Cl@G#-EJ$KxVEVj`XbDf=qPt#VySQ8I?>>d$M&;*Suk(It6C=|AwCR! zz4!6=LEtCtet#S6pCdOrRyQ<)i6x^}yjTwVB~fEd;m0G=pOXI8eZ?$^sVkZIo`$@d ziY4^zDWc6S1|H~3<)~Ing??82xl;21On$*J94F)WwoPG3agG`*4;Ly<>gqVZk30l< zRO#jO_w!)iNzGEW0qF13W?i9^jsMP*#DT;~oR6ahUnk={KH1!GVB)4%KXeRX|KFV* z@?SGxy|8!1O!4S6=$EmuPDlvsqpeq5ye`5NUE8~8xdzCWe%(JA2K_G*UOC1C8x8Bo)fLM=#ATQwd)LN? zyTX}xT+p=%D8&?!_yY95;TVpSl#ix-FvY13evZP^6BQ>(eo^OAIwkc+-j^Jg2Y=ia z{Be`9K-7(Dwn6$E|kxrd=d{w zYF$LeXEJ`1@tutSWIju-qsVm@xvrqbO07GL$G!4e332#`nBXbNCno6oO`Ec%Cz$wc zxcqNv=yP)+dWumc#C*Ms&z^$cP0*qPg-2yhGqETZUV0DwD;a0WI86Fu(qG#V{+z;& z%2!Cd0Lmda{CRoav%YQh+g91(`jnkdrK6T3VXq5sR!*|R?Iq4iAJ6{X7lC@tYCR*{ z`LyE5xls!R#FQ7?Vfzys{l3L5N84L2CoDC#!#B%QK04o7j$Ue|Ki)^_+MM@r+y0)!HTcJ#<1JDkzD*6jlgp;6LVITFk5@U$aB z69=~-v}5uvfv1{w_?Lv0&4OJBRjJ&1c4xjFcDwoWCp`usR#|q7_rj5}Q*(I}+44~P zG(zO~dCwH!?=%kwZRx0KVWD=o+$A()&*9~Wnw#8&$o#n$|95`~avtP7NgSwaQ8=x* z@O=6th8<4Vv(bEeZaFf@KKj|s-VQI4GRiSeU5=8M%a&40S|abTbwKJR;?1YT)I7lc2VPlfZT zxnzuTD{FSM!$Du>ve&?V64Qj|E1ZG*ZS~m|9SXlAC-p+k7jWYNH_RXEUX%_goh)^G zb4Kgx|K$&B0oD!jm0soaJiBn2ym5CE^lRC@^8NPTzihBsuinf$=-V(!JX2pziHUFR%$j98$_&j>57pW~ zi-}jgavdlHxgh_z#5_&N^JxMLaW~{^#JxXN7Dt_e^_J6@@cuGbXWkKg|6|fzSbr^; zP#`@H_C4AllhZvD{E=mFk%1zt11~r)OPI~Xr%xlfa#&~TZQk}&R}t!4SyyM>fj$?t zR&RSv`J*)Ut2J)_b@2oz-K8knGYbUplVd8!4Wh!sj z&_6|Qyt2=L4X&KM>&6Z{=m&G6B`Cia>fNu+_HA-CL-$WUo$|Ha25^G?t=YV!zY}(_tXX- zT$t6Mx7Q4H?fucP3ZCyAeejO`DGv54jaW2AITxPOt&JV657!_2VDb&y8#dUREgEn- z1NMm=SG#rbRU3TLFd|JF#&5QN-I}%}cz$(x^Y7G~&~KN|wfQx%#|B|PQ|*d7o5y9? z;QplIluc(~pG<;pz*#|{;c&hFaI)O#aXUtIpI_%{Q89^$TW0xMXw>}WEmg0d+;7L6 zW)JJbsfMeH3SocC^~#K}6;O{@JlZe%ff<^2c6#6~Sl3YBohtO+M@@@~4NQ&p{(!!Z z_46<5xB?Ha?g_8gxDMmYlfNzqJPE6Eo+<|Oa&RBmB|D9Y7pcb_W`N$Pv8-Y;uZ9Le z|0>Uqul1%gaZ2=N)U@qio{~Ja{`%;Y)f|Y+_j^`!f}P1-nRsln2NRc1NvQO6hkmZA z4_~N(EbvrT`llz@L70YPImi|_qx;lAZxlA0cAQjru^aa9d^fd1e+$&}9maKRJ#L0N zZ?BX4>deHY8U=ycFdq^hz{SpOXJSeK)$}Pv-{Jj4m0Gm^>vDiC)j6+dj7M|(8rZOw#^Ckwx?j+f9kdVFnt!by{LB8~UQFw13Krod@-nC8morXTtl}1P{ph1CBfw z+rj(i(i0TcdwoPl)Lg|6PM-G+-WTTKC=UnkkJJyTKT^M>{^#M|`3_L$ywzB5GYe{y z<1$D8Mo_C~?GUhD2KyH4CNgC#{h9dpn~G{%e=~$F6@3puech|v@UVXv?DMOj_01%V zi61O*%!rDCe!l0$#~+De;*h$;fR?M!zwCU{ZMODkU~mKNll)1I8I9eM%vzuN2J z(op~GRC_&6rV9F$8t9!HbrtH9^X1p>dJTP3`PlUba2-oP?{OL-g$htlt=UI3vD3~Cy-kH@bh(2|2t zyX13-;*9UZCI@!a|Fw_zYK#~uO{m+-m@wroLEn3VUnKu1ep1)&;`7&+&)+%U<<2JA zfFE$Q$g{IEM+V1PX$!&5Gt2^yM{I`o>$jZj?g2YrIAzgXyFl1K@z;wV{(G6Yc3|hP z<6*Fm9e?bO&(z{<;r;f{Qj)%oU|*)U61Vg|f!`bWRCv4w`%9?YdNMx`eh-lQ`pOX0 z52?BRRy>oq-308XIVF5LY~c04oVzX?{HUdL?`Jk#?|P=P)pYQq7c_4x%}9aw^@;fd zjv|0#4bMI_-mfT70Y5{Y>)Wk6}oY#-EfL2_K=xT$NE2HA|xZ-;#`)vSM6f?vq+ zDlK6RnWNajFq#O&4qf9zE-K0l^u!?IfHvSJqdmCr&LRd9lq!An32=)ab^T@FItJ3R zD*H1T;s-UB%a!|6UjPp78|n;$wlmO0?8e3~@_ zJ%7+yz6;f!Mt=BDP?A(`yS7AuqSG+ByT7zC|;5C2OLEy9GA!nN94i1saV#@w{>c6|BbWm z?6Jk~VO+_dv<2qwhy5VunMx&{fpOn&JNG>S_8%m0A#o%90O==4KQf!|XU6dT3^g{& z4?W<=*#v%^CF3yZe@Xug)!d~!A>N!`S^VrI#N|=6XXXNDL2sI4&J@zj5rs|hpIp6@ z;Md6c1CC;V<8WS>n7im&%3FA*Gv(Cr@`te3IX@QcYW^Zp2){Yv;Yj6$_w0unmOX*G ztFA@mbBMup@uTHj?l7^)jK_(aAs>+QT)tj4pNXS-y_aah@1Is=8lADqVq)rAC8cG-;a&Gknhe)-RzPEeZKb;OFvd%VZ)nP zTLJRdNooNT_8W}c`*NKl#{gspZ|8OiSjSLfYc*8}s5uAc_oUV+>acL(!WgR^xv+mN zds}I^3JXuQ;T~85`LBAk``Fu)SokNZGOvX7fz!5hD=&E#4w4FOO9Y%wT+TRpc03Dj z`6GBkAMy)7Y0rZaf1p0DP~0T=1Dvxj1OaB zHRVE!2JXmM2igMedw>pkI8yt2lJg+vN#a1_h?Mo4y$utkqYb4Ur%3ff9xE& zclwqo%O37w;a&3+j!OZKkAJOU*aWj+pVzAObm)sfjWxCD=r74jW@wi5$>K%+EF4@a z`0Ntod6IiM4=#DIa9wB7cQ3#h<*xhrax)9#TH}Y}Y1Il(?f)af|KB85B%=XW^u27 zbq_q>j#bMn2A^@*r|;hARwkyd?cRJlb4LXeKS|npWj^@dIby!9IWM3tPj~ueucCv((Xw9ko+R~NAi=x=0j=jNba_+x4;Wc()MI~o6}xll2bjFV&>A^kb&@5%WC zj*@^Q=GpOK(;s@DV0}mB22_qX$)4`zSNRu5>h}lN0|$3bhP>o5{qe!vYz8{}>49Sq zFTKCVKp)COUYbKbOI=$j zyjY=r13dqGy+D~=#z4x`rMGB8-rl&bE94hupfLSY)t}(G7F|Q2tRszqb{}}N>B4#@ zUVI~?r#Y5^#!2O!ytEE*f2SfaDV%|XulGIZgnYL1iQ_6EUk0M)Lgl+;K1}94WL`w( zO=MoRpvJE)5%QPV6t0OfRBAcm^Wz13mCupHIVIg+sUMK^dY+Oh?0QN%7g~Wx#jl`A0g34#f`2&u;RDBr7^J&{&%@AV! z&j(Vr>VBi+jykNF{_9`$2Q!W@fcPiacX#y@SZ{g1?5ynm4t3Z^+q)ydhg_8GmXzy+ z^%DQPBrYUwB(BuGDL+B_5z^0)eu(tnq<<&A^$Z?W!j4{uNTLyX3FE^#&Gmt0CcW+TiQ6IUt_L1}R^dL_v+|U%J2l?y{ zZlmWH$l+FLot!PO%N$W-9Xnw2ZtMYb#27WkWswC7C%%%aWgjv}U&DJvKP+S6ypkzr zqe0dw!g>oKUN@_pcfA^Hj$V#Fl{QaykLR>tEGa7-eoSd~hB5J=o`a zY@5cyP3}yIPX(}_!^~Tv4zes9BN2E>wFvgb?{y66lVagVG7(kNOU==y{G0=`An&T% z93mGC>$%l3EixBDRudRAYV~Jx)NF7zXu?Dmz7n6W@I{b;QWv|7$(+i<-iKPAUmMRr zTO)qPJc0Y=MKHz3Phy~<+tbAJ;QTZPEt6<@2I^J5?sysG455lOG<60l-f3!f1m+CnS$Z{R4-1OBKxH(Hn^gH7c`M|FbE|mxM1FUp)jqoyQ|8zQj7W zsS5)?BYJY@alq%+o{&k${{HQ-IOkBBr z^7JsMcaVOGx)$M$7n zEUasNX7$nI4CHe*{;{VhV9Upn#1HhqdxSr%2kKnPXH!0T^}e|KLbKqvMgP%5!VlDS z1VG}8jD*w{VsI>Zx+ONq9(ge;Kaj8CleuT&S(Yy-W#cA7_E&;tanILfuDNptoHfa1t3ks>2oP4^GOrC%td| zH~%8@Gcx}m<1mRUi94wmYA%%CNWGGJCwWm9c}V2yO(v%1p4`wIDwxZ}#fMLRY16Yn zP9iyUbEsR;vYVLllPwU52jI$kh43~H*A)JDsa(@4M}&D8a?5D>6r-P;{^Cl#&ocee z!!AQlCVt3p&#qUuK%PQRu12{-{b8a&=y3%LOy2BPj2a;<{a+5q-Jirs}A|=I6eMo3QW)&#eXLU_DF5bu#Xgc>$R> zQ1_zN$K?8vTwjv)5wdp`NJh{#%>i`rM{yF;V458jqxN}4LD#XI;lWwS1K%I`9 zKj6rFG%)NJlC$rZZGXqY?b0r@5|y#xBk{sD8Eo)_g3fdaTe~!<-Xfj zLZ8R4uF4s$NG(9zBmA(Ju|rniXg@Hl3M z>h`Ym`c}%qqdPgjuSUT0@S2xCXCAZghDXvH$3Pz?&zLL0C-YdiD$D0|KRh3wm^?dU z*L@bI#@6;&Xq)gI7FNm$sAz(^Rpq?m^}EwpcuxgG;3_zQB>%4#hbtSLE@NdarZ!ttrN9ZCO}W)kgCifTfyOY(u_3&|&vZ)9DHtXq+F zEwb)KVKeD$?iMeo*@dW8SSs#i;cubZTH;V2#Dh{NY5`|&+qRM_;O{2`nNmSd7G|5T zKfN95%!o~31dSY|!uLKqgM==vmyn^~SC7&o%Op=ViP*U!X{QJuRNjte7`Hm{pA%F{;b)QlnOOuVY%L0 ztela#DB8QohTmi1gq4w*65`O;NyAmy7_)HvpH+4FU@` ztkdWT3$OWkAlp>M98uWpJ?~{QA8=Qds4+``>&d?>bWmcLqn5JytGchU@Wt*K-==av zFS~9tG*Th2tUeYi!iDkFD73yf!NN8N^4ey&LO(g94v(KlS$OFqtu^o6;d$$+HA(OM zSeU}Pf3cplzdH+yrF^=a2%ign+BEsKD+_N|Jk_cV`<+Q?f4#mA?83sYOI8c)g474- zbt+|ll&_#{o#GgU<$vvu^dr=FDL=FP=dPOFcUkz%qYbi3Poe)?`54EfEEaC<-Y^l~ zRYK`soaZ{;VBr&)ZUUpB4y(1gY3#KOu-~?g#fHG|>CB@Se_dnY+HAnZy_LqyTz)#*5?ARIB1XM6&RkvO}XyjcDkp=$kD`OJEJUDK;~vnKqo4Qoq+2 z2yroWbA~#!)B3|3+-PXVf#CFqJ}i8}!hZYmJv3CjH!0)Neim;3vqaE0mWIB%7fkpQ z#=_IzE$&%&frhAi6@P19S@@8KicX_FM&MVX+b6V#RnU;!_0caQwzBZ?$V+z**3nQc zb8eBK-N;zJFWvFj6#UGbx6`-%E~BB)3kD0GK&@gzTj0q;OhdtcB8Af-CwZ~xyV>&F zG?agT!^ee|@SJ6;Gjs7x8amB9T2xJE;V<5P-p64))LfhWyY63$pdp-MHg&;r7M?#- ztz&T%>>quWaWEOaug)@F-nf^BjQR2`zHG{uRrvC`^BVgfm_dEv{N^hc*8)DLHJh}U zBiORTR?>sFKz$?IuS?aEhDba?FT5=^hTkvvVOezUQ9cWY3Re}E$c|u5VaKx{>ivT0 zt6P@p-(q3g8M}}A?WZ9XzHG;rlh?hidvY0`2lcUa>Q6%7i=!8&c!Pa(HCG8ZWYf^~ z!raY85Vu!4kIln5|LTdX)e--VQh(V{!gK&z>%N_=hQStIK|W3JUDoN6hE5z zwny@Z# zfA(!-N{TKGz3Ex9levI}54Jo{DFnHFtZ@7qxZlmEnO?37X~@EH%+g+67Cz#1-bGUf z`p1aU^)tcOEZ;5T%$)`HD(5;?7S;(>1{0r|$br3zvR_z%JT35*{70|>)%Uss2O!U? z_qQ|~H)Mn+RoAA{;Q3r~*X|APx{Q#v#olWiyCK z_7D#x7gY|G86j0|qyBctd+z=G7<%EQ5t8OE_WuC(d?WGd=;CrCw4^L-Yd`p}V*)vc z4}yHR)Omdu_{*;R(*0N9`*rU!K9qWZKMOiAH>t=7%`If8_k#b_z2!2sD9;FOcNi%A z4)K`c4#g$obqYnX(9c8su$=Ju-7M^%_G@Qftr5yRs5>?Y^0s1by|C7x5z+`=kRsy_ z{!b(Sde{USstB;YG_Zq(C%!vNf3{#mmgUQ&KT_lSt9m{kRrzugUncnqoL2%G59izJ z4fKhgf^7Uyws)MhI1N!ghw?H1jrXLzk@iU1Yn|!!A?rfc|E?`$Sh^*(nuUdb_59G7 zL_?SLKR6zH!@^dXWyf9gU_be}A|-D-!TwK{?t?D4Xpj1g7f*Xw_?20PWZ*`y0|lc6 z(?+qe%-r3q4EFCU8OnpDsZYu!DOt&3x5=v1u7_k57k z4a={pgS>x^{<>+9!`l6>R)3fbKd87re=SeWu5g&mlb7)29KKBYUkWSAKa>8O^f#nG zBK;MKFX%}b4lSO4TH*Ar+W8h6_tK&_{irrVzrXrFx@y423rx~)HM-M=Bwh)_~!;&w;Xa>1^p2C@;<)o+j)4VqA436JUF^m%z%c{%hJPkvDvsxN9@rD z8V${^zS!NiiH&n3rzwQbr6GE1WY?(mY#i9LENHbD-&0*(3hyp zoM*mloHyF;S;a3S4OnEcUNx>^9CDFyyjEo0@t_RqhTO?osE-al1j3`-V#lOA1Wuafd`!zyF_WQZ>R12 zx98YcmfL@zdMph+3t!fvn83y_licX9MQEtgq97nXo{djj&^fvi&L6*IM%1G?HZFC1 zgrdjOps%7@`(v2T#@n;Es)D~u?t8>;J;lbhr-ugeRcYwppSgSOPOx!!U8Gag92zqC zUU@h zv|s94lzlU2h-%slfM0*u`La_TcsH|a-u6BgUN&B0X(r&Vsn`?I1olo}I_H$lXCt(3 z!nkj`(rg^0tnRP#(+D~6n=?jnai^xz5L%AY>Z7z3T}Ra{p$Jh zBfd<{UHqpi`|~&&nj>h&-KoaLe{zLJuT-Ob@ADzLG| z(!ynJ5QpBSzmO@Gb{eoA%|3cUa*T%&5>jRi z+{=Y{XS?h62Iy0erm*$rd02mrl4Pz-xMYN8scnwcybgZ2S@-)uKJ=5)GSR7pysY?_ zzL-4pS#Zr&DszJMCv`6}o>60=;+@z0D5FkTpMJd-v_I^u5z@OE_4IQD3m>?#`$k@b z5$ZcX`D`StRXlz@JRKWughV;|Z~RZO@a;3-l0>1e*K6^4O_yU>ICW`&`0pKH&#v12 zGh-p2XvlwbPobu)bI5nzBbv zA2>UsS^il(VAthd{}%cX1hl_pBwb+Pkn0ZL4;vbxt!dUJ`yg+Y*kd^Gd=cO?emijKG zON!$>y;JLl*HQuN`=3Kyu6MP8?~Q-;OnsN)0eN3?T;#a7Io2w8eqrIguWUW9xf!9} zMOJK<7#j}_T3_4?dYs$wu;+*n8(*6o`oItRWxQ-{{IX4yjeiuoFz@9;e~g-6?1yq} zyyTh_I#U3CnXpIFUP*fD4AwMxQxEoz>gf5QG8@|@!J;ligwZ#Z(S{K3^XO*=0 zF^Cr>TV4vD_|Ltmu}r;la%-lY5z>vf{IEfcgEd)KFF%C%BOoa_?vXGDD>!n`4>&@+ z5a-T5BEZ3q=LU6EgKTj$UrP#Pr;nwZX>h+!AN^-u9nHas9>>xXKwc!{7uz<(#*vp& z%$?kUzh}zlmi=MlJzMWQ%kqZ4LSC8Ww?Xa;-l^Ic0DWD)nR(~-v+?htAvHhfcX%Ok z+)>A`Y#gtmcu_ps2sOF59t~}0<85+Z6E4R?y#D?$NcAlnxBC6*Yq|(n-kR|(w4ROE z7>A$FNr%2cN^dV{SF-U*0kM?)dk~N7;`8Q~v9b5H9~Wo&tf$vxGH-qZ{LFTQnCZQM^=#G{&UL`MY=J*(+Z!YFxk>-?%13P6 z)p}8OD)8Fo=g&%d0UO&CRc}dy_58w_hCv$58W(TzILXVCU_vPAox5nX>zJUqJ; z@_A-Ps*yT;PUidMdSE(#z3`R47EHqqR@Czb7m$tBR$Fz_%y%WHb1nzaY z9ctO0IZ{=5_@vYMzBedH~AH3&c+u57v+=$Lf_77R&O&` zv$3|gmH(4dMkvhvkj)hEZ`>&je|jKaU@JXP7+4E-S+K5K3wS)HElO6&o{bapr}rqr z`6Qm87j@9fa9%{k04hhNY9Le%o2M5lFCy!dWF0e=U*|l_uWOQZP_n*D-HWRKzT($s zrV#ZRs$N6ZbI5uRSq~!fYcl^P^K&wPr?8>o<2?Dm;dr{v^Vb4iJSF2R8Gp&TELpex z|J8M^`E^|qZ_wLpP{(k6iSpHyFQ#-%)dqNan*s;#kF-T7A$x;ggPdMy&j0W74IReR@ziyx;p~G{~E?m6kDP z!S667RI=gKHLPzKvm*uif6)_*xD!F%a3Hk14W18&5Ba!8fPB<=$24{5zf~zU@G${o zJ>Suv=gXU;54tlIo}7dJJ=xJ}lcvD);LXnqYd{wHT)uM~JpY~1uXSArWb=jtcLgWF z_>#U`%bvBx6I0JRO_vzKGCfRJMsh6tZrC$B>D?Ke++mCGW6Go>6^lm*^KTf-rFNA( zn0vW^w2WgY^ivS~u}I#KgIRICqB4HQ$o8YtpJ~fExOJ4P=uIDE#0Wnap+o23S*0~U zU+jYUZT!*tc?Ab|9__Ood&n3y>}BpTU~#bexuoZTARjQidDzZj1nZsZc8|3;bMUMB z69yrG{b!RO5o?_|_))`yts=h0=&;hYfLE>@e82GAq+bEXXmgQ!@vj{mY*CW*`+Kl4 zdZpp%^KCZ=7pk_%zJ=>g5Dv`T?aRTtesq5I2HCd!uy=|d;Jrn8jVGMn|J!nRO#lb4 z_vYqkoiIkEK7kYP2dC) zH&-fhaKQJAeo39i$o#J8d=W_wUb6J-_q;}9^z>?5e<@@Hu@S`cmv>&3xzv=cgB+Z0mh&jH(B7=f?Fy-Z5Tcpbq+A96Hf2 zfFOTn+R~hELtl%Q_PM7015mF{iML6F>q$#ZX&5~SpHJaB2vr&*lS}q~&A;LLvSYON zl^CPJB{A(Kqku=x(@TWz7$cdIAGftZPOetg@yRkquUnPn4~^mAH;dP9l)r3@?C*$h zy+FRU_r=TkXN}Po_gt}1I6uqow4G=)^z|s%mB5JXJTq zXnLSAvW(sB5+cgM^aoQ*(%pbZY}I=O5*$qFW}UdcWrz$12TnfH83nr9iFUCnCUY=z z&z~!?uEuD`am^gRsT_Q7MW&X6C)mZJ*XwnafG3*{GGuleqXGkIIma0s+`T8;(`_Hj z*Xe7MiaG~h7|$Lqz!Oal zp0ekQdp`65p?nBsSESvMc1dxKvfDHBq|2u*;o!lhpNz9D#%RGlr8BGMad7rb%Yxi0 zV?^=|II96PJkRrI^Zo4&(>HPOBo~3G?a*WEW$!qR1bGg&d5QLk-1_U!qKNecV0c6wt#~dL`G>%UP4DAkMG9yYH@Je zB3o-)c{&Pu*;uxH*~q;<1(XXdvEty3)3fB56X@u*`Z=NSRUEu0{murpg>+=}Cc@Bm z0|!6Y;_^Yvh>obSHg@gMs^3IM#j7eMG{IjuZ2a}E5cUDj{dPgZpToi49|h;c#nI7Z zv6dHt791QmS-mgt8Xc|X+*Q$C%)y7}rU`{!fPPsm^~H3Jk-6T9eKW610sMoP@`aSk zBUs%0C~I38Oh@GW0mu0O%W$1Pcz0>*gcBURw))x6*R~_~_OagF(gS;Z^Wr^K=O@QS zj+>g-dj7l~^XKWzm#NRGd6T%r=~(ad@#J9DOUic&Jm^Rkd0pxQzebHMsCP?4K?Db% zjr0k)=R`-;*j@6n^Lc%`z8@WbDF))w$q&^bKF}|(YJPp{`y(8D(X*+HfuVnt%IzK7 zATI5u=^xjH{zFEbmA_|!Y^GbVVF>oAkC>I$F%#sl?}Cjw@VQS(XoolW*)%_KwK4tB z$0^@2YtWs8DQuX+JH~i{pP%@yU2NPC9ckH}4RhpzKS-XiYgq#w30%*7!Gt(*JyFw; zT|R;>rB~2{Ccryf=bv>XzFsJ9WUO6_^fqMxC&N>H?*6vd5EQLOb{IQPCiAfyQLr2XA_bZwl_K`STE?2z;4;D#vq>{QstyJhpjtQ8R7VryLI6lj>B z&1|Xt^qzr^?SDI z2sYi{s_YLLad2*er%^q8E~I^MPBZuw1qaF85MvW0SrQVv6Y>GSpY{z5xPEnm;HE#i z92~s5+oXIc>}$`*di%5XKYw7~dN)(s)3f1vX9kWV84(k7=t9`(8nFKWkKi9hZU5?( z)H|EciwS&Qkop3>Yf*a7UY*_l24VsgBaN5ZHq5!p#wPQn2ip_>`Y}rHWPGK*J11t% zuYHrCFBu&gGk#~|pIfiob%efS<3DfAo>~(F)-An?=VKcCzuSd{I1OBOUGY z7d{pQ@%N*dw8*!^FfXrnOwndGem2GBNpmdtMf_QDNjV$ucDS=-FqDoYvr9T2JRBJt zHP)w+$z}rJw;rE$7rJ?mjb|>Lbl&A49d!n_y)=V*Pye}P7LCyNt|$5N4|mMQvlm*f zk={y2s`Q43pYOwSylBR_cJRXrD!&)Lg6nTOTDq;82K_l7HisvLA@dzlU!Zqw(0e8?eo?-mFkH8x zd*2B5hZCx|Sbh7ecWU1Vl7GLYM%jr&91fq5yq{Y`M`zydnHQk~dDjt5P4h1BLz+R~ z3#1{xEb&X-)C_&2R5oH0$V;eeFYxdP_34B9a?7lG=MFluD!vdp3-YFEw#w15PwCLl zJCkV(I5nT&A(3@wWNZ{KNZx$W8Nh2GZ!#TS5K$Ka{SG%B>UjZmQ)+HhY^LH78L!BA zM#eib?oilKewD-raMl5cZ}V{8U~*(K^xeTu2VK6&LNCy{@hO**4sfv5c2o6s=&8kv zZxi9*{gLs6j5lOFqON6NRggUf`uJT-D{4>zKS&oL|{Jwu8kxyEwBq|aq zDx`hxR5Mc&X`iWSL5oN!D(yv!rBrr_NTmgZXhD|{*(ys&LP{tlDv|n~@tNn-_jk?f zHGiDfv)%JP>%Gr?&Z(5@Is*QGsa({sCiJmPZ_2dDg#2oo*^C!9W@y9tFpEiNV4e_G zXI1KEhS-kg7B1%;vHIBO`x0W!P#b&J_Vt&+PY2D8ot9*VC|)+av{i@!IZH81%vWA= z#8Jn-tozvxeg1TlB_E$2<&E^y#)Kay{d^}se(vJO&xF#f99}%NaX6F6i>DKO^3U>U zz2r%eJetG{a9;#4_V94Oka{B|=H}?wC?C!cKf^r;y&!nF%fp}dBmFsbF6HmZctFMr zGMih0pWVWwKUiUEhFkls>d=+pXyvG3aj$b&EF*bdwMZ4acqkoH8{ z8)=WEy;hGMYJQmHh^_iO&awo}{#wVNc%#-i$aN5MorIisA7(w$3)tz1^>=`gn_8~jhk$v5T2Fn53BJzoXLepIo@(L+%8amr}=k#A~Z` zCqaI<^o!mN4xH=ye8+m2S09ctE_nrgTx82dc1{~~z_EQgzLTIo)!FfKc2*x9u&!a^ zTa}p%L_KT9h3F%8zs(RCpUC({#y2wlk@1m?4-~Iden;kiWPV8Ij|yqow-^f@abfe8 zE#fN}Xm8I(W}^bE6XZ^2PFcf1k9@AIoIe@XlT?4$jRl&-3vkx~+)wlDhnjm*YbaEX zM#WMd?vn85{m6MKbuBe-CFix|ypN2-WSl1BI2q@uu~GRWnO~CmCz+p;`4G8&M9%k* zNZehc0(s4$=z`muMa@tapU&jdBp!h4Qh@2tyq3}-DtC2rYAKh8cfsk(iBDw=|J7$| zUQ6b&WS&dr!DOCH=1XKgMU92Zw@7^_?P0;-cZK>U2R!kgmg5r8f2x`}wqq>hy;U{~ zWz`JYN-K(#eAxVR&mLK4F%tE2&Hdvn^@dG*Nf*ewL`c3IRW$V<~D=*7A3D*8A2QfI0 z_p7vF88rf*)G_K@icb;;5+@Qz((jOdiS%34SSi2O(67z%y08g83s zfnQsAm&+O03G>9Y$uoBRbig{g6|(ntL;tGx0#W|3KDl6**l_462C9=0dv*@q$4{w# zp&VPxKqP;FlOC}B=e;Hsi`4jQ+LSF&Yau*8K)u%_*UhMPHR@Vwy_{T6_b1lZspI5& zJh@&^uIH0+k{Uae_mX)rnKzT`JmfkMxqe2juaWC-Wwz(Ix&0;!CvmW7mu7-k079-MPs=}@9p#0m&r0y;{YXAZ97vqV z=Tewc3<&n&BE<0DTzE(*jWRDAZqq5HSkxN6h& z8y6E05}%}gU*Ikqk8KorUmgQ|CvW?<@;)06q-V|R0eZ=?U1Jj(*m&>q9*3AXgx(*^ za&Udl#saIFkFSbA=uJ=ijUUZyTvDKU*DD(OHLTtAqx~HlfADI3-V%<`;~b$w6@HNj zEo$7^Q!&8Czpf0dzY27F$<)kygKXTJSRFAN#zTv}Z09x1#${Q9j}qW{p4)`|mkMxj zB$EfWjp5)ArEwc?!11%bC$~HXdQ)$CwD}SXa%% zLWFXHx5!1k=8 z-&OM;?4Jei(TB$!cLO@_^!9WYRStf%J@9OOGD5r74_xD_0S-s}1ZDRk)Ol!UNwWqA zd!Ly*b`8)8hnIV6XmjwpO%WRwrz0fYmEbvRDd=l`*RHqF&xDn4x9^-02j7Q1};-|gsbQuQtqTQCErwd@4+noDj4=w{aZq3=X=`>tVVSB>r zXwoHwNWGZaJ6(>aH&0g9Nfd$(l6s}W<}%e6a4=fevwzJygj%+YQ<0jD)(+g_;;NxrbCtk!|8m#5T3+mkTV_)@o@r3llq@A+DlQ_I_zcx4_ z$s2dF>)UW1U)w~s4$A{yhSKI5JiddJV^es1#|>ny;Nddut5X;c7iz4O&XW30+5>4X zq&<=LM#eWX{yj9b{1YGVjm-1s#YYkkz?BAncb?yQecte1gS0D_ySt~tb{+IA5E82x zQ^dudiC4zBjQ@8Z3~zH2??)XQUhrwzf-)9TSU)|mv6zdm3D+lVPlf&ssrKRTF&8g> zRYPlsx~4al=ND%@;Nn%c8ph6ox*G;dGFrbkbFtkgzeH-Ne#6*@*ZTaPbT)A<1){EEKd#T-zDw?_C=gX~FX*7m97){*jAC9ruJRhx!788uyZp0&S&L z7I?Znr}cqf-^p?|2*R2YUhXRHgWNMgLG9#CFo<(Quq4; zT>o+KkoUr=@VwBp$S2!IvGh7@w7d8=7cW{SHgW{|36l7M9Oxi|4xSt+pFoZM#EE+X z-CQp2_(^{&3Od5`)6~8?>Rifykn(*x_Trd-PQ$e?FFp+gee-$o%Isbi=u30ZJI_kc zhY+jPm(oV>eSQ9#V22bgu2__l^tA%&X{=-|_~6CGs-H9trxmi0t;fbi4?ICX-HaSR z7qF1yIHCG)Yq=O7S3IPc1AU3oR?f2U09=;+EUU_3Ay1PV+_SD+EaF?bIQ}5?)8O-x z(zcTM4*Z8p-Cd1wYqbb$xs0oTOGJ z8jkOn%}{s6hEtZu^z%aq8)j;yJqsT75 zQElbeW8y!Us7cpd>QfyTYyEC(e>H~nmp=o!nu1*a9f!|fdu8yr(C?YKHsJk`gYZAAJLe3i;LI4 z$k`I>`FFlR`U6rwN&O}DoAj%s-=%n?{4(jcNxx3|eNwMUJOEcS!1d32Z%W3LOsL$5 z%7u8iQt!Q~V^rQm;zZ&|;!Mhc92cn{r2dflMd}}^pA>JD{*wAl=51tNN9KKGUP$JR zBtC#M1O5WMcvGhyv^o~P-F=Xtb2Ik@6P+G^!|B#i_?Ff#)^!iqHVz@VWDS=k98+YW0Qcxff8Wu2EfUV1yAtYT z=!MeuSj>a`CUD&o52!Qs)~UPnGQ{ zWsg@Du*J9BXCig`1qP8R_V}1e!?CH)n23}g=l~P`x;#DjIpbNd58O+!oPEqkh=~j* zs1L82J32O=9?a$`0sP2ul6;VSMwWcOV+efz@Nr7s4fzlDRWC^gTolsf$E+-2qWSdw z(n|q{=5`!5F_(!MeB~VkGU~3po7V@Gb!4$R7E) zxn?&L9cB$|`(z5|Ye&pmw~L7^I$kV|qT6Gs7KWs3JQLMR*UZiVxvo~okIN2bqKRJN z%|mcKx68zAr9V7xjYe`S=!vnwUgvM#aNIpGVF}Pvf`=}~u$kynmyLQY+%M$O!XxC(=bYLALp$ZOeSm%!PdLUrJ{O+ZYG zI(%=R;Q!uDV-(x$kzXHn%!5AK8&y80z;VX(2Q3EBFWk82O3)X$|AB*yjm>IIq;*8B z(Za$WpZArb*+{|t<~b-9Gy_yzjLUp%>`u@vgt9C^KK zd{_(LsbSq`rX8vEZ-B)4Po7uV1F_vd2ND_cys6VIbS47$?t}qrCI< zP6__JpN-cUvpp;AvD{>Rp}4!SpJB!f=29E@PQIh!_jTwKEHrOIWwo6>{{77)FW?#j znQN_QUI%|6QvCQP>jDG$H{VXl1)QXXB|bXlGtl&vS1OJ|9i6$lFRN%d479z~LUe!Z z=vW3m7u856+GCTQvbIMu8HgI|7VT>B8n}O+-0@wNU~g=4gxx`}e>+;nyS-x|8_kBJ=b#RhZdFrj)N2Oneo`H_5d5Qe&&4^tfX6&1 zi=t1U$GP8XQ>Hy;pxlMUb9}*$T65ymjP5be9rGdY9bo4!(n*DLAHwr9NAGEkI z|2WiV2$#K;yOxRk>r-AX%(lmQv#R4BgTDw@H4J$I^(A&$_m#M2GErO3sm{#__E`UE z#H_2}e@MSe>Ob{t%04KXvLDjENc$u0leAw_uSmUn7Z`3db1(SQIN9BbW0+|BGQ4)y zL3=DQzuLkI^g`jjV|QF0)St*Tc>ZNR#4SE{X)D_I%Ug}o>3sS+ah${tv7>QzUPs)$h=p`OK)1GV3t90xg0k`Izk(*8*MB<+{9@8>0hH<}yVvx4+)?v(7gLk_axac@1?5!naP$UnBju9012< z08beY$6K*9pNUXQgF2VOJp6_$*R+E9CoiM+BU19C}oS5O}qucQn3GLd4z zPbAc3kLwKXJUS7?MAX;?-v=f?+{Z+Z8av0GeGm1E#dEH(iN^tWRh%a~Uqh4KZIty4Me|LQMwZjtXq`G6)S>U{xU%2z>s+=B+o ze!;xkHFdhZ?{&yKDwzQvU>u+YwaKP8kXoV-F zLjIK?A1ViRnC559Dl5%mqFv+1PnfF=^~UU9>0W^RR5>X#Jy9F>v)9|z*i|wS#oO$} zg~$3}y)!r1`>>Ea>^I-T?Q(m{MDHej+9&uL`klNjbZP-TcrawMFcs`)$FGJ5F@1mQ z1*tbA9)PPA!1ZTdJVm>w@13y&ZqzHk;5uv6HmR}kaHZzO&CjLGqSYLrj^c>ruTUo1 z#3_9E8tRK^428Tr8plM`z1&YJAG(|UH=iU9ByJ?GB<`eKNIyaP5z^1R{29^_n44tUQMt%+ffSC79J?BoSFQoJ8uKDqT4*uyW8P@mLF2BOcl z6{!UrH7+R6x%!HMUgUh*H*YD_16+`C(Y2j{NIU@7m4NFX|4NOWilH0%F_MZc|Lb3= zb1C_f@+b9!)E_dAk#UZUgVb0o`SF^J=VZJm^8t&aT>DOlYuU^0aQ7E6(3hZ-5j|k{ z4ZVT#Hy->g2U1R?97+BGM{5d4r*PGFn!5uQnz(Mc)p`c<_@9nA@Og1 zK;>DU^-tp7+d{pSh__N(o-AC&%_<=YN5w(t*j({H3Q(A2b%hWpbTa7)%N-T7M~@1HP@-3@-K==1`{ z{Wu1CduL-@DCiT#+ty{{MV~_*5y$OsUw+vP^EPG6#jjwzN$R@~$sb@Kqi8?2v5Nyf zVYx@N>No>Y*i5uO_x>YhAd-K;aTVbBXWt<;7P+zWri<8&=75x~@br<|cSzYuI^Rx6 zJ0k6jls~B-r2dfkCYg^0lvwR^X|u8J9>qC;h;sXOrNSo&#R;)8`sn zn~AKQvVZir!T#YbZG<71CA5rvh=tF!i3VZD>gt4MqRXFGr|i8nub z+3mf-=dc47KiC(MFm?3V4~6YgT3{`fhcmUGl6)>XE^^!?UnJkAg8k0RH-Nt}Kc^5d zn~7d+OKvZWfPAr9wMb$C%y%^2SP1VJ9b3zOuef8$ppQelh3a4(h8nw32K%Qx;8HT% zD^hB+1E$8F>)QSMw!Z`RUcTanIN(C!MDhc;*aN$N{2BEuN|z~_QZoBrJ0-_W@H~FeD&~-Jh4j0mUnczoX=kJzl6Fe*O5sZ4PVxshIlw=Zr$2%U0g+~0TYO~Z43~Wy zpeN?}-Ceu7Y_RflE=056 z95ExMS??vZ=+_cy2~jy) zyutBM{Fgy{U{2ELpK=j*Snv1m3&?yDoVo*QF}>EC~wxkG=$FekVA9V0e)>BHF{t!mBD_0#ip zv<7UjN3?!L-ThIlmJC?Fe4lQPoJO*ya|Yr3mhqpZp%Qo0#kK@R0bAUa6S>;ufH}(a z=oR)Gwt;>ObK+XVp+1dh>G2vkK2~YnlqXTGDdkvQ#{CH!FscP7U=163R%nml-Bj0>~nr5{*Ix_LYdB174_*c@5wYTfdQF@b-;E22}PB2vs zx&8v`@hpF@cSq3{XV;c$%QQj%lqVU-_sp`zOGVE#8a*{fFT@TuRw>(JfBP*HqaT^0 z7{4UJH*kKj;;TaspkJi?H}=KFAm3hfVQ+&PbL4UQHKR?%7B_ICR?M$5M|IA7RZqb6 zZ{B-YlmYFvXa5gD1zX&9Slx`3ZI1Mh(l3+)?RVn$IfoPGNcMLi*3|&{iT4B?&of8L zkJgu9ZCf04_VpOaJJ6@dFC;wF)D~;h*oSmO-%nCsLFXMo)Gpeg z7wfcW%BU{$`~$VWguL%RY_^vzJSWal!srb=ha89ao(}>H80Xjgr`8`}oZ5EPXU%|q zeR$eJ9<9pfLtNrtK1jYuzE#)jl>G)=h4vIw1s^g;L-J}>h9E~S>b&Bg0{u^gD~1MS zZ1FN1p~GUa=4ksIk9{gYXHJYX(hD8s?bmQ*CEddu`oVlVa0qx^C0hIQ1@zU~9=NKd z6ZD`nBttD1>PQ8Oi;i^#xp8%)SDw{{ezEuB24a?gUa_MVmT8%zTmHX=ubbIo3cJ8r zQ-9C^5C5d5LB;~G!_F>xG1C@Tyas;feM&Bw6I=yj_5eZwu&4j~%A-ZF-r_#NX7$EJ2py~xyIuzLn)_1IvNaI8^wBPFg#zSfWkuXC zGZ3nLc`Vu<=9?B;$|53D5Rz!qvs$O(fRzg8D$S5asAr#4wLHuhgjPLzPm@B(Mg4%L z;C%Sr-gD-|a8ZPIvN|8K;J6Aa>(RLhu)lPTZ+{ceC4PNV5(E$$+W7l&od(P|m}_pD zexo6w`rnH-XgT1E0t&+4J7}n~^>}^`%-0`!%1_B?qamH$UrK{uEz66hBr&0xhD^6N z@3dV4^#taAlYZDpLm!sQ_^9ZNV!!9}CLe~L1Fm@5nfL4!4V{r5zcSkh>SNBjZqoUV zhU{f!X>7VI_ntR(}hhx&qc45{9`SRS=qL@$*Tx4SYxG8~kC4 zDne8Gt#1FYhxISPcMj>A2vNFHx{li^u@s@^u~*Zc!1?9#Zp;ZYLMT#$v78CxOFMWi z#eX4u2e8cgv@h`6^7Y~Uwet6Si4 z*gw2{XwA;g_W0>L#)vfR^FE<5xBe^81-=7g>FKbq+P1&xF07BdtZzHLZx=!-?I-Vj zhv%JtZu8_le3y_LXm#Apq6J-n*4>{pK5_uwS6eWuEVjWu^|2}Q6Mn&auq?H) z(!B372zvsXWP_Rg@wbaAdoDCZI$#QG?>R4a$H5w0(nZyeCKLbtE`jp5N%@GYu@2TH z{U&~PdyJ4%X7zB3uLIWSOuOXJhtR!>hn#WT(QAF*J4^|-f<6MuvsdZ7@#dmw1YaVQy+f~06#$L38_b`rWw58^?``@_g#M!A(V|QCq%(I zgWwE@E@%^u0%wfa&W3sVyT`K@=2^r2#*J}b;p%{W#-wiObwJ3!+#)9v=;g;aa-|$- zuW@0O@+uDp>@4?vT%0@X|KGkxSH=tK;y&#Du@7j6RT7((*2DT9+fpuOEkb^|eKnI| z-e!GZKT8hu?D&eF^T)zKZ`JqUMIdKN7Iyw-0W|o&!0ga@HwTyp4$k@98IcKgvU|yx zi6IVnlhn}Vpelq&d4OCw@E73u+nQ}=kCsEt6Y5^nxnJ?}7OPeN%9YwTldpbSyG>y$H#l7h2_);DG%nDY)G|2>y^=tDlnw^;Vjy1lOEFXl_yNv*x2v ze~qrC9$SXcG{@bKEAzqM_qX}2euB`rDwdBy5y(;2r0W9g*T0Zf?IK$OeGE*Se0IV2 zF%KTxq#Iub{|;{#Y|D`&fjwoz>s|wyO5QRFH@{_uG^<_HWNvJzY)4}cawEcbnb>y41gYQnKql5i3J~*784&Mk;_g?jj@j-<~N110=4P63z8FNDSqTYP^U;csg9~FE( zbLZ#{eZtI3kFuc7w1QS+zYBZ^Meqx_xd05OdALzyr+iaI)X%JL zShLx3#ZXVv=U?2Y_e0Y?c2(>KOpUfYQE=qap`OT$x%IFv;l+4mHnIZxH5HrA4v-nW zR+FAV1!b z@sNy{BtC$%D}^(qQ&f)9dcV@zxX%9n=`V#db*wXd=`0HoI+Be$(D3G|J#NW;Qc*1c z^~-OW;>Rx`pK)PX+e4h!KYDu?w*~rtIyJ?Q?LcUH@||xAZ($#j)c3I7HwY*zoLicpoa=T@YNt!A+|K?cAzhzh|mrEEn$Q zt#;A3j<=7|^7^@7XF1s8>!;~!u8fW?2X~7Jz#a`5i!YfiXE>N8oaK|gjR}sVPSgj^ zw{MtSF9-CV103xYKx^5sm2Sd5JL9<uG;xs+G zGz90HbRGQX+d3HUJDXU4xSxi#SXGH9tk=r!P3F-L=l3fNfoxPl2PXJ?3KoD2UYo@AuJf2kL;n zQ#xW(476^m{awxmSktW?oab|qgCn4mo;8fOs-k10xD@ElrAyZOGm&oI-q-1uIas1G zvQILAi6qa>PSz-g?@Q;)=xl`Jj#8lqbFXl)v(?n%6F{dXMC!f=dR@;PC3nE%ZTUY_ zk6h(oPQe$qBzWG!yGi?QUgKa9<8Vgtn&)77VM%X7);AZ+$ zwx5FswYNligZwC6k8XdGM+5nm$F~Ovjg0F0w0f21@86+Lwf@a8k!P^amC$#v8F%<= z^5UzB^JkTLc2LVrV_0=u0v#EhuedqT=YUu3lWyvtZt^ED;WZKB{bIkazO&oh5t}}W zYMav!`BF{2xYjDDOS;mxFzGiPu@pHL4{1=R=Ja;0*<(%qx|hYsn_-cD=&!LWO4(M% z1X;dbcyR~N>QZkGOH49BijGgd{2p+?YjX~5iys61BB!@(a{C4I#pHES6+_TZQAa2z zeF)x7UOrr^k%chLXh?)h{y&Jj1h zXGO4^p`O9mkeqVpxAC}uwk`ZM9a*M6xw#$c3@O&l+jgx5`UHHkF8L(xi0AzDNtA?s ziblDvxq4HeAIA(!Z@I^G6y~p*yF>=~TXwlQ3VOas25h?RF9-cN+?}4TxIss69aF*$ zpl)i!g_=c??9d-aWtqz8S3MTOSaX)@f69JOLV9kyH$N^ zt#uXfcX8d(7*(h{iL4esD5E1a>EHJkLj7EU*1RiOm*9TivrdUZJ=;$oekup&!TDB+ zml+EjG3{BNO3z6;+AFV4x6*dRt=X#;wjHOV*NU!{#X62SY**D?i^ikPsWxU?F!Nd`#S*A8bq{8_h*Kub+oiF#Cb7R{w>4?&mo^U(2 zJ1}1F=(i)WP&c#W$BP}NPoQ5Wp&y`Q9-uaV)}5A(d;d!`*AY*$iH}Tx-X+wtDc#}a z8&n@7Qm@GSlFuc_MUI=~i+VPt^Seb(INt`o)o(R8=x&GJ9A6|So?$s+39m}Wrbs%n zSm8Rn6Y7WFeA2Gl3Vl_gM9+KFIzhdrU3N!zLtmJ7o8F2F?kI0#ZUt?-BOO9*`f%Bvd86|9Ls^d4$7}gu7xXQnu#La=)&3Op zK^)G%HZ~ESXH#+Gebu+W?G)s)8sNq}`}Z|jbiEF00^XnW&QTh2T+I<*&r84yHCCQn zsQs{MUh^{M6*%H}!$_H;BJgT{$*E& zp0L=wH9a5d)Oot!o@s9feYH|sMAkxG`+{Qb z&7-3)1MifUK|MJN8&mNd`b4P1_oysooZu`va*3NGA`Lq2v1gHcn;9Lgsw??%s}%bC ze6&fkvVs0Nd~B<$20Ar2gFhnh139b#c%Sp+uzy~-OQ^gP{%kv8_b-_1QqM}0lbLZi z_TPC9Rj(%_?t_De_~^M?FAwhZlXJo%8vQda!MudJ*Ws}lVTb3!cllPEbm~Q&Fgr#u zN7@MHEqt0w&@OzsW~7ZZbJ!8@oHJ%~(Ly@9MbLNnbUgof_pDb+p*@b+JUihS?>qP& zK5fgVKk@06e0t!i^`hHv9C4(Dw_g>^v!?%Kiq3otapiXBL48Z;Yqa6c(|Jz;=c8%g z6ku*l(G7gsE%n;DxEkmqOhgpNXps6{(0&AaZWhrUS7ezF?2-Y4RTux zBKyIUo7&V6r=clM|6xUq?d^5njH~tk%8jbGt1{1j%s9BON^j$jbI_+|)ezHU=R_wQ z5HwQM1buxbpX%H5RmurZ7$;VC4g5KE?}INdNS%aup_;cYZ>^XUzFH#jB>o{Cg=mKP zUKnx2)U!C9Z%wm*K;6aPa-ya8=m>?mhac*P`iOJ3l+@=#yiuH?cYiNPsRr_eo$kh;tT1wNxwwe6Dem>4@f;B^@!3l zCB9yfdPwRii5KAR1#tfHlVgOJ77WZR&tBn#6|R}wIcQ*`=+tOWO&%{%$SqI0yD|NsPf*2=*wkZCwcHKMRe0ept&1 z-;|Y-jD!4-v`5ljNqZ*kozyQ<|0v!l{Ur65(r?O-lYX9z1G_@TTdK`>!t1ydg=4_) z=6+0+TB6~Ezb$eTZgZrggG;3ZKNvb;oE)WV%L@kYh+TQj1f^^Kfh9+K}90P8lP4F_A^EFZ-}cGB#t zGwq!4j1TkFQ-2_|I5H<*&A|zux%x0MXc`@9^XYSZT8mGg<~WbcvyT;w80wkc8}9j5yuHX@|C6OgCE@fcwWmg z7bnc6Up=A_19je%N*@fZcf#r!ukOXeJRy`%FXGdbEayIWcYSp(#5lf9QnCcO`@lbj z=O_2>yIN@Cr zW5s_%KDuk@>u2M5C){CmX8r0#(C2QsbhPkJCtOhRaa)}}9o<}8G43p!|0%xG!;B7n za_8A)=Os8{zx++x)1m%Yl+Hi8W^qn0{FS=7y zxEkoT>@(4a!yq5mYH z=WzXOE49l%PSMd0!LicYwm9KsrzZEZb09yuGWD0yW+!~#({8aLpGqtT$nF=z3L_#-;9li4pzo!iH@CYTP)Pn(=zXrjidcp zXQBGly_tAG;xW_{Eb1B9KeN~vX-ZyAIRfhXh1QrY;Ubkek-NE+%$)=hY5(z-k#X_V z7+)G%;Nrb?VI0(b6g9hGG?Rv=FPXgJ7|@%f=2kpCXN;@{prZFSHolkpy8eWfG1{A2 zCVhDa8}DJ4xv01qqkVijoli58(hhbX8pU#!Ylp8v9vh1f3CvISG=_Ro*Smr)v9ZbQ zht-8lV?<$}ddy<*`+8$U;tO)}1rcTOhUcMrfP!EiKbMY}~ftWU~Y+4yzI zBCEazLuC8qxBK=NY&`j;K)cjMLqzfFY8N5TePM{WCmXi6wzF|$u3A~5f)Oex7#vgB z2=zasxHH!o8ljg-AvV{ZfgaUOy0SOM2$B2)j_U!!H#{7_Pbo6eG=~~>OLk~?Uol3Z zyN>L-^o5NJGxC~NUi??zsXFejZwu{MAjH92C6qqTJwZcpH2-r`hS*q8ecuHC9k36^ zTl^@XvGOe01L#!+SgxY4_?^Wwe=0Qv`u0W9+@2q&p}X(a zs_R1Cyhm~WpMJULRw)b^saiI>23_`acLdg+~7&glnM#)gwH?iPGM=m6A3?RXgCHK&+{zRpkh z@dWCoa{I0fWu2j+&wkmfZd_$!b(3GtZ;EK>Y}<{?kD=Zz^=wn$%aT({+1NES=hKvO z8oFP5D$e#a8>j7F(zWg&4KY`5%DZZ%@6e7!RMZ@)(RJ<2co@ckl(??(^u{i@#W zwDW`4K@a!YJ=&~GL!YktF43-MW7(@pK6~Y8=xR&n`x(IBkZ;gEpQpyizwws0<6AbS zup{-9vI$C$DLsGB*K^ViC|OW;qB`NI$Oova`gUyNi73#c>Vqqv{)BqGUS@lr4TGM| zrmdEL0(Mlq&#I{a^uodRY-Riph$HtjI`n~_Amp2+-^a#V*Q17=R z`S8askdN=P(y``UZ2UB5hN0g z|Cg5>VHY2r2z5@Yto81l_cBI);o8glfj%+3b3u}_F-py83N0{%db!)h2919kp*Lp) z`!{L8dsY_{cg5+(|K0n^+uLf5{YI!^P@_Rok%LS2$fgvXH$w4W$J<*j939K*8t&YK zP={4h+rve=+z3(h5LXcj|J7HY91n&2h4lVty=8=A`1DdfeFhn*TnK^px_7hoPZlvoJNeigFr9wS zaUsMFKE01mQ^$|;=}X_mEF=NTOZ#iR6$wsUg5Z@6O=ybqc2KF zVlp9KH9xs|%5s4L>f+Nae40Am#;0osdTc*3IC%a_^m3oA0SfQF`%K9m-iL;W23=Te zfY`Sb3;fnV{QR19dWda+lCqEej9JaWHKt1$s>civ#mm%d=feW34N$sc(2O_!9K1-} zLncGm5Vg7;$;fjbu;K9DKn~)?(2ZLu8lk%a~;fbz&Ko#nOs~DENw0VB=z_ zyL|6a*u9?y$o%zwrJGAQSaz$@>#R!#Xx#+bicqKzTsxd|+A+-lA+_tj*Up99q-bE0 zhLyp8Sh{LQJZn`oKqP)3hX4>kF;5O`sU72VHQ`;Xc~C<4EF(nunq%dIX=PLXwHInX z2kBQxzeD;Z>Ry!JBJ(RU|GMn@P(`GTjV~=r{Q4@#2zfi?oi_Ond3m7S&R+>e$T)PK z(?am?w-s}{>P(E#XMe#aZ-^Jv*lQW=vlk>`-$C`4N?i*h6lSEY)v3h6A)hPl9My~v z#cPe{(w$i=|F%!kektEU*|+tZhT~mg986&oC=zl1#2DCDK#Owm@A=#B0?wNN;y?So zC>dM2a9?)sG(b;;*?aRpvaz4P`bEWU|LQxn?~6K@(ucT!j{Q0&9DMxX;BwkpLsTCs zCN-?h`S04^lV!B?vpHC)uQ;laYlut=Tdr)K0)3e8x3-l<7@{>#lRjz)bMQ$UpJIPU zLsZ&)&Z`gVqi<5nkXaRM_}^G&70-Mpyvh)rp4Vh@;1e5Kopl`h_TILOAj z3C6E~bs3=fraD_Hf3oqk#i{iAd;_G$r)Bu`3w^O4-yk2Ocr6q6x<`}c;6u-zi|G~r zt-qvxllo8M0k{SNu7B38&%V!_X!DkXH*a~J+;3`xbT|hbpC>|%@}x7~s)qmSFSTwx zK0;RbRucFTD~Z0w)kdf+=WhZEGV$ zjrG>z&u(JDMyTnA3di#e_^E`$LwXfPX#TzBjq3GK=iBxE8u=GSXdXd3=GUsCIu5>5 z945e2Fh+SLUrz~NALaFK(~%WViKWON+2G_KdNWm<7kDx}S;?AMcD``nAr?$~Q*6YL8CL`UT^j*_EY~Yz!Nm z`)7RqJo@Z4+~bzVn>l!KmG^Y$IDhv0wh8}%}BU_Q+s>&2JO<7{I7#*xIC zqHpnWC*?xQvEopKM#&crRv$A(ds~YU@=dib{`i}NUFN;3J%No7%d2SHl7F1>>1?jR z=Qblm;sZEu2Au!Q-{WddFLD)d#=)7XMT|={m$||a`0#P!r~x&PxAKW>gOpHkgv4rK0o~r zLZ$8R6T>T^Kl_$yDOLEE#{2bEk&CsQ|DJ7jQTp}BbI?DTf8M1u(NJGum%DBU2lvxn zgq^uULyu$47H{td{jabq?tcsOUjEp9o34K!d_Y5EAMBoK@pE+Si9Zd3>w7uaZA@aC zHGDt8nSM>>+Bfj0&lj2+I3g6z^tK6XgE%N3c=~`Df;xdIkMy2#ppW?^7hya2J|lGL zP*)8Hf4pmTeKjoik^BRWTL7LUUYxV}D11E#Y%xo8+N+EH2Way&v?q)NI}Z*lMxhHcTw zJcOvR83{_TSQQ9G*ThRCHh}+}@3Y_K6|BQvOTEniIZ$JL_4RmOAMDq9v)xS8=KUxy z2OgtOxv!yr#>T^C^hnrGwkD>Hbr!y-Aou}Xg5j^r!zFTj>wyDRY^=X;c#~p|0owj! zV@A3!8{p@m;EIL+|vjXYDp%=C(#kq-=!&g_TU zwQ#&^dDLCnRYMfFw#`m+GpsN5&a70)H$+!Up5N2l%Ep_68*|Ij4AJg^JB#Im+1Oo) zvnOMNA(Ch2sjZ1-0lZFXoU$FTGDN1U zH8---pzlY&C@i5GqPFc?G`}1+UL+QBQB%+m4V?JRdXo=vmwDKn_SFFOUmB6oInTxh zS0~(ztv5iwzlN`NhV_HJALb3ux@v$(S?VR&$=$vNvZbG)tG_isJ5s_AB%fpBf8^er z78Ni=mp2TyXPt%l{Q4AVA8QEp5f#_^9EbU^$@L<+HGi+qk?VKVS|YW+N3Q>o`T{x^ z0)KIy-c|o2ygeWlVxM*SjNhB}|I4}kE?%|n+4FBcG!xF_{it&{{YbgZ)-XVacFxeXPbM;N+^L+o#@6-7CzcxSrC+7#`{DGWbkn@if63Y`NJ8-ap zircfK9(^=sqRK>;C(M7W)cy17_0co6ys|}J9Bln7vLPZ_9~E_m4>JQtv6cHOs`oO8 zgUfZk(u3mkk@ln=zsA7v5nXPg&oO-zd2L;k{1(X1W~2F;m-NwRQKwz*TcJOVU{3H% zn43j5#ca+8Jc^3^1w$X{qt?YWH#K4*FG}LNJ2dH|)Nj$lLvir@g#-DU-s+=EGE#JP z$idD9cAUFAsE@o~?)EVNe`-HjgK0n20JY?WWP1btizIxmmd!FiqO#;#Zcucx;5)r+Kel;~oD86oY}?Ss`joH3p+7bN)02(4u8usWIw=O?m* ze~TK!_crerU)t-8qY^WFMPPlwY2UA6xdYDlO2NgSh8mFf3o_9`ncb zxbHdlInV1l*M85T_(J)P`$c@Z6&{)V$#qb<1HL___(I)F`I)32O6DD?yoKFJ-h#|) zka-U>FGA)`$h-=fcOmmMWSl4_;jzcx9OBIVLMm0-rs&Pfa+k}tF4$5uf-A}~MTt%E ztpjclM`+vj&C)kTKHn$qZ{xXO?(=k~p?=W&{aum@8(c7j)wi3p_BA0c_-RDPjMd*v z(5(EcI@^MwKmS2eRh;R+em51rpW_6;t#1LdEmLoc*h$ z7r5ZKt528M+%!S9D@tEB&2YiI)N$pSZ%zJ*pUL=|jK9hFoQ&Ve_@0^@RevGtGi3dS ztnai{%qT;5*2-Uz9IP`JR-|mnh;f zSMI}q{v`GPNu>Wq`gf%NNBW1P|42QH@-Iohm-LHCznS!_Nxz%)%c-?eF-P~Et)q>> z&!^T(t`Beug|9Xrr{1@>0;?Ch;@SwF^!Z+6^qA!kf3eR6-?KmZ^?}lV{w39qUt>EU zsAA%Z6B_#M1Ihy?s8nvb?=b;a{Pv|9ckqk}dc0`N(IpUHqiOwBb0c%k!q^h2y&+FETW}J@A(cz9Bc}kWiQjdU)0JYPz5+R!*>-)UwV5 zT@GlN^-S0m-{}j)n?%U_QMZxjhgE z8*S_^*)0qH-nC5{TO?iaE}0o?zC)fcU2D>r$1<+CQ0HvUXYlttQm*-WO!AnjrbfGb9hrcEuZ< zJ||ntnV^-4NqL1DU>|aSK0XJ}cUK5dJfh`_^$RkK15{1Wrnaab6$@PP;5w~=AsrKx z&|$j14eY70o&J?KdL}6CS@fLCMy_~jNT^Q`%zx+_+r=QlWXnIfSHE_3SDTroYx$vaH@-+Tob zuaogS8Sj(%0BUYj-iOQ!t#}p@8{G@ox98w-aC1+qH!4NsZVs~1%;ZTuEOG1 z<3aBIe~r4C#54V8ACUWm+(*GdFAWZX9Q0&aC;ePyib6){t`VBT(rD`S+w^^=h{OwU z-wtrz347MNIz8jf#iJc&YfJ-RI!@&bV@mKBFPZ7(G=;Vu?R; z#;*dWY@Qckj3QfyqQ*gfdiBflZp1Z4Q#2(RET|_I>blk(G&e?irI()yeunsJg=~$F znlZYt!{xRF)cO4oC+oJbF*4EAkfRGjU19L9S;8wL^h)(a<&cC6rm!RP^i)lR%Hva5 zQ+a-}4nX1yd}oaT6q@-}_dK?TW?4id);yf!;{!dYTP>xl6QVVs zrwfmNOb0qn!Z_Q$%>=FUt;lcyTI`a4P}VOK(M@Yo%dYX|NNRMa3B9eU8DLyGDrGEhW-ER6A2{xNT@y&YV2RPB32$?yWr(l zs~SVN=BW6p^Xr?dUGTxqSid8N<|yuPaoI$OTc58I&1+w7j?511Gg=IB=J?phrh>>E zQFC1`vUH=(8gs;=Eni-A0Qz3Iza+O5nxhn(T`hr-2Uw!LAZS^wIhtK2z4}TxMP=7t~Dn0CpIT{x;$!we^*p0K6 zflDDDOY#T!yaU*Fkk4l-r%vU_sa!9WyXETx%73ktKiYM@1@aBb0%Ij5q0fb8DIZ+# zf~ObkYP{b0Z+@N3zmxfSGJj9ah05=fd1ErKOy-@*yfn2IDrasq3SG*)1A5oymE@E_ z=yMsIY})+P1xIf@bKKAo`dok;ly6PR6eTlMZk3M{m47GmtYjYcgK+)C zDIk9#tGyn(PyJW^Nckk?mz3{W^5^Fdra>L}L9kU-1N4;*F4!p!^yUPazD;8P=KINd z0JS!%UO>hbWL~>$H{UoY!%N$c_7*`&|5Q&HaDv z51IcW>+@v&{{O4K|B9&hKPPCaKY;8XAo~kQyG+_`q4*9nA80KF$tr4XuSgu=&sz1J}w-dDer zqrJA*5KWA+7!w7wUYGBD+xLcOPN8MkBk&W_s(I%$%MHQr$g6D!?7XsaE}CTi#j-la zpo)=Uh>p!pukn#`!P^y6(MxGM%m5lI0^K-pI z-&_|wRMoa(ZmA)1d1&J;1hm40gG0-{8Y08OY_lcCE_hw6#DXkEBeZ7E^aHDmT=1^v z7aQ)ZG(t39kjEL&V-L8xLb7{|kiYTgv(*gHb0^v}&F>f?iuY9hlH@PQNECdh^YzlA z_w)=6cz2!3^-{SLDp$gn6J_}FKh(WZ`pUCyARf7xU(myV`d5nb)ZNb^UK2ah;4N7Q z^ZsVnU3JU^iH^|gM`*3)ppR&}5#P%wv;zZZZ!}=27owzBH;k1bqVsRuu>s z7^CSEn{5N3-d(PkR5;zv7@bQydG!L&y(_oHEnpj?eJdIJ&1%n5E zM?p^M1F^Q-jZsEyd|Myrmy*)^TK%!m2h(}G`Dh0GkHeQ7?ZRYZq$(TbpOgjv8&SDA z_C3`3@6JjtS`PJRtBy5TEm+<_JKK5Xpa#pRF5@TMh~b?W@KKC!~<~M4R96n_h$ykL1pIOo;kUZ-eSrJuGvVUwrOX;NUP0*K8RpcGlXojRqB;FfDf;<||&U*603{@Y0?Gumy{dOJ$hF_kU zA?n%w&;0z%1))FI?c%|EAb)Z5rj7NY|LYHu{vzp5lKv*?k1CJ!MN|GN**8tC{nSWb z_4}1iEx%OHLhVSe28C76_Hxq#(f|6CDfuOF zB5|aCOW{oNf$Z}m^YLV#pz%l_2{kvW&t%d_pULf!J{0Ci9}3y0LiS%!Yo+=#NdI!~ zV(;WdSHQ0wS^Ls0GS@zz0l5(}6Xq7?^5IhM4!(p0P=z-3(F6Xb-zb&`U@8PJA5I z;LHDzbzZU#OxB4>KaBL#NI#DB^GH9C^b<)xlJql4Ka})SshEKBW2v=2DZO(i(BBXV zeSUGV0sQFeMt75Hy$sRdvw@GPvVXCWUV23_SrJ42mIV^CxvBd zwi%*PS8o~jD?@)@gJ8eLPD5l`qxj(+)W2?ylD#MxWr&(%_X?IleEluKY}MfyLzLV0 z+1$$11^y3lMKou>A&Pa&%^tM~>found!nwr( zCqLifsV5E5Qjtq7(o3PwH+w;;z*}RW^hUl~Vi>s3B;Q68WgNm>b`nF@} zTMp13`(~{;I>89#D7U5Pc!9sS^5Z}T_~`@8&!f(HLw_Lmu87@yBb0J!ar`dGXJl-Q zb9-S1_m9Zhe$KA%O-@E=ci=FzKb-W_Nk5+S^XhuC-#o1XzjIUD*_mt; zw0=Tjn9ofYET6M?-gxMDRXaOSAW#SW1+ov;4n>$C8;|K7A09&dbE?DW48#Syh7~V0 zK8E*^8tiDa9VUpHyZrO)DQ9<@pp?+ztB0Up>;2Kg6|-|p&~=y42?fxvCDLQXb?7ib za;tI<_+D_q53g^n(h)I5lSk;r5!z~`FLYp}FO=*nCHqdvK1&Kasvbe;4xx~Lv5sgZXR`Fy4RpMZQnkbHlT8jE`O zkn9g9-+Lk7n<3weB;T7P->W3w!&D5Imm?nOjEA>ZrS@8wA+NcW4<+Ee&Hh;l=6Z%^ zXi9L)&+{S9*fs-wV9zu|Gu7LjKLk1BrB9W7pU9aZJM}$r6Sq2Jn){uzb3U7*Q(?O; zayB~Sk3$CUhMt=ui)+hf)IvX+@aC+a=bxIQn+}^qR{^b!ZtYZq{$2_@s{f7bk0bl% z$o@LApNhmA__iO|@s-avsy0f=G#ZgfG*Uz2^Nsp{0M<7@ z#Gy`1)r~bq>c&)EIc21-OxB&rx-`Wbs%}lz^NdI8eH5>jkJJPEM(Tkizku&?z|P-( z7?p#d-YuctfuMR-_ZwuHi2&VWA{l3ZWaxl)!&Gt1>Nw5 ze8c(jGc14i3sd>=ePW;XIGHg0?pmP$zk8a2&P^I3*9SNq z1e_xHdgf8kmoHnQ+;HmS`YmVrEl|+w6Svng{;r)bZ{y(0|AeS*zqWXV8%{XC;fa1K z;85CfT*Sc*pY$uos6`Xz9d&TYX=NIE z%N^h@oa2Uv)3$1R(r8Hf#tlJ+f*W4Gs=uhvo`w_$m)**cbHie06BAYj(2%f**o!wa z-LQqd`S-`W|K%^qe^NevZdIM{JkbqPbKQAj&c}6nZdg~`rzP{5)G zt1BAoga_pI_*>s%{nl6deBp!7zzp?*R_VXj+LN2MCIf9@GcCdU1`D}AzoCsKop3(J zr_8Rhke8D>%Sp-!V;=!SkIO8yrJ(Rz0)wvNAy`)v(Et*%J541j3+qZgfE@f1NN~{cHn3e?MY6! z{bG6j*xf7?&#YY^Cg+4_339kK;Vd-mSMn!)xZXQ?w4F#W3rV%FA2yVM^{6&$Gq$i$ zzJ=`j-4mU#i1=HzGkz@Oq@-gW1J`p;&hnnRo`nJ*>{^%z*T0nyiMu$%{F;B^z;o}y z#r}t-Sa6=L;LO87M~)vY{bDSP7rry43hwvPwtsFX&O$!AUyIm4+bQ)=8zsm>*hASW z74Wt==WHoGXpN*AmIw&X{3|P(MohI!vz+jC8By0Seb%UAaM?o}Ehqf7df4ucHVdg- z`Swg`z7y7HnpH4mJ`2?)P0HT3zzMfW$C@?5dM5eLihHl)g!Pt+t{Vk(;+uMZ2|XwL z<9?ObHMoCl+dF0)(5L1{E$%a8p;2K=^!FGz;nc?KdERsuk|?}eWMt%oXKt!@-OOU4 z3s(bu*d|Um{8fY83P%RsuI$#AYVb#L}r5!uyu*;wONg3B8^4N+qmN1UynzYgr> zLw(oO8*Kc3Mm1+yI1RBMvx=N=v+7{Bm#5w}huOB=O{-m<2qanp@cB3Hznt_hXtpbf&h_P;ped ztTE8MU0=GlG|*7S*n-&+7umSfOptZ*4h>zhdA4$W5gSM9uAXdvn}*)yio_hsgZb~M zFlhi<=yCp~anQHuDd#G0VsW>tDgll^qiNau9m>Y z^Ynk@y~?8@&gd(<1A&g4A9t|r7!A!%kWTDB40zFXmZhc8kdmOdU`Q&Qr_)qoKQ5Vu zEaZgWStP;#(R-F{X^y3#LmvXQa}Tm{ZG*kSt6ek{?6~EvW-J@$$*g$Nz2h%0a}ABW zKW?KTF+on`5b!p7K-c+%Hw~?>Tffp4=GUk&)xp?@hISmYWhun7@u-tAg)JLk{LY9Y zA7DKjQbSIvf&Y`dQN}?Y?vHj^L*ddk-6*6gyCSb|DQJBs@1W+|R~qUl&Vn)}x`#HF8H20L$ga zR<<3qqM@uBUA+vLtBz&RFxwcg*H6n)0PK9VTUz?HX(-^@&3GBWF1Ge`llyEMnk4sX zgZ5rF?#Q^1eRc*7t;w@3ys?9g-90V!B~)q1bNZ$S;lXUYqBL#ywD~loW>Gs$GKh`G z-B|G25T1XePVL3pjchD>bDock4h_9z-TE#Rz{V2Q^Vj;S(NLFcvF57va8`i2R`}ux zG<4BkQJc0FWOv6w#jRpAB-fX=CETBl*T2f{;s^n@)q3M4GhnX{4dK}31l1_(-HqtcIQ9ta(tpM5o>G3mQ%D>o?ydil<@|NWN(|CnA55W7( zn**Y?&fx2AUGwlA$j*s(4l9GXAS-K=H|zv_QRfsrPw*MN_T+C92YjvH2FgFMp`pN? z^aWnPKiMPRjYoh#=tAHUl_)lLS+4CE0D6ezFDVZvW3A-uZQ0nKr~P(pISma@PMJ84MMx#VoHCmScsi6~rt zgocg<*T1&_`hMY36IGb6!|J{t*ny2dNIl#0u$K0Z{KGy;2C@Gg3zq4{nH+@kKQ7sS z-B*6q;*V@ldYJE{QnBFPEv;LPy4bkY=upL5LmE1M=-srBEo>YzEAoDo7Ob1l;nY5) zbUZ0Xq@0m*NXqH>%i5t8m*LE=-C|NlpIV^Gosri${h;GV=KgeHNY~w;u#fgEye4?d z0#R%8Gjr0j2R(3>eR6^DXW(nws;W%_G!(O}YUlN@Y^;?Mx!@}7OLBdH(_vVCCSRx6 z9_s18w+PNpHyi)(_R+u37Ti_Ev%(I_oM|P=T>l8tu$1hgKv51?h-y@fp%Uo7BV&F;1*@}*QNI? zP)Muu_YyekW>3xP9YGxyXxR%NR^S3S3os;V;F>7N&u}#AfV24+(-Olvm1szNRQkaJ zbvU!@@wr~zMWCOQF7KYI$idXw874P1?~jGElvkZQu+WZ%$n^t`DF7knNiG9sTdv(GkDo z9O109?ay@Iiey`$H9IG)n+Rty9XP~xcD!bR7;DBM-%(;Ez)1(l$jJ64hqOIKo+G3SW0>FNavSc$|Fy zAY3ng6}(+&CJlYxW5ab?#lbb@rDqMm4t&aAZ+8pMQVVpgFcm!$JVclq&33XTq*PQ#Uw&3kW54Jq2$wWR^vNP=(1xLNV>appF}pC z`4;0T9CpqEB`c-H*XF_*)p<@Gb$2Y#)0Q*~W(MGXyI5rYBMWpPs^oO$Q4ZF()z0vT ze8jhqNwK{t9Q@kOYe#vz1v-@$sgjZeXH|x8l+=A`frh#9_ErgS)?(tN^ZuYW=wG}X zZ-(>Fw){SCxEu6B=!TCL%p|BtF-CxawT#M#1&!4;?I7=;Z zFw^fR$dSlSi+vm6thb7nlQcmtHlBZDJuZNQAIa*LCxX3=KXiE7Es!h4{II@XKr0s~ ztBhR(`>9%KdL`IXQjY$SvynYQ$ssAHBtL+!M}S?w^^}nE-Nt9rIe&B-rIYt+%m_5U z^?&u$(?z2cCrpMjKK4%Nl;``H?$ajjfioScdq0P%Uo?g@5ogLx*gLt3hNgs0S|0*u zCd#_^%haWTpOmUBsolZGr)^%%$vXr&r^Dl`{My+#J+Zos8~CpePtAq0Ed_-AAoVY) zpGmz!>K#%qQCKKwwRaVO&nker>z2yEnI!l7H`gDeA#(kI<5BoZ@%0q7b}Ig`8;LL8 zXirk#XYgN+lTWhzW8F2o+TPo6{{P7I4ny| zS$dSVB}(aeKi93EjnkTa6q}Dq{{I(!EO#OcN3AbL}NA$Fblc?(YsexEkuA-epp-l66~=_OKck$R2v3rN3#^eafegY-*C zzlFj|a`(^0AHZ*^sQ#G0AN-h($7SI!ARf(jjtI^KzsT0iVAd}N4SifHca`G`*9SE$ zk1V61vWbcz>fmRMefsd=Rmk0}5E3uwAY)AtjhG_LvH6-{setvI6JvH z;Kr!*(-5B#`~tqG!}qryr+7ozxGJ0J8@)i+y7@j;{KomedYsh5q@E`AIH~7JJwfUb z(!P@Rhm;dij;OUza<)Zj>3L(2J8j45(Q82Ox?3;L{R)2kbZOIF+xuupB>1&!{cJc> zI&aWIjP+Ys z67|;yO5x3*7%EgUUTnbNq$2YcCgXh36)D9|eLONPtegPr=O#@Pq-UV~@758p!G;$&#R zR69#V@z&z1YS%g|OQhxO;aLFJ&$R!HS!(>Rodp@m0R8aWZ*u0vP5AD|!z|Hr=0S-} zR8l!_*kCFTxBlFo8L-g$|HOBPKLsk~F5ux%u5q(?Hxt$8D;N*y@^FXQEdSy=Of<{i z;iN8|hZhFsFZ_a;$T4$N)gfyh-kI=TbyWrvy$C_dRnC8()&JB!RxN)mQPbm6*nJ&pIZe=C;)!F1r5}6TN)N6VLGB;r2c?MK2+1#1@`*e4`r=%ZIv; z=19U^E%CqyE)U!JO?%L(ZH<0jsrXdr_;)QTxn{3l8T0U^z5_9a>eheOx@+542a_q* zNMl`6fBSM7}Z+xqiSg6L9>UPoS`v)?22b8OB7D zx->Hl-nwCGY<^rpc4Oi)RM|Wm35w~IOrqmy9`1V(=L*q-CXh5U*+RU*$T&5kXn^?$1afkf%k|cT9 zG5DkO3V-7YZ?iDMtI?(=Y@zF5P)EGBA< zSJJSk;bGOxIOpzYCffG&y~3fJJUq^7HOqfJ6Ritr!PS>|__3@&`fCS}??H)MidT4e zgPW(shWSj?kTT?JTf)Oeb4RaeQ(z)gd3o%NEFShLGqS2zWunwUr6^7!59jA-6~{?3 z(Zs1Ql{KPx_}SdG$-!_xg-zb@==VLNVSR|i$oRTj82 z?kDkZ)fsDhmG=y^^T1bIffOEY+ZiPNsEdK#*ExQAmdC@k>D-m7LkyI@(7F6T84vF* z`Vt)Zg@GdN6W6j~z1p9nT?;-l&^o1=j~nmtaMGq@s^y|g^w~jCyaMQM!|z*{$T5-2 zQTbVY4Ln@3YE@T{G85UZ%lg=Gmxo_iCoJ^U2mTQJ0~yE$wwCkdfLg1!Ve(y-4hGsD zd!KGIiHFbYDW;aX{wD|2yZsfXB(5CS<6)KkQZZ}gO4c>KiD56774hmEVdpvY01Mgz88sl^)S#!RdgFW<67Te-OyosRo%7^sina^$w|*NWEoa|8jR3=rOU;cS1BCFi~EH;ro1`%ieCDT|LM| z)Z9i5Et_L2V~xUw1QNIR@~~e=Nw@DDuzTwl4V!lHu;kgUHw$&Gkx^KPdHx3;-ahxv zWM30&x{4`PJ9o@$k9l?k;I?J!gxOPTdR8!!03=Wpl03y+PXd^v67G zp0{W!eX=!5iP=9{8}vf`qujYuwG==TXXr9m3&rGznWw!7%_`Q5#WOh{# z6D{w%{XDD^Xo*F$lj=baB~(P60$#jsX$=-DVJKx759q&+xM5!2VRX z|M*DRBhvpM{gdV!)6?d`KF&E2w?w>&iMmy_2Zv)}|1|dvCBZzm3HUqDN#o%>`%9Bf zv@?;oxWU53K=UGBHQ)Uo+HHicn$aV)HIs*Xw_+XP>VMZo&7E2|i3^FFhwin?%V&7_ z>Ui<5+)gGE4KMK6a1!j3eENyGFPTW8#Nu7)gK?rd1!k9VKqrdp%WFCW_m(|P#)Q&-Vj zde-PdXj)=&4i5_{qj@nPcQzNIUF>0eiZ>Lm{`jhd|3~_VB>zAL@?m@a){B(RrF1Bz zTPWZ5fA!+ahs7~g8+iD1&C44T*D;~))Gi?f_TbXWYvGa`|Mhc8KbZ8BDc_NL7U^G+ z{uebj%0DCZB55Bm^hQfxjN96he#{$5yn6DS9y+&a}`TW!#;NwWWOGxfh zQr@ZkLG1^MruGZDpUC}2?niRJlJN!^k5F@`Vk45zBo6%x@Eh4+9)9zQwlQNn6V<$% zas);5@TSs&CC5Q7ni(1cQipl?M7#J;9q=c;TN)&c3wT(?N6Uo~{;!@Q@d2EVQ}Rmr zqLlAQ&4sct|9|pI@{{yGNdJWNQ%OIT^m9o+nDmpWxl?{L>1R_iM6HFyiNuk_ndAe7 z4JDI+W8tV#g1_@5g*$r29DT&Wou72NCmPUD)t4~k*E>0QIQjhTCH4R1$IJnA{->;X z<@z-k@(jVrkA^Csmn2laO}?Ci->q|e8gl`9SsAB#Js|H${WeOD8KeRAng^GXqEA)R z(2EDO)a8dEKNNXFQznasUY|(sp1g;HgLb4y-AexZY%}Mxb2p^Z5dG_~lWmbuf5|($ z`ZCnJb2JlEZv*{&US81N1JD~(!hUjU7Y8e^{V7nti-sNxul_E!mxKKcd_qIRpq{z- z(uK*<9Q>olPl&yVhI;eDG(}_Jc`8rZ3!rzU>GP=SF1WvpzFtWU@>Pslo5ekFe@vbC zeBKJ^r751CHfBEuCkc8_p5#hHodv!qC!T}DHf_{ya)DkSbSrfM)SDcA-5J_WG&m1< zufB2$2Vd{C*u5NjRiqW|PcTwBn0Hq~;@}df-;Z8kbs1>)h0^wGpyp}Me(J3V^{z(| z!N%7S4HfP-y81W|^1>BIZd`$$*_8|Yv~CqZU9iiN)oevW#>>01T>;D^$-UtY?LJHCZi%E7ztKTS9Qb;nyf?=3u5#=!#DKf5Qu z^M;-K(o`>T@cY73tn(Job9>Xv=1v9FcW*w;`vJXJL+4{F-vPZ+@XC=wsPC@v5$k^p zd1|jC(fucEX^0s(zO)nMA@1F}o;?z3MU0$nAs@JS(S}m(I~=^~)AbXp zptq+cD)Z&{I>_g>&7CK{hKBI;HO7-xCFOq>hRo z*NP!;K0Bb`25U17-5#E~NfKn$uN&!PZKa_tDl5jFh3m?D53J`xesPKMV6-^U5&}D3 zJ_UK8WIOiB%0oktZ}iSpI^7TByGO2)4g)%2htrpIc>XYFZJ7hmGnGx)Ga5M9u=w!Q zy>T?8(5}DTwVs1F-(D|rHkF3VqvyKv*K!} zTb`q#%+M;sdbpl9!NblK_LHlDldC+?>qARVa4yr(+O?rwhi`Ilru2ikUXUMko3?Ct z6W|@D_Ev5-(5=d8vkzbA;C7V{y~?mZ+itWPSX=}Cw7fYe1Nqb1+m9WGu5$3c#$2}T zMH>1RRqnJ7_}3<_YCjq7C-*n#i4&kFBKUTVJA1M$wBY^Os~$PiR74GxDX&(IEv8yWOB;<2Fw7Rx87ear6v26Y` zMN4G3{dKtx(2KhpPqnIBq7B-O;oFZxeWoIK?u-Rcx3ut86@=>v#4*n^m<}eI+tU0^s zW|J@AZ%)rBfjZ}o)zNoWYyiCyEp;PD#uDC<8?%7s1$wXGW}B9jB|76+U0v-7b&8`G zFK-8WmWm{Yv6_RgW!GAy0)BmK!nkd#KrgO3BePE)@R3TiS>yqAApe>S8zoEBaQ(T` z8>o|HJ#@%hGtCk`{B*5b9_S+{EjB%#0r~Ut(CH~qH(7Bio#6|0*xf$+Z=8bu5LHR( z>I2G_5KlJAFdaBJ{(Iiu{wbD7{JX|oSJ-RA?#x%VeEyB>J)s9lor8eKLb;Mm-<80x zN%4iI6D`pe^BpsP!t=U=*O$h^b?@F&_oldWFn8h;&Uuihm}R_QC2+raR^-%UyyZ)?k<#o2`TMHu*aqwMe!q%c-9bauvnOW^0Uoit=(my(b}D9fxv(C&U@{< z^UyytyXAISFb8i5Y73VIy`^+&yIDN+anR{T8INGR^i6`hc;V3RGw+9eJLuV2p}`y0 zfIMaH5~&u0y58FL3I{cIaB#q{9$&tmuDO%ld=TgvNiY3*P=_M*7wEwvP;JG0J*XNL z^quj6i>GeU^nUfi3e8m?8(wypi@(0@IPjWHNB`^J%Pp4sI+()6`Rbc63$CTQyqhF( zgp23r?_Zx~Pe-F4dOR>V%Ee=YhrJHc>BvriX>XebXPMG>#RnPF(K&&z?{ANBac8pb zg|F&#)Y-V4$G?Ajzv#L96X;0!=x~=uDi>eYKGsk#M*lMx>5ts;(WB`oHp?-w1Lig) zqPzENrxjxCtul{)^>^-i<{#9@yys#;yCvq6I;;@2wp8(}cc#O5(ZWhE=d^P1*{ioN zFP%z9+gL@#-p{$%YP+$un;9Lwy5o>+caMwRbghi`FQp@{sBcj(=HeGx&(qIY(9xBB zvhfek{>4V;hIanu94-!Six?1R&=H9b;CvFk27H|7%ltZ2JKY%vY2Q@&*<$r)F2`mT z-jLt^AI{Vn4#MLP9=+Ag#n&RUU+dcbJ5O>Q^|hukk0w7y#*HCu@bpMlo=(R=HrARP^z zwNIEV1MlPxmf6l0rK1N6_RU)`3C;j58S3^PM@J>M56vnCdg_9E4-U)F(XYFDvMoT{ zv^LB*rbtKGWfeNTvTz3Cmn@UFGw3M9I9ob=qB9l`|JA=$6|Qev+1m)u+Y;cqUPgnC z7Bue2ZinYpYJ1$>FrSX5`XoD?lY{wG8Vrxpqocs#%%InkopGkt=TH$NI?BEOO>DEg zGj5wQ)vn2$j;6m*^e+UuwtLUiNJ~2UpvQjP1oU?A=hbD4=}0wizxXNzXZ(XzB_QKS zN8L+S3|)ik$M^fqRar?#>Ed$A!c(2`^~#LCSL^7Al7%qU5G9$7bR;Rez47G~XS_Af zXUgSmbY#5kSxMAbI7_yFP`$;Aj=Y!LvROCG#gwc(kA3Yf{t?cYSF+GReso023&`9l z`2Nm=R9%0$sM`s!9eLL3qSl9V1f6kjZ1EC#8sqo=ob#xSyKCNSiCY%X8 z`7I~^1Rec&_<=rC5zgLN>}Oto^k1Av9HVZP?zWiWjMo;Q%QV?SM^bCNN~>o%V`aOG z(}Drl@z*y#Nm7S1fAw@OM~2Z+*QxnK(>0v&iXxj+#XIRpB`|RJH<(Y&dFcx6NII%` zTYl+*Hk|SLaYgZ&eRSj^>eQJ$-x+(&?&|0`NJpnT+kfs};Ecth-ezzPgIqu9+`L@R z8K0Rl_~^qiI{Nu5d!~gEoN3%B9O;uqM{b%^4d&x-m^0JRa|z6EOV1AVE1*wBmdf2; z3TKxD&VFZqi;h+^{JaH#?kI_nm2RaYiyiE=T@J7h-bR>3y`m#M1-G$|aD9@MUn%aO zqrHkhTAhLZdh&wM$B%SmYF5!K3FB`PIX_GCJIM9G;Y*%&fLFRg{h^<9#OkyW!i(X| zR)2!}lIBS75w-+O84m6B!7#EdO5Z2xqZ|sh!?6 ziGe6t)Lt2$7^BEQOMlsqng_BOKj*gG^_fsJO1@qr1@p~5^|HZ6oq^`8)mxSa^I1C2 zDbQ1!fh6?Tmfo^<#+MH^u+ohf=;-&mRt;8w|4t9pXfp=VyQI9EWARtEYdUq!cg=Uk zd0MHv?k`{nme=oo$;BI= z)1Cx?+^ycwXUnHghS1*d>3dTLhvtG^3p$*1G6dv=`?94YrjLvJj}0-{=je!<%X6p1 zdn+D;9FENG*$6#h@|ELfUjLn2to-8orH{FItBC%rvSvD3n4bPh>JgmrZkLgEvW$+T zrCX%W)o}4@%N4^9j?>Y8?j^zG3t%Uw8tDpMrX#_m$8rV*T)a^3Vd|Vybd=)Qt2~&; z#j<8zca&m4zsBra)el${spjlSgnbozsV~n0{Dfo0zHtoLcey!QAFANGUx;MF7+*S~ zuq%AOZM~j19qB%M{mdTj7YaD{%eS+n9VYEGi9hi146qRM z`AF%U@|CnP|7-J|U4D4;br|2@q58H-{X^;}YAi~Bk@}6)f24jiQu3|j>rd+0BwtCs zlX5}I4JlWo-2H=#okI-Y|DmuT?FeaSNIOK@DbkLS_yHe^DL!QTcw38uO(tdTqxC!G z61)HG62%8nUP*Z-<(=FQB+jJWBJCP!_ei}!&3(9uHeF4hfyC4^mAZwUF+0Vo&Y8tP zp=&A@9{9q=%?Z!7Ba9j7^;-{xz;|3st<6PcyOvBd7YADI*!{$uf!06oTmJ9~7q{+_ z`d$Zm@rA;;O`B`Ec*V}b<)6kgP|xFtoP{^J_||oU2k*M*Xw8%HwT)$5EM49lGXD9$ z`<2|!B!0k$68IwiexP(Fr32eX=K3qrIIcbKKR&3!ef$r(F7ciTTKsj(9ki9^ubae$ z#EsOqq&_C~wL{>3!*;NbZJMHvy-4=xVKR8ZC4#z1oS#OC>Zrci?5fh`9cUE>R#$O0+AQyeXQr=s9mc{pE>{^$2=dF zfc^6F;b-|$CIdwUhJ4&o&Bc|CHhBwyo)Tr(YQH0K(o&6HQEK&>+Lc=Me8xp{T~t{ zl5pKhRWu=R%**av>h=Gj<3E=xXwXDhv zF3vm>{Ye>Uah=m81`t;V?7vye1AQ?oer3xlh^s#=2>A463*0Yto2DHQ|o%8u`;P+=9_|lDZ)x1b)R&JSUgAt>mIr@=l^{8*=O!KXySD6@3UtWH z`E{$o&lL%aoZ<%fskE>7#=A&II$VDm3w}TTn3r|+h*ZfTe3DB+9x zJ{5SrfT+8~r0aB~Nw19$hxO<(O5!yj&gf7K70Q75@_a)$#~;$sr(bKnZ2X_c_)3TF` z^;R%yO@MzVR&ZkG?S}P#@t}S0p(8KU8XmY8PLhBWmzE`4EAEx zbKmYOFyDt0llQ9u{xa!@Q`W$Gkp82Z&9~`DVfCyWJy^eItF6JIO32IH+MLm!z{N(> z3!2B3($O@bDT^x)!TrC2a~kvMXm)_v!A`h-UR$YXP9`1U=Q$dyfDSu3Q}jPsZ|G513+Bb*K=WViGap^?8iiC>4zineERn0hSg_=%Z no;x<;@7OaPidbQ(uJ}ms!1$EKR)~6bu&uN0+htaW9RL3Tq$AT; literal 0 HcmV?d00001 diff --git a/obbba_district_impacts/ny_congressional_district_impacts.ipynb b/obbba_district_impacts/ny_congressional_district_impacts.ipynb new file mode 100644 index 0000000..cbfb36d --- /dev/null +++ b/obbba_district_impacts/ny_congressional_district_impacts.ipynb @@ -0,0 +1,1890 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 10, + "id": "1", + "metadata": {}, + "outputs": [], + "source": [ + "from policyengine_us import Microsimulation\n", + "from policyengine_core.reforms import Reform" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "fqndbt28fta", + "metadata": {}, + "outputs": [], + "source": [ + "reform = Reform.from_dict({\n", + " \"gov.irs.credits.estate.base\": {\n", + " \"2026-01-01.2026-12-31\": 6790000,\n", + " \"2027-01-01.2027-12-31\": 6960000,\n", + " \"2028-01-01.2028-12-31\": 7100000,\n", + " \"2029-01-01.2029-12-31\": 7240000,\n", + " \"2030-01-01.2030-12-31\": 7390000,\n", + " \"2031-01-01.2031-12-31\": 7530000,\n", + " \"2032-01-01.2032-12-31\": 7680000,\n", + " \"2033-01-01.2033-12-31\": 7830000,\n", + " \"2034-01-01.2034-12-31\": 7990000,\n", + " \"2035-01-01.2100-12-31\": 8150000\n", + " },\n", + " \"gov.irs.income.bracket.rates.2\": {\n", + " \"2025-01-01.2100-12-31\": 0.15\n", + " },\n", + " \"gov.irs.income.bracket.rates.3\": {\n", + " \"2025-01-01.2100-12-31\": 0.25\n", + " },\n", + " \"gov.irs.income.bracket.rates.4\": {\n", + " \"2025-01-01.2100-12-31\": 0.28\n", + " },\n", + " \"gov.irs.income.bracket.rates.5\": {\n", + " \"2025-01-01.2100-12-31\": 0.33\n", + " },\n", + " \"gov.irs.income.bracket.rates.7\": {\n", + " \"2025-01-01.2100-12-31\": 0.396\n", + " },\n", + " \"gov.irs.deductions.qbi.max.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.income.exemption.amount\": {\n", + " \"2026-01-01.2026-12-31\": 5300,\n", + " \"2027-01-01.2027-12-31\": 5400,\n", + " \"2028-01-01.2028-12-31\": 5500,\n", + " \"2029-01-01.2029-12-31\": 5650,\n", + " \"2030-01-01.2030-12-31\": 5750,\n", + " \"2031-01-01.2031-12-31\": 5850,\n", + " \"2032-01-01.2032-12-31\": 5950,\n", + " \"2033-01-01.2033-12-31\": 6100,\n", + " \"2034-01-01.2034-12-31\": 6200,\n", + " \"2035-01-01.2100-12-31\": 6350\n", + " },\n", + " \"gov.irs.deductions.tip_income.cap\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.credits.cdcc.phase_out.max\": {\n", + " \"2026-01-01.2100-12-31\": 0.35\n", + " },\n", + " \"gov.irs.credits.cdcc.phase_out.min\": {\n", + " \"2026-01-01.2100-12-31\": 0.2\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.standard.amount.JOINT\": {\n", + " \"2025-01-01.2025-12-31\": 30000,\n", + " \"2026-01-01.2026-12-31\": 16600,\n", + " \"2027-01-01.2027-12-31\": 16900,\n", + " \"2028-01-01.2028-12-31\": 17300,\n", + " \"2029-01-01.2029-12-31\": 17600,\n", + " \"2030-01-01.2030-12-31\": 18000,\n", + " \"2031-01-01.2031-12-31\": 18300,\n", + " \"2032-01-01.2032-12-31\": 18700,\n", + " \"2033-01-01.2033-12-31\": 19000,\n", + " \"2034-01-01.2034-12-31\": 19400,\n", + " \"2035-01-01.2100-12-31\": 19800\n", + " },\n", + " \"gov.irs.credits.ctc.amount.base[0].amount\": {\n", + " \"2025-01-01.2025-12-31\": 2000,\n", + " \"2026-01-01.2100-12-31\": 1000\n", + " },\n", + " \"gov.irs.deductions.auto_loan_interest.cap\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SINGLE\": {\n", + " \"2025-01-01.2025-12-31\": 15000,\n", + " \"2026-01-01.2026-12-31\": 8300,\n", + " \"2027-01-01.2027-12-31\": 8450,\n", + " \"2028-01-01.2028-12-31\": 8650,\n", + " \"2029-01-01.2029-12-31\": 8800,\n", + " \"2030-01-01.2030-12-31\": 9000,\n", + " \"2031-01-01.2031-12-31\": 9150,\n", + " \"2032-01-01.2032-12-31\": 9350,\n", + " \"2033-01-01.2033-12-31\": 9500,\n", + " \"2034-01-01.2034-12-31\": 9700,\n", + " \"2035-01-01.2100-12-31\": 9900\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 109800,\n", + " \"2027-01-01.2027-12-31\": 112100,\n", + " \"2028-01-01.2028-12-31\": 114400,\n", + " \"2029-01-01.2029-12-31\": 116700,\n", + " \"2030-01-01.2030-12-31\": 119000,\n", + " \"2031-01-01.2031-12-31\": 121300,\n", + " \"2032-01-01.2032-12-31\": 123700,\n", + " \"2033-01-01.2033-12-31\": 126200,\n", + " \"2034-01-01.2034-12-31\": 128700,\n", + " \"2035-01-01.2100-12-31\": 131200\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.1.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 24300,\n", + " \"2027-01-01.2027-12-31\": 24800,\n", + " \"2028-01-01.2028-12-31\": 25300,\n", + " \"2029-01-01.2029-12-31\": 25800,\n", + " \"2030-01-01.2030-12-31\": 26300,\n", + " \"2031-01-01.2031-12-31\": 26850,\n", + " \"2032-01-01.2032-12-31\": 27350,\n", + " \"2033-01-01.2033-12-31\": 27900,\n", + " \"2034-01-01.2034-12-31\": 28450,\n", + " \"2035-01-01.2100-12-31\": 29000\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.2.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 98600,\n", + " \"2027-01-01.2027-12-31\": 100700,\n", + " \"2028-01-01.2028-12-31\": 102800,\n", + " \"2029-01-01.2029-12-31\": 104800,\n", + " \"2030-01-01.2030-12-31\": 106900,\n", + " \"2031-01-01.2031-12-31\": 109000,\n", + " \"2032-01-01.2032-12-31\": 111100,\n", + " \"2033-01-01.2033-12-31\": 113300,\n", + " \"2034-01-01.2034-12-31\": 115600,\n", + " \"2035-01-01.2100-12-31\": 117900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 199000,\n", + " \"2027-01-01.2027-12-31\": 203250,\n", + " \"2028-01-01.2028-12-31\": 207350,\n", + " \"2029-01-01.2029-12-31\": 211450,\n", + " \"2030-01-01.2030-12-31\": 215600,\n", + " \"2031-01-01.2031-12-31\": 219900,\n", + " \"2032-01-01.2032-12-31\": 224250,\n", + " \"2033-01-01.2033-12-31\": 228700,\n", + " \"2034-01-01.2034-12-31\": 233200,\n", + " \"2035-01-01.2100-12-31\": 237850\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 303250,\n", + " \"2027-01-01.2027-12-31\": 309700,\n", + " \"2028-01-01.2028-12-31\": 315950,\n", + " \"2029-01-01.2029-12-31\": 322200,\n", + " \"2030-01-01.2030-12-31\": 328550,\n", + " \"2031-01-01.2031-12-31\": 335050,\n", + " \"2032-01-01.2032-12-31\": 341700,\n", + " \"2033-01-01.2033-12-31\": 348450,\n", + " \"2034-01-01.2034-12-31\": 355400,\n", + " \"2035-01-01.2100-12-31\": 362450\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 541550,\n", + " \"2027-01-01.2027-12-31\": 553050,\n", + " \"2028-01-01.2028-12-31\": 564200,\n", + " \"2029-01-01.2029-12-31\": 575400,\n", + " \"2030-01-01.2030-12-31\": 586750,\n", + " \"2031-01-01.2031-12-31\": 598350,\n", + " \"2032-01-01.2032-12-31\": 610200,\n", + " \"2033-01-01.2033-12-31\": 622300,\n", + " \"2034-01-01.2034-12-31\": 634650,\n", + " \"2035-01-01.2100-12-31\": 647250\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 611750,\n", + " \"2027-01-01.2027-12-31\": 624700,\n", + " \"2028-01-01.2028-12-31\": 637350,\n", + " \"2029-01-01.2029-12-31\": 649950,\n", + " \"2030-01-01.2030-12-31\": 662800,\n", + " \"2031-01-01.2031-12-31\": 675900,\n", + " \"2032-01-01.2032-12-31\": 689250,\n", + " \"2033-01-01.2033-12-31\": 702950,\n", + " \"2034-01-01.2034-12-31\": 716900,\n", + " \"2035-01-01.2100-12-31\": 731150\n", + " },\n", + " \"gov.irs.credits.ctc.amount.adult_dependent\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.senior_deduction.amount\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 70600,\n", + " \"2027-01-01.2027-12-31\": 72100,\n", + " \"2028-01-01.2028-12-31\": 73500,\n", + " \"2029-01-01.2029-12-31\": 75000,\n", + " \"2030-01-01.2030-12-31\": 76400,\n", + " \"2031-01-01.2031-12-31\": 78000,\n", + " \"2032-01-01.2032-12-31\": 79500,\n", + " \"2033-01-01.2033-12-31\": 81100,\n", + " \"2034-01-01.2034-12-31\": 82700,\n", + " \"2035-01-01.2100-12-31\": 84300\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.1.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 12150,\n", + " \"2027-01-01.2027-12-31\": 12400,\n", + " \"2028-01-01.2028-12-31\": 12650,\n", + " \"2029-01-01.2029-12-31\": 12900,\n", + " \"2030-01-01.2030-12-31\": 13150,\n", + " \"2031-01-01.2031-12-31\": 13425,\n", + " \"2032-01-01.2032-12-31\": 13675,\n", + " \"2033-01-01.2033-12-31\": 13950,\n", + " \"2034-01-01.2034-12-31\": 14225,\n", + " \"2035-01-01.2100-12-31\": 14500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.2.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 49300,\n", + " \"2027-01-01.2027-12-31\": 50350,\n", + " \"2028-01-01.2028-12-31\": 51400,\n", + " \"2029-01-01.2029-12-31\": 52400,\n", + " \"2030-01-01.2030-12-31\": 53450,\n", + " \"2031-01-01.2031-12-31\": 54500,\n", + " \"2032-01-01.2032-12-31\": 55550,\n", + " \"2033-01-01.2033-12-31\": 56650,\n", + " \"2034-01-01.2034-12-31\": 57800,\n", + " \"2035-01-01.2100-12-31\": 58950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 119400,\n", + " \"2027-01-01.2027-12-31\": 121950,\n", + " \"2028-01-01.2028-12-31\": 124400,\n", + " \"2029-01-01.2029-12-31\": 126900,\n", + " \"2030-01-01.2030-12-31\": 129400,\n", + " \"2031-01-01.2031-12-31\": 131950,\n", + " \"2032-01-01.2032-12-31\": 134550,\n", + " \"2033-01-01.2033-12-31\": 137200,\n", + " \"2034-01-01.2034-12-31\": 139950,\n", + " \"2035-01-01.2100-12-31\": 142750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 249100,\n", + " \"2027-01-01.2027-12-31\": 254400,\n", + " \"2028-01-01.2028-12-31\": 259550,\n", + " \"2029-01-01.2029-12-31\": 264650,\n", + " \"2030-01-01.2030-12-31\": 269900,\n", + " \"2031-01-01.2031-12-31\": 275250,\n", + " \"2032-01-01.2032-12-31\": 280700,\n", + " \"2033-01-01.2033-12-31\": 286250,\n", + " \"2034-01-01.2034-12-31\": 291900,\n", + " \"2035-01-01.2100-12-31\": 297750\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 541550,\n", + " \"2027-01-01.2027-12-31\": 553050,\n", + " \"2028-01-01.2028-12-31\": 564200,\n", + " \"2029-01-01.2029-12-31\": 575400,\n", + " \"2030-01-01.2030-12-31\": 586750,\n", + " \"2031-01-01.2031-12-31\": 598350,\n", + " \"2032-01-01.2032-12-31\": 610200,\n", + " \"2033-01-01.2033-12-31\": 622300,\n", + " \"2034-01-01.2034-12-31\": 634650,\n", + " \"2035-01-01.2100-12-31\": 647250\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 543800,\n", + " \"2027-01-01.2027-12-31\": 555300,\n", + " \"2028-01-01.2028-12-31\": 566500,\n", + " \"2029-01-01.2029-12-31\": 577700,\n", + " \"2030-01-01.2030-12-31\": 589150,\n", + " \"2031-01-01.2031-12-31\": 600800,\n", + " \"2032-01-01.2032-12-31\": 612700,\n", + " \"2033-01-01.2033-12-31\": 624850,\n", + " \"2034-01-01.2034-12-31\": 637250,\n", + " \"2035-01-01.2100-12-31\": 649900\n", + " },\n", + " \"gov.irs.deductions.itemized.casualty.active\": {\n", + " \"2026-01-01.2100-12-31\": True\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SEPARATE\": {\n", + " \"2025-01-01.2025-12-31\": 15000,\n", + " \"2026-01-01.2026-12-31\": 8300,\n", + " \"2027-01-01.2027-12-31\": 8450,\n", + " \"2028-01-01.2028-12-31\": 8650,\n", + " \"2029-01-01.2029-12-31\": 8800,\n", + " \"2030-01-01.2030-12-31\": 9000,\n", + " \"2031-01-01.2031-12-31\": 9150,\n", + " \"2032-01-01.2032-12-31\": 9350,\n", + " \"2033-01-01.2033-12-31\": 9500,\n", + " \"2034-01-01.2034-12-31\": 9700,\n", + " \"2035-01-01.2100-12-31\": 9900\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0.25\n", + " },\n", + " \"gov.irs.deductions.overtime_income.cap.JOINT\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.qbi.max.w2_wages.alt_rate\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 54900,\n", + " \"2027-01-01.2027-12-31\": 56050,\n", + " \"2028-01-01.2028-12-31\": 57200,\n", + " \"2029-01-01.2029-12-31\": 58350,\n", + " \"2030-01-01.2030-12-31\": 59500,\n", + " \"2031-01-01.2031-12-31\": 60650,\n", + " \"2032-01-01.2032-12-31\": 61850,\n", + " \"2033-01-01.2033-12-31\": 63100,\n", + " \"2034-01-01.2034-12-31\": 64350,\n", + " \"2035-01-01.2100-12-31\": 65600\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.1.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 12150,\n", + " \"2027-01-01.2027-12-31\": 12400,\n", + " \"2028-01-01.2028-12-31\": 12650,\n", + " \"2029-01-01.2029-12-31\": 12900,\n", + " \"2030-01-01.2030-12-31\": 13150,\n", + " \"2031-01-01.2031-12-31\": 13425,\n", + " \"2032-01-01.2032-12-31\": 13675,\n", + " \"2033-01-01.2033-12-31\": 13950,\n", + " \"2034-01-01.2034-12-31\": 14225,\n", + " \"2035-01-01.2100-12-31\": 14500\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.2.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 49300,\n", + " \"2027-01-01.2027-12-31\": 50350,\n", + " \"2028-01-01.2028-12-31\": 51400,\n", + " \"2029-01-01.2029-12-31\": 52400,\n", + " \"2030-01-01.2030-12-31\": 53450,\n", + " \"2031-01-01.2031-12-31\": 54500,\n", + " \"2032-01-01.2032-12-31\": 55550,\n", + " \"2033-01-01.2033-12-31\": 56650,\n", + " \"2034-01-01.2034-12-31\": 57800,\n", + " \"2035-01-01.2100-12-31\": 58950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 99500,\n", + " \"2027-01-01.2027-12-31\": 101625,\n", + " \"2028-01-01.2028-12-31\": 103675,\n", + " \"2029-01-01.2029-12-31\": 105725,\n", + " \"2030-01-01.2030-12-31\": 107800,\n", + " \"2031-01-01.2031-12-31\": 109950,\n", + " \"2032-01-01.2032-12-31\": 112125,\n", + " \"2033-01-01.2033-12-31\": 114350,\n", + " \"2034-01-01.2034-12-31\": 116600,\n", + " \"2035-01-01.2100-12-31\": 118925\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 151625,\n", + " \"2027-01-01.2027-12-31\": 154850,\n", + " \"2028-01-01.2028-12-31\": 157975,\n", + " \"2029-01-01.2029-12-31\": 161100,\n", + " \"2030-01-01.2030-12-31\": 164275,\n", + " \"2031-01-01.2031-12-31\": 167525,\n", + " \"2032-01-01.2032-12-31\": 170850,\n", + " \"2033-01-01.2033-12-31\": 174225,\n", + " \"2034-01-01.2034-12-31\": 177700,\n", + " \"2035-01-01.2100-12-31\": 181225\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 270775,\n", + " \"2027-01-01.2027-12-31\": 276525,\n", + " \"2028-01-01.2028-12-31\": 282100,\n", + " \"2029-01-01.2029-12-31\": 287700,\n", + " \"2030-01-01.2030-12-31\": 293375,\n", + " \"2031-01-01.2031-12-31\": 299175,\n", + " \"2032-01-01.2032-12-31\": 305100,\n", + " \"2033-01-01.2033-12-31\": 311150,\n", + " \"2034-01-01.2034-12-31\": 317325,\n", + " \"2035-01-01.2100-12-31\": 323625\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 305875,\n", + " \"2027-01-01.2027-12-31\": 312350,\n", + " \"2028-01-01.2028-12-31\": 318675,\n", + " \"2029-01-01.2029-12-31\": 324975,\n", + " \"2030-01-01.2030-12-31\": 331400,\n", + " \"2031-01-01.2031-12-31\": 337950,\n", + " \"2032-01-01.2032-12-31\": 344625,\n", + " \"2033-01-01.2033-12-31\": 351475,\n", + " \"2034-01-01.2034-12-31\": 358450,\n", + " \"2035-01-01.2100-12-31\": 365575\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 110000\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.individual_max\": {\n", + " \"2025-01-01.2025-12-31\": 1800,\n", + " \"2026-01-01.2100-12-31\": 1000\n", + " },\n", + " \"gov.irs.deductions.overtime_income.cap.SINGLE\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 75000\n", + " },\n", + " \"gov.irs.deductions.itemized.charity.ceiling.all\": {\n", + " \"2026-01-01.2100-12-31\": 0.5\n", + " },\n", + " \"gov.irs.deductions.overtime_income.cap.SEPARATE\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 55000\n", + " },\n", + " \"gov.irs.credits.ctc.adult_ssn_requirement_applies\": {\n", + " \"2025-01-01.2100-12-31\": False\n", + " },\n", + " \"gov.irs.credits.ctc.refundable.phase_in.threshold\": {\n", + " \"2026-01-01.2100-12-31\": 3000\n", + " },\n", + " \"gov.irs.deductions.itemized.charity.floor.applies\": {\n", + " \"2026-01-01.2100-12-31\": False\n", + " },\n", + " \"gov.irs.deductions.qbi.max.business_property.rate\": {\n", + " \"2026-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.JOINT\": {\n", + " \"2026-01-01.2026-12-31\": 209200,\n", + " \"2027-01-01.2027-12-31\": 213600,\n", + " \"2028-01-01.2028-12-31\": 217900,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226600,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235700,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2100-12-31\": 250000\n", + " },\n", + " \"gov.irs.deductions.standard.amount.SURVIVING_SPOUSE\": {\n", + " \"2025-01-01.2025-12-31\": 30000,\n", + " \"2026-01-01.2026-12-31\": 16600,\n", + " \"2027-01-01.2027-12-31\": 16900,\n", + " \"2028-01-01.2028-12-31\": 17300,\n", + " \"2029-01-01.2029-12-31\": 17600,\n", + " \"2030-01-01.2030-12-31\": 18000,\n", + " \"2031-01-01.2031-12-31\": 18300,\n", + " \"2032-01-01.2032-12-31\": 18700,\n", + " \"2033-01-01.2033-12-31\": 19000,\n", + " \"2034-01-01.2034-12-31\": 19400,\n", + " \"2035-01-01.2100-12-31\": 19800\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SINGLE\": {\n", + " \"2026-01-01.2026-12-31\": 156900,\n", + " \"2027-01-01.2027-12-31\": 160200,\n", + " \"2028-01-01.2028-12-31\": 163400,\n", + " \"2029-01-01.2029-12-31\": 166700,\n", + " \"2030-01-01.2030-12-31\": 170000,\n", + " \"2031-01-01.2031-12-31\": 173300,\n", + " \"2032-01-01.2032-12-31\": 176800,\n", + " \"2033-01-01.2033-12-31\": 180300,\n", + " \"2034-01-01.2034-12-31\": 183800,\n", + " \"2035-01-01.2100-12-31\": 187500\n", + " },\n", + " \"gov.irs.deductions.standard.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2025-01-01.2025-12-31\": 22500,\n", + " \"2026-01-01.2026-12-31\": 12150,\n", + " \"2027-01-01.2027-12-31\": 12400,\n", + " \"2028-01-01.2028-12-31\": 12650,\n", + " \"2029-01-01.2029-12-31\": 12900,\n", + " \"2030-01-01.2030-12-31\": 13200,\n", + " \"2031-01-01.2031-12-31\": 13450,\n", + " \"2032-01-01.2032-12-31\": 13700,\n", + " \"2033-01-01.2033-12-31\": 14000,\n", + " \"2034-01-01.2034-12-31\": 14250,\n", + " \"2035-01-01.2100-12-31\": 14550\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 109800,\n", + " \"2027-01-01.2027-12-31\": 112100,\n", + " \"2028-01-01.2028-12-31\": 114400,\n", + " \"2029-01-01.2029-12-31\": 116700,\n", + " \"2030-01-01.2030-12-31\": 119000,\n", + " \"2031-01-01.2031-12-31\": 121300,\n", + " \"2032-01-01.2032-12-31\": 123700,\n", + " \"2033-01-01.2033-12-31\": 126200,\n", + " \"2034-01-01.2034-12-31\": 128700,\n", + " \"2035-01-01.2100-12-31\": 131200\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.1.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 24300,\n", + " \"2027-01-01.2027-12-31\": 24800,\n", + " \"2028-01-01.2028-12-31\": 25300,\n", + " \"2029-01-01.2029-12-31\": 25800,\n", + " \"2030-01-01.2030-12-31\": 26300,\n", + " \"2031-01-01.2031-12-31\": 26850,\n", + " \"2032-01-01.2032-12-31\": 27350,\n", + " \"2033-01-01.2033-12-31\": 27900,\n", + " \"2034-01-01.2034-12-31\": 28450,\n", + " \"2035-01-01.2100-12-31\": 29000\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.2.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 98600,\n", + " \"2027-01-01.2027-12-31\": 100700,\n", + " \"2028-01-01.2028-12-31\": 102800,\n", + " \"2029-01-01.2029-12-31\": 104800,\n", + " \"2030-01-01.2030-12-31\": 106900,\n", + " \"2031-01-01.2031-12-31\": 109000,\n", + " \"2032-01-01.2032-12-31\": 111100,\n", + " \"2033-01-01.2033-12-31\": 113300,\n", + " \"2034-01-01.2034-12-31\": 115600,\n", + " \"2035-01-01.2100-12-31\": 117900\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 199000,\n", + " \"2027-01-01.2027-12-31\": 203250,\n", + " \"2028-01-01.2028-12-31\": 207350,\n", + " \"2029-01-01.2029-12-31\": 211450,\n", + " \"2030-01-01.2030-12-31\": 215600,\n", + " \"2031-01-01.2031-12-31\": 219900,\n", + " \"2032-01-01.2032-12-31\": 224250,\n", + " \"2033-01-01.2033-12-31\": 228700,\n", + " \"2034-01-01.2034-12-31\": 233200,\n", + " \"2035-01-01.2100-12-31\": 237850\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 303250,\n", + " \"2027-01-01.2027-12-31\": 309700,\n", + " \"2028-01-01.2028-12-31\": 315950,\n", + " \"2029-01-01.2029-12-31\": 322200,\n", + " \"2030-01-01.2030-12-31\": 328550,\n", + " \"2031-01-01.2031-12-31\": 335050,\n", + " \"2032-01-01.2032-12-31\": 341700,\n", + " \"2033-01-01.2033-12-31\": 348450,\n", + " \"2034-01-01.2034-12-31\": 355400,\n", + " \"2035-01-01.2100-12-31\": 362450\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 541550,\n", + " \"2027-01-01.2027-12-31\": 553050,\n", + " \"2028-01-01.2028-12-31\": 564200,\n", + " \"2029-01-01.2029-12-31\": 575400,\n", + " \"2030-01-01.2030-12-31\": 586750,\n", + " \"2031-01-01.2031-12-31\": 598350,\n", + " \"2032-01-01.2032-12-31\": 610200,\n", + " \"2033-01-01.2033-12-31\": 622300,\n", + " \"2034-01-01.2034-12-31\": 634650,\n", + " \"2035-01-01.2100-12-31\": 647250\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 611750,\n", + " \"2027-01-01.2027-12-31\": 624700,\n", + " \"2028-01-01.2028-12-31\": 637350,\n", + " \"2029-01-01.2029-12-31\": 649950,\n", + " \"2030-01-01.2030-12-31\": 662800,\n", + " \"2031-01-01.2031-12-31\": 675900,\n", + " \"2032-01-01.2032-12-31\": 689250,\n", + " \"2033-01-01.2033-12-31\": 702950,\n", + " \"2034-01-01.2034-12-31\": 716900,\n", + " \"2035-01-01.2100-12-31\": 731150\n", + " },\n", + " \"gov.irs.income.amt.exemption.amount.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 70600,\n", + " \"2027-01-01.2027-12-31\": 72100,\n", + " \"2028-01-01.2028-12-31\": 73500,\n", + " \"2029-01-01.2029-12-31\": 75000,\n", + " \"2030-01-01.2030-12-31\": 76400,\n", + " \"2031-01-01.2031-12-31\": 78000,\n", + " \"2032-01-01.2032-12-31\": 79500,\n", + " \"2033-01-01.2033-12-31\": 81100,\n", + " \"2034-01-01.2034-12-31\": 82700,\n", + " \"2035-01-01.2100-12-31\": 84300\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SEPARATE\": {\n", + " \"2026-01-01.2026-12-31\": 104600,\n", + " \"2027-01-01.2027-12-31\": 106800,\n", + " \"2028-01-01.2028-12-31\": 108950,\n", + " \"2029-01-01.2029-12-31\": 111100,\n", + " \"2030-01-01.2030-12-31\": 113300,\n", + " \"2031-01-01.2031-12-31\": 115550,\n", + " \"2032-01-01.2032-12-31\": 117850,\n", + " \"2033-01-01.2033-12-31\": 120150,\n", + " \"2034-01-01.2034-12-31\": 122550,\n", + " \"2035-01-01.2100-12-31\": 125000\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.1.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 17350,\n", + " \"2027-01-01.2027-12-31\": 17700,\n", + " \"2028-01-01.2028-12-31\": 18050,\n", + " \"2029-01-01.2029-12-31\": 18400,\n", + " \"2030-01-01.2030-12-31\": 18800,\n", + " \"2031-01-01.2031-12-31\": 19150,\n", + " \"2032-01-01.2032-12-31\": 19550,\n", + " \"2033-01-01.2033-12-31\": 19900,\n", + " \"2034-01-01.2034-12-31\": 20300,\n", + " \"2035-01-01.2100-12-31\": 20700\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.2.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 66050,\n", + " \"2027-01-01.2027-12-31\": 67450,\n", + " \"2028-01-01.2028-12-31\": 68850,\n", + " \"2029-01-01.2029-12-31\": 70200,\n", + " \"2030-01-01.2030-12-31\": 71550,\n", + " \"2031-01-01.2031-12-31\": 73000,\n", + " \"2032-01-01.2032-12-31\": 74450,\n", + " \"2033-01-01.2033-12-31\": 75900,\n", + " \"2034-01-01.2034-12-31\": 77400,\n", + " \"2035-01-01.2100-12-31\": 78950\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.3.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 170550,\n", + " \"2027-01-01.2027-12-31\": 174150,\n", + " \"2028-01-01.2028-12-31\": 177700,\n", + " \"2029-01-01.2029-12-31\": 181200,\n", + " \"2030-01-01.2030-12-31\": 184800,\n", + " \"2031-01-01.2031-12-31\": 188450,\n", + " \"2032-01-01.2032-12-31\": 192150,\n", + " \"2033-01-01.2033-12-31\": 195950,\n", + " \"2034-01-01.2034-12-31\": 199850,\n", + " \"2035-01-01.2100-12-31\": 203850\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.4.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 276200,\n", + " \"2027-01-01.2027-12-31\": 282050,\n", + " \"2028-01-01.2028-12-31\": 287750,\n", + " \"2029-01-01.2029-12-31\": 293450,\n", + " \"2030-01-01.2030-12-31\": 299250,\n", + " \"2031-01-01.2031-12-31\": 305150,\n", + " \"2032-01-01.2032-12-31\": 311200,\n", + " \"2033-01-01.2033-12-31\": 317350,\n", + " \"2034-01-01.2034-12-31\": 323650,\n", + " \"2035-01-01.2100-12-31\": 330100\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.5.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 541550,\n", + " \"2027-01-01.2027-12-31\": 553050,\n", + " \"2028-01-01.2028-12-31\": 564200,\n", + " \"2029-01-01.2029-12-31\": 575400,\n", + " \"2030-01-01.2030-12-31\": 586750,\n", + " \"2031-01-01.2031-12-31\": 598350,\n", + " \"2032-01-01.2032-12-31\": 610200,\n", + " \"2033-01-01.2033-12-31\": 622300,\n", + " \"2034-01-01.2034-12-31\": 634650,\n", + " \"2035-01-01.2100-12-31\": 647250\n", + " },\n", + " \"gov.irs.income.bracket.thresholds.6.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 577750,\n", + " \"2027-01-01.2027-12-31\": 590000,\n", + " \"2028-01-01.2028-12-31\": 601950,\n", + " \"2029-01-01.2029-12-31\": 613850,\n", + " \"2030-01-01.2030-12-31\": 625950,\n", + " \"2031-01-01.2031-12-31\": 638350,\n", + " \"2032-01-01.2032-12-31\": 651000,\n", + " \"2033-01-01.2033-12-31\": 663900,\n", + " \"2034-01-01.2034-12-31\": 677050,\n", + " \"2035-01-01.2100-12-31\": 690500\n", + " },\n", + " \"gov.irs.deductions.itemized.interest.mortgage.cap.JOINT\": {\n", + " \"2026-01-01.2100-12-31\": 1000000\n", + " },\n", + " \"gov.irs.deductions.overtime_income.cap.SURVIVING_SPOUSE\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.qbi.deduction_floor.amount[1].amount\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.credits.cdcc.phase_out.amended_structure.applies\": {\n", + " \"2026-01-01.2100-12-31\": False\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2100-12-31\": 75000\n", + " },\n", + " \"gov.irs.deductions.itemized.interest.mortgage.cap.SINGLE\": {\n", + " \"2026-01-01.2100-12-31\": 1000000\n", + " },\n", + " \"gov.irs.deductions.overtime_income.cap.HEAD_OF_HOUSEHOLD\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.credits.ctc.phase_out.threshold.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2100-12-31\": 75000\n", + " },\n", + " \"gov.irs.deductions.itemized.interest.mortgage.cap.SEPARATE\": {\n", + " \"2026-01-01.2100-12-31\": 500000\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.HEAD_OF_HOUSEHOLD\": {\n", + " \"2026-01-01.2026-12-31\": 156900,\n", + " \"2027-01-01.2027-12-31\": 160200,\n", + " \"2028-01-01.2028-12-31\": 163400,\n", + " \"2029-01-01.2029-12-31\": 166700,\n", + " \"2030-01-01.2030-12-31\": 170000,\n", + " \"2031-01-01.2031-12-31\": 173300,\n", + " \"2032-01-01.2032-12-31\": 176800,\n", + " \"2033-01-01.2033-12-31\": 180300,\n", + " \"2034-01-01.2034-12-31\": 183800,\n", + " \"2035-01-01.2100-12-31\": 187500\n", + " },\n", + " \"gov.irs.income.amt.exemption.phase_out.start.SURVIVING_SPOUSE\": {\n", + " \"2026-01-01.2026-12-31\": 209200,\n", + " \"2027-01-01.2027-12-31\": 213600,\n", + " \"2028-01-01.2028-12-31\": 217900,\n", + " \"2029-01-01.2029-12-31\": 222200,\n", + " \"2030-01-01.2030-12-31\": 226600,\n", + " \"2031-01-01.2031-12-31\": 231100,\n", + " \"2032-01-01.2032-12-31\": 235700,\n", + " \"2033-01-01.2033-12-31\": 240300,\n", + " \"2034-01-01.2034-12-31\": 245100,\n", + " \"2035-01-01.2100-12-31\": 250000\n", + " }\n", + "}, \"policyengine_us\")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "2", + "metadata": {}, + "outputs": [], + "source": [ + "# Create baseline and reformed simulations\n", + "# Baseline = with the reform, Reformed = current law (without reform)\n", + "baseline = Microsimulation(dataset=\"hf://policyengine/test/NY.h5\", reform=reform)\n", + "reformed = Microsimulation(dataset=\"hf://policyengine/test/NY.h5\")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "3", + "metadata": {}, + "outputs": [], + "source": [ + "# Calculate household net income for both simulations\n", + "baseline_income = baseline.calculate(\"household_net_income\", period=2026)\n", + "reformed_income = reformed.calculate(\"household_net_income\", period=2026)\n", + "difference_income = reformed_income - baseline_income" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "aeyeb2uolqi", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dataframe has 31629 rows\n" + ] + } + ], + "source": [ + "# Create dataframe with all relevant information\n", + "# map_to='household' automatically includes 'household_weight' in the dataframe\n", + "df = baseline.calculate_dataframe(\n", + " ['household_id', 'state_fips', 'congressional_district_geoid', 'household_weight'], \n", + " map_to='household'\n", + ")\n", + "\n", + "# Rename household_weight to weight for convenience (not creating a duplicate)\n", + "df = df.rename(columns={'household_weight': 'weight'})\n", + "\n", + "# Add income columns to dataframe (these are NOT weighted, just raw values)\n", + "df['baseline_income'] = baseline_income\n", + "df['reformed_income'] = reformed_income\n", + "df['income_change'] = difference_income\n", + "\n", + "# Verify we're not double counting\n", + "print(f\"Dataframe has {len(df)} rows\")" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Columns in dataframe: ['household_id', 'state_fips', 'congressional_district_geoid', 'weight', 'baseline_income', 'reformed_income', 'income_change']\n", + "\n", + "Total rows: 31629\n", + "\n", + "First few rows:\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
household_idstate_fipscongressional_district_geoidweightbaseline_incomereformed_incomeincome_change
0180000036360174.14440243778.38281243778.3828120.000000
11800001363601192.84709256949.12500056949.1250000.000000
2180000236360137.88412975.00000075.0000000.000000
3180000336360181.096626275199.937500295848.50000020648.562500
41800004363601196.057053180703.937500184628.2968753924.359375
5180000536360167.776245410960.343750410653.718750-306.625000
6180000636360185.61055872823.35156272823.3515620.000000
7180000736360120.029324127268.171875128712.8281251444.656250
81800008363601159.86349523696.17968823696.1796880.000000
91800009363601123.849129329378.031250334942.0937505564.062500
\n", + "
" + ], + "text/plain": [ + " household_id state_fips congressional_district_geoid weight \\\n", + "0 1800000 36 3601 74.144402 \n", + "1 1800001 36 3601 192.847092 \n", + "2 1800002 36 3601 37.884129 \n", + "3 1800003 36 3601 81.096626 \n", + "4 1800004 36 3601 196.057053 \n", + "5 1800005 36 3601 67.776245 \n", + "6 1800006 36 3601 85.610558 \n", + "7 1800007 36 3601 20.029324 \n", + "8 1800008 36 3601 159.863495 \n", + "9 1800009 36 3601 123.849129 \n", + "\n", + " baseline_income reformed_income income_change \n", + "0 43778.382812 43778.382812 0.000000 \n", + "1 56949.125000 56949.125000 0.000000 \n", + "2 75.000000 75.000000 0.000000 \n", + "3 275199.937500 295848.500000 20648.562500 \n", + "4 180703.937500 184628.296875 3924.359375 \n", + "5 410960.343750 410653.718750 -306.625000 \n", + "6 72823.351562 72823.351562 0.000000 \n", + "7 127268.171875 128712.828125 1444.656250 \n", + "8 23696.179688 23696.179688 0.000000 \n", + "9 329378.031250 334942.093750 5564.062500 " + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Display the dataframe with columns and check for duplicates\n", + "print(\"Columns in dataframe:\", df.columns.tolist())\n", + "print(f\"\\nTotal rows: {len(df)}\")\n", + "print(f\"\\nFirst few rows:\")\n", + "df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sample_sizeavg_baseline_incomeavg_reformed_incomeavg_income_changetotal_income_change
congressional_district_geoid
36011617.0143845.171875148153.4062504308.2324226.966412e+06
36021419.0110839.648438113832.4218752992.7800294.246755e+06
36031690.0164515.906250169924.9687505409.0668959.141323e+06
36041496.0126062.164062129620.1093753557.9514165.322696e+06
3605892.083690.32031285331.4296881641.1000981.463861e+06
3606887.086829.45312588802.6484381973.1939701.750223e+06
36071186.0127848.320312132043.0937504194.7724614.975000e+06
36081067.0100501.953125103051.6953122549.7453612.720578e+06
36091264.0138191.859375142586.1718754394.2998055.554395e+06
36101387.0175475.984375181719.8750006243.8959968.660284e+06
36111398.0131290.796875135457.2656254166.4433595.824688e+06
36121440.0242408.218750251282.4843758874.2734381.277895e+07
3613869.088758.70312590908.8203122150.1230471.868457e+06
36141016.099821.906250102682.8828122860.9841312.906760e+06
3615874.099412.234375101974.4843752562.2519532.239408e+06
36161602.0155516.406250160661.1718755144.7675788.241918e+06
36171470.0138431.265625142728.3437504297.0703126.316694e+06
36181438.0113723.257812116897.4453123174.1918954.564488e+06
36191060.093198.76562595462.4609382263.7001952.399522e+06
36201302.0110184.210938113267.3906253083.1918954.014316e+06
36211012.086811.21093888742.9062501931.7066651.954887e+06
36221048.088847.53906290992.5234382144.9846192.247944e+06
36231004.088731.45312590741.1328122009.6848142.017724e+06
36241013.091033.56250093158.6015622125.0400392.152666e+06
36251138.095898.09375098287.6875002389.5964362.719361e+06
36261040.086841.66406288932.6328122090.9655762.174604e+06
\n", + "
" + ], + "text/plain": [ + " sample_size avg_baseline_income \\\n", + "congressional_district_geoid \n", + "3601 1617.0 143845.171875 \n", + "3602 1419.0 110839.648438 \n", + "3603 1690.0 164515.906250 \n", + "3604 1496.0 126062.164062 \n", + "3605 892.0 83690.320312 \n", + "3606 887.0 86829.453125 \n", + "3607 1186.0 127848.320312 \n", + "3608 1067.0 100501.953125 \n", + "3609 1264.0 138191.859375 \n", + "3610 1387.0 175475.984375 \n", + "3611 1398.0 131290.796875 \n", + "3612 1440.0 242408.218750 \n", + "3613 869.0 88758.703125 \n", + "3614 1016.0 99821.906250 \n", + "3615 874.0 99412.234375 \n", + "3616 1602.0 155516.406250 \n", + "3617 1470.0 138431.265625 \n", + "3618 1438.0 113723.257812 \n", + "3619 1060.0 93198.765625 \n", + "3620 1302.0 110184.210938 \n", + "3621 1012.0 86811.210938 \n", + "3622 1048.0 88847.539062 \n", + "3623 1004.0 88731.453125 \n", + "3624 1013.0 91033.562500 \n", + "3625 1138.0 95898.093750 \n", + "3626 1040.0 86841.664062 \n", + "\n", + " avg_reformed_income avg_income_change \\\n", + "congressional_district_geoid \n", + "3601 148153.406250 4308.232422 \n", + "3602 113832.421875 2992.780029 \n", + "3603 169924.968750 5409.066895 \n", + "3604 129620.109375 3557.951416 \n", + "3605 85331.429688 1641.100098 \n", + "3606 88802.648438 1973.193970 \n", + "3607 132043.093750 4194.772461 \n", + "3608 103051.695312 2549.745361 \n", + "3609 142586.171875 4394.299805 \n", + "3610 181719.875000 6243.895996 \n", + "3611 135457.265625 4166.443359 \n", + "3612 251282.484375 8874.273438 \n", + "3613 90908.820312 2150.123047 \n", + "3614 102682.882812 2860.984131 \n", + "3615 101974.484375 2562.251953 \n", + "3616 160661.171875 5144.767578 \n", + "3617 142728.343750 4297.070312 \n", + "3618 116897.445312 3174.191895 \n", + "3619 95462.460938 2263.700195 \n", + "3620 113267.390625 3083.191895 \n", + "3621 88742.906250 1931.706665 \n", + "3622 90992.523438 2144.984619 \n", + "3623 90741.132812 2009.684814 \n", + "3624 93158.601562 2125.040039 \n", + "3625 98287.687500 2389.596436 \n", + "3626 88932.632812 2090.965576 \n", + "\n", + " total_income_change \n", + "congressional_district_geoid \n", + "3601 6.966412e+06 \n", + "3602 4.246755e+06 \n", + "3603 9.141323e+06 \n", + "3604 5.322696e+06 \n", + "3605 1.463861e+06 \n", + "3606 1.750223e+06 \n", + "3607 4.975000e+06 \n", + "3608 2.720578e+06 \n", + "3609 5.554395e+06 \n", + "3610 8.660284e+06 \n", + "3611 5.824688e+06 \n", + "3612 1.277895e+07 \n", + "3613 1.868457e+06 \n", + "3614 2.906760e+06 \n", + "3615 2.239408e+06 \n", + "3616 8.241918e+06 \n", + "3617 6.316694e+06 \n", + "3618 4.564488e+06 \n", + "3619 2.399522e+06 \n", + "3620 4.014316e+06 \n", + "3621 1.954887e+06 \n", + "3622 2.247944e+06 \n", + "3623 2.017724e+06 \n", + "3624 2.152666e+06 \n", + "3625 2.719361e+06 \n", + "3626 2.174604e+06 " + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Analyze impact by congressional district\n", + "import pandas as pd\n", + "\n", + "district_impacts = df.groupby('congressional_district_geoid').apply(\n", + " lambda x: pd.Series({\n", + " 'sample_size': len(x),\n", + " 'avg_baseline_income': x['baseline_income'].mean(),\n", + " 'avg_reformed_income': x['reformed_income'].mean(),\n", + " 'avg_income_change': x['income_change'].mean(),\n", + " 'total_income_change': x['income_change'].sum()\n", + " })\n", + ")\n", + "\n", + "district_impacts" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "xjb173w5h3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sample_sizeavg_baseline_incomeavg_reformed_incomeavg_income_changetotal_income_change
congressional_district_geoid
36121440.0242408.218750251282.4843758874.2734381.277895e+07
36101387.0175475.984375181719.8750006243.8959968.660284e+06
36031690.0164515.906250169924.9687505409.0668959.141323e+06
36161602.0155516.406250160661.1718755144.7675788.241918e+06
36091264.0138191.859375142586.1718754394.2998055.554395e+06
36011617.0143845.171875148153.4062504308.2324226.966412e+06
36171470.0138431.265625142728.3437504297.0703126.316694e+06
36071186.0127848.320312132043.0937504194.7724614.975000e+06
36111398.0131290.796875135457.2656254166.4433595.824688e+06
36041496.0126062.164062129620.1093753557.9514165.322696e+06
36181438.0113723.257812116897.4453123174.1918954.564488e+06
36201302.0110184.210938113267.3906253083.1918954.014316e+06
36021419.0110839.648438113832.4218752992.7800294.246755e+06
36141016.099821.906250102682.8828122860.9841312.906760e+06
3615874.099412.234375101974.4843752562.2519532.239408e+06
36081067.0100501.953125103051.6953122549.7453612.720578e+06
36251138.095898.09375098287.6875002389.5964362.719361e+06
36191060.093198.76562595462.4609382263.7001952.399522e+06
3613869.088758.70312590908.8203122150.1230471.868457e+06
36221048.088847.53906290992.5234382144.9846192.247944e+06
36241013.091033.56250093158.6015622125.0400392.152666e+06
36261040.086841.66406288932.6328122090.9655762.174604e+06
36231004.088731.45312590741.1328122009.6848142.017724e+06
3606887.086829.45312588802.6484381973.1939701.750223e+06
36211012.086811.21093888742.9062501931.7066651.954887e+06
3605892.083690.32031285331.4296881641.1000981.463861e+06
\n", + "
" + ], + "text/plain": [ + " sample_size avg_baseline_income \\\n", + "congressional_district_geoid \n", + "3612 1440.0 242408.218750 \n", + "3610 1387.0 175475.984375 \n", + "3603 1690.0 164515.906250 \n", + "3616 1602.0 155516.406250 \n", + "3609 1264.0 138191.859375 \n", + "3601 1617.0 143845.171875 \n", + "3617 1470.0 138431.265625 \n", + "3607 1186.0 127848.320312 \n", + "3611 1398.0 131290.796875 \n", + "3604 1496.0 126062.164062 \n", + "3618 1438.0 113723.257812 \n", + "3620 1302.0 110184.210938 \n", + "3602 1419.0 110839.648438 \n", + "3614 1016.0 99821.906250 \n", + "3615 874.0 99412.234375 \n", + "3608 1067.0 100501.953125 \n", + "3625 1138.0 95898.093750 \n", + "3619 1060.0 93198.765625 \n", + "3613 869.0 88758.703125 \n", + "3622 1048.0 88847.539062 \n", + "3624 1013.0 91033.562500 \n", + "3626 1040.0 86841.664062 \n", + "3623 1004.0 88731.453125 \n", + "3606 887.0 86829.453125 \n", + "3621 1012.0 86811.210938 \n", + "3605 892.0 83690.320312 \n", + "\n", + " avg_reformed_income avg_income_change \\\n", + "congressional_district_geoid \n", + "3612 251282.484375 8874.273438 \n", + "3610 181719.875000 6243.895996 \n", + "3603 169924.968750 5409.066895 \n", + "3616 160661.171875 5144.767578 \n", + "3609 142586.171875 4394.299805 \n", + "3601 148153.406250 4308.232422 \n", + "3617 142728.343750 4297.070312 \n", + "3607 132043.093750 4194.772461 \n", + "3611 135457.265625 4166.443359 \n", + "3604 129620.109375 3557.951416 \n", + "3618 116897.445312 3174.191895 \n", + "3620 113267.390625 3083.191895 \n", + "3602 113832.421875 2992.780029 \n", + "3614 102682.882812 2860.984131 \n", + "3615 101974.484375 2562.251953 \n", + "3608 103051.695312 2549.745361 \n", + "3625 98287.687500 2389.596436 \n", + "3619 95462.460938 2263.700195 \n", + "3613 90908.820312 2150.123047 \n", + "3622 90992.523438 2144.984619 \n", + "3624 93158.601562 2125.040039 \n", + "3626 88932.632812 2090.965576 \n", + "3623 90741.132812 2009.684814 \n", + "3606 88802.648438 1973.193970 \n", + "3621 88742.906250 1931.706665 \n", + "3605 85331.429688 1641.100098 \n", + "\n", + " total_income_change \n", + "congressional_district_geoid \n", + "3612 1.277895e+07 \n", + "3610 8.660284e+06 \n", + "3603 9.141323e+06 \n", + "3616 8.241918e+06 \n", + "3609 5.554395e+06 \n", + "3601 6.966412e+06 \n", + "3617 6.316694e+06 \n", + "3607 4.975000e+06 \n", + "3611 5.824688e+06 \n", + "3604 5.322696e+06 \n", + "3618 4.564488e+06 \n", + "3620 4.014316e+06 \n", + "3602 4.246755e+06 \n", + "3614 2.906760e+06 \n", + "3615 2.239408e+06 \n", + "3608 2.720578e+06 \n", + "3625 2.719361e+06 \n", + "3619 2.399522e+06 \n", + "3613 1.868457e+06 \n", + "3622 2.247944e+06 \n", + "3624 2.152666e+06 \n", + "3626 2.174604e+06 \n", + "3623 2.017724e+06 \n", + "3606 1.750223e+06 \n", + "3621 1.954887e+06 \n", + "3605 1.463861e+06 " + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Sort districts by total income change to see which are most affected\n", + "district_impacts_sorted = district_impacts.sort_values('avg_income_change', ascending=False)\n", + "district_impacts_sorted" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "ivjjvnw38dh", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To use this visualization, you need to download the HexCDv31 shapefile folder from:\n", + "https://github.com/PolicyEngine/Congressional-Hackathon-2025/tree/ben-hacks/PolicyEngine/HexCDv31\n", + "Extract it to the 'obbba_district_impacts' directory\n" + ] + } + ], + "source": [ + "# Download and prepare hexagon shapefiles for visualization\n", + "import urllib.request\n", + "import zipfile\n", + "import os\n", + "\n", + "# Create directory for shapefiles if it doesn't exist\n", + "os.makedirs('HexCDv31', exist_ok=True)\n", + "\n", + "# Download the hexagon shapefile\n", + "shapefile_url = 'https://github.com/PolicyEngine/Congressional-Hackathon-2025/raw/ben-hacks/PolicyEngine/HexCDv31.zip'\n", + "\n", + "# Note: You may need to manually download from the repo if this fails\n", + "# Download link: https://github.com/PolicyEngine/Congressional-Hackathon-2025/tree/ben-hacks/PolicyEngine/HexCDv31\n", + "\n", + "print(\"To use this visualization, you need to download the HexCDv31 shapefile folder from:\")\n", + "print(\"https://github.com/PolicyEngine/Congressional-Hackathon-2025/tree/ben-hacks/PolicyEngine/HexCDv31\")\n", + "print(\"Extract it to the 'obbba_district_impacts' directory\")" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "iwexbldeti", + "metadata": {}, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'geopandas'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[36], line 2\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;66;03m# Create NY congressional district map visualization\u001b[39;00m\n\u001b[1;32m----> 2\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mgeopandas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mgpd\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mmatplotlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpyplot\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mplt\u001b[39;00m\n\u001b[0;32m 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mnumpy\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mnp\u001b[39;00m\n", + "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'geopandas'" + ] + } + ], + "source": [ + "# Create NY congressional district map visualization\n", + "import geopandas as gpd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "# Load the hexagon shapefile\n", + "hex_gdf = gpd.read_file('HexCDv31/HexCDv31.shp')\n", + "\n", + "# Convert GEOID to integer for merging\n", + "hex_gdf['cd_geoid'] = hex_gdf['GEOID'].astype(int)\n", + "\n", + "# Filter to only NY districts (state FIPS code 36)\n", + "ny_hex = hex_gdf[hex_gdf['GEOID'].str.startswith('36')].copy()\n", + "\n", + "print(f\"Found {len(ny_hex)} NY congressional districts in shapefile\")\n", + "\n", + "# Prepare district impacts for merging\n", + "district_impacts_merge = district_impacts.reset_index()\n", + "district_impacts_merge['cd_geoid'] = district_impacts_merge['congressional_district_geoid'].astype(int)\n", + "\n", + "# Merge the geographic data with impact data\n", + "ny_map = ny_hex.merge(\n", + " district_impacts_merge[['cd_geoid', 'avg_income_change', 'sample_size']], \n", + " on='cd_geoid', \n", + " how='left'\n", + ")\n", + "\n", + "print(f\"\\nMerged data: {len(ny_map)} districts\")\n", + "print(f\"Districts with impact data: {ny_map['avg_income_change'].notna().sum()}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9xl9qp0qe3b", + "metadata": {}, + "outputs": [], + "source": [ + "# Plot NY congressional district income changes\n", + "fig, ax = plt.subplots(figsize=(12, 10))\n", + "\n", + "# Create the choropleth map\n", + "ny_map.plot(\n", + " column='avg_income_change',\n", + " cmap='RdYlGn', # Red for negative (income loss), Green for positive (income gain)\n", + " legend=True,\n", + " ax=ax,\n", + " edgecolor='black',\n", + " linewidth=0.5,\n", + " missing_kwds={'color': 'lightgray'}\n", + ")\n", + "\n", + "# Add district labels\n", + "for idx, row in ny_map.iterrows():\n", + " # Get the centroid of each district\n", + " centroid = row.geometry.centroid\n", + " # Extract district number from GEOID (last 2 digits)\n", + " district_num = str(row['GEOID'])[-2:]\n", + " ax.text(centroid.x, centroid.y, district_num, \n", + " fontsize=8, ha='center', va='center', weight='bold')\n", + "\n", + "ax.set_title('Average Change in Net Income by NY Congressional District\\n(Reform vs Current Law)', \n", + " fontsize=14, weight='bold')\n", + "ax.axis('off')\n", + "\n", + "plt.tight_layout()\n", + "plt.savefig('ny_district_income_impact.png', dpi=300, bbox_inches='tight')\n", + "plt.show()\n", + "\n", + "print(f\"\\nMap saved as 'ny_district_income_impact.png'\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1kcfqwyrsfm", + "metadata": {}, + "outputs": [], + "source": [ + "# Summary statistics for the map\n", + "print(\"NY Congressional District Income Impact Summary:\")\n", + "print(\"=\"*60)\n", + "print(f\"\\nMost negatively impacted (largest income loss):\")\n", + "top_losers = district_impacts_sorted.head(3)\n", + "for idx, row in top_losers.iterrows():\n", + " district_num = str(idx)[-2:]\n", + " print(f\" District {district_num}: ${row['avg_income_change']:,.2f}\")\n", + "\n", + "print(f\"\\nLeast impacted or gaining income:\")\n", + "top_gainers = district_impacts_sorted.tail(3)\n", + "for idx, row in top_gainers.iterrows():\n", + " district_num = str(idx)[-2:]\n", + " print(f\" District {district_num}: ${row['avg_income_change']:,.2f}\")\n", + "\n", + "print(f\"\\nOverall statistics:\")\n", + "print(f\" Mean impact: ${district_impacts['avg_income_change'].mean():,.2f}\")\n", + "print(f\" Median impact: ${district_impacts['avg_income_change'].median():,.2f}\")\n", + "print(f\" Range: ${district_impacts['avg_income_change'].min():,.2f} to ${district_impacts['avg_income_change'].max():,.2f}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "0s7cq08o1r6f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "State-wide Impact Summary for NY:\n", + "Total sample size: 31629\n", + "\n", + "Average baseline income: $122,364.39\n", + "Average reformed income: $125,820.82\n", + "Average income change per household: $3,456.43\n", + "\n", + "Total state-wide income change (unweighted): $22,798,964,353\n" + ] + } + ], + "source": [ + "# State-wide summary statistics (unweighted)\n", + "print(\"State-wide Impact Summary for NY:\")\n", + "print(f\"Total sample size: {len(df)}\")\n", + "print(f\"\\nAverage baseline income: ${df['baseline_income'].mean():,.2f}\")\n", + "print(f\"Average reformed income: ${df['reformed_income'].mean():,.2f}\")\n", + "print(f\"Average income change per household: ${df['income_change'].mean():,.2f}\")\n", + "print(f\"\\nTotal state-wide income change (unweighted): ${df['income_change'].sum():,.0f}\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pe", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 738d382900801db5b78857dfaff8af58ed2021d4 Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Tue, 21 Oct 2025 14:33:00 -0400 Subject: [PATCH 2/2] csv --- .../ny_congressional_district_impacts.csv | 27 +++++++++++++++++++ .../ny_congressional_district_impacts.ipynb | 20 ++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 obbba_district_impacts/ny_congressional_district_impacts.csv diff --git a/obbba_district_impacts/ny_congressional_district_impacts.csv b/obbba_district_impacts/ny_congressional_district_impacts.csv new file mode 100644 index 0000000..be17b97 --- /dev/null +++ b/obbba_district_impacts/ny_congressional_district_impacts.csv @@ -0,0 +1,27 @@ +congressional_district_geoid,sample_size,avg_baseline_income,avg_reformed_income,avg_income_change,total_income_change +3601,1617.0,143845.171875,148153.40625,4308.232421875,6966412.0 +3602,1419.0,110839.6484375,113832.421875,2992.780029296875,4246755.0 +3603,1690.0,164515.90625,169924.96875,5409.06689453125,9141323.0 +3604,1496.0,126062.1640625,129620.109375,3557.951416015625,5322695.5 +3605,892.0,83690.3203125,85331.4296875,1641.10009765625,1463861.25 +3606,887.0,86829.453125,88802.6484375,1973.1939697265625,1750223.0 +3607,1186.0,127848.3203125,132043.09375,4194.7724609375,4975000.0 +3608,1067.0,100501.953125,103051.6953125,2549.745361328125,2720578.25 +3609,1264.0,138191.859375,142586.171875,4394.2998046875,5554395.0 +3610,1387.0,175475.984375,181719.875,6243.89599609375,8660284.0 +3611,1398.0,131290.796875,135457.265625,4166.443359375,5824687.5 +3612,1440.0,242408.21875,251282.484375,8874.2734375,12778954.0 +3613,869.0,88758.703125,90908.8203125,2150.123046875,1868456.875 +3614,1016.0,99821.90625,102682.8828125,2860.984130859375,2906760.0 +3615,874.0,99412.234375,101974.484375,2562.251953125,2239408.25 +3616,1602.0,155516.40625,160661.171875,5144.767578125,8241918.0 +3617,1470.0,138431.265625,142728.34375,4297.0703125,6316693.5 +3618,1438.0,113723.2578125,116897.4453125,3174.19189453125,4564488.0 +3619,1060.0,93198.765625,95462.4609375,2263.7001953125,2399522.25 +3620,1302.0,110184.2109375,113267.390625,3083.19189453125,4014315.75 +3621,1012.0,86811.2109375,88742.90625,1931.7066650390625,1954887.125 +3622,1048.0,88847.5390625,90992.5234375,2144.984619140625,2247944.0 +3623,1004.0,88731.453125,90741.1328125,2009.684814453125,2017723.5 +3624,1013.0,91033.5625,93158.6015625,2125.0400390625,2152665.5 +3625,1138.0,95898.09375,98287.6875,2389.596435546875,2719360.75 +3626,1040.0,86841.6640625,88932.6328125,2090.965576171875,2174604.25 diff --git a/obbba_district_impacts/ny_congressional_district_impacts.ipynb b/obbba_district_impacts/ny_congressional_district_impacts.ipynb index cbfb36d..5eeb45f 100644 --- a/obbba_district_impacts/ny_congressional_district_impacts.ipynb +++ b/obbba_district_impacts/ny_congressional_district_impacts.ipynb @@ -1834,6 +1834,26 @@ "print(f\" Range: ${district_impacts['avg_income_change'].min():,.2f} to ${district_impacts['avg_income_change'].max():,.2f}\")" ] }, + { + "cell_type": "code", + "execution_count": 38, + "id": "j8m8s0pephe", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exported district impacts to 'ny_congressional_district_impacts.csv'\n" + ] + } + ], + "source": [ + "# Export district impacts to CSV\n", + "district_impacts.to_csv('ny_congressional_district_impacts.csv')\n", + "print(\"Exported district impacts to 'ny_congressional_district_impacts.csv'\")" + ] + }, { "cell_type": "code", "execution_count": 33,