From e2cef6ba9ec230f751a7944a2120657c35a2fff5 Mon Sep 17 00:00:00 2001 From: Araozu Date: Mon, 20 May 2024 20:05:51 -0500 Subject: [PATCH] First blog post --- public/blog.css | 29 ++++ public/img/blog/001_responsible/thumb.webp | Bin 0 -> 75412 bytes src/components/Card.astro | 2 +- src/layouts/BlogLayout.astro | 38 ++++- src/pages/blog/responsible-stack.md | 178 ++++++++++++++++++++- 5 files changed, 238 insertions(+), 9 deletions(-) create mode 100644 public/img/blog/001_responsible/thumb.webp diff --git a/public/blog.css b/public/blog.css index e69de29..033c927 100644 --- a/public/blog.css +++ b/public/blog.css @@ -0,0 +1,29 @@ + +#blog code { + font-family: "Iosevka Fixed Web", Iosevka, monospace; + border: solid 1px var(--c-on-bg); + padding: 0 0.25rem; + border-radius: 0.25rem; +} + +#blog p { + margin: 1rem 0; +} + +#blog h2 { + font-size: 1.5rem; + font-family: "Iosevka Etoile Web", serif; + font-weight: 900; + margin-top: 3rem; + margin-bottom: 1.5rem; +} + +#blog li { + list-style-type: circle; + margin: 0.5rem 0; +} + +#blog a { + text-decoration: underline; + color: #3b82f6; +} diff --git a/public/img/blog/001_responsible/thumb.webp b/public/img/blog/001_responsible/thumb.webp new file mode 100644 index 0000000000000000000000000000000000000000..118f02e906a1411d9b083b777eaf040f5109e63d GIT binary patch literal 75412 zcmV(lK=i*-Nk&GDCIJ9fMM6+kP&gofCIJAjYz3VGDgXu00zQ#In@XjltS%+;%lW_( z31e=SpSW@Nx{dJfORj0;Cl!Yv6?{z^h3bZ}#81Ni%j0TzTgG&%9(S7>e0h+R{446W zy`M+@SMFE%?}M&G^84rhOZe{pPnlm0|EJGarvLMQocyZ!asPwYH}v23-}*m4{)7Ku z|6%>s|LgWQ`_t-+`se&_-5+)@{6D%L{lBexh5uFmdH?^iH}{L!U-rBI|F2i>Pyc_I zf9rqqKXd)8fB*XcfB)a-`EUG>^z<;jyvGY&nf7}0@{n7sm>R+Efo_`(t$^KjC z#|eKW;J@1s=YNs*xBdtIulAl%{Nn$c{Wq|u=6}^c<^O~I-}pHE|I6PfUHkq|pzpo^ zf&az+d)RC9y#W3b{g?hva8KCJ{2pAMJYS3dx%Ef(8T~K)AN_y4PpGfGJa=;(P~pUseZ#cpsutAnwT>*fPmdT0 zc3hy0LpOHjf?IEkK286;4m-L(5h*4m(vi56m_>Nq0X~kaZD^BbM6kAy#BEc?fAg{q zqm;1AwK8L&*h%`Q@llNazvWTw@XGrd6{Y!FS)rGs=x9;jI(8{&Wu@aaqZNEKnQ$5I zXc6@vV5-a4eds_{6 zu9NVa`P{LG^~tL*nXRb?+VMzBYE&QNz0BQ7jnu==t5>Llj@aJ1hML-Eg+Bv3$TBA< zs4zH@6|0sZTuM^%60L0+r`3u_$-+s2^db~^&``Vf!vh2oIo z%fS09kpG6~a01uW&h*~c*uUMaTCU&bM+3(Az2GpUhJwYEtmzKv`~#UwC!KDOVCvIQx$Zu!1TI8Zb63LE)=l?;xQy z=Tr;6-(ZK4U?6W$Kzxfnu1M7;JE$2q(T7chrx6JLEKx#d(Ws6hnNyD9IuQ+s%g`H_ z)E3ea)c@I@A9Ro$3zN2FCbAQw7}TG(szhPpUV^aJ#? zl-Sv({N#@qg0>BKHQJ{nEBYmJLVq{(cL^^+3%@ITHMYipWxqG71<}XH$DPlqoB_;D0t9-$3L6=46yx z`i{i%%6_%l5{7Lo>iV^2-IR;_<2#6HO6yJxG(o08T$5}4z%AM>|oB4X0M4^r9H&k#zlJw#I zAntZvV`;onEauguhiza}U~&X!ONi()u6`U%f2zG)LFD7PqNSOky<$)1cjZwaHG&t4 zH6ua@);KKe!Ji&9rb@hTbI141*cz#itN&TrejCbBUZEB5TeqDFY7peTaHgo@%vMwq zakNjXu*qF4-JCd=Z;h9`4ir61@2C_feIsvAg4ltKXm|bMaO)ozt<4EwDl%!-D+YQ3 z0|<+r+T1i#lfqX4)wXNbO?R;N$HA}*f}A}xHVi>x=6Fd~ z?&4Lfb~6GD1AVMWv*YmuZI~+#cBeoJecV)U7?Kuj>S_F0jyYPw59kcTi5bFy+Paae zky>zN5rZrUotIFnf_OmdZ*aUADknsB9PzNrtZ=@^Ufk(p2=9hH{pxo~gMh~0>_KkJ z_mR{Sw~+zJ7{4KRIeAkOwAf~devY~85$L7ML1N69GH-# z7|R3@3H#2*Sg_ls7Q$*dAty##2(mU9vd;s;9LA<7?%c*ba-D~ncz>7jn#RL-V$O}L zcOA>653f3DcWVf{SXKrG_!dQ0&SsY~H5`1MT>@BrNbe`{`fi@bqpiibW5;oMTx^qF z;hkQ%d}x!xppNjHKH)LKuGH0AwY&YXl&n#{jnKe8{S<{a`8&+PhqJ?@(Pe35pLQ2I ziwpAk2QA=QhkiVQI7F_Eb}}WzoQJ;NEhQFsw?`2tp{>O;p(xqDf7cR~_te7R zZGo)V3|Q?1&zoo2ysqq56HCaGhyRYSkKz+^Hmb<%xv^65%XKN661tBokNjx7I771t z41_ztg@X`x`=oNe1NTUu&*S)oclA$Y`Fj0^ELDkJAoapoJ**jlNs6wjQJ=jr%_&{n zVwIgx6W6Nkyob8l=vbni8qy$CGd+hXDAEJ>Un!$!siV#@b3PwFg}X<$aQXvW!QCD9 zwZ4HS5=o8j5JK0ee+`c_WTG6LHEEVx9%&i&UP;#5 zb_6H~u)Ju!qgD>4O%lc2X` z)Jo!)i2N|}Bqu@MwQY{)PV{OnqQ|=&QWu$AoJXt5B)MK?59Y?706r38-vA>z;yLLp zKStfUz2_;Koxd2G1PWi77e3pnx8)}v(>1PTN}U68^0tgR}J3E`g!|mHFm+2e*3f~(UJgWvT*f#zjK+=Ff zh{IHX0`pABW%TmU9$?E<+2EmOIR~7uC{&`7)T+eNI46J$XKzxk&^I-Q{*#7xQG*Aw zu*Y>-E%(CyNt`9OAnC}IWE7V@NxNY2{NZo^)P8Dq2#qh~^v;+PaGDwCX&Z;{)Atd~ zk%uZZQ3e^6)pjJ@OqGwBh5AB`Jr=s{C=qSb(!i}x4(dCW(Ja!;HNq1FDdkhiszTVw za?FAb**ZRLZXnxh^yJ2p;a96fn^{#V>ucvO|5RY<2+0dq%e)G3S}|3o6ziULw%0I4 z`|r;?yGM6&@vuBy+9p{864mlVEIEhtn8NA(3aWe zNq)(aHJQUZQN`rM=3KC|&}uRgyO?iAc3}b3a})QBQDyTtTfU-2!xIJN?H*h`d)SVm zW%gWgneJIr@pf|CZOhyJ*9nMEA14`nESXqxA^n7Qzu6+c&P5O4wx$tg6DJm<;HH+?eRFo5^bOjoTA6l0gts-oJ~GPD^zTi2vP zYSGDUcqL`n#@qkX+VpSN{Bk%z=zdG#HWY*Nlz z8w=&HEQf+QJrePLK}3U_nf{QidORutvE6jgIqVbjv)N&VnI07Xa3#*5?3LF?j)-v# zEJ`dkq=q1?*-7ZhgDLMihZ!uEB!XJ>-;8T+Vm)9CS&gOVb3AEm zPnDMh+7PP4n8Ie1?ejLxq{^IhF*{HWJ3P$!AJRPi53MB(+@+R}*NxKc&=>|#Z^m5P zgfj0q`XoB@Zzj9wR0UB7gJ!pV=E>b{s_S3;{G}{jcq?l}n=&R$IEX~WPsQ1u!m=d| z`t6R!i1G9=J=TJ5ci0@yIlD^zhb(!r6ry{d!?R?A`J~&7&gPYYP2qX z9?|jm13!+Bl-mZ4qQ{K}a*Q3&M$e@w*huj_WizU&6YQb?`cbb9?b)t3mZ%fTir}UN*`UuKnY(wfx_iZJJrL6)fRiWS}`* z;qzr`a$WO)me4RWDfybdJ0OZ&g>FzL9LXg3hS9mcOK$`M{y(>zv%$Cq+(#1R#fnTP zc^Z|;LT+YI@jb~Hk5G1WxdNI*;^&a%G%hS>B*>dI=;yh@{Dp`RP~>6KBFG89FT|Q~ zkU`yx41o!(<9DpU+vt1ugRdk1RJKRwLuNW^@UxP!G}Bpk@yX?og3w_QFv3lf{rL*& zDZiq|A-f_9#fA0GeI>)Q5VW9-XN>r{f!K6)Wjld>5y-!3Mnl*@c4lx|m`LL}XuWU|y$4fwXRKlH0)Z1^}YG zI^d7JK1G_Ko)n{9TTEmRn&>yI`!^t&<_valR6tY%BXsHSYvP5LGTb6i%b;b$f8wj5 zg-H_OvAyh3%%fwSEay1HBdc46G-`nFyOSs<)bexwMYn&F6N|rQLPXO~7(D4N+A7x9 zbbeAR8NHf2(Y*A=h>43irBRB{%j%wXBJCIYuLnC6Ikz0TPS1=5Yoh=|vrg5gWI+Tu z@nS%n z%QLGS^j61c05WV^?bk`y(rJvHvj^a+ZNqCfZIm0zufuX;&*VF>jGkZc;)NK>8%`HJ z+*r$Ou;aH*SNA-GAw(>0Ji`iQhQ$Ghp?+8(q|0_5_u%bHfm0VbFYwZ;ESv-&YVDQ5 z<|MUA{cyVh-og~I=Ks`{QASjv6!3#u=Sxnuh+-~#}!^435wo5A| zS-|&|{a{{lEYUy<3jddu5u3^O)J>y5d~H^bg&;=;T`H|lJo%}BmT1EMADb_|=0&YM zq}LieXEhbTurzZ(pnBqNgEhKI1`QH><#oJVC|mEF4!p;ua|-sF ztVebl$ThJ^h|Y0ZvtNQBZ5x`K0OCnW@!-jg{dD6Mo!FA$sR(&n2^X-=6ET!eSLfKW z327$?hl@G)#04+ecmy6vCY+J z+pdeCAg+vVR!s{QqD=X4G3KT48WC<|pq9ikw%X{xtlKv5@9YLT4F{Z0=1(f=FQi`= z8!y0$+0{!-R6pB{(2#1_3>idtW<ao9F~6 z(Q57&82-P`QzyKap^~w^3SH=(wrHh?vF10!#=A5L3~TBqwx0;-qz7XT$_Qd^NHNc0 zwk`p2RO7pv{(ZTFzjHH*P1|OG8iq!^P8{u}*8{ms$nQQSu~@y@O|(x?_j_at*s32^ zQ|9$e_APs~K#0wuPcyfofW>{sJmV1uA|a2}@Po#=@GI+FF$5P%vb(!`JUL6#HwUzRC9bP}f#<@NV_m-ww^n&7|Nt*-x^K3JT5Y{)c$6 zmcU*?PjkI>2m^2vSV^xbrT-Ch!tp1vgw5yxg8akgh6Hy+gqOy_aztdk3C;JNrYA8~ zG}L*aoIWq5eCx^|?yjGLC4Fa)xMPgrcY*Ju7Kl2-LYScygGJ*>YaGJnA#?`~c$Ap< zk2R?O(E$=KntQC8oHsmsdQr8FpW_r-+M|#bhuy!rPO=e?_DI6&syUzm&o#C+XUOo$OJe?s|I z7t-n)gVEEUI4Or$vAD>xoWEk3KfaT!a;M-1q+*$x9 z{^)6A=9$z4Yf#>QZS0UT&w_SEPhD~t59Egk{mZZrNh<*c+V@>$LJUp#V1QrYw5oV- zy35_r5Q1dgEHZ(Gv3_X;Qk7BGsJBojCCAH{ZVWwd&V>|1N8l#>&xk7*oy*i8INc#H z*Mg_~SZ3z8Aa4b2a(*#a(c6Cl4lymPRY>&yzWUK|QW|ammysl4IiJ!UYoI}(gq^Y& z#2u$Hm01!vFDF_*0f9#PxKG8EG<7@>rm|FK#|8u5Q~3v@?qHFS(9=og9xK|=4mrjj zmr2*_!03;XN*sf+Wi*c^!|7AaLtNh$lHPmXJn(zRT2(EQG4(PqY7ns9mk7MlcD{Sv zK8dS7>_zI{qUkP3FoQy|O8qPuvD%;4?14CiMpQ8GV50%+Mj712?-%;m1&DkI66tVb z=GO(go5}UC6_1IovxqTNGrhBCKR4Cl=yerkkin~%vCdpGGvO5n$y`Zr*1y6{ZBK>2 zQZ;Fu;Xd4&`t31J#VqR!pK&x zcfUpr=AEYVW;3d63uupz>|y7Dq^&zf7*_0KHnwJ7AD6>uwnC^wG<@%ap4FFvEWw=Y z=0;}n@n5%F#pyS5c<~B{!i6uP5A%NoQP40Xls^*K*YNBEV|9(wTc-ZUQCVNT>8>`R z7-2Mwk$Rmqw-TAa+y9_rU~$rBY7Dg>Y{A(%TMdDl58^~9WQrW z2rs!(?iR5>UcPZid6R|)=7W%3L`|wvyPh^uWa|g;0nVFIdHJJ>D~-b)-H{X$&H(mG z{d}1&c8~CwXq~Rm;2Rk_o*o>Kpw8k~64VD}Bqq7V1ERK5CfD(7PH6#(FC~<4BQ$>= z$=OgMar8pHA_H?0tlakO4lmPXl|8seO;%A#n2bT(+@MeYB?fPf-Y1>1W|kI@2?4NC z7Pn3*Pc}!+wQwFyz{!u+{v?ZDu+Ct5B8Nf8ZKAOjC1TBIE{`BkrA?u*a?BGvGGqv9 zo%%*P0;G+kW3bt<-m}t2zq@J)+p+bIC z#q2jV@K-}2+10LRlTBd=c<6SE+nCHILn#k zPNT}a6jgRbP-wER{r7sYK&5tcVJ@DHz<9xcs=X_!7aSJS8WZ@S6Qu|* zHzdsNJgUSV^`MoIYd{Cfyc}f=2+oPLQg6$0XM+J!OdyWoj87}64QgXV zg;Vi$#mT#<>M)^&@8@g|bcuHB*w^Bn_0;6Fg%5z)AxUaAOduS*;&WE}>9Ac(v0d{- z{@BngGw~qYD$T2ayqu>wtw=_? zAf{pv(V^+UrKmtctMQR+|?ImSyzm35&_4=-e}yy?=W!C;qRy zJxG(rzw#_5mV9mD%nsBBMu|IL$wrtI+PE9U$8jIS;(Ft5f@6dyc|!3u28Y{stB-S3JZ)&H9xAaZgif7Sm;vR8c-J|t%@w&hAJ>6D zR*4q?X1(dKw#0ct$B&0q|Gz1ee;U;BQ>=y9MmkN$ES`(zvZIp0(KU$=Fa}rZL(^P# z0zUM>74agoJ^Dl!?L@fTq$N8j5D&aIcq#Dty+N=3D)pM-%curb{h;mi2qcs`?iqlf z^1xm_Fn|BAq~H#^9&U^wdI|SgJ$6FZQ-6ngPAyI4lh-oG-Wta)gr-XCpE+zzoya&x zk2z)693%?aOgRKY-)%bWA`^AG_^Qr5Rkb=JQ2d6ReUEaUeGruP0H~C9Ep+GYc8(8M zEu9s}5xw5?AMWtAry$_;0V@>d&L}M%iW~+5op<#R*72gbt3l_4wW9J}heKMQWkC$E zU*QTNi(}G4au-O^&$-@T0~z0?x<9e>ly%*W(83+y(tb_8#lBMrqJadCCVNot;R*c$ ziqe>V^DBr_hILzEH`et4`x@#B!ovKzcW?pBWtajlQP$O$?q$hH z{a$=}LJh(7KeBu2T$@44H!cF~S)58gkmtWtDd=FdfXLkf{HlH0Aiu5lWTkG}HEfxKa|;VU;WF@FW?zu>$u_o#=((tWPvR{&iSL z3w9i&kwc?!cTkvsO- z9%!3;F*g@VM*0f#Ja48v7DQx{*=1e3tuyalktSmhx50&Y>;$~g=vd9`!gsF=;OEPL zJBRzM)@%WqZXrnx;Zo6I54%E3_l&I4dN`8q?hO`)0oq~cqwn0Uo-KrghD|Sr&|W2W zKY6Mrn4?b!w%r#$8m@PRXt2|_B89^QbDz1f{u?I`_>{Lnh)T2@!gKm_Xg8@C z!f1k&4Dn?~6(FM5rG%hlX4WY9zk{_*E^@PHYAom9rA0Z-_3v8|`nkls_O=jExCBnN zDnhY|BI4Qw?NpY#huhdsvg!lzgULxm(}Uyq2jG{;tt=cWd+YF`w}}$QuxbibQgfjY zIWaJH1^inFFcK%I~ZghO5J};OP(96UDiU)9!Epwg7y2-Z%!+?)cznTLA^hT9E(8 z12&8DFq&NqrNemFLT8>(gtBk*%VAd0-+Au0IolY0m-Y9dVIs53q7Nmn;BZ62BXTbu z=x)^G=tol|k6?3h5+nqV)mUuZTVHCJK-hwZtvfPz7rckTQ{`3ZrXC-6wdriQDekgU z=VXc>{6dF;HDMJCwy;51{*}-DlKNI^n0q3~v!I;3nR=h0{sh}R)AI|zvvc#7q9a!k z=BET4*1vKm>jZ9F_lZ2dNOQ&6cIcS~IEbALrNE+QlhWoo&%rw0>#6pb8 zJCy4*Edyzz?_aeI0=Zk9f6vMsp8rQWIc9#gxn3c9{XIS6vRuwv^*2B<$jex5Jxb}v z-(_0hvJlh^*>fgI4!#CcQR{xk@UBC=KP89Zs;RWcJ!wjQ+7|wju;EoZ=M*ZH!B~b= zexhrn3J26DvC$ae&pcmpA!E-co0Qd*-TH%t=o& zLV5tn&Y8CJ4&iQ3{)~TB8RA~;(RcT*|^KuB83;)iV41R++Osx59`cN!L z>c)PG&T3D^_KGDMjD0vG$|;ax4sr;`VMF{Eo8zrum%6huXiCjasQBnb9@7i($T_!h zRGvRCZvaR(#D6F zpg+K|nXP>)Q9G!(RSp<5yqvP55(emRMRf>YTDC0BVmvX#^XII=Aq4gjE+`R+ou{Hi z$5W;qB)S2#k=&LqpYDNP*w82&?y!BuEYbSE(brGZdh#UGd=J*bVB9h*usb`hFzBv* z2whCJ7Yc`QEsP)g4xi>0n5*ZsICcv1Hq3h1wr@7*_?Sz7*7U>mVuC{Ge(Rh{aJjk9 zGURqTaG@BAxg%J-j3m267>-2*e_D`^PX?k;MrsU*)(mkA)uP3`rkg36vN>adWLr^GVKwK32!}m zhNKF2CZc;9dz&G|JIEs!gLIBL{!fw3_5}~s(&fE08EEi8Lha9K ziE5h=IA#1~;Fa^Aq}*GL5_bE}3CkH+9ZBO?FwG|ZH;javVuf>-msml(@kynyi%lh2 z#6D(qMGt4jt+rOy8d!78K~ETYe-h=f%XW}}S5Ib2#_n<$6flE9hvfNAgAZE&qNf68 z5F_XAU1kz6zn|$S*z!QjWVcC99Z&4_?9(_dxL{+@i?5-rw%`t8Y)cRQT*Sl(80uhV z-SIS-Z|7rPR3mG#oCN|`W48o0#Ps;E%TL6mwJh~BxV|2elT2{G z!2^pxMLsw}AzmvGV%^Zbq34+|9476_6eR%}aonVqfwx|Q`@3(T+|}-Sv<0kdlGI+l z=iG9hRDE}V5QIhcMr$mC8?jtA#`#&;O0GB3*QvW-4)7!#43?h}Ec#bkXP`@K86BT3 z#`GDZY#|f?=imj3Bxf=wD8PLhbgm<9!NY|vFmfX#3t^7yk^i_VxVCYqh6W83gwnA= zQ^r2xPyZVizHxx_DO(OG%JcWW`&+EXDT=CT9`I>0RAOmI%x4$CaD6I!wuPl|o!m1!=7I-HJI99A{liX8L~s+xT6nMJB>7XN%W zxAWnjE0c*pkN?pV6vzIPC-1QRl<+bsSP|0|=whfwK{!p-65nd_ta0(Tk;zrOt@se2 zi)}SivJ!bc-Pw25WzrS6|1hPAZu;3gr&q7QulxNReJQ%B_58H0qadNIu(w^=r~#Q0 zye4d1H-O*7H&A_v9mGYQK+#{JHYnY$H61%LaNiPi(1%%7%QFC)+p5vx7fAu)JIV=i zPno?5peSO*7wf82jH0Es5VOh_BE{;Ff_xo7KYWxR=mVE-D$8&9apaQTp=7L7+}vQB zmpBBX|K!0a8lgmf69j9-H#p2Xm@p~=QJ>8gs|poz z*>eYq-*`uPa}f&dGo8Y4JNg^j^CNr7E`5k$Pvk|D@@<8ANyTIoip2M@FgHVHt3cC= z4`AAHhP(Yb;BqZkKBq4fo;0%ftoKw72bF^!JiFO8FawrdwY_`m2OOkX<2@@FR=Ts{ zIOscL0+^IxKVsE)8_&PkL~LMko4=^DhM!!I=?8$9M;9CuJ3S=DS;2r8t6E#yL_!OA zoX5YDZY|uf&8wbk$*e{dU^ziT7t;FYQhTS~$k@@psQ6X=qxb3ekTHEfv?l?Nu;Uri zOQZ!bTA4mF$JKb2CrIlAh_Xj;f&$vEa*@L(z&xyIw*UJGdlIbHNalAG(C<)S$Lb@4 zucts8up|6)NG0tB5j=|DM$?XugL>rTlDmTzoOFk*r?BdoHWTdl|zh=V?`=Cr3 z)OqwhHXC++3A@87(q4fVhbZ^fKXqGBL-t*#qU6faR4M(C;8A+XN%iqcn++SPs{MYC zwtp7|koa&5FPrVBUkxgVod0aWj}+K8;hLwf=X_Om3)I(F>AW}!{&w#priVoOu|{r} zSmqo*lCkJKVzG+~M_rxfZJ9FiSIHc@G?2w+usCP<#_KN=PTnJV=agT-CSC$) zsZ7z;MTCU4PM)1k&(U_mZ3JlsjJbH0y&$VYu0mbmo)6j9uz!Jx1Kbczr?=iN^W8#g z_4ZnjxX5fl68?lQE6+dAN$GMwDwu2I%^J0&0!AYrfb_~qa~roHnjEE@bon4Oizyps zO5D+X`G8h4NB1$6@A%CLBQ|+R)tbWVEAZ+0FNGK06rbk`W!j3Ny@XVP%Ko?N9d-A& z9poYongwr3o(P8<_0@vHK@4kwnUD$p(4JSqIrHMWlS_K;u{<-FlCmNv=yNVGg=1lW z<|k|hSgSk}&5Q`}uw<~+x%lv}z#t?9&rV-9ju;#6cnJ(iFl%pUlditJ*1r>ra9^jW z*_OxKDk?O0A?UTA7LhJ6)^gc7q%w`N%0w~Y2j-%jY`F6Ng_&d?-0Zf*#zwH(HBER% zo}CMd5>*;5V}UG+A$q-z0092yZ?xze)?C1WmP=(=1fH9<$yR_$dlY= zscyGJ=_tt2u|$y2%Dw3!YQ?ZPSbjUp$tKR6vO*eWEgz*Bh(@<4Z7}uiHIg`ewVV!4 zZ(y~?<{0>aB(>5d!u*J3aONXu40U+MFag;ArrKq>$)scbB^bJcUC;t=fYz6pqjJbg zFq89IWtvQ}U2tOO-dX$xQgw!4?h_tgYl0$+_^Qr9*@cla>b1f8k#4}UeF<7~Az29`F2Tt> zc-0k|f`$g|^iH^EpCLn!Gt9H?6_TAveCap@%;I-;2rG6 zRr}6CJ@=bD%2}Ddtfm!Qv zb&Iqy#&mQBPZc}GNM=c;GsJfIAfPb3r4g`JTJ(cYr6Dfx=DP221eywgfdx9Bh>pvP zI1vUrI7S@14Dy*t5J#&`4S*weVDUMu)Y^>igszJD?|vu6T^sb06zDhXCA)y8EST8p z%8|CyY1I-IxyCg(A~yjvj6Ob|FZx%^v_W`bz6yIxwR|oiT-BY&f-)WpL95_KH_cv= zu->z{E#jSJWIwRlby3c36VFPg4wfP;Fl|YuCXT(UEE{d+5=ydpdJUGZu(jZ5cZFQ8 zxz5NcF`=}A`%4!3)z8(=pCf9i{QOZjVUY)M2wv>3*$SsJPnF_Qj!H3 z|H`eIoh~11B9L*Wy*z-~a+;dV{`S_gDhcCBSe#tCUL2YhO*N#aX!nYgYEfp{h&4Fi zfTEw)$UqxYY)td3jIAgF|7hEkQN`#skFupf*!Ibpb9VTI&azq16;g{(NEpK-ukr}l z4o}d#oX0aeVwd+deo!m4d%zA^glO>e#O+{YCMMuZ7xWbU(|E0-iScELtd%K^u_wvH zh2OIX@85@+`aL?0_gW^m>g$xOwbDHd`tZHKn?G51bAqsB`|kF_A+<%5i|ip^5Yv-i zlqy{QIgD>2R8vtb0Y{>C?4)hyRsZSL4@P+bPg+2fJZm!OS{3`m!q({fFB#^SoV<;s z)WL-HN|sux2uhB0U5P0mW{1gYOk>E!Fr%rUq?MGA1lnxN7N zhJdw&x{ky5;arcjTA-i@Rpzr!M9rPNm%s|?wM)=CpS=^B;a~)$PVGNRe2eX*mL8$v z62)`?c`&BokRF&^#J<5a97fTMK?{?@^$iq9#Ob<+D0A=!*#mPAZPFwb*$AY&JST9sTm4wA$`KFQu?7lHIk#1H_0 z09Akt2$a(e?W#$C3is2rCfkw}<)yyE>HHObm&~z~zqq8vp~skvU4n%iK;=PM!xa4q z$hJj(FZ=_@(5m8sZsi;K~69WNw-^87v!v;S!+pZa z1G_Hu_;&T1zv(xzi9B#l)8I$FS3XG`f=w5cpem&mV_mtmP*ym_NR16(YW=$DOW$04 z$PHDaLmZZ?!nxNj4PlEI)2TTLyuKT|nNrREIhc{Axi!z_9x%7D-kzkMi$u^iQU?9ob0>aOqW@ih=D!DA^8;bHYT)iW z>D2rEJY0u@H}B`ddlwbXevX(sTYq2%IYq<%aMxcfX+vN)Gw4BO(())XW5|{LAg=end8O(a=`6KFFhOrSY5t29dLK|0_T;|-CKr`k1963*;0<`C& zV$6_6_bHdOiJ`c668NkZntIe*c^nZtR6OIs(?Z+;gK54%+MoF4vPCXfPnX$lx>x?; zJ3KaW0(h%Y`H;eG#{$2Q7&G^K;4xH{=iifdlggDJDZaO-4J}e=jt#P8#ILBpw=HI0 zFPb7&w0JZM82x+>@^Ak*yyV`Xv1dVY*)8n=hB@zdPg-ZB4ml&2C^3$q$rXVH&jR6u zUw-~@)V4J!I56nM^1x>;%l2qqCjA0^s$%=tFf2wOx;^@KBt#JWUYZZdp@xu)&2c{> zOoqOfqI>k_(c>kFvt^Yimee@wMhh<1Oun_;EbCm zu#%ZQiQRLV$+&xB^d%*<&@m)gqHes$X9w!-^?o`LM?QS;S z1UMJ0*%8&<@>`#nO&6C4#{d!Avjsld4G*+*`y`hCJWuF6>ZcHYKAt-hTu$V!YcL8v zffDry~J1a!w~(rb?K*-feWUM_k?4-WdQgD24W@ zPv1oOX(eGm41V#{l?=$cVu+}-R0S%+rCEkV9SVDwj)MSeh9m)8Ak>vesHnR?|DZR-NOF1iq z(zQRrb_e7>=v42G_f9vB_>c$NTf)Ib8Kz`e^yO%cSEf9gbygAy0+; z5|BHWEJu$3Jtpp9`md(X+5Q=#2@0=RXa;tLB}fUF9H7DKiBWBfbjK|Ob|xUde*YZ9 z8K|%VJYtnnW{vFMx!|Jx2{-72@~dz5EXin4uexfm6^BRN)btK}9l>pY9R6M8p?t>Q z+Q@5!FZfrVD|jB(a4B;P<_Ig->U1ScREc;2F`ynSKWTttgrM!{eD1KfDe6|4`2-cl z>MQeLU!ijGvU}B#Kk5lOUxUQ-y+g7Dx0nDnm$2vSIJ-8?lXg7 z24J-Dz-GL?s*0%W4YZcE2Z;@?i3TVNfAtsVx%wa4+>K#BVryXD>g&B$TMZ#YToD9Y zNmvM3oKFsbg;5v9c+4Z!UC%=%F_F59dZ1M>aJp?Fjf84rrz!Y9wln)CAnGrsnFr0; zBH-|SCN9DOqA(h0N!MmajSzp;{INdn$=3gj``4k1DVH`a{VRBc6jJmq1-UTU6m$Qj zLA2LA?WDCM?e{eHGVa==AnPF!=?1wl^?$lD&tLDf?F3<^t|UnlNXCb5RAL1;Sw?9h*c^qGTDPS9+frj%5eBc{zCz2L73;MF>Z? z!5(81^ne=91e~ja(^kHVrICKjm4xN-xUrj%55UTXA+umsLVx69d9enzWyREqliRJxk@i2?Dogz zO8c1EjATI+^(cD$x;Y}!PC&CkR*qO&b~*40UZ;~-whQ`pADS#A$)rV%3}r@GHEKDD9C`N8iLm|e8`qmrk*I}tb{#(01FTkUljOGI4R2 z^jT1=eA6HS5gEe8z2x3^^-FwT!KdohN`7$Kwxvclfm27msO(1qgM{j=O3Rhyd6SX2EritK)6;`I!rf8>F>mov$;FVRAv zs7ajsmDlrB_EcvT%;I(SPqE3nFSw~W4X9UL|Fnn*i!J{G7NaF>cC0D65W#N z5?jX&9~6=*x$Hp7C9i&O;+1A`1QyPhS87hbWH;2w_kHDg2Y<(@!Qvo;%WPl z&Do}Km5UYMc&>G=Q;pVaPKBQqc#5~}%(zk4aNpX0sM*R5^jYk>LXQ2bC1zxpY5_DK zLr*(uWL1L1{i~;M-x6I?SR`mC9Co8^xAZ8HikEC=-Or@FULfjSi6X%X7TiNqyj|)p(6cIw2qmxta$>PxQ0z z@w;JcSpXvIF|L%b0SK<$kWkUBp!CJaa*+C zsmfs&SpD4Opx1x=bPf4#KbC{erwu(fo?VGVSe(=2B=|iyG7xu{a;?NE20?6HXrTZQjG7V8B9QulpY54KEVFHZr)TSUSf~uy0gz>ES!FuFZ+DF;! znJ0})FotWH-AxvAC^t#w(qzsN{?_$;-U$Uo+wy|6wQpZnDwX_5mte)FH{)Yt=%1|_ z2|wv}W*9!d_`$bfv~ARqzVpvrO1&9^h=LWahg(O=u}j&tvegz=(>zZ6#7neOe*^u*M;N>DP9 z%f~|X+(@R119bc4a59VS=^G_VI!8#nFoS4^GBQt1>@y=cJaJ;906(icCeT9rXO>~t zK@#tH!R%;DDNExqE0}j=N!N}lw}u|P$WMI-eBSe8$FaT{jXo(cW)f;?9d!0klfS6- z^PWE0Ay3k(&~B^32tqwHOmElpZ{tYm?U^}K5xEr0A$euA4`#;XE3@P#{+Rq+$;ZoR z5e^tH%536R@y;V!)xz%(^1&pOs?&Rb#m?wYE4oNXYR3Vcy4D+mlo^uRYxJqh)HIqh z$G@#{h`8+QW=NY~xb!jd-EccpTN=_LU(UxGMpQa!uID%BQ7Mabj^`vvC?XKkT|1lO zPK;IU%d2mMrc|KvoK(&y>Td0?vVgrbM5%)X^3?`Gv5F>%HiZUV!2 zDN6t4_cc7N`KRZ*CSb?Icgy+Q{<_19>fLFBnS>XcLVgCItwy{!$b@a#GtNQNA?>-p za}BF+enlbqG*$T=CMLQ#1Dn)4 zm4DzG(9oD=q8&e(%aU`6P)wID`N31X34`*9_gM=6nv?yxwhV)Puf3#%pI-L&e?L!< zK;F>18eV%-ENM57?1F`O;(f;?@;vk!w2YfIR-}`UG1(Y?eLRVv}rQ^o|ET1z)u-jo1#9;+4q?9G092SE?X`PUt90>?bo*$%%w&)K5qVnSqCo>D_ zxbcyq%swDEvtnm&Q~MWv=>3{L_y4H-Zm`mmos+$bXj_*l0X^%ifbg!8Cwp2j4+2u` zLuP&1%JvYt1Roq=lcTKe3b{|!1AG5#d-l7c<^IvP8W|^M$h`fqiwMinMNUZzszF#C ztQi2?n4s&ZTGB_h-e$OeAOY?cjmDYkWo%A^k1G2AL-+e*KK7TEArb)cX~TSltjK?W4VVQYT% z;q5E-arpT8oI5?ZlWC=?j!k9hrMO_#E|6*oXuTC3nZIZADk>iby)#7KqRxxUxG5uF zpTiVTUoylufR*)zT#nR2qm>EPTn1{xb zLy?R8Y~*5=i4dn>J{m4?5EBZm3iy)FE1u(Gx3}xbLycJNy`;73h!#h0H0eu|ZDVqp zQqGvA+u|1un+%+!2gTfXu6~^T(WUqJ*ygsw2_V(RR@i~Z!Ckf5X(b7Y6wut2wCqKXz9M5Q8(B zpSpKCvsz9!(r>{zJ~frmnqM`LHCx=n7IA2W2!;f&y|HpFKVoT_eAd6*6v*zrAr3H^ zC!VE?e#F3f)aQ$1lFswx%AbA7M%YL4zq+#Q{rdF-vgvg8!i69WbNTA>3cS=VLD)%c zlgA$12Om0zagd+ukbh|e;TPY>55xE(vJeDPtE4N$jp3KuTm&bc0qHwE_Ai~{+L{`V zpCCXj*BbH7BQ50_6&}|`SU7(_>ocFLOsh=|C43>D4x{BT3;k?|k=Zt|^IjP>w?L5V z77S8q`_6r+x0rN0d8h!BRaV$1vE6Oi3;?2c{eSpcm3;ktylG)bDo1g=mBAam6S#dL zBJZli+{V)Arfb*;Mtr7A$@o#_mhkrb4P4(5J?0d0m0fwqn=G4N^MZwaKd9|rSK!LX z%9ru4NCerrh&fkuWdRo+tKuXyLUgGALL#&#M0f^Tr5m|T^bv`VIMG%i?R})O5nU|4 zlUU-y4c*fsE9GQySevgG{T0A=ALlmpDQuJzs?D2Pvn z6k1_6Lf{JHgRJQ|Cr$ujF8k}2B@l{9n+)!9ki-W9nIUJS-~YUX8y`$#$o_5opt3!a z#=MU>%$D0f*7I`Jj}&i~_+=SO)t@f|qb_?M?vYEz6wE&N>L;Mv)gnM%|!5fI!G zk`b#$;;yaLK;im&wGog&HPs?{s_az6cNqOpA#VB1)?N!mDPoK!6PHDr*Z<*Ty{iP0 z|0O%s`FfFS?OIjH8VHBMYX8JkH!HpV)HG` z1*7EjSKPrI4JZ^iGiI}aV1;yhpU1oV)`r^ob|d8i#eNoP&NXuc=<3B?Aw;>MM* zGT-hOmI$hZ0&GQzHtnWB8IX=w@)dq!<&E1nc63}CLSj)G?VWfJjv9E#T&vK+159Y9il=k4cLQS)z_rCNv>6O#+#XOcjatsepM45RxYcm6Zxoj_h8i^eBtMchM zrsTIM5TeQdojP9lepGp#(jx%q6JNH*Gvd|wOlW@68n1R?GqhDxC0fg(xQdygoWcZz zW7;AP(?_c`WVZBv=HXd;VQ8@d!8Vt(Pg@56>TPwnZ77U3@#pE{oUA~viWKMI{inyZ zz0A}hKn+!v+iH{%8f9+>S)b>jaw!_DXu2qOMMvbi2E`wW0p*nRCGi!mF$V8CeN1hJ z2iD9#t242B>>Rr&>h@~tO34CP7c&(Tv1NmamSnH$G;cS4KmcQp4}9yf;a zsE~FG$R~f+B^+D=mF8hV+>$>g9>3BGx$A7Oji`l+WiqsFpqy-~d|K?}&eckgD=0YL z?Gm9O3)q)wO_`j`ikptt9I}IkJ5942mD{f%)u-o&3deGU4&Pw)-G4;-38g*2V$t zjDC}_M_GC+Q@z=-=5C`<$#Y9nYw3|k__>7-y4-vbskRDpTd~)z(GffI1(`-L6!s)V z5g1cryJkGoPyXtOp^J6!4_yDMBu--h1YgRp6JJUImGi~K0)e`Txne2tn9>p;pFfq} z<+6k$71Qq|MVJ9On+Bom9ubnq9DlRq2}<6wza>h=8RO{kn{zwEId&=K@Z6nE*YY*i zmvTF5Hd0xXB1?Y(w=d;c!{`&<*L%PH@EG0vH94VWt2m5BnDq$sXO=x^0^v=0@ zv3bd#%szUVyDpE4=m50O+36GN#g<_qSg_Y_I_EIpdq#O^T*yKFI@jwgN24~YA2RCf zEzk7ov$}m--xfvzx9snw?FFnM@P6wq;9(V}K4vXrT5h(`op2{^eEB;&`1qcmbjeTqT;mOC zGGCcEW)Abq+;#8qCeX$AV$W+&lUSr(^vpUImXznPMyc?T@7jm)UFCV}a6SBSs~h_o zvm*Niu66|*sdJ)BpzU+aqe!?>Xb&*;;rAOWWf}brJabWW#>D6*g}ISJ@eSaQ%RS94Se$XK?7HkoSQ?R|`%K}O zMPG_71=5R_ahnbYHToYOucjrk*|v_BmcRr(MioYy>uCF|{qPY+$spm`{OBK&Apq54 z_r$}3g^uLU?{?}+6{WnOG|TrY1=V%Hx&m>nr8NBi2{c;rb0WaOzF)1wRsB{rP`cjz z>#7kD>$k+HQeZ7DlkbZ%q@D}6{Zp_j*2l6ctJG{rq`nP2D^YYIqA#0ISj*5howLAj zB{5h`1aNE1l}=HxWDQ}#yvF!W>amj%G`SX`LLhMDNHMqD~$tZU$vDyX7& z29;i9q^}o)UQ*?Mx6`$1N2vgZ%w262FY+*g6+{qC&;fGd;O_|-vb$UxMis0L(X&LD zg_9JPh`*53i=`MPMcBNYn!RXF**Hh9abI+CkswXIH)idH^Oy`?i`)N|!Fd}?`guvP zUo>PYbel*CH~)XGm*cSKrYSn*`k^1*`z%`qP``Nb|H+2A-8yQXYQB{U)zK5;$^HVbYS`z1_DqwY^lA zb}q6!w^`3?a9IP0W`@Mja`9K~8Hvu4?)PuA#U! zI%;%5n<$G4^OL@*z@tV;?pbYQ88GAI>?~Po*O$_K^sgyL)MY1tG`0mBPnX`bBCqwogYnK9@UCx#P z@{H!#N>1q_d8a&%ZJ2W0IJZmdrxH-ImhB{8Em^$><}EzOA#y1mrNDHFnzm;QGHb4y z9YvRha~vd^G2qD=u$g>**N?8z!}4N;{SKWfjiIxM_vv@+wu?4b)AJ>5>co0y@@PIh z@wQtr*fE7iSBT*#+1c+KD7#>auXFZjpF^bO7PIt5OB08JXM;>}N)qe0c)SM`q&si_ z!{g_++8VIB^65(wKKhG8wi5`t(Ws2S+@C3Qs4a#|tB2vJklW_ME@n&!G5k$QW8{(JI9h?>%476FA5<2M**assuN@psUN zYSiJE+_C;54&58UxjKiq1|Vz0WG8mK=reB7fqxj<<`f<{eJX{1aAe+MR{OAXvwIIM zRl@w7_lJuHQpG-2VG-&;!o)J-nmaX4&kd3Q<^x)O_lpTzGy&QcDd8wyDiOX=+&G7? zugu-PnGJ#m90q)E$TbP7O2OinQeV(Ez=8eZxY7jbxpv@xOt&ezjJgSpOm&${DDNH6 z^*EaR544@kCQL!L)mDVwhSx1rHm9en7U5UvqP5$}3+k))7XuOAbcIW@p3_L4N|8U~ zH?qEGq*#M+nLKy`8ZHw4Q916mhj)@Z*`k$$c{3fMPqz&BPnAy0Kc}oXDy@P+B0gV& z;R*dm=ZjpcC+Gd0hTsYuo=<4ZD^b_^&a_F-B-sa9M#5T_me$dx#3&j(S=7?nuchaY z)G1LN95?6Sgz|9?N;Q;+P#hn z46Cx^?0`N-KhQeAzN{Tb7t%7hNBt{kOkz@(e$fXEHSmFVjl-eLy(ED}{strLyV7pF zoJQmaoYd$mhZiMZK%t_wXIYQVST-hY9_B@W1~&5y9)>~-P$Yk-LJUf9xDsdWMkgtz zdJf7oFaK7n4}SZxWP}TnubOBOX%p1-D;87o_J7%MH?b$)dDbvgYKqs7_73HQcpeZbrVE z2tF!gY@@^Na(M5uT@8wUxqGL9O;pyy2DK#J(xuwlgDGkEQucXrgUd-7!Ka1%E#!y( z%V@RSSLFSgf*l*8wKwY&c6nne;mjkvD91otFesddzb@8*jU2YKXe_G1&Lm?>K5H2Y zh==6Yl0IK2`2mGGvxwNIL`JQwYs{`c3k-XYKT}E++Qv3p{ymG$QbAiEkLD89j{vNI z?B`!pjB11yjw|T_?aS!d)6LzD561ofl^m`stn__zOc3@2u3S+{OMO@KwV{p9K=ap- zHEPcvQE@YH35i!9SXu)UHk!wxon@8G7eT@xd3qZK$LxtqC4g{mJqrNW6E0Hz&lJ@` zr?~U_zp1(Z;=@(4qa!vc)?US#qxht%eqq2wnfWwgXeXic)>E&ta=x@glwUo1MPF@P zVp@~Uws5D5fKUJO`MRk5Eve^{HAFJ+QLFhjbMG2S+tBkyW$iT2t8eQ@L z)m5*aRQ>A?G|L@*vzDN^=q$Bx79{AYv*VUjMc@a=jfVtu0px$nzRsSrgZy0CDrq5)393>< z%~Dd?NoQd6#ty|3g`&%Ezgj9Gbs30YP!*Fdu7(Ol+?)|&zx_&nFSMdKQl+SABcrD_Dk#sI;cuOvoS9m%J>>W;3 ze%t7iuGs;2HrI1?ZItnNxQ?R8PQ}f04oXfXt;`l4q;N_)-ks9Q)0JH?_t$B{ zRCic5H%&Yo&Df1@Nlrb5@qPqzPMyT#7JMokPS$O1-m`EcjMgF`GKQ7h^j@Ty4~CW%e_$S7jSR$eeQxF} zxsEvsXUVqeVn9bIKJsYM$O%ZBcT!G4SJHutVUN~q;LQB;p_YLX@BjpWZ|AiRnD#Ea zFZe2{?#z0v=c;Pd!r!aB{U2v-{gK9*Tys=h>(&aR>&rJsirD$_?#5WF4({XcpNUZ? z{amI#N?~*yU5*y9eL6){#;&gZ!&i|c#99c*e~P>63w_ap!Krj+2x}SY6gFwCN^+@> z=dI_exF3CQ@tC?t`aL$_{bY!r$m)rcC89A5mrEI6ra)gFSaQR#qEESCHb864FOy-A{ZXa|*1VEt+%W3Ad3MC)X)|>- z?u`|kokvSS_{D(2BH;t4z zSK49q@r>sI*j-yyzjHiF5V|!@#Kfg%kXY3JMSekM)hW(IK=Vg@CmwqE{; zW^BcSNp>`fC_6yADZf-0sHP**)iT1C>a5#2xbE@@bnZocuUjbJJb$}PV_{`lB2S7j zXT?3-YaE_;;Fk&}@hb>rv_RyxHU=hjrGs)R5%hm$B+Be1QAR3L_G9`Z0$Q5$4SFm8h7on`il{ud0NrEOkVoLAyCf6~T#fP;1x;tEe5a{T76Qny9M+o#41i`V8 zFTYGGr31|X+2306;fZghFY~!bQDhwl;`^A~`bDM$)|IVehlm*Y!Uen$>HYOmxMP!Z zw>dVS`R13Zuq1q~|2DZ&Qw=rupw0=xwaSh%rMI<~0MbMseNfQ%u7!|us!a=azZ~J~ z8O-+9N|y`>h0Qs4iGD2<8Z;OFiBmN6PEjG7I%?YWlY4g^oKPbQGku$U)n5fnS+D>A zT~^GRR;Ts}|9XoEyO$9UU!))?IvdudA{ZqEJ#Te0QxLV25LDQ?K2!t4X6P#IQwP^% z^EJkd1(&rCnJ*wP@0kSOU_8JX^-oD@Z)Lq0$|Z`US1Q<~5$UhLkjZ|E^2Q5r)3+j; zyLQKKX1*!TGaqeco0eYqlMWeX(_vNBZiq|=veh)y*0QM97y>G@#h3s900000CpqC6 zIi<3Y009x{5Xpt(c`DR=)l&E_8%o*;Z9@yLI|O2@AOQdd{-!?5+xeOjfie0rYKv8_ znJ=``hfPKKt4*AFlwmFbJI3vsXX-s2A&KG1dkW7x4ie6}hNDy1S16 zmlH#Qi4A}bNvL`OJKy9Q8Mu@$+GIp-6of#hPi*eX6;KYLQ#zYEcgXP)g#f=twLuP3 zjM;;>nydQ(oa|A6H*LnB^3bzVf#e%}2FobU<3b=NM6KNjJ=uLu2F@Yveo=AFe zVYNJ}556h869jC{Q)|kL1YC1o1b}aTK-_w27>UHga=j!`n{r}`z`FL#!IxZ{>Ntpy zTnO=*c?qNgbMCTA@XTC@6?GFMo0he^+>fRyi)ge?qWZ_!)zLm&%3RMi3X0K!Ko&Zh zls%Bz3=%iHo&ERLHmFaT1=;mlJXb5(<+=UmUZo&c@XJlq<^K27t{LIm6#y#z*lat# zqYm-Pn4)^=nSI36yEs#M13`R-fFi?6DLE4ckAjTAMJ z8r3&WptE=!czgr48L|lI*r!_X_Io*u#W|_$h}_b;H_e}om+JTQ z*=3p|B3dH%B>-qzl9@$1-d$F|v{S)kpGFG|llV&)u&h)clHAqqkEX2wo5|xGw7YTZ z00s20V>vf&!0gZ(1tDmWaLz?K|QySfJjNPB4K8ht2>@k4Z({_AO zQ1Oc#HuuNeElI!s#EOs73FE~W$KP1Q?x8^)qkxgnoMvhjVr-M8>FIokcmOgCkIFE? z+^;-V6akbe8435p+KAb*?Q~Qh_0f9UAr^3#UT0ug>p{Ga301>FgjlxqTfXetn+B+n znI8M*g#Z8m04nY=Dk%ls*Vk&4L*nkiamkTOkt+ZbHfea-g>}bBP|Hr*2bnyMdfB9! zB-Fte6Cog*Ei=Rb1mLz^Y0q0J_YM zJ(jQ9ra)UWii)DOrVhq7iz_bVe}L%NATKew=21@Kz7Ii)_FE4?oZ;(3=D+&-eMra> zqh~0?MI5(hU8$yT$04iZ+>*BjN(v3YRt7H4^uoVYmr>JS8qE{`@Xtafx>X4%VQ=jP z5b-#0aNJo&QK)JpGg@+_y3o(0e<43FQe_L-j@Y>r9v(HNv5fez{`MA)e}y+FJYaQ| zb8^HlYs$qwjJOz++}%LCyk$$|;i*;ebMkNob_4hO#yVj3#0nnQnz&Kd6NZA@8gvTh z2G&gDVgkCV7ZGkbIuAXBVCB);%mUd$7(Xr^fMFin+K(^dvcKl%>U{Q*)bK?RPdt7J zrRG-Tpw%#LaCLNF{7x-(E^h~B`8XgT$2Ej_QU?AYC2+gBi1z}2?&I$F>}(>q7i9Fr z{a)b`yy8A{D2Xhk6%)`rDS+M?@v&v-_Rw;;z@mv+X%=M1oCcP|`b;j8Z^j^y19qaG zj55toXUNWN3rTm>shG0QK|}cKf}XUEU*+25SdX|y* zLn3-qZk3mTkj>QqoTu%0_jybRk`lrSKieR*5p_(Sx5`?$GQbVS%{6%R`eJOc)0L$& zhcQMs`KJs(NT9LPuEwDB-QjVoCIK7kI;Bs1bG;ZF@PXPvdr0^I0R+FIh2HEgqMuj) z&O!uyZ=pX=j%_l!8$4mbW0;@dPo&2VmD{4Mo|}jT&rnY{nH`-@gbry{bSlga9WZ2< z`srfk&3gd^)2W|!7?#}>x<$qMBUbQ&lLw$qPswUx>T2^sMb4c+7iWW<11Evk_sM^d z2xo&!#uw3Uvf~!|wGse+HTscQZ^f6VncDQrGaE=!$wLHD&@2lUnQoH#G*z&1G-8kX zRegk*5XtL+%GW(l>Xna4c)3`0!TA%*L9qfx$mB>0Lothr7)GBLm1H|0CToMoL>zMI zx7BmlygM30VB3fs8pa|tq>}xWNt$Hlpy>w-k^;h+;*d<>TUD?2K6r>}uE1i|0@!YE zkb3t300000=`fYoq`>vr<>WQY%z^3ns9M(Z zL$ZkDbWt}~$tRLh=*=-I;ja#oq9zHhd$-C~g8$0J}Zs5zsu9!#p8-mGA zg7yyXPZ^}WPaEJrh{#RC&k;}nwEQ9h)N?=txFrYa6!0o(>~3o8ls3ySNDYnj0lPXI z`8OdQZt`C=O-)b{%iQ^^j~H@pmSmQkuKNg^RCE= zF?T*VjFUb~|4ABD5z*P`sL4PHc>3HPvYG7Og|EZuj}x9UX&JUOWeuX;K~w&X`GfD~ z4^#xZd`dZ)S9|Ya2878NUAeKr*J!VFC!4Z+WRYT&kT}< z6&w_Fr*#rMqDQ3YquA{=Umn`-*e21=76;`96TV@a%Jh)7r?p#VSLEz^FSGSjLb~2d z!nT@hp+2Q0H6)kK`=-rf>3LK{IFFC97?dlUf|KhpH!`q6hiJ@RKS!Ko3T5;=0i3M+ z_kr4u05PF7JPuawi&?rQDo`zSt(t$-1M67&@ z4=&H>t#7g64qx7JIA2)kY0Hz_tv$D_s_FN&P2Ph@9C1MLOK$>P`2@kO=KphNtNH^8 zoX%J>2ZyE%dGNu2f6mH^;Grg?r~fZYwAEzcF)QjM%{ z72F2hA8M4{FSlwJAbSOqRkjaS$0hcF#9tE=om?+}0SuVz3vvH41>tD#1zlGM&~39JyB^WcUhA+7~-3dzN}c#EWv+ZuWo}n=jMpqjUaJZfIVlIC@jlz~A_Cl>mM9wF_`ltv`5Ja>_cmF7iA^Jj&cMsrpjiF0>Bq3mM z-_^ldRyP2qUmKE{<{m4G;VL*Kem*&brbH>kx(>)oLU{{Hb%Y&RZ1AIt=ovRJOQw0% z>@1y|CQg*(MAntna4c;;O?Ak-8<+uRt@`dF;teb+9Gu4C*T zHUEX^Y*S%SXF%tF#jzvx^2!zb9RFWs>5%!zmT>I~RguW=HT~I4A?wfrS;mQDX5fxY zmBm#XiY!o{%-;_a22(Rijt3Su`gD@@R4YjhC=}Ie+XrbZlC^Ccdbwcr3xDI&hT`4X z&L4tU$;jI#wGZ#x$~W<=Nm38)nS*cd*`t6JiT#C#U~v&CYS#1&?3WN=V%m5#>Tqu# z6&wEzg#5`WDDp$C_nM-uJn(xNYj#I(*05eY&|@enWU=dG;Pr(Y~~0&Bp0y z07i?0=9h}~lfHc9&DF-rf8@!$7tJFF7&fclbN{wcTKKWLSX{7?ei|*4!!svBOYh1c z4)8*Nuh%jDxhl>z8H~yP5~hOaqjKEXrfz}g(7JZ-xmyqHMh|(!e;p@)KK|-}w2^&O z)FV?+XS9(Gpa z2ILj$iQtG`l+&(#9EP2Z)jezaB}iNSbO$%zK4t%Y_AarR68kl~Lkzv_ZP3>BCx}8^ z+af5*xw;O{5Zj}zBBMyy*g-q7{bbrEdXR=I&dmgxnJ~gwrci^}tG!eb?r^0q9;>6vS0|EJh0CfQ-PUtcrnA|9bLIWe)r;8C_>^v&GNH@gi~mq}vjB*K z5olpAg7>ojU;MvtuW1Y`4s_rbd4L2L$aJebhZuMOK94gaT)t#950ALnJhwu^5!Ajp z$dziS3olY$`?f(Td#smWMpr!o995-bv#W&+q@tmjVXX!3N{pU2X`%oQhX)^Iob~G5 z>Zy|P%#oj0S-KLicCnh_&gd!H!*)+tDjv*?FAckO_0l$=p?q~G7(_xUiJ7r1r#P^J zM(wFc%H$+oyV!BQ5pWxw4#L#7hD6&uGJNLFgnPYS9|Y{l)Tulwe-V(2>9C?JC9tGE z+mC=f9H8v^V^q7AOKuP7(@8WG>xQQC&Fj zynPJY#BFB2)17USOqgBvchRQ)m)aD|xLt1G0ZN^!WV57SN-xkrwcfxqEbNMpbZP!(GVG-mBFG}f1<5HP zw}bJr_6a>d7rJaGwPxr5;9ad^XA8COi70fSx;7H`>6!hk>NU1S@kRH8JsYcE1*=x{ZW@KGeoU@^Fne}=tK8%KZNB}w~fX_(iuXsP_O*O_tOOHCG z2uxYfTbGl@hj!y;?BaiWc-vl`GK{_o%Y0WZzIuu4+aRL4k1U{Cvpl@tMZerXpI}FvDX#qbBg{b=o-&9rm%_Q0D9A%lFB2b=@-b$_JS@O z@6_uBYF{Y8mP*0@mzR|k^^&9S3t{8Xd9Pv&uk(WRg6!SU3tmgo z{8$6jxh;C(bBv>0HRcb+-me6H0o#uYe#^9_oGuGPoF{$SPpY~<1-l=OaH!A6lyqdg zN|R3avxL~733t!)oId}_s;(?a__GG)2T7u`Ul5_4Rdu#z3yYn-%;Szlrj`g)=dsN_ zWtx<~->FOa)IH~#Q8F>s|7k2s2{1`9WM-!b zt&vN>`n7e8eXW3-30kqD1&L5OYAz%@xHZ+qG_3iymlNZ%SwNZM5zi$g)UFavans4I zd7~T*PIkOWZ6-hF!VVdl(!&*^wPLOE57kEa+I&!YM6f0Ki3M-DiHP#2$5Ips{481U z@hmkJr&a90J;O@zBy6x{?5d980YyxK`uofS#o4n??3b3jp)T%{kUVFs7f`3+$z!P! zgiuieVOs#}Q)f}py^YJ412@2W!eqei=@vYcOEW6uK%OMm^%QJ?V4_m!P{=-@lHM=t zSTf0qY{;=qT7A zXuEgJ>}*pzO)mEs6hRWQSZc$ICp+>xwtoh>{Jz?yRT`rrc=55*5UExLMv4cS!^xD$ zBuUKHKO-#|Vj(Fj7eVHKyiw<7YV>^cO(H9HA z-i0WaP{1$x;1{nqd-2QrQ77b9mtAK1L^iiykDJvy=pOr=k`B+x0;bRrdtSG43@HC# z?h0w1d8_@Xxe1^I-61-JZx@V6AUsiIKVvh6VD@7jO#}F#)GB)c$jDZuc|)nX%N#MX zVb`q5_wwIKpxIsbe;`sBCnFqW2@}>KzNl-&2fzS5UBALOY)LCpgymqk>a+=vn3keS zfwZKlEM6ac*ZGM!SyTmIQ>h#TLEe0rM1-}aJe-fwpLhwD8lu1qUGh+st8I@$JSB-{ zV3&;TPHz){b~Vy)n_e*65hE9|ZoUViEjn&1{8&-bf^XJ<&EA|h+i;YOa2uJ*R;ZVi z&`7S~fYbtr%^$)x%oW23Sf?RLtnToZrJH=ezfYPYs!O1>B^;u%nuN%v%L%o4fS+h^7^vdaPPAqzxDh|g2 zM8`@l`~*7PFr%`>g9P+=y!2GfsPqA!w>Anw_(kI$zu6-0Z+SI~Oji#V=+BJkFz24g z)!o}3sg_oggI1eQIW6GtDdAPgfy{HJdbt=^1qL&&7=Bd*=_C-VjX{!W#A{FWUS-SR z#blUn>%y@`n*3EPat!$Mz-0V^oE_*KiqL1)@5A#`wSTy_6^}!IYa-e>ygQl z^?SIrB(VBUCu$CDSiYn?+kwNLZN(bxf|*#gy?8Ciuk~%4?1MSN!05l%>n{v_hK#q1Pi-(^chK; zBcQXzMzn~v2DaTqY!ClEE=uBg-J(QcL)J@sASyX2R=ymot0P^!;OO_24ZhOK_xtbz z3OXH>)k!!f&3Ebl&+Pzkxl`aP=CIYp!AGmq1zF%Bvyl2kvT}c(XQ-u7J;k4N;M2lko#c%$jY5-Yf08NhQ>|6ty|WP#vye-+~DH$~&T^WPYy$^!P% zNOs*I?+D;2WXAE}bGa^^c9unQOb;_&K+zAm&i0Up3~2dZvV;IK3!+B&3{-NePrl6^ zge&fm6Je{*(CLac743VFzf1y++hO1IM~>oBAkDNi%XOO1I<_Ts?~Nw~KZcRwwZh?) zpDpueWAv3W3;_YD7*Wu`1SAeVQ#y+v-pVCUq-3?eIb1}OdZMiLYq|c)zC3pyg0v=a z`7))Eim8H$@gM3KBw)lQgX=ODYz)90?d7D^W+H@di;lhy|KUsR<-7(p&%nKM!Vxv7 zjC)~Xy&f~s*`(bj#n{qI;)S!>G9u0#?@0Vs(h`4N5%AWaQM_D2^hPsm6l@LOR`Z3^ zTk?+@C=kt>%2k+*UA`9e));kouPW+xT83-fR3GB{D7hWiS<<8XB{?5g-RNIt|9H@S z&!Ls_lTK_YZX}5pekIJ6DlK|$m!vR3a<#Esx8Pv!Eh-*MmK8v-tB|a<3_t~IDZ#Cr z_Ei)K66gS^YEVzuA0mo7v|93^Ujo;of_>@4P_v*hYcs3I`eaca46CXBwkwCJ6a<47 z^1t*lZsy+hHS@lJ$8l`y#TUPRG^e;qA<}`!kR(3MKc}X@CI4-;r$0F*B%p<5s?WVP z;djsUC3hb21@gwACAoVs<`yjdyX5Z1B6K|JA+~j53RFeEs|Q|0$aK~aXjh_1>mvM( zDaAI=>S`RUQ=f+-Z?_3+);3cyzfbcI-2KzbA746XJly2(gFE1yAnCwK^J zU^1Mcv<#kYx?ct=`=~QL{3j1yp9afgaH@aF;M|oG_W#1hFB;u_0AoK0Y**%WIi0ts2`;JRLTQO# ziexI7=3T2akXKu}Mpv02F&?_AuHc{x6QMdl<3Z)b>$7ivOXMEpio+^z&68-JTiw zz4l7h>0*inm~py)hI~E3@qZ^CT9`|?=Ikq3oLB62)TDU&y$<+}^Yem*mnDKe1@%~x z$HSqT#<*l-nVEvLNRt^6VQn=zXJwisK-DR09-p`U91;Z^8;=K86wKs`@Q~=V<|tUo z+nK=Usqnd^-CY%^_kl@s!FX9)ItL@wa(_q;rWftznnjMm``}T#uGU<7c$`oR_2i)= z;4i7ctjFL?-Iwkpsbre@HQF;Fw+DY>+&f91q~8c_Ej_q~F|VEE_^ORadDBM(rvi zo2?{k>->|M9p)CdT#ZzE6%Y2lAh9QS;1sw8fFQNPo|L1ep}~I=Mgs>EvV7b*EaB}= zQZJ%C+%x-%E&L%oa=~|?f)z8yTLS#&6%LpjMBe=jx8=JlB$;N7QBeoQo|ENf)Uo2G0_^ zcq@^GDM*$Th(;^u#aMC~K$<$5f zq^+agXc>&zKc}rF%Wvi_sbazLVx5y}N+)2(fSqMhT@z_Zw9=gQ_SaBs=ZD5Y{Z9~5 zHQFoC^Hliye3j}3VmzhGV+e5wVoRV?@N=pTvNSDXjR!tz`OeVEDn4$9 z4uObNan><_Ab(#ap}HxG9PnI~fP1UDx{j9ALIQD`QZnlx%+S+7$xf;F&pB%=;snf~ zWo9VlNASOhMKtf$bRG;PF=fsxUA!U5zFaZVRbF+6%N8H%^c8#|*@B&qasWH+`EiI` z-~#;#n#8=H>wceD`VJv)6wDG#aFJuO=ZTEJHXn)iA)7!HepqO&Gi;)6K4knUd7Chs zk5m%w{uNybi&UXsw2@ka%F^OMDgF|?6;-^0VtkaMB&s`=x6-U2@R(<7-_w{or6Y>v zLvba;)N30mi-`uu=V2tDe>}Pw8tl&4J=jQrIvFyNXZLr>4(C5M8i6+wLK||=fYQQH1=ZIE#vIEZSvBV1+&rC0 zqm1PrN=YvmCZ>Q9I7;j?Q?ln16}Hzc5O|udrRYhe-0SC3mPTjL5=Qxa_n1-&GS??t zHl!ybsfd(!|6O>MrFZY<-u#C6l_ITSqJFH*5yTCo%q1Q9s?bEH^y#Cz5~T(+der(Gjq;^lvL=X3^R#Yd#T;nZPw+Oh=eT82cx^^KM3 z-?rN#wJxGhNxIp>#t1{tC#%Uw4=V-iw{lrxLLCBCb5@xCq@9{6(EWF*hsv3{t}RxD zYfh2mzrUs0bU4v8rDUo&ktyDt%-;fIFlSbJLw&VQ_(RUk_Mo|F!h*5B-?dD5@c}0z zfj5HV?!RY#BiwWq^4pBVbv1+&s_PZwaAuxsOBRpR0~zs6evwsW z44NyWru%5=`)s;S12bI7hq~p~6H~35=Qs$|mRhJ8DrIxeLlQx%_oNA%oI+VN2zZQ+ zQYQ>mG;#T=9a5}@E9Nw0iL)a)oJK}7lI22FFasi{b3;hP)IC$e%hq5xg(eyog8)ZB zxWAh1R%B!(nf;2k^QkHK}oy2u>3mU zIf(>qG1|*eyQl0hAsWrI*=Br11m?GL>1+dX?@ zk@YSe$7CNwrC(!hVed0-rG~jHr$@^J)PQxO#93k!+~aX35^CF#sq2$;`fH*{L0Q*M zx`g8r`-;z8mcz*DO8i?W-;YaHS7=)pTP+^SUAF>G<>KByU4jak!8;V%m2wuClgks~oNOLBjNQ@Hf0_H=0--p~HB}I1-U#Rkm`874b^7O*CS|#py z;U!f1?^9pZq4FHXBJB;Yf&xr|bG;XFO6ft5rqkei4fHL_26BrTZ{`*IsnKM+kBW7O=kF1{xSUNA z0G(vb@2M`!OHa$>PD!vq>Ee2pRT}BqVWCwiq6H&n`^$_QcfEO-W5Zq};T6(WzI9~6 z7LCR>jHE8ES&}a>7E(2drj8Y<%WD4q;F&7#6H3$pLs-$wD1f_etF+DpsXKvVh0ncZ zn&{2n6=QB8EQr#%h>$^wZcQ8hIV;Fzx|Ad7vS0xCzFvtRPQy6_#%_-OS&0_@ zEud6q<@Q1Z?D(NK(-;e!Wvx6)h@}SWQ0BQ;Y zd*z=AO&@I??!^Tve;OW-dG~n?amt1cjiTdHNE|e)Z(;Bl(3EkczzXO$b1K5V0n0AmEX+G-}7k8C~#RJ#AL{sID0RpY*-voT>Ft-cPrZuE4&^2%SxCYnpWEL=^5YZmJa&U~9%RIL577(q)jbyClrefgU3sw|HGiaRHpH4ah@ zUB+Ei0`29TQsbUkBX-?rb?B5#8V(PnGC%$q&l#Iihid@+^AEBNCEe>qy2E*H*f8|Y zv(dQJEd%E5>P%IdYZ?(n!ANu^9Spsfk3s#h26LN(oS04^B zTi=+uKCk^*UuYeb^HD31Ec^;K1e;KQ$as_0ix}xDAga@L&#htP${+i1!DEH~R|7%x z>v6#jJYDgXodM?-%WP=fI3Y5uR3B@|&NQ^rU=mCU7G%3FQdWiZ&eJJ-+gtIsmr-8+ zZenv3M-D6IE_C4h0@B&Mk_g|uOj3NmAj`VtG2%h&)SUj79^)f%eWam68%ui%qYaGh z{-VsP-VEF#U~Qo)dd2XiX+>thoGeo%8?S{S8mmdev`XMKa@q3F#&s=%hioe)r<2Us z`0Dj_ytFOAw;EatOVyBP5LZ^-5RkSyD#gd+O2*5chHO*}IzCVYA`T!4{e~f!SO_wHbBB?O_Zy?IWRfX2a3ncEfd4QuF0;r zl+`XUfokF(VFHlIe|Ps^WZ(K2&=-?Bm^scC@u=geEx@~?MZxywdvb1xKKto>BF8Jt z4`Y>>HRA)+L`=d{*hzKVVSl#$G@y#N;b~YW*(Cu1_mN)xdx3Qqo9pP+l!4EPk5>(& z^b0|OW3yVeSg(6;Uc*#3ygr2C^@A)f-gaZuq&BGMJ(^BBHh0C3-G(MnR(7{*yvkKA z7A`&>G)p$A^X7L@>!UpMNpU3xd9L@3<)!2>?XHg*b_Gc!3xPg{ceBj{R)hTh#6!j# ze=5H1H6XBDs64rzjBZRw>m_J`pcu*Z)eH<$#_#daUWM;%AN_YtBWn{evtX4Qfo9&% zmrKm1UQZSfTpRF-bm`bAY%wap65^0Nm?#nhevAVy&r?vnt&~#wjhV-QYUlLVhDQW{Pm_SwE z?XLc-nxOKnxYjSv0dWOL3+gs}gXF5TT6G3zH(QPsOh4RfF?jJCO-M*3}M@9;kk4=oyyQ|v!1 z?`8FAD-#V0XxhJOvsAr#{Hs5VRXI3$ z^)f4|$movahZQcV4wJDO9YhdI%lIK-S|%*r`mouGYu;zFwv!h3ZuUE4%b_Ne&+=Q1 z$GX1GC0*3$gX^&K&wk4=w}#*wCJaXW2NCMr677V_bq7nOWD9Y>O^Z#DwN1<8m}JMl zGqdLZQzMYUeT*=z<_8s=f1UWSKb;-G;$*Z3mounR9BM>3mjU22h`xgg1v7!~#lH*< z`Uk3SSUE*rpFxFAo?x>)0mp+A3`tPs2ord}H6+@L@JIiRFx83HaJ;$*XcI!yJcqUu z->{HF{`&DLz5v>$Zppsi8L<&en7vf9;WeC6)YaM<~dNji0@)<+a66nP9F>p}1n|8B*w&5%Yawd}eT?q(_1r zqgXOgiL(za2(I%1Dm^TlWqhMArB>?1H~8a8t5R1dFApNxA9S^RnQSx*DWW&28kO20 zF0?1L-P_Sw11tbWX>fdkhzb{FZ3kaEkvEN)T5peh!=K67 zbUI)^-;HE?R=+5LS0u!Va169ZD=@f1=^`RYmQH?8{_#TV2 z+-_%y?2Zl23z-Kq6s;TCZaP749y2@eONolDX26>9;qp^sZy5@rBn-Mg0#i_^yO;X( z`cvlwwC=|Wpgt0(cj6Pobze(CIIwmR4qhR^-X}> z55v8<7gg6kojW{%xw44){&FL(msK5~Bj`Eq;k}oOLZ2_*P_Isee1gRFw zEPu>N9!40NFsls%-j^T`@EYqx&woV@P0&6sF~9c1Ca=EUe@=H9YWB9t;zJ(^7&5%H zzDnQFmXejCH8b$voPSsX-VZ|MtvW^#AZdUVDjG02)xa6 z7KAK@1BVRh!k?fkn&TS}C|qv&8q*XXLv>LL(io}3P)>>dLMuV;2sn-osXs?FyFN4u_W#rY-bv%_yAhUXjsU|a z4+>Nb#rrNYtGNj&FHt9Tyc)Vow6826Ehm(XZT88?35*8|N`*nY39X;`G&lqcRS{~bnUWFh#90E&9OUkkqU$;=S|*nMNosjdzwbERv&?GD{)*sevH0vHvVK7s0vpkr3+qt4G@YJ6Cd)_RHk{W6vQ1O>Fpa~ z!ULE?`5;K?0vJ>9sTYWqp@|GM>)9^j6Pv~U_TxsakW{2O_P20FD6Gca?Oh%7Pmp5 z2_{pm3D~h3)3egtAWrm3?qnr;+Qp-;gh1=?Tgoz;&M0`WEcNyNww6{9oSMUh%?scq=k+chQcMZcv8d%O{Ky{P+a>F?+WBM7-S#5-%> zId7QtHNAngK0a{JgN&^c4V@fgOq%XQfVHn#>nGZK7;CO>7Yo%tj7C( zFQfJL%G*}b2b1dV`dnGsW(9uQT+f?ryJXII0Y2WzkE^%6^N4hwQ@QM5ur+t}^^KV_ zZ6m9U>aV&aR+~01p%kD54wbWg8+UmR1r9-CwJxE0U1ehH#bSpAhsvc;<+ep%so=EH z@c7+}?|Z^JAw>$zgI4NcarwH4akA+H6=P^W{B4YiXU;PbdwqHs-9a95WNaw$#H@c2 zlIvaV5syvau^aLjxw_jEM)$9{TGF^06#FNW~Yv_eL4hr;{~r^gX{nEypAZ= z9tl@$)mJ{m4+{nl+DwCGrb=+KT%f{sGt}v=rVTq6?ld3;iZRj+ucBsoOK(-#UF|z` zux&W6L0FsgVkE?-uJVr-&bG@4S3%>7@gIO)xg+*c;G6V`-GYC&XHv@jp`p z`|VC1SoB0wFB5Sy0IcaZ%y(Kxn4CL*kKbP-8k_FZ4nRbA;Sf`#Z|GwZHrQ(L@AhNp z>sOi8d!jkif4ZG*%GK*0406!?97uuJ5#t4`v+!u4-E)p@$^7NL0xTF6-r+Hpw+|Hc z>DIbq&Q6__WaU{z&6zbx>GSL|>S*i8`->VSM3k2T^(g^{AA(y)e_i{cpW!297 z2H0M=qNs5$P7(~zdqW~-DA+v40%4c_@`)k_`6w;-Cc3^B77!<2SyL<%2g(Y zav(i+gokEXiS3iLKlqZ~M<*I1kHFD-Jz-+N-yTRbV?zp<9@<+S0@_1ldRD4rXUQlt zU}MJZVLmY)h)&XOb=$BJ8n!RM-&WtqfJpzSjF9wtK})UtRIlQd_AyYTgLV_9<&{t) zmSn@#Z7*C84rG(p1o;&Dw%!TDa1{}il+5YjRi1-3derpuFY%wuZwz>!V)73OCCj#} z^|6@?1ZDas19*&c@9Xb$qUJ7Io{5c}Ye_U|>}Vr!jDV@vz%^8%Qen-M9qWtOlaiGn zo9)L)xa5-cPycwT$lq+&JBIoZeFrf1NCjoc{1094uDNt)3^n<(D1KpkP0up!w)b^+ zfh`iAS+9jTJPv_jf(UUF#3V2_=iOAyC*Fu840>rWj>=Mh?a` zR`NSJ5wr5C1ahpt-{mgh_4hNbn~HDb%2>3&$x2kT6KJ75tPOXST0_wiX)xQeH%l_9 zdh+>e1nnLa1<}gmAnOA~YEOz|msvdGk+K-l-Vg;EhomKtAG6Mfltl=!`Fk$WX3X`J z*+_DYW$W1{P)1M7PY0TK)#z{P=l*BtAjOnZ=|M!X+NAZ|NofT7=x(N$*SJNAgCi%_ z&V%DkA0bH{o+7cO%PeBr?e*DtT3n^G^R!_afE=U%N@CI@Zif4|iX;b%(X3~xOn-1d zO28F%K*xv05#=>dvIP@o8Qbul?g4?9E+Pk}AxF__-tr=fS?`EX~BemXO<~axdu6 zV9};--+}dBPa_C#{{*vLWR5;yu#H!n?MbdO`Sw28p=b818uAHrEZ?+c6~btO(L^w( z+8pGiYtZsHv6KQ9)l1}fM+3TwJ{9-keFg#8Q9x72(=+-N1e?DamfBNA$c0yxsE61F z{5ZL(FNJ%UHJK6OD8{_{1SL&2sVi9CpO$UVD2P}y>gtJ4-Gy1d2Xqlx=ydyv}KxC9r`Kk zbbrE`K}+Qe5&k{6VfTg#gA~!ebaWl+PBfM$5U#ZT7LQUmrp)yS=1UwQ+>ap=3ywfJ zXZ9_cws?t)wHF=WM|!u{BOv<=9EmdH=k}8lT!cLaatd8SCp?R+6>Y1~+&M5k3sI{> z;`B4sn>}1S0s5M-k!J0LxD@sdK}5CnQQ3N63nm1HkO3{9w>lJ}_b$iRg}aS5D|prW zXQsO0I5Tjm3}M2lde*OIoes@M3=(5N0H2PN9p$7BoE!(&tR(j?$c3S35bmd>FMQO_ z$7TsYc)c@qjvYeTT{@>1i%Rx>{nghIAU@{dYB>$nwq1`#%%j0>@iI;R9!Ip$;gaPa zM1<*tR(|BQgV~dQ;If0ygF!@-d3-1Vo$9GjI;@6+z8O`pOcfy39nyt;y;wNcCMoKB ziSz9~$$}wXYI$(r60|>@*T_F)fx@@o_g*>~H|68+sCl(Wq1s|Tc{8Y26tA4SAkj3! zKzeB_@qf+l8i}AIy$VGt^C(NvhbGKI7paV%wcv77|4*fB6K(~xMm>iWOsI|ipYU$( z@1Gr8CIWFK=ZfrdDV2B_Hj?qrHD!89c#YXlfUhwY)?}YET!%9*cwljlDlrU96#uM) zSF5Cht|9ORo2&Coc0+UU0Wq0)lhcR3k=-R zRXq}L%@<@fv`N9LdUoI2s1FB8>KaUR#-I||78^ud8X=q-UWEXV?=U8DWg9oQ5(o`t zf4hVp#>kek2w(asXYbQg12oK~%8;5d9|SHfSuM8wMF>XmIeOG7`PXR>Raa$SirD!E zn-I=Q;Q@S22Fu1vTXY6j>3TkNkQl9W92PQi_3Y;N ztn5j9BEnIm75p!*)=kiqk&)6^xVS*N(__izD7b!72dH8qE2jpk>#7rJQ*yO&=0Y%z}5NymU`7o9xvdVTuvL3~=t}PU9ONgV+9bHv{dL(!+DG`Od6b zTqfI*$e#c=ge?OX#Q&V8!rA!FAI!4Rgv(dMut(_%<-nx(ZOe%uFgMQ4Cb2HT1*)oR z)|k+$yx=XUxwXNd55;Bu7Qsf=AUGuHkIOPu0NyknPp$@x^njjaPU8RAep~B)jpn^= z0LzEaM^1mDE{o3nr)>)mvyZ1PHp^%u{JK>Dowm zIZq`~(}fH7u%^>y%AB_9|2k!0^pVN?*lI~|sigFe+9h@w%Z< zr{Uu+=~nD4EW$doduN2uaRHUqRu?WSJon^`#pEESKYHkAaXCBtL&nK$pppsbN%CNj zc%WA-4VDaztfQ*l&;;8)Hu3xu2476AJf{_R-R58*0U8L|OfuLGt&q~mDH@G`%0%wo zESAK-E%re;n{o*9dg;^?6&MXby&H$*E$lT+WO$MAhT39$VlJq2H4aIyP=n6DQHZAR zNv5=mc0K~vASz^5_>r2`0C~9a1jGWQ)TmWxgdzJ$#O%x2jY&0qXh1M{e)4k7fOazz=fd-muIN2#2n zC9v}1`EXEM{mtXJy$&3Gw%kQMS_CJ1GEdY^rPk912~)HiICr1J>B#kU-LpCFc@b zdLI0D2cHP38(^DrM)w$Cs)Z)uyp7_T3AH>LKcbLiV4b)oqU_85vDu}ENh=s$FflDP z>ah@|tlR)j9btk$dGI{6!#K4>jq7Ds-}4c9$l>pAmQwV_eJO^V1z#4AegZ9Z&9tLIv7}Jw}8E4P}Uo>oo`Y$ z?Wh`D;LFD$I(sz(D-&2j$~S7ChJ#ODk*J$J))?|0TyBQ&!1K2IFAmz=sLc!+PKQjg zcy(->+7;z8k6Is21&TbH0lA?^LP@947%#hRa=CKu#3G}XUYwNfkIM;p@7X`6c51cT ztHdr^5}?*~z}c-57}vaZHT2P&<0TEfA1hlF-oTj(oMMdXU^Frb(Yg=rBNFSJBq*dx6Fzq<53h1@q=M-$pXFF&V=qkz+!Uz4xcJh& zFkBub^*5fI$v-KIDTrY~wIFp|3<#7QmuYPzro4#>!ydwypCmK1*4`1w!imlN=UD`v zDEx)ysduFBxK~4|k3#;4Zj2sq9wY3LjXJeGGq&ZJIM^EU#WA4 zxItx>79X(ZrR_cZ4NxOS?$_p$Y#rR@V$`$XRA8nl(EW-LmtR*-cz#ytw$Jg8aMw_L=shkzSH;nkpB3_HjX1K)6QtUSW_yCshH%&4 z@<-;~H!sbRkcx$1w!BJjNYEWYeVz?oW13tjR%F`@IS;??)`hwAHv2qM5cz#?=aJJ%=Wzv{Y@IKziJhzVb|F z5v`V(bP%VV>~sn%?#DF==19}ep0k$id3m`TTkXqftHmx>Elm~5oOpZM7tKe8K22Z` z+`u!;&M$abQZkdtFUZDc{NH7W|CyGRurIsC6Ip;;O?5TCvY?#gQ8snQ6V~z)RX%-4 zl^C@U0+_3km$cG~Ga z;E74mQ=3_-JG0eVJrgxylQI22P2vfPS^M*ST(sO^LK6)-3Epl&GG{5Y{@K3IT?&YslT+EzD)dzL*u8X}dC)+>dvZR>Goo>ODzIk}JZ(c6cO_ zRm=@ft>A>C-^8&qc?}*vxl_u~@YsO&zwMP}=D3&jYS!;=7p)VE895uEn#@HM?ec1^ zaIKxp1Baub{2N!Aqp46fI}-C{U7zLL4|D_w+a|1|No&a@&m%iG3Uf?F`=7lI1XFzs z(;yH64cH>!1_<4KEZ6gl<~^9!U{4QVOEF~$|7cpr@5BHjjEPWzzPZ_;%a&I1I ziItU3n_rcc?cG}<3a18F>I;{rreZ#)Kp)kHd2igvyD}8hE*$cHSkA~9Vo+va)=O!J z&U(we`%;L34u63oTRa$!=LHzfT=lPsoft-swFrBh?_hb2eDH8vId5S4$yPXy6WGi* zDOZ^MY`-j~M1Sc@hI*haGMZD(QpwD6CzITH_W!J+66EU`KY$}1$IBBNH3NZ`X%^Yj zl=KK8Oi4=pXxoMmM|WxX)$9@VifnUIdljw}N#Duip7EeT*kb59+J5yUIsk4%yhTW2 zC#ydA1eWoxSx*>B#5qzroUKhlTH&7IkaqJ4An*;E*r=JLfkRzF^XLkGqW&4cq2uFF zJkUt;!N*HSB%Rnmj*LYz{o`E@z!J^0dtq4>Hkd`zIZQr+0*nFpv)E79i~e7MbfX&y z(iaoim>9W$_VvFSnt`ujjKMo%N*zC}fpRGg3e@3rH3}8-N(uG%gx7sCAw&kcdXv^; zgA98;D6gDH{E?{?4Eu;($Gfv#$u@mVG~Tbg_rvgXf!DJ;wIojiKba!GdK{zRCn}I7AEm}@s_ePQmN#q{HmwAzT{_B20&exEeM2Gv7!SB zc8{SFGbP>^l9z4Uf)ZPVWI=o^j;;UGk6ZvplcFR~LdL;rYE>VYK!XR>e#x9&kd4;% zI2am9T&FSb*T@6{f6NH8E|{5xjdk#gafHR)1j@hJ(bqp6x^y!|C*1S-Ru3Y~;!v>? zeXLXl;gzhX_n3!y0uEvUr{J<`!V!Vl(XHy}S5$S}bI@9lR^xJG&O=>vdg2J08^{-= z?Q*PO!DN9^ln*kt@+A-Mu@la|kY)0QAuJ3-Imt7a5Dc&?Xit*C(LNDTQ#5H_TrpzKNiB@$5t?!NA=k(w}Q1gQI98mF$2z z99~cGx5`TBRvMLqLb3m;Lk~ziCW`vx8lyZav5d}DpGeK6EfxEti8m26ZDByjQ`tc{ zmWx}g)0E5pf$m5a6x<$x>gqzJFP%F|KM}=*h~*ovxJ4n7cYL9<6awE5A9G~q!|P=% z?wnZ%*xdFldV(R2XLL-i8>y->5plm&*HrnlBqan!_wxym`#<9Lfo$ywNljY-KO&#B z$(dZSS^+yo`=3tU?N2nK<>ZCdCY zgByYL%&}L)NJW9I1T_VF#eRCzi~ssiEYFw(HI4+Z-{<)kLuD(!yBu_}fjYS|6$`-d z(>D1+p<&4hW=pf{fM5z0v~m@ci#s+MCuLsP2aGju@`0?bi3#e^OvG<2D5@=8ntNT( ztb)pR$V9LGlbD3HIz9=Xuho-{iCgz>s5vppAUk4+5~bj#gr`;Ekgcp{q?vNshnCxJ zndB0E8Jukbt8rDcd$e%nK;&K64|TJcJ>>)5(@S-JB8Udy0NF^6ap^Izwrgiuu=d zn6yaYo$0Grv^Z)G&m^B$@5>igD2BVN=JKyIiC1h&ATXr?4E>P941x*n7$bfIWZ1we&Rm{zM8U)3$&>JO6@r zpi(BjZ-5c0N0RlJi06%SH!8T1GNQ<+%GeDoXI;L&GvtLxpf(Z{49IKl z*w*S^c76E9Jr{rWCaYh)1LY=ty{zd?pW;2rJUe+?8-D-g+^2aT+1c!Mo3%`x&-CnL zD0TYk^u>pG&*_SvP4eob2orpm2ABGW0a;6>ea!2GROy{!K{eT28;g~UJP{IUXuTn> zF-=JNhY#e|*)NH6Yt|(&rR`Hk2aM3i(!Nq_3jPi^JOzbgTnR(o@R6>M-u5nB@pl5n zp=1WUKG?qU&v5B;Kj(6?t<$E}tjb(}IloS1IPt8df#pnU#7QvB4uN>H14A#9kc~si zO~=h+A_t5JISM2Cpxrjs!u=ry88v)K>0-2EjKZJ|LMK^XixA=GAsW9UAX9HxpId)P zUjAy~et#RXPH7Eap+Y{%9J4)vJ=~br!USD`uuB8Cs>Re`LU9>~QJ;AUnSWZ8^aY>G zJ%Q+cbm6H*_ue`Y4YQV`BIjRE6gJ*mP9e2Uspnf@x-E-Ak;r30Dl(gi5y9RzL|caM zt1Q`r?uIai6NlfQkwf|qW&^&!$vb?Gj;x;#ZS+P9u{IRq z;tS1mVU7j)6Wcue6D?h|IdazyqbnXLN7~S@etCUOx|lMSki2DJEMkW zqXN^+aLuNeI56`QHMR7IdI}?lo?&Qa8g`lXht0F3fOP3ZgNOnec~cYuPE+MT5Bb9b z*Y(?#a+`WsoW_7z#w=X~b}wb@E@CLtbw{?{x|N=Yep8NE__FGa9_;`UJXKgJ3VD1$#f@ome-GQmmYM%!HB(&$WVcib_vom39a`{+fasXAYhwa>`V45)~ zbWYg5a&O4h`l@8JZ1@c#TGQr9#Wtl4z=c3hYn|RRXmp0EoQHXiu;Ej7|C5h~z z^NC=K&ytWsHK$e0eboJ;+~dqDjc{ICDBT?dT>*rOe_g^j2-1L__03B%5kE|Ej9K81 zB=;aa0Fe&hNDiq-y^YDBZ7%GIBhu9j`K6L$Jr21*td_gZA~crjuA=8oV5Y}y0LBVP z^}z-$E#oj}qj%|YOk)V8C^h>F<4_g=C%!}K#Q2<&ruD^rAQuFSgG#QuEN{l{hiiT} zo{MKY0J>hhc1Rhg`W{NtIXCY>;dXvdxF@RBH(dS= zY~K}gDkm`(aF!^ihoNf9(s!viqK=GHJP8x6uIlNcvy9{QKT0W3>~n^~_*D^vA5)7# zJQqDI7)&O~S%pUJ*eoc{58KN|k(?$i+ zHLOhfww53(KHBQ)D82tjETvu+GQhlgKc@g6*h_HLT%-h?mSl;4>(JAc={9=JzHfuB z^28r#i#Wbg^XrC2#)N^p!i|}0)+Avl3c&HiI~shbkfM(BvQNpG^uDgNZ~YV#dq#g570*J*@H<)WQVKeO3fHEo^mGKS`!%To50v$~$y zVGP#m2qw#3NSPj%S)n&Z-sQNOFXintTRF2RJspHdE$3W4touuKCV{~qWCiNgI#LotoOX6Zez>20>*y?83T4He(3+_Rh=63$Zeb$Zf`}NgFF_5e(46SkyAqsd5kH zp(_gQNE^_b#l)aeSMWZNlTPZderUD-zJCPvg^4_~051&Iz3_`aOqgsPWgt8cS&W)d zB$w*PrI`G()&CYm^&FFqJriVgk6|crwaDDLAG1 zN*lye@e0rx0|l!8A&^6q?Ci=XIS)NNHa~_jg#z22y`GFB>KiigiW_w)m-{(D&J^h0 z0h{{^hgIg;&3mVCsYK`YySt6>j`ALv{c6m=%A%5lZX^{AmPfz8$$^2m_ko;l6FbmpTK3xm*2i`6)~ zb+;x+pIKoNk+59~DLQL_lWV9}Bf>B|lEwDVo9a1|=rgalm%t~N>s7_YP%ZL0&vSNk z?K=Kk@igeTzbVAjS`^7IaNvHeEb7;$0*D4Eu(u$P{ZOwYt=v|?L9@$3$_Od5gH(w zTF{gNIq(52d@SA|yz1DdCi-M+dgpmr(%)ySUt{*tN|64Z1C}960!Koj`5*{8AC2P>pNI5 zT~hb&Y4>mev;g6{s;PbL;=A-gyw>qlgaNM=4dZnF&7+_QaPC&U$TtQGU-0UInK2kD zD=Gkfb7|!ExsFxeiQO(LIv&;Fb+XG#21{2#CvSGVewIYmK!89HobOP0GI~HgSWu& zndLvs(D%aoxIO$v=>J&G#u}UMD|Be8;5-6icCex^@zEe)xXdg!WW_NaZXN=km1@M-;1?-3I-}3Yo-qHuDjgdP^Ud~g&=87Mer+nsBatkJ>ZVrqR?|Ch*&PaH6dXjK3-6O;_CmPw%Cp#ky> z!pr!?lcqH8g6kY-sUl>X{IJ;oR(g`)k<9y)YP^j+d6?h9KxUTvz6g)3QdHUtN z3m0oi=7C)1X9}5>*S#2hg-D(CE#FjDT_7^3-J#uha0n_FU4{mLo4O9z)_@NHD2cF_p#|_F656>5U-RHVD~^V#sT(he zKdqUDCy-b`tVz|mWmPj#Ki0mAXl?u|;9z{~jTT$4D(1wUyN*4TIYvaO>UwdUrB}OT zf<%KPtoH&2lLGpaWqAsyw+vIme=0eWbA?+P6ZocH-yQKX(#>6(hDNL<3;|!b)?@k% zXoE~ws7W8U1rhFp&E?kfftWZabX$95_*x9e2HT7BP;G*wI6*`=Gj%?ib!c!4o2T%O z&I$)c;+LzeAp)!r_Nnu8t;yIa4pqGKZuz`q=h9HZPjWd%zMd8t#V}zpMv5>~3F&I_ z;Tz0&JL1RvvqVq#i-PY>i#7ijp?w12dOy7;2C|VLX$VoA-6Ms1+7^~D6jgPGaQX=M zoUY5e6Qayn3CUr62V>;=#90{EIEgU;B0@F)CREF$aoiQbp;;PFyDaEUTLc>((Cphq z)X9(-Huk_W*E9Cm<^Q)AWA(z}0=@@n_8JuJN0aH8V?>aG0fjgKubms%{B%VCD9k)B z+BcP!`%ffSc4(ivAJwFX~}X!Gx7P*-P|hzSRNt zZh(Ev3+07;8tmM&U*~R|_`6bn*C=t7V zxKB9qGm>wGz2BUlX3_rZc$#S5L?hZ||0dq}hs=?OpJH0?iMZb>KNIJ4quarTPq0*?DU&l z%3AG(Omc(z5q;vQ9ZiMrC#f}spF$kynpOoV+iYBV3?{;VfdV=8x?&Yg^iYSMUC4O^ zow{UXBTp)e9_Sc`d!XegpC;3b{n8vf{>_6LBc-OL%>9h+yHdc@4@h02p9@T6PBT0`)mXis*FG#tAcdIJR98JPaGs_>Y%73 z-dq%9-vcRbe@B&qdUeH#Z$E)6byRt0q)(6HXmw_b=Bi2))!{%7l;}$Q5)TweHa$S4 zCDsA+zw-cnab3LW`b`6~_^}Q8WX0yI;kAqfP(gam*OLdVH-xs(o^Vp&)?4?* zz$r4z1a|U(Ib%|+w;?YHi@w~3c$X(*8_L}H*{A)9w@0t~ds%$jFg#FfzjHYdls^NH zS+!!8z;gD5JBw93uTIFX$7ffN20~M*(snZu-`)Z`4wV)1P{&Y`n?ESN6Rw=9o1;+C zIwEWR9p9NTfhk#xjm-H&wHl-X$q*SYPo{Fb&P-*Q)>+9G(6Mpp1}+Ib^yC-|^df|? z$SxK2_$zN%mLdBar!8l}d@1nRoqN<{tVVe`;ZyN?xsI6My3cTyn$$}TCVmF zzyR#%r&OPyhv%7FoyI3vc6d>Hqo*_Z89xmWxX_ixVq}kSS17un~Xm;S1LR$^e!5fSTHVh)$b+X>}-qhda0~h27*4#_NzGb9>#jBBzPS-eKfD3fl$r`{I4K}`VC!BOO zbN;}+AJFTn0h<+Xg>s^s2khP}U%Z03Xy2FO5c$4OjFIgqG!HzjpfFrPKP%#7iNIGA z-X`nB_Ttk+FR)*bUKbg}(M?qN29819GIpsBlN@%^?4kZgZuk9$kUzc(! zLmZ@)aV0r8hQFL0meVGwY<_oaS1j+*Ri0N0i5q^jFLcd(mq$P z*yBcXoD7ax-ZmRZq-EEeJG(v(N>fHhAN&NM#ck5s`hNjaH+Aa6VI+|vBjkfXd7x|^ z-)OZ|Iv&wudVO=a)7v~)FS;u9BtxS+}&-zjGK} z)0w;$5^Zg`cmv<<%}-_8zo;hBVF6;?R8; z@g}_rfjmMHI=ILh65?%xxHGE6qz_q6$)(0Q)W{Nk(L7M;aC0v6z^<9c=aycxaJNKL zyrKwkawDen;i#r;uPGk-lrGq+r7S?M1T?E!sPSls0D6<0-KH?ybL)~+g|~jP(dkHB zzW#hvKgzPJ_ygMZBv8lFNG9#w5rHR|s_qH-`Aal6;*y#V>7|i0$ z#BtS?d(RnraCzfmbcpVuDHBsE5=UJbPmtebZt$l<6J}}2>;S346{?q@e?5|#87CtG z*5Oiji4K@G8mq)^7;O#Z-xK22{hEK-guUHRutXD#YNl_fyinb6`lKCKR{nkN`@*xa z77jPz^1LBji=ydcN$jkhZmjX5UjN)-PZ%JPy88ZsorW@fimoM}N;HbWWdk{+p#MS& zm{vM%$t-Nmqe;5=?LmLcqd_U!)QC{mZ(GAQKTAzw`Ri%>@l?dtI|}L&ibE`i(l`<_ zY;XinH4EOe47TYM2RhILiaeLefMlL7pp(-;wD{YlF#h@$z&zO~@ZO{CA9H0VmBn&x zmi)3VDs767)G@6e=DKp2Q)7w*J&|e|P4C?}KD~UsK3>Ng=Q~mld(>goHa_9&G`VB0 zWQF-gRLmc!ej@P`Hn66m@y{5EZGD{yO=GRkjVuDH;e7gaKhu#;qp1~>)OL@w5EA8Y zS(aLUZOOzi<<7Ulxh-Aoha0JEd=_u%zULKYLOl6B#Fpv-vY#wnKu;=`dHx14wntdIj1NLZD3eO# zjbZZE_yXa=fFjO^X=o01J5GK;w|LpVYmmNgPKpQC9LP9&02r4`ZFlVyy!P{Lz-#qf ziz`|^x+Cm3EPOLL?ifgiw_sIip^X+{ATFOi)|vd^MSu-=61)4k|>-%sOI!w)Q438 z{S3oWbvXCOAARax&bg7_JR}ln0lUaBOvV8#b4C zb#+!f+WS|4UKX^!2%$zeJJG(=Ox>7(w7efvU@PAZ6wvs!t&oQn%4Mg*DIL1A#wg6{ z_dr8L2~7)& zJ7;(h%)wzI^I+DQ0J)b1V76_+VD!^oMv+2gOchxn>vURQ(x^-}rQIrsnrxk=_JYr& z^%r0AC$=LEZ>Fb7q05DD2OFr$VC{_(hEfc%3)<=%;x^DiAoJ9P@m)u+VX~?wL(nAP z?8+&1qaMRWx1!JmFvlpkU;IRL5TF-LQvz<&6S0tHm%B^)9T~!EY1Jm}792?eTbj1~ z;oL*7fotP4*K!mxq~at}-IVc`X-YbCGHy-FGAWm!T72*7-MumkX8{%FYT-rh)s zR&3~XVIed680|y?VmW_d!&S9{-;NB&eE?@Uv%%SA?I z)qtR_1y#-kJ9m_<88z8()iPW=hz|E9d;-%__TWJxKx2tPT(fpqEX6`|_XZG=8D@ZJ ztV37+3{K*F`bjM3Qt(-mG8|LjcbCC^ZRA_hu78v=cVWRgGl3!=I1hE)#LXIf37Qkt zR$e4Dkg>qdj*^J5tn?!g`nTSW&dC+i<+^=Gvkm#Br0sM{ki`}Rd{1R-Ea<$5=a~5| zpP@)Ee$;|~0f%#F4Up`!uBLaiTrtbrS+-F^Uav~I*wiIO|9ZLSY_F5fp0u-<9U9G`L8hxp? z&$NYJ_e!a2-TkhpEDRjC1-kr!n1_qwISB@k;El1~e&DoRU~e4_{Z6yoXkf+xQsJjU zBV$1~|5NM`;XU?mn11sCX@Z`S^a#TUP&gxIPM?CGgRWy;OKF<#$l@x1jmg%{m(jC2 zJ=XSR&2Wc#71-BV6#;L$X=U3mILHq@rggU8^Cdp!9Ojo#RT=&V_?F4D;uc&LVIL`C z=3QkBB50?@FA)xo2Vdb)5NGHSO-(rxO9~3Qp>3O-4^V%y&ZKj*^LZoWKQl(dLZEUr zy|R=j*L!gmsS_Ce8*V!lsuSoDT4n`cltr;^d`Y3|db7o%4mR*y_soP$=Xo}g&)u*mxPC)_;|l#bp$O)z9@1;=3PX99fBf)UDta& z4+>8|g-(`1dGUwQ3*ymZmO!1g&Z@-S$Rp(X$r@`cI4i>;es*42v!z2&R!vAfbIYx#SL@x!={0v6mj$>XvMYYM|q zXei2>w6-Czoajd|AmL4Ps3V6r8dZ@fb0*KFIoUTLo{YQr^l2QmDTKd~irtz+LI|`S zq<+I_^2!7J4@t5BTCWmZGH_s}z3#2}ipS-03E4jsQsT5C!%s%&7ZN`;$N%B~&Dm9u zS{DBg_Wx;@qZ)lGq{wxQ0Y6Bt@tRs15axyRYLa@FLU}G945eDI{Acs3Pzgri4S^YS z&Yn7~JgpaPd0s(KUgizZscc&XH!5*&pmcQDhWvNZx4GlyS*}q3g=fRvIRYDl| zFjQ-HK9fm!UmnKZTPZSKiB8WigWtCk&k+A(JS)w$_czwV+h$O#kn{`0Z&P(iA5C(` zV-(FeU0%HwVgQk4fRHITGj^>r={|r*YTn>w2v#jJSqZ;BNI3q^9Q;W!`pNJ z61|933efAqlic4#cBE@vS2-r}#ibVpe|#h0f?R4TFUbm6E0l?xanX&iAWpS150HOh zwDKIs3D6s)cetl`$B*%b{7{5XGP^~@+s3KTv{yIescaggZ`|)5E~{fJY{9dQvQ;V! z)owr?|81MmcJ{5UchB`#v^(5<%s!Zcn$CV~ z9_-@w(A!;z*TzmX97%R#b0K&as!3AQ38Xw% z#Q_@2>E2_2Y-@3T?e`b^@7icABXhFU;^lN#${?K;xmOM3+@Ck09s~ZXZ*-G)mJzE_ z79ZFA9!|Hs8pmXL17&8Q73`#qfLM5+qc_8DQ4-xHS?D*-T#Zi##GyYtCVY?EodlJ= zaEVREPy0)#p6~NP&|-9Y1f(_ip-nUD`B&#zSTFN*;^Z0GR0~{WC^;E1&6?tQ&L1(K zr^TX;q*kZj*gg+9`0Cljhzp1Z=bB;nr#FH3WN^^wW&?OEDby~+M+MAIfC$^wLC)$S za7jitU5JZ!IuysT{cBiAP!$l`d4Y?`_rr|R-sQS3%Ujo{b-PRUE(QjESy`wX0H_qK`Qm$bn3DMjUQzEH90}>0Bjv@O_2RyC{FmfEmO))hBbX+daAK zB)CRA-^$~AH6bx>z00{PGN_-uwCpi~Ywkg|*p(P{BZ*kES;RQiBP$jbBDx3-ZW^{e z%#z(TT-SiJ^11)HkDR57q+N3kf@QmmDap zsTrpAs_s$XmptZ@i%Q0gibr$m{PV)q^!dOoRTC+JXv}L}&LG@9z-d73h##P=4X1a9 zxW{R9S#a^#0wo$J@owY|^~T9~K&nm~#a3A1n-|lSCu-+B6qI=SO*a=M{@S1JSCL1$JLY_i$>F9H$;U>-yNL~7 z4{uVTr}MPdnOkslM&}{i5zI;C`87BoK6ZtVm|d_`KvE_ugikzr0;@_*CTOZQj2F1$ z*gFr;)3NP320#0(-(tX%T0nq_1L42csd2X71PJnvGwKCWq2+(-@J7;i@v?*Hfp5-* zS9~wA{X0!-#j{;wWD8?M2+z+e2up-G!!7XZIdl?hOAs>vUdrJNYUdn)JZ|w{ z2uDB#f-1IZ#F@i*IqsfY$c7GZEpfa~-kw$d@Q4PJ6^&{=CX776%!A3AOFFXi(BPSv z^zmy0po%0$p5gA2)wxcu14o?7RPmiA>D#e`%7@LXa@=Yrciwo7zIhv!y9&VaRE${xQTru3$Bohnj(D%r3^Qwu4mpxHD}s zwPZNBPD0jMdKG;@bE#*=QD*_vwR05lwF_|Gu%6?gDNPt-6++I(?w0dUsT_sx2MW*Z z^=RRyLwFf(r3vI&rBd7J78_fPzLM}wnApS!x;ukoRJJvvIqivAaX7P&DuGd1=m39t z_$LKB}`A+un~tRTG;Tt}k5j7|6IAw@l)^<@u4u1I%-(ZQ1u)2}^; zsI59xkM7=LH+#FB${o766Kekds>=aga&DZ1B=3!Dzt-TpNlpjonSNYHTLHSBw zX`bnhve-rYTRF%tfadg1Lw814=s4Z{bTM?m<9)oDb>$00Y!Mv`%659CPQsQoi+W!Q z_$c*6iNhf1q7SxdL?0AkNVFq^p%LCLqsmWG`*k+$Ki~E`J-sfkKlu*-2-|KQp=?8i${m;d|oO6h0QL zXlAKc79ezvu;Q@pRC?MDf$IEl%AtAYq<(xQXwmN%f4o=DP!>)*2eX%*72`B_0uxoc zNmRfnaT9}Wb36%xz*3T9xdiYSK;-cQzMsrQT5+ISONh(j`xwuYYP<@M_hyyR3-4kc za)MiRWhv0^o~?^^3JysOUi4^^w5(SY?^fz*UeI9>J03}C$7l}Ml~E%{MZO^Cj0$|< z^u$@GfM!y(2ws=4Kp8SF#Madr19)~dOx+U2L405ONQ0W(NIp@fv?4R{dHHzXb3?C> z4`#AfA30jE*8E(lb71w{3*FDT;u-A@E$1N=u7?wwPXYUdt%Wi9(u{!if!!JXP{RlQ z?mu>0>fk1;War34kJxxVf~@@OB2l%LJQ$*E?spxgDZ0hf<;LO zSUy~PZV+W_B;Q)kMfZq#fn_b2T|XW0GSGRe)!OR#d$w;ruDVuDC&nA5*s=zjRiU`_ z7v53Fv~q>JBo}Hop4L~fa7fld$cvmczA)#QcE;}cgrQl!H zz~m9s+McwqIuU*A{*-pweO4-iy942X$WPm_tR!SUuux#xzg1FAjN;(M`<&)lcJ)X^ zjH?LId>S)HoqL91^o@%T0)Es2y`I;lACn7ZERB7qSL6$!n^#wAoqdio%$HZD759{W zjR&`23CMB zmV<1#vCPY;kQ_k-?SM}4?M29FCt|PB8YMR0^KgRGR-?F-nva_0shZGowV-;Q@?7_5 zq7rut0}|A4b?5|oC1NzxG-BLvR9_zlz^bj8HzCh& zb;*o%rUW6)Z8+@aVI3KFOIy6y~LaXDF7Przrb*H6_vqr=~d1GAgp4OkpHpk0|jRxQT z9Zt40>?vsvEF~xqnOfBOQtr@CQ3{ypyZ`b{sEVFt;?a~vYT?Tl=z35e3cO8eARH4j zzjolDUO1*5oA-t*d&tseHZKUkVz1rKE#+lqo zJGD$nKh}wqdfIiQgQ1ZltAHs*T2=sG5R!NYy=(+Gx%0l*Z6%wil^Z4-b_bi|-+SRSm=%Ge$Pv>XomLaP-6x4JaIBwgo}9xb=~JiqDku)@ z4vTQ~n-%^`b>Q(28HvS(b%|F@I;S>MnjaL}YC ztsA4e#RO6Q(9w0-SBLtCG--SW~2cye6}9qyth7I<#-deze$ z;^qHHK$j20D>i3_scnen3fhr5Y&Z~nx!xHB%-<%>=)2pBalWFK?fgD77w!l0``Gqqp<7HY1)_p4YrG` zK0|xtcuXK!TYHXQfx>ee({Gffv0J*Ke@jBIf1?g4)+fuZg$6I#s25Y=Ol;dh3*v!A z8(PVPG#JV2JyU9kzPpDv$EyDt#O_RokzQqM!VZ%on3068h!=RmJ;^L%MLLn8ComVs zGR=nvM6+yp)a|ydi1@(5ukbi5)|(F%;UF%%0l+8u9k8nF;$L(*M#1TlsKS)!E`^l` z+<5hG{bW-LJhXkJpJj1cHx#+<_*mi`-TwW8LP4mm!u$NC$U0c1duP1#!J2TqOKW2JfpF@Yqf1Rbd`tdf zY#?Gn6_M1Bq-5?;3=>KVyV!^y7)%>jLJW0AmkOYKa4z&bNnk`n04<9`L z$pCW8r==Z+?W|58$tit06_}dWLK!H@(M2Y|!%XFgS8^;G6yzwgvwRXWt0^A4fC}g0S{ZnOsHbL6aoInT0+PPN4 zMdoWj4&+b$TCMS_ws;rfM9eAYRWrKte|X9k-+y0RcRxYJW5Qw1*?8~?!>nu8$dR!p z_Mg6V^B2N+?^Ae!y112^XL%71^*}g!mW`DbsF!71;8TrN=Q^_e@pX6Y-@$Cd7WwfF zqOtDYq*Tihk|wK2p@HqujRLiT^#P@(kwwFmsK@4=)tl`SCZ7t2v>Tgc75Zs1@s*f9 z;GDF_$aiz#o6(>aX;HlonE8&l^CP6*7Zd1u7OWt;)>{2rHzbT4l86{Nur3C=z%c`W z^4#H&w|J@c1aMGDr_GrA>U{^vyc6^X_oeOWA(?h4`bxI`A*K#;sno<4q2i5w_ zKD4za+Pz={5iP@#Yo>B&?LJ7cOyWJ44jed?_}2 zNpXZyZF7?XYlmeor_o%a-a$WIZP!*)PjJR#)(lb6M%fszAP%0e(B>f#|Bxk6?w?M< ziYs7yR#ckcIaR}2h44$Y6B$llpZqqAFin4EqV;MV=mlT^((6 zQ5EmAD(u9@Xo^8py=g~3*=A}Vgx?CC)!Y@8e+DFwr-NOGZcRyk=gMgoIHa(`_aHG5 z+x5}um*UJ4z+dr}t4x>{pf6oNP&MYj>c5)VWLnS_^OZ8nh`tnEw1dEm7Ry?_93q%| zxk<7NSh(48)FoNtr4LZEGJ+)gesoV$#M0&%me8aGc{$qY;7!8jkCKCH_N5kGkSvdQ z3Vc#_edL1B3A%{>6jI|UV#job*)3U-6VD68t5r|%o~Jk1n!D91}T2jb1 z0$fiDVP6btt^JR&^cuxt(P|Lp#7y&_XxxjkZX0~JBIv4@v>U0xw(W~+t zy%o+A^D-kf7D+l_6SK@051Tyw_A=q*T4=>~BJb#8lOi0yxqayD7+mDHU+J`siW9RD z@3Hn>LqMg&r`Q~Gr&9G5r3Lo|;zb`U{@(qRb@+6L0=(2If)E1rm0?g97HURf6mVN_jq)R=Zd?Ns3Pz4 zopHPS)Tu9cMK3v&a&zySUsTF$2J%jFtOi-WC2WQ)*|QMK3UF9J#mogi*SE`(ROYJm zp!t5}uedTmod+{so~dnMAgNJFKd}tWmzQ7COQT1A*&v2;j;!14S{}R%6{B7sT8zub zC9QSLXn$eFX9ZREc2wE!P4r-jH_fL0EtwFu!U7~tdSRaP=Nk(CS;;X3_6VvvBqdZwypwo?*q4oI32ugQBXtK+{}sp+aOeg z*VtC6>$vr!;hX{->N`Au20@S|-<h(zio6ID)t1n*Hksn|57Gj=qh0#$p zf-xtXpn%wR>|kFg*USkehT&jY9W>+Z?Ss)GLu45`E*I`&o7{oNA=h0+fldK zBXkJ0%lm88Gcv%O<96&FzaU{o+uEdr`@NqxqU03exiexXG!uh-*f680yxQYZv>t`O zxC%gDce{5g0!3xE3T?j1;gplbv*=s}`ct>GsZ~ynNE$T@7^gIM@BL+&Ve^ig?!r3^ zVD`c1cDe(oz*Jzv+&%AJ@5d%zv@Onz1xY^;xF3ora6}xa{L`13oGUEbdG7f!)4bi2 zBPEX^?ME72W@kiU$#nxUM^P`|ZNv5q9{Hv?2W#=0qcjHr4s=;k8fnZf$&-0+qSh#& z?o6oRy##*f!UhMFi7h;ffNOdArs6yH5Xk-nh#%zYOD!V<9sKK~VK{6w`G502U_KwlBYq$v){&jt1 zQG<*3on6LYoyr&U;3kvs3NrPHg>4YE; zKrbOK19m0lf=03}FY5*hq&h2OgsG5|7*qik2VpoFYhPR+A-kFRP1YfMIPTa;Qo(0JUxCa2?oE~%l_L0zO>Tp36zAa0EEVaZ+uwpY zP?r-n{=^PDuS8dSn9tJIB)sc*&fj6H*)EDt3g=+7@)n|GwL)T@v!~7AqC0OA_a_ou z0=M2SI5*f{j=5bHsA0-Iot8I0S1<1#lmF^%bRzz@+N90G&m$67qzZk`vE*ME6U}_d z@-ya-(YAL#T1a(lB;D#XbvWBcs!QvU&ZNz7$FcK|so}S-1|Ve?!P?TO&Rvw!Q>f(927HKg-=}vY02_Af~#im%R|+=WMBnsDTZE?pU(MHq{$K4R^&O zWjE+!7hkYbTSWq&E`ictpMO=Z zGl1Cl%RcPI!E$$a+t#EwCx{L8={HgnE8ffj`YA^ObGBeTN~A@9fblA0&BUm)Tx{-} z_w+~FrZ|EhRc#8s)!|9J)7;~S4vC{2uzFo_(MI+V#fT$PWulm2l;~4QU3Nysmv&rZ zc6#{ouVnye+SW%9gWo%+V#Gg+*ZE;jh!?X> z7h03XIK63Hq0xP#uas-_8oE*oGA?I?rnkA7_{#|wH-JgBg=g&IShi?# zwHYZBZCWiUr>wDBn24TYS1-L|b|f}qkz5N~_fGN!$7#@`7RuO2-_s(<4!uKoQD1mv z=E-)i=?X{F>A2XRjKD}Tjq$(Qr^?CE<9jf?KUznE}~ zR0l9F0z5fwA48Gj!kxr;(~nh)S@yz{cYAo7DYD8qZV;sa{`+ zc8v=U@9NMgVP%2pM*3=}({%tALo=a-;d&?X-5NtLi3^qV`7lRFxgxgSb^Nb%TR6c3 zA-1i)aoJWPO4grA3V36_`pBBYZ1JW1vO2l(35C1x%wc!lqwlF-5ul?M!Iq`?(ABUe z1H_k)JzuTv{Ccl_>vZQH#lsYnpkVSn@nmxCh)4&EnJ#e$W?Gi^Naq*MQpG|l{&Wya zW!^6kul2}f`B|fv-4X*ue-L1HF827(yE`x`2v@ZXc&JMYK&slKjEkoA!PXG9gf6o! zYJ5p1i5Z!>(wwLe<9W*H;{G-@TKnN03~W|Ocyp5U0i^f9!K^%H?`H;Dx2z;*0$5C$4gWP97h#!-eog{snV}R(-D&d zmf(`Z+akcW=GSOIsK8F-W;J7Is(xd)}&2%cle{RNHvUxFBNP4E+C@N4!3O%oIVw-0~i|rn? zX!1XNwi51J?%sgy<`1KgW;5bCU#LpM7Paf1I^yS{AbRboE=iGfo=^Q&L}@VYA#7UV z^SRvkaD?4aZU4K-qi9|(U$;@tIG7?ZH5o=g4!{LovnqCAH*i>Ldy|rKyrH{5cj_Q> z0+4i+dn)u}n{>eD4E&<_?w?P*_*Z$Do4E}}*I?jG=p|0Hr&8DCSkq9{krQpc$Dyf7 zhP0>kDcu|i35>?ZwOu{&Hr}A{ekXC$g3}aXrgJc5o=HG<`5eT&o5&{v;JB@i4+Kx@ z1u{iWcBH$~sZ7?URgUJ}xvhMku?|i7W`(A%R9Gmn!2^o17rV$^p02xq?kfNWza(2y zO{!2PS=Yq&C*goPAupj9pYbswP6}y2pQ6wkrK{vrlrv=}&$KOX88ZibPeO_XqJU2h zA`@2bTr-r;i10}rmaXzXaUj9rsyts55N*2tT^+hyH<469#NWu5Gt;ssb zapZ=&Ch#Le^vyaJhxjO-)&3Ma4O*&K<}A*;@s68m1$ z^GqMG6Qirc^fyo( zLIDwdPgeL)`qwZE3e(;~SmX#|Jd*?mCiP6ZRPI-yR2B+5{`l@HvV9iwHP|11%-qU5 zk69Z3ey`m!m9fpOHEU~v05$nYp!C_ZAAPt<(FKxQ4!k06uhcO+p%giqGC-rP$jHb) zK=}3(De83Qj-NiunEB9gpFoWChI2ZIpMNW>;T%+X%+d^PS>hS4LK1L4iN{PGq~+dW zrz9u-k=FhC_Cc#X3<|KZ39dNU1;UwPFYw}6g}~T-b?CkFDQU+IS(MqQ7K>UBU+S3a z+$^|a%x=wbO>sJW-ekg zD7@?d5@r72JJ@2_2yzIe{L-H;qx+hF`mIy3Ec>Qu3_%70hM?bVhLmOG37!B5X`+a0 z9YlBztPAwTdnLHbkz7%mM1}$U@SZOdY*0Z>DK?A_n=OVITINA5^p`=Jl3xKc;nP`M zi8xFQ3z3$`pIog!HZWxMe7Kx*fuuXoOcq`-sP5|I&rK%DKvCZScwXDz>~i#cX8u1`HJRcJ!lNwDVF5E%v-=I3SC?~>XW}K# z5pm@1y;)#7{?K6+#9%rHbHskl-^YWd?{M$tp0QYa&=^KO!Vt!(eAHG(ozR{7TqqFy zcXD6JKz{tj&xodJ+yr?Vu-(Owrpcv%!iErSP%dUKWMTJCxx&w{U3Z}j#hGj>7dkJO zl5S#_s#X0pzqU@7t)ZOvB2Lt@s16m8tLMm>MrZK;$N`DJ)9K$8Q70bWu>yZmvzBC! zO{+##KZQULor)j3QQP=q&*S&yIE0$T(~M8O0_hn#5C;`te7IoHQ}EhuUDH>A_<3WU zUA^Bp`K_qpip_mG@=I2HFX$H~a^}H`V>Xd8r}I$sdXZ2!LFfqadx%fe6u*26;fKdj zI@PevzCO{u?k2;`1|TYUR=TCkb`0}cCoKS7dZee*K9A2Lz2NHT#WMk0F|XbgUH#j| zL)xmTWc!3066~~t zq|P$SgIe5nYLTX?aJ+$Ivk8T%N+*`^fD1R7!bcz5d}*wa)3lT&f#u^Oiv3*ZR%>lmf5bE?At9`h9<;C=HtE^mhMYYZeocBc72UnBN-D=x%I zZ@AOdt%DR=pB$e#b0dTzNH5YGUS@o&5UqR4gVE z=n~Fy%W8m0pga@n858-j-wiRh*6KGN}Kohp3mBqZ@-(F zw-W_wT z7@LC;PFXaNdBQisoxXUgVUsKqNk?J~h(jtfcuuEa?cPlc=>nkA!$LgQTA_`D2uOkt!zb-~(({cnq{X!HX# zB%3LWW{D6X^k|%zWCR+w0I#!WDj0G$Jax;90P{PsfASF@&cd|j^C5vI-`g^}IK2js zeqBf3BJKj4?68#lZsH$Ki}%F0f!4$D27&&j(EK~sMj1JwUx@x!RLRJ01ksGZp!H@D zQ8qW9mJ)#wUfMCUrem$G$E>koz7VNbYh2$l66!9 zoW~5OOrYV<_)%9t@oe{cgr-UNd7+24Q$XvkzC6kMX^jN89kDTR+9PhoEC#K4>8_=`jTuL?O;v-#xh-T6ks}@_yG?h zeEJUH=WpAv!8BL9BZ^7zSe{BLRV8D4+f4W=V6a&;_5ma%XRS=-2#gR`WL=DFsXDNa zLMoj?@F_#(7zR>uxtj;rv1FyaiX``Q-ed=$+Y%t`uVZ|w?iRbObXw@`LtUsdw~Pd% z(b^FHqh5IF3*_^n%xi0>C0(@a!7BO%{T|1A5lnKUvt_-B>0&QfGM*=fF^XTltG6L+ zT3~4FoB+jdA9#vHeE&-!fGd{Ktvx?4^wR8;@Bq*ft~V1Tl(l|0_?2d zOPsn9BZX61dT20VY&$QFbf4p<78^t|p?HCMn!KOQOZ9_mT6=lO*p+O!=X4O148|A6 zk9=5#1y>wMf9?u`HvAdWCgeBRv=&8q@qXqAR>n)vSAAU9XCtROF0P`l%{OY$AWo3b z0E}D=Bdxp;4Z-@&sJ74HVUBaDOzVX(?wGSW7H1;)N*SPG4E-cr2l#hEBW!Ybs9@Vku?9Qhnv{|Z<+`X1up2iJ%WTiPc;%V( zq&c{?VRlov&Pc?ZqG*6E^%JgTQN3|>&)DsOFfryP3Sz^5pWsP0eXslj%RJ}g2i~p8 zIKS;)f*mTB9(X+Ei8W>*%e7?;xcf_!TVrND6B$0%{?8x0q@&IBK%d3i&Opl0L^OG> z#TTNjw;RK<2-Oh=kA)j%SVmu^@x{Hd3 znbO*@G$rWoTuyjYRDxSPQk)4=BrJRYN!nTy9*J&1yk^e5yhX(#+u-4(_bk8El8&1- z3m;go3{6`Z3lkA>z5LmK(0WmzN^?%bqkA6gl+C^|9{osmvpWXwiTtqS@8?vQ8mM+8AMY~bJk}9?XP%S0=5Z@>=D*E0 z3m~~XB-skh11K>42V<&VTH5qrs&*2s#h*le9qrV}o%w*nL|^rQCrdhiF@dXUES3zo zTx>UPrw&n@-Pg#pKI|?Hn*kDYl9)<}%T%LxAy~5M(GN{Gvxs&m;f&pnuGAMmHRJ%p zjYZoZNR+^X)ff#((sAWZ2jSNOQ9)meeXazWNf+4r0>hyLv=Wv498>nI5aZ+3l1~jx z93X97{TU4lMEyEm{P4F9)TN-4#!i}gGnvz|veHX8en=UaSmVzhRRV>LdwwrlNCwJ8 zpu|U>Rh}HV=y77RF}aO#Ln`|z#FMJP9LQbpJ)*_q8SlSxWrkrN@Jk#VrUtEjz6>dtG>j12kcRh4n9Z(%%d*?I8kd zx%hM#7kPy-YHjpM;H?zYBQ0#2{$na8G43v+2ddsyf#X@Z;epff`d@Gk_4c+~+}^RP zH{xwJ`-Z*;@W0^jJ)QFsH2&UoM(%p*S&#V1Een)FtEYOOoAWa(c&qqotQp z{_if2D63f1Y5|j3FtBV5qwyLi_+gh}^a7&k+P9=%`5gLc6j%W@+v?u*Aavi;$ImS? zS{$%W)7a|3XUtT)23^%RQX5ZhjrUjxtGSZQL)+*U(>jzzZYc@H)~l3<{ioSLZlRB- zjFE}S&!v=m*+LagRA*e&W1zG1!(^!p73!00Rilk@_W}IId-F8O!ScZ`f)Q5$?u`@v zXy}opB|32#oS>4mj;wN;GVN|69>gtF95kXAc8$<;{XA;~1Imqmk2d=I2IAzA!qC;4Kn zARxl5sb}vvvZ}V=E1sPX-^)r@V2mQxK=MtsU#Fwp-aV*?HtjjOoO9tZRh6u)`Bx6r zK$OBUjZM{<{a^sI-Y||=YNmi*#vNv%)KNsQN3mWf=CHpuA}x*wcG+o(2*8wDB_=Ez zI`?nsEQEk2`S;hIeUiIde?-H1)Y8l_DTQ6GM5*EjU;gCPLI;Gv>&1?RCo~5HSH1yo z{I#h~u$m!@=gtlc_zFsnE2OA+7>7O!?D?tw5aXPNo5DADTVJB6^SnYbgl+j&bvPkj znKod{uD(_aaRBsW4Xe(Yfez?dotu)`aG;9i4}-W6kb;gHr%I4B5-N15?xZ8WP05MA z`A#yxd`HQ*okAe1RJxC`lIX~~Fg3xc$IgBOpGwuB0|Ch;Hrf#i2oCbHE^i`Km^($) zIW!1qazWGAQQ#!-UOvZpTk!>Ha1Q(Hr%0!fw+h_KXajdAFQ0=cCLczj^+For*$}DebjJnG;M#|-?czg9M$YzX#v0+E<4P2OZ zwQFVc&!OAGl4XzX5JAZULx<;m)YDrmVAfeo-sHMyJR6QRxBh^^vi1%<@B=haBBq#b z8?BO{E_hIt#Q*1dt?ko0YS%?(0xj>sV7pKq=(9R($uKY|>31>{Ow}Gf(FLI6Ez$R1 zA4UgR4AuPtu~d7O|3h;zHZc1tt!;S+oH{qAbnZDp&9xLsW6adt$sWL-^xgHECYfB| zEy3UqCmP^DJfN=ap{NHr(!iWG4aeZZ$M70xTxh{HzSxT}>sNY|wbS$Go8DDeGLUcM z>a0E@&UA7Jel;{=OGcvd-bKPM)sy=SdA6jFY{ z;kljL78z*pl){+=_26Y&CUXbJ$7oj1>)I))95s;RUr_hxSzA_M4ls4=(}s{KO20E# zOBG&*722B7^E$#oD8T3#ZSoxf#KCoZHy<`RZLU|;6LK;7xFIpBB?-`!r6^@AmDPaI zF>XRUbUboR9-W+0^U#Bz5 z^Noz8x?WhrfRqa<`*nEW%>&OajB6@8O@gFZZR zOK^CWeZ{R7B+1rWAwa7>V15&ufzX*w6nUlfJdY*p5}6UEb4*`|keUq;+ub|2tI6^s zJIFhGLBZfI4zWY|GjHXiG?Tlh#YOpre#?ifmv|cKwN|DTa}ZPKljzDRdF=$bWDT6e;%gqNi_cP9naN znY#w1>ZS}vli7__Xv}7HQLgIsATzU2F(c9Qf;$j$$@L@SWqL$@CC?6e$Jq?<4bWyhyDTS{eGEs#0fIfsszVqJ6^NLO zScI(wO-tLN*|hDexV{QCwKJ_EB%xt->3!W*ZZ*7%FW`F;ce}9H73&`>rX(h$b8>>q z%FCL7)I4}CVN;#ei;L`dm0cJHrpa*<2>#u@xQH)OlXsJYHm zidUQ?6PspK72ie3R+RR|wc=;LNT{Y@pr5c^xkI@hOGo3iPa@1aScEg3d}^$@>%L+a z`w7&(Nj-kUfd`Jf?&v5PQ8-s3Ys{SO8p?=jx6527 zwBAl6nF|i6ihkd;d$8!kMCEocePn`Fp2?T0_96Xw4ptMcHE4zUMF;POzo)B@UvF30 zMQ`sh+GzAD5)Q|2J}3%1JgL$7m^iv0b6hhj(`j)1^mBJya-~36k4qTKDtURC!c^6V zdbzBwja%ggr!W}Nm7SL}4gGZW@ayo)joyQQRwJ;1cz(SSZcq9B^LWij7CX68bU_T8cXAcw2vtE?yeLia^n(Th+UI;tV(nI(PhQt=i%FK2^PpXf z89*Yd$>7=S*I>k$n$0c#EE&O@e}&Ot;f;uXj-rlX*uHFbbsfeST>POog$Oots~dmi zu*~RkRg`8uGvg5u!qShqW%6gie5FEB&5G9iawNDdMO`V#AkQYyA92DRdQ*@icE$=x z27~P>(iTFO$f^+r0)H)OZqkYDZO^*%B4NuX7F!cA!LlY3(YgW~k_5KTJ$Is3JN_Le z*CiXT3w%=Tbepokk+ipI*=Jc^@`hO!)K}#ThMz4cAY=^ElgooIp);D?N7aa-ses0! zxn+hTthat560uQ@m1?CRR_BUvNi~OBqAM`u(!4!{?dYhmnG;>1aDx_G{Q&A6=s%st z^Rp;ol_;}Bw0GercW z4_Fal7fXIi_xO*BQL7GzwMjxVQwQw3i;#i#kA}-Ks6wjag;Y%|16ad?=ctY4YMbU% z$%d&=U%PsxMZn@77_*`N{~eI*xhz2hiMIMBQzy5e^p$%x6_)761y8n{5k_&DF9?I2 zv2~9jD3)`8!vD#ra|lD$DSMkx95!a*dIp_$_-<87$YzQQd0cC|w#HV8j7S0Twyh-U zCp_XIFyU<05$?6jXY(g-u)c-XTS0HBO_oNOW7(ZakfJMbg7xAu$2>&aT%1>E&NnG zeG`kR4y>HD#RH1oo~?wrk=n#1R=oiKm$_w6=3#+hte{4mk9B`nPb^Vmbw3>8g+`eL z@5&YygI;#FZJ}LR!1wj)s65UfX4FNVngN!bg~drQbBq!dsgkO`a{9H7N`wUGWmok+ zlz-z>Wb^;CRuBt#4mSyd4Vgs2x741_fD64o6KKNvYSB@_EKIFi{cY^m!(TMZheaN z>c_#=)ieIi^qeW2RgDj%w^oZI=w)Y=n9vc=eHz;|3_fG-_T=f0Jk z$XK0;ns02Q7rJyzjv)2cnLu(`i1PcfCD{rJ)q8*Gr#rb|OJ2EoBa2};gyo?G_-JJ_1MM7H;z zVzMY3eG>Pe4EQPLh}=uciCfaCqI((yJ44g-XGiEi^)K7`B@?uZ%9DoL%WyhR6hTaj z6#G4-n?g1}N_~^?UU1d!o@~eP(90;#Bbv6(6It1d#sm(0rqhbTyya!qLA@%BOu(++!H}sEQ2#82{6PH3i zQ@%f`w)tzto@knYje5{!Ze=N9!l-^ssLhxbwnPtU(ZIqZSs|)yJ-W>iP=a^}EV4*1 zh0Te}VjO=jJt~Jj)&l(qW;B9RdNNI~q6v|zjXEN2R*e9COg3}%g%i&nVVa73zG(08 z51=;N(29|Bp(@?Ja4W>-f-ntTv8p~_DqC_{U-E>Z8f5!E1xaoJV7-@WeaJk~f)2FW zoe@aBSAbD~EWZ3S6|8PgSpfK=nRlTuQq<~Dcx;>ie)Qf<0B(4hkLxuFA^*^}ewK;0 z&$>`K4)GbNzM;mS!O++)gP<3DcThtji)YW@G5>_jT+OL#WEt>oFPghSBu6M*Z9|zj zPlP<*yEpcq4!q|8?1EkL?(nkV=Yu%2sukd07GfKG7%uRhT^kqZ4dBJW4k62vpHAH7 zZSH(s$G!?SrX@Z_@BakBMO6~nh-jz5mt@TtCipdzJc9+ItG7nQ1ChHcs@cm?J@U%I z3m)*Twqq<`F4~W1VAob&b*+4AMuRQ(p)K0Jy=f1O%wt1yg*~E$o&Xy_^;rF$;ws__ z3GPy&Jc?mM@SSgnX8rTLYN%c8@)ZbXS!=;*IoMDZ(Q5nyd}MgnH`MdNz{#T%2V+Zm z(#G};CQRVtEvlATM)YGh6GyeKEXCV)2%Ax0F%a!(HmB*vKA#afSqP1XqR(J7gxPM; zAbG#7ca*ya+SjjlV9h1O$+n7GZ4&VJ*HzI~sk<@{H!J3DA#eeaazi%Vsi+ZOe4>#p z9H|3Rmt)M8dEwBg-jr3;o^P-dOK2(L6;CrNFD7)VcG3;1IxI#CB19!gZq;gqb|CUw zH^N`=d-_#q_($#!i?0d<#J(0&EF9(NK=A}zG% zLK$etTqpvLrV)aBn$6qfKz{E#u?!o88Jd|09aj=$-kXjUM{<&@K)$)YvvJ8o z&G2$(OD!%Xm4$l76)yo9W5_cyxqqv2iw6O}WOFgOY=S&)2*KLG8D-u&05zd{G69uf zA-!q*ll+kQ8i6;iI}bYM|F$*amt=jbK=qofyvi?%o$kh{Z7{JMZ9swx20);^)qhbB zriPD)jbkB#mQs(9jtYYe=-c>}ljeI}3v^)y`&2jNymmxQW zJus|`831jMmvN*m6&p{zST)CqxRf@hC!JpSyvg_>z^Lo-(u5$h^Mobv^*Bo)0Csvf zfStZc<+sK~xgIxS*mIH=(h%VoFXSh?6)z#$pkmTwoyaGk(yVP!96$Hzf^H%wz7iK$ zBCH$(-#vAps12GCZ`Qy5L>w^i(amSNpV0|K)@osLG0$BDYgsu-^oEC?dc{w&z0@5H zOXX(!3=Ee!{hLhR%3)e`1ikc5HTnm!I%;JzeDv=(LX3L~`%p9I$tc-QLG}$l)@Q*{ z>o1-GIor(=H)dV^RZ@vXPka!F;)TP9D)cCi-cx+1Gvr0KJ)y)f$9MFmR!y7o1$)2~ zu_IlGy9F$8Q->K?wd?FVcuIb-EDaR^$NW&)W#lFKbR-1&hrXL|d+z{hcV%>6wF~fw z>Ib>R`~w~tf{HBLv*?#o5QlUEO(QpO&i{N!s%SxqsE&`JA*+vv7W?<92p<&&M8E!) zr}deA-%tcSmGN{q?KRwh@=+R+f_>sUCttWHy| z$Y@c`UQ+4A(c^&Rc8$iBc-MaOP&A8Sk>-Q+-^td0ljVZe6X(0Y`nieSPuo3WkP$E3F#SdUifew5S>Bn;h=jH%%u% zW&am~S;x2)EE=o$E7Ju4L{=Qewy*1lxQg7B5QU8FJFa}MQ?!2il@z57u?%0f0-Z-W5-N&Tq4x_ zxP-16Xnpl96V4NM7eCEeX-2e6wG99mJ@WAs26{0;C;V&fX;6nuk231oM}9lX_%y{7 zkTz%W@(nrTg-Yn39DM(l#N}zN1+g;;E!_d(*jgU+h2wYTS?Fvke6c9+Iud8ybSt?I!kC)-dc*Sf<3W$F6?S;4$O44UXc{h8 zY4Fk5+#XRD+_(%9(59lup*yx)0{QL5^vUpljUeXt3fc0Wdv_Lzw?$75P{!zozZEQT zbee2{oC`<~s(k_&Qo0j1c63|`GqFzWCXE438N>OwtzB87YVwE9yd3?`Zgk%;vRUcm zK~1emoE+i_Eji1Btc`FAQF1O_Ee4%xV85-JWa*J&?dEX!>j!^ZbNzz%xbcZyTAwF5 zpT)<|`R~3&X}v3{SNj&x>4;RxOIqQa(0OTy%x{FZxzA5-FmrS^o;}vYLREnATYv+? z5W!_dX_u9Pf0rf*bEnB34^gp{UDYAq+D)QmW|v{Uw8&-agmlb?)wiK?fU>BjJ6b0x z!T?jvA9r;4xw}#vtTo>IWXicfh7?Nj2WeV)kiMV7<*?xnEh1;$*}bzHRbQtfHh7|A zhF?kxJ(ad5d~HfYYD5I-VtnW3{1zUT-3ITGaD;<+iXa*sBOcM8P)QS~l`bf#az7MV z>${yATxUpC1~xa&uBPV9)$JcNGn@!#VlhbuS|E) z?lohOFv&vnsba#VfWR%xS=t@2;6xprSAbJS>b}yk?F0GrWYI^yeapz40uA$Lf8$ei zoE(Bp@=3I<)QwgXFR+=G6JB1yI7U;iu#w%IlrOO}>NT28wG_7>{GzV3RVKzQNb>_w z0;0-qPYl1>0LM;OP{rdIKjq#8u5W(@?G5D0p){@X^zk~;blrl3ql5Jz{{y6DZStl3 zj2x_4hUjmXOPZdjAH@hcl3+;;!z+|nhDNSC%Vg8B00n4iZk`M=1|%&@(56giOP%YC zkE(eEUQb5X-PoDBaQTcn2)2B17WId+umA!)OT-bDv2-ZZEMad}73r3lcy@p^oIY z$#`;3KqnqDCo+v*l&a>cxA%PdSGkX_EJxJ&NFZmzovo4tDbnkTPRnoV#esQ~*sDSx zzXvLOf8fOKt8*+~&N!UUexJtcvXl0GHbneY$eaS_XAbjED&?}QaD!h@ZDD2poP=LLQf-+TRK&P#=Sw+=VepPDL7Pi_eV~G~Lt-!0kaB`Gubviw24w zs#7-o?QGa|DQva7tlJ^{0>}+p=Dhj{xv{H;e=C!!QnGE`aBV1PN3UiIVXBS8%-%O7 z*$58}$UlxLqnM8GFyf#D{l)@fwXr{#J|0k~0T+os&U~6ctWqdv%JapWL^$T2>L20L zdh-_Db9L@-Aa-Z|dP=rpXgOc;>YWMrI)j@pk1?4k!3#+A1Zco2*D4qf1U4VNRB_{R zh=rk2qQWu*JmLd>V}khY9exxoCzqJCrdzlK-IjAuH4=vudXps|I2_V1oA4DBJ=`B= zA>AM2-z2Um3NS&5=zOcr(TrmDS!72Hdin3;d{A9Fv@IWXxW!{4@Q#x^%vP!{cQJIe z>UWM3n9Rru24LH|2E^nnpOLjgP+lQ&r02bfx}{h|tT*q4ZaU-|xg}!L;|sWWhEs5aJU_P=*Uz zub4Zc%JTxsF-(7@W3397abQ;LaNh}gJxZKwp7m;LJ3Rh!QS9?5y*CKDXV`H-7@QV*=`26)y zuQYB;IgeTqDFLjnkM-RBJX`24Y7e#r|0970r-0ggO{w-UsROeULbK~a!cf2u z^Mx}=4wbUJURX&;o3~+*9V2sYouv;M37qMeV-1pin@)r@8@bk}Qor-jm#7YWPJGhZ z(GbtY`5aAjdo^_(MNU6HD{|?I<>lB+qQ})Z8X_f;U#e_T8;1 z-ZM@`AVDryj7C2>>B>M#X6!jmEG&5YK^(Dv^~_L*g`}a;vG^kULk6n7m)_MuLx3L? ztU6M?UcuK`l*liGpYb*YL4&0)k2e(bc%|-;=jb1u1d@X85pJ~ z%KIwARE{J=e+zH$A^gOQ9hjg;_FEF^QPj8oofLr`LWHg+ImDut#_Ovo>u8?Jo8{qN z91@6WvoPZ-P7Dks5Vt`GziC7|K-ALTw*l=I>1@o^s?j(z72ItAo5;rQ{Lux?mGbEe zjU9TDdVrW*fv2*@u)bA8sd28%N*gH~a{?JzfyVxbg-W9X=d@DA>kq#{!_54zRxAxU-A*Km%k0pA` zV!5G8-0?m*VSQ&A1=i(gb--3FoxnjX141mg7g7a|7=x%Q3ei)rudx%9J5^}{_3NUr zLb-Adb8Y-4p&UG}|CPN!s?cm*wQ(osKYl1*F8S@TEUHm%tu8kpLAT^(7~;uP1$Zz9 z1Q?Em5sxvg!!~^}Atr1Tw&)w-@}*`>6(wrY=RvTmuVf2}H=9?YfEy^Fh|MW}2+ZOD z$&65986j{{XmTF}Z^C&a^)^^X8lw(g{qKT${7 z`?!wma>y_iSB_Z(uvCeiYD=W|@J>;6&|4l5$g)h;L9@cjmfTxXXtZm&Lx` zltzTg)SfnL{2h6k)U_UejGJ&3o)$3D!`aAWs)?Sq2zAQZo)Qi(ijNvUjw-`tNKxuA zb`sQF+hgx3SX7wD$~Sh+&4252)@QksBk0y~GR{O|N~;GMM?2JYBrQ9*P*OzCgzg}+ zN%GNIh?qv7{e~_3s$(5``KMYgt=8G`dGjsW9T6|KGgn`|(C;#>YH2Rj$BD?UO93ks zf)J_4ylu`qlI6?GvJ1N&mQf%#qS}2uoAsXA*+Dc_(^+ zmd8s3=<>)^8jO#tm!sGUC!efJHKS$;ffd>}aIIxS>W-=U#SJJ+PbSa0u+40gxi)qA z3lWka7N(OPh1H0B3KsG$5y!M|GaKTEB>d_F@*!_;p5eXPn|p{73aR4v7G*e{$DCsN z`5T{pDD<)%4RvJ9CA4rFD}jAA*v77m&(gUIhYiH_EM3K*1PyMKAUGPwTSdRteVa+k z3Fnb9MtZsFGsHwy6zSzg%AvcERPA5PoC)^nv*ruW<|`080@v zJRxDBW}v-;K{YGBKN+BYhZgo&&J|M#R3%uIuuV3?u%JhB!kvmkj;tg$LCUjOx!m34 zqWiP4W;tMWf7rHtIQK{gu)vf8hPxiX?RFaEvx>B8LyvmI3+(HUEl%D)(yOu`9^1s& z)yJG2qfPCSf2GkHbfZDt-<8BBA-s3>@FdzjLpGtq`~t z>^uae2LW6xw8(CZ#*=bzCBe~GzWz>8IvPs`m!wLBv6Ei26y8LHP~H@lLr<|Bn7sk+ zPjLT6p)|_Z@Bcy)2{vjMV>c`iz^5<{-X422Vy^M*x&x=N*J;TfqKX>{GkiL>hnDNH zIutcZ2}Mu~>9AZE@IW~Go@!frIGbvzf;Hs361 zA82LE{`6#0Nr~yPyu`t*WC#Py!zXX@iH!eoj7cZ0EYOG4ODYsHhhZ`Fe%oAA><$Y5 zqv}Iqx4%pa)`;Pf)hlIu@j#lJ!nbQ;ORx!+Yyz&?)7jLR^lDy8+3oM;V6b~50(MX~ q6 literal 0 HcmV?d00001 diff --git a/src/components/Card.astro b/src/components/Card.astro index fd1af16..c4e16af 100644 --- a/src/components/Card.astro +++ b/src/components/Card.astro @@ -7,7 +7,7 @@ const { title } = Astro.props; class="shadow-lg p-2 bg-c-bg-2 rounded-md max-w-[50rem] border border-slate-600 dark:border-transparent mb-2" >

{title} diff --git a/src/layouts/BlogLayout.astro b/src/layouts/BlogLayout.astro index 1bd5eb5..f25bfcb 100644 --- a/src/layouts/BlogLayout.astro +++ b/src/layouts/BlogLayout.astro @@ -24,19 +24,27 @@ const { frontmatter } = Astro.props; href="https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/style.css" /> + + - +
-
Fernando Araoz: le ブログ -
+
{ frontmatter?.title && ( -

+

{frontmatter.title}

) @@ -48,9 +56,27 @@ const { frontmatter } = Astro.props;

) } + { + frontmatter?.image && ( +
+ {frontmatter.image.alt} +
+ {frontmatter.image.caption} +
+
+ ) + }
- +
+ +
+ +
diff --git a/src/pages/blog/responsible-stack.md b/src/pages/blog/responsible-stack.md index 4d2405f..3e99024 100644 --- a/src/pages/blog/responsible-stack.md +++ b/src/pages/blog/responsible-stack.md @@ -2,9 +2,183 @@ layout: ../../layouts/BlogLayout.astro title: The responsible tech stack description: tech stack -pubDate: 2024/05/20 +pubDate: "2024-05-20" tags: ["tech stack"] +image: + url: /img/blog/001_responsible/thumb.webp + alt: Visual representation of the blog + caption: ThePrimeagen & Theo, as depicted by the author. --- -The first page +> TLDR: There's a theoretical "responsible" tech stack that would +> ... + +At my first job I worked at a small shop, as "the computer guy". I did +everything, from converting word files to `pdf`, to mantain 10 years old +legacy PHP webpages, to implementing internal systems. +I was the only IT guy, there were around 5-10 call center people and +the boss only came like 3 times a week. + +After passing an easy interview, I found my predecessor (and their +predecessors) were stuck in the 90s. Code was directly edited on the +shared hosting, there was absolutely no version control, a bunch of +`page final.php`, `page final2.php`, `page final final3.php` files were +flying around, etc. A total mess. + +So, after collecting and moving around hardware I managed to assemble a +little """server""" where I installed Ubuntu Server, set up RAID-5, +SMB file sharing, Gitea for VCS, Jenkins for CI/CD, Docker, etc. +Something closer to today's tech. + +And then the time came to implement my first internal system, which +would remove a lot of administrative work that I had to do. This system +would remain for whoever came after me, and they would have to maintain +it. + +So, I began to think about what tech stack to use. + + +## A first approach + +The administrative work occupied around 90% of my time. I wasn't required +to improve anything, making a system was my own initiative, to be less +stressed and have more time to do actual dev things. So an idea I had +at the time was to use whatever was the fastest way to start. + +Since it was to be deployed on an internal server, I could use (almost) +any tech stack. I was only limited by a remote MySQL database. And since +I was the only IT guy there, I could do whatever I wanted. + + +I decided to use Node.js with Nest.js and Solid.js, as it was the +tech I had used the most at the time. In a few days I had a small MVP, +and as time passed I added more functionalities and logic. + +Eventually, I was able to automate almost all administrative work with +my system. The system had a few bugs here and there, but since I made +the thing, I knew exactly how to solve it. + +After some time, as I added more features and requirements changed, +working with a SSR-JS-FE-Framework proved to be a pain. The code +became a mess, it was hard to make changes and ensure that previous +functionality didn't broke, and I may or may not have manually used +bleeding edge Server Side Rendering not made for Nest.js. + +And then, I was told that there would be a new person on IT, part time, +as business was growing. So, as the junior dev that I was, I decided +that it was time to do a rewrite. + +## Using what I knew & liked + +I had been learning Rust on my free time, and I fell in love with the +language. It was (and still is) my favorite language, almost perfect, +in my opinion. So when time for a rewrite came, I decided to evaluate +what I knew & liked: + +- I learned Java at uni, but I didn't really like the verbosity. +- I already used Node.js, it was a mess. And even with TypeScript, + its not the same as a strongly typed language. +- Python? Meh. +- Rust... How about Rust... + +So, I did some research on Rust web frameworks. I explored Leptos, +Dioxus, Rocket, Axum, raw html templates, even Tauri. In the end, I +decided to rewrite the backend in Rust with Rocket, reuse the +Solid.js frontend minus the SSR, and communicate between REST. + +It was a success. I was able to rewrite the backend quickly, +errors went down to almost zero, it was **blazingly fast**, and I +enjoyed developing the system. Perfect. + + +## A new system + +After learning of my successful implementation, my boss wanted me +to develop a new internal system, this time to be used by the other +staff at the company. So, I went back to the drawing board. + +But this time, there were some different circumstances. Mainly, that +the requirements would change a lot during, and after development. +And so my successors would have to constantly maintain and improve +the system. So, what tech stack to use? + +At the time, I was being red-pilled by ThePrimeagen into using htmx. +There was the possibility to use Rust as a full-stack language. +However, how many people knew about Rust? And HTMX? If I used those, +would the people after me be able to maintain (let alone improve) +the system? Would me leaving lead to the demise of the company? +Was I being too delusional? + +I began to think what would be the best course of action. At my +university we all learned Java, and it along with C# was very common +in my city. Node.js was beginning to pop up, and there was a lot +of PHP. Really mid languages tbh. + +Frontend was all React or plain html. There was a little of Vue/Angular +here and there. Tailwind was the new shiny thing (this is 2023). + +Some ex-classmates I asked didn't know there were things outside React. +Like Solid, Svelte, Astro, etc. And they didn't know there were other +programming languages. No one knew what Rust, or Go, or Elixir were. + +But I knew about these knew things. I had used them successfully, and +they are better. So, I thought: + +I could use new tech, develop **blazingly fast** by myself, as fault-tolerant +of a system as possible, such that the system would continue to work, +and few changes would be required in the future. But, future workers +would not be able to understand the system, and they would have to learn +Rust & HTMX (which tbh I don't have a lot of faith people would be able to). + +Or, I could use whatever people use. Maybe some PHP with Laravel and React. +Or even Java if I felt fancy. I would be misserable developing it, +there would be many opportunities for bugs, and more maintenance would +be required in the future. But, future workers would be able to do such +tasks. + + +## The responsible stack + +So, **I** could be happy and **blazingly fast** and productive and efficient, +and build a reliable piece of software that would have better chances to work +correctly and reliably; +but the company would have trouble hiring, new people would get in trouble +because they have to learn Rust and HTMX before they could even read the code but +the boss wants new features by yesterday, they might become frustrated and +resign, etc, etc. Not very good looking forward. + +Or, I could be the adult, pick well established and understood technologies +with a large talent pool, facilitate the future of the company in spite of +(possibly) developing a worse product, and perpetuating the current system +of **if it ain't broke don't fix it**, promoving inadequate technologies +and ultimately, contributing to the users having a worse experience, such +that future devs have a better experience. + +JUST USE REACT!! IT'S INDUSTRY STANDARD!! + +[\*\*cue in sad defeat music\*\*](https://www.youtube.com/watch?v=XdofmoYcJNE) + +## !!! + +Alright, I've been thinking. When life gives you React, don't make a +SPA, make life take the React back. Get mad! I don't want your damn +React meta frameworks, what am I supposed to do with these? +Demand to see life's manager! Make life rue the day it thought it could +give ~~Cave Johnson~~ React. + +Do you know who I am? I'm the man who is going to BURN your house DOWN! With the +React. I'm gonna get my engineers to invent a combustible RUST FRAMEWORK +that BURNS your house DOWN! + +--- + +So I began working with Rust. + +A month later I was let go. Good luck Edith, I hope you like low level languages. + + + + + +