From 133c0944bcba282c2c9537602efda414204775b3 Mon Sep 17 00:00:00 2001 From: Timothy Pidashev Date: Thu, 9 Jan 2025 10:49:28 -0800 Subject: [PATCH] Finish project content --- .../projects/discord-bot/thumbnail.jpeg | Bin 43037 -> 0 bytes src/src/content/projects/discord-bot.mdx | 8 ---- src/src/content/projects/fhccenter.mdx | 39 ++++++++++++++++++ src/src/content/projects/iridescent.mdx | 2 +- src/src/content/projects/reviveauto.mdx | 2 +- src/src/content/projects/web.mdx | 27 ++++++++++++ 6 files changed, 68 insertions(+), 10 deletions(-) delete mode 100644 src/public/projects/discord-bot/thumbnail.jpeg delete mode 100644 src/src/content/projects/discord-bot.mdx diff --git a/src/public/projects/discord-bot/thumbnail.jpeg b/src/public/projects/discord-bot/thumbnail.jpeg deleted file mode 100644 index 3d36da3b1f240f07f5a5e1133ff40328b6d60874..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43037 zcmeFZcU;rS);}I~#kT4q3W^B3u!5kV7zjOaSBk4Z#1NuX4FVD%NDVE)y%w5~^&--Q ztVCKuSqLG75U>DIT7(dKKza?G1PFm&e9G(Y-kG`RkdylF#{^IiH#LIWzN_ zb|zb0TOR>mT{i#09I$O00I*H+0c;Iz>-yp1MVG7BpyoeVn*C?QJAfp7aSj0RK?nL@ zv-tk&>o@Gb-u3Z6pZFAa%QfKcr|a(oNxFiLPpJa{9L?X6`G2wZ+;$6al?cpBzTf&w zGM9ioETIp3{3m_t6OH^&+V~TV3A`I9k-7Sb_P4!uQ9|FA(5F0pMI(PjyWaKxB>z|< zW9;J{^eL}T;S=I7-OzBD`& zApmf+=Wo1ke+B>!J^%p9*?;5x%_etm`QQ4FjXi2E^fO7zC0BEZha1pR$`={{fcZVc= zA@#+luv+jmQ1!P1|y-@bj<&Rr7qcYXr-AK6QPqb;@T z(04X|Ph^zO-}>?J5tSDuuUo&rHV8z{>*!vT`_})j3#D5AQw3FT;4S)a^fBA3y z{_pyK7Wh94{GSE>*DdhH&wv1`JAe8Knkxf`hkjpT$!*w^@m$K47#NptC`?GDP&Fpz z*M*v48m=p(A&Bg&R>sMd9S}yqHLgwuxNm)msi%RD*H+x$an>TpvN?wvo1<3aQv*+} zK|x6J`u6c>OBH*m0nEbLjlQmx`jg~f$T()zBMstFl;{aOV&1!co3#Zv5=JIO8ADqR zc{>+ULl4wZ95#795SBj?u^vLR+?;qjWE`=fIv`^!3N4B_7M5&BzkXELtu^>GDW%^t zdUkHOW@f?5CTkR%8vk^|%0}DxvO;so*zcEsK@Y`W{EmvsT=`@t8DQA~W6L$u=g?9_ zBN1zoncU+$ zb9}p}BV6g`Z5yX%X4P4Hl5yc!*K#6cZ{Dy#HSlla|P&k$CsONZ6|_ zfODOVqLC%5;Jo@fDnf(EeH@eKZgTBWCek%+^J7X3K^b}LyWcm~|6+^;%Soha$b}!1 zd^VGPd7Nf@)vlIzS^9HMX-3b6Geg$7ev0`%@g?2I@4A^46t>dO-Sy@wG#^d0wu(Fm zR$1`9TL~nij$6eYu?%VQQ7kR7vmzO^7Z(!`?$84-Uw>0u^Ta?ia^kU8=;?Cf{Ine;SRK@Jm5+r_PA@s<$mNJ z?eNU?O`feSTET$Td9S4ERZ89u{SZyi*N@&+9OFF%UL>7yrr3eaio}&wljHZUg_yUk z$np5){v99C_6VD?>m}_4jHquk3Aa$t7YIJyR0g zM}eYIrL*L7*+~|`A<4~7=Rb^_wWDHH=BJ0Db4sSk2bI$WtC+hNb|;?sy()w*Y7!e} zuo>e49@o>B#ZsO%(zaNKR2i8GB4LPq1o}oERc|sw?pTsQ;K&I7I?)gCa>6D#reDSBs`ywY7P8&YF7MuUCUp-E12Q(iuirEDvzA&Pt{ z*XRm!xYpra+62L)H#P?>7#%XX4^MjGNoR<{b+}-o$bDtbMFVebNga&tU4gf_j{N4= zQF%7N70-9X4+!bGA(WR>T`M|=pITICac8U(6*J`P3Y+AwuKB@@MV&RNOQR-}cy-f& zu=2K2{o$rw!qYj$zc$kH`f>?!=`!ewG1b%<;o569IqF5)Y)h|EW^7)cL%3DDYUpfd zFuOAcTg6JhF$-=G8*$g@FFMn+oJpZ6v;dC%s+q3%&Zhr~4DKUh980mH2(r%JSf}_* z9fmKMH-x|H4^J#buXEIxKTqi!7C=pU1DfM9iwCjLNnN{-UA;A)T%FkyOu~;RCUZ_R z+>tSaAm?ijJnq;hWI#l5x)yA-;xA29TwKkUC44F*L<_% z7XQHgpwnS+RH2b?e|^L6p`^!^}<--t9FJWeHGB9pXfN>^ z*0;VITL3Bpq6OG<@vHw>9FWZ0@6O&Ro*HqO>s{gScdDk4AG|36Dx}CxOhj2?bf>1@ z^;E1PPOtYTOSw10zyk*lzHM)JAeL%Qg$v6cP2^POxFhSa)pJpceAeT&&A&8T`ulyA zfO0z2x&qcaQwx23S9}aqI@>d9lxIFXu?4UJJ%tB2_N+a<9y9bjT_?;-cjGiMy#kgIer?ncH2eWu=^n zxaW=v;mLEI0-si>F7(aua94rb03){9pt8ySgP+FI^9BzNOfq&HTot8j>RoE)7KNX= z5@5SQd=T1LhdD(YN_mtPJr1CmgExAmu4Y~O9-R%xk_gEj-t}Je)N~~utVYeWp5}e45?=7oq{(jsY zQl1H%>fmveRlNMB3KdBB(C#w&z7O|(&#JBS za7+W!l2-#MwryINy-hh_TWOuz>ZEo#%j97m-y&jx&|Jhw4Ian!TU#g^|K+>#jc?+h zG6@$zYJUlRy8Y!lz)Qg1d;ewnUHJSTqEmV<*=SK_pffwLQ}R~nFzX{z<0^ZxFl7FG z^rmH!x#ehtN*9NPvE5%MDJ!D_wNyAv~?U{4+Ft%sScg$fSHmV|aLy z_3|2YK5?i|@GL7rVVkxLaO80v@XXT#Z)Lvk01}_?KMPdro+yCZLR*eW>0PSKNbg_Q zs_oR6_3NJ-bR;I=w1-C;iO@zyJ+CsyID3fv6t-Y_@!)ZY62;?&uaMsJ)P8nBG=?)V z-T*VISTlt7>8iS!4Eb7%qN=oU!dRbeD3Gf)!X;X$|ZS(}$lJXXO=)Ip6iXDx#xCN`j= zSjm)WQ6jFSDVZcdTom}^1qtWeyDdP`g30x%0gjW*3SrQtiXQ^a`e|Pw!fo>>uJPuj z7W`Ted%0$>==5?{WH^OvvjsRaz8TxM;#t7LDv4`e3p0xMEW@_lMF(G*oMFjQ3&Wy? z160Tu&!?Z&Yo8xOVFYPlnbWeQ@%cxZSf}YS|17nJyztzs6okp3?apTnGd?ci&oxDs z9OET9o$eUCN7DQ8`Jhx2ywJ>~>n$(MttE6W%t6m*VP^PE=q=|7bB0Go3_(3c+&>Je zUCeip8h#r_ddGUT`iMw$l=X4L^^jrWd>mAi)pw4+e7JHmq z7!k6vZdqh*mA{$ib?ce?GC8lu*PnUu_H?jMC;Nz4YSh_fx3FZRS;dw!ltw8N36yIn zdZ*GtMLkpV{yrOaQ}~xfF#p)X{LwAI`)nHFHnT35)h2K+i6`ACX6g(LkUxyTq=g(vgr@%EDdxepAZOj) zSdaQlC8BDFQ=^lpYQE3G!jErB`bBskJ~_8PCnW8>rq!XzOgzdyShnzC0JQzCpZ|;# zzR*{>$uS4Jp({H#!z@{eEk+s2n(+>7h|zo{`#Rt(@r~!!Ii+ROnT@J_ z90;f(?rG-IZ`P^o6!eyqw1%HUd@W2=&U4pM!MR{m}V|77iX^IAb2>2v}v{zqxY zjale}h!?k(d3x4u+7qwZ0%sf*uGrKuj&=;is;_}(-CfyHh*m>7XI{X_SWU9PVAj?f zZ(zWrYDG&7%6tEd(lao8d6|QLRcK%I7~gq~4slqx4O1X8=KKTq>6iQE$DV;5=A3BV zAJmxWxR89{>z$LC?47^tbdCG4{pa6WSl!rSFeB&VRM!o|;9UH%qx5H5*O}~{f$jEKlwC+g*>&=I!*lj=#%Hd)X;Pq|iv^{5fDVEr8 zZZI8LOxuc$3myW`gsYUEjMaN4rn5z&1pr_Oa6tc8h!5|eyB7~=3V$5ClN0*7>MgOk zD_q5fx%^m6&K@Z4bv{Ag0%X-u!EBy#`w)qUvWWu@i_-Xw5fR4^k6{b;^?(Vu%;rWN z_Ve#Y^}L8luqjTm(V1mIeg4CY_*9ZvdQdA)VA5EIu$qX8nY9$U;$84ey613$vi|Vv zIvsNEXq4m@MjPXH~lR2*5lr9o3jM)62Kyua9ex-bel<3^{kZ`V@f@C zB%r^66-~qC3!44Lmmb|5t7~|}YR)ZrVhV>osGoi|%SB^yg5mp@x*hyHGn0YtqrKb$ z*a}gez8tC$PMm=%sXpxhZBl-AgFh_vOr9@pHR;ac%UCWhdyFdS!HW5XyZl}26>DB1 z$GQ?iXika>?Be+-qYgvb+ot}p{Z6rTzOid#-7gdZ-1zj+QYrG*zVDa}wOhCAX817$ zoOtQsqoLdY>3N9_{Tb-O{37pWcfrGoyIysTC4zi%r(&1rIq}9sKk)^;+(|+0DeEYK z?By<&Bk}@&);az0SH<-2B*8qT%Pk!%#y%?66g_|cSu=*MMFt%D6s$j8Yh9-*vq#UT45WJxxKc-{Xy}|5+F^fooOF zar!ZLdD#2;-7d? zMfPK5_uh{z0+xUp_fAV!01DV{7bLS9+s|0w>Swv15d`d6SOWN^MYwiwnURz5<8vrZ z{=_PiAAV(QwA$E1bs!4F+`v5!AEhef7YrX_W?KR1(E1#@e>v}9ubiBUk!ru{$+V(=hOLd+VHVI(PINs>zik0lUuR-KB$<#j-e~XxX9Ps*#cxt z^gAPZ(3Yn22|F)YU9t+jxO>}p(1kr2uXg?XFVOmg^H6V^-FPdoY`=q2o2y6fEJ7Nr z(-aC9KaSZ7e%$$)EA* zT!URM(V19phP#y1hB(j%CpDL5VlrKMnpQds!;K%bUU>WH$!+?Da_|JS|zQ62uM+!wW$O&7YEJ0{CkWWstW8Az|T!0K7M zh}wYuTo%K3W&G{np=QoJdg_KPvKt?k-@6%V>`1q&bSE*=$0-miO}|6lOB~I~qqa!qMz&g35l<$Vl=t^sS2yApfQ#Cu1O07KEm}+tUKq=SqU#pO= z#hq$``BL{l(tII?YO*(Nt~b_m4BefA|G{D=Wi8(~S^L~__GQM!z>HWn5QDUl*(i0}dE;nBVX2wWTUa7Vfn{#t>%Hfg&VNKlgt4LM5i>1ZZr|1D{d12Jp99|w-Zo9kw5IsQ) zF*jU~_lUO|uqaDgdA_clr5`|eifO1f>+!MCy@H#G&xk4!)JyT+lF~NgQ0feS75tTe zWzul}oU*=pW<>7mvw41eSR5){HcL6p^^W=JA~d&R`_j9=AJ+dp*gtpwrCz}a2({fQ zDK)1D&+AZ`G{iav=-xK9v7 zy_EYFfK5BGQFM3SsC_|)BQ7s~P`jYCGj5g*1cHHDLhkHCfw4g|U2&zwVJS9}4T=M= z=yJPaMt(Y>giU*&K?i93DY*Yw_=^Qs(H6kXHE5T&yU+7#^>s5+PF+L*XpR+s1lP5e zr}!dw)RT@_-k1h@smPDo71@CO;J{ku36jAIsS}lPe@zcwH=wV-aiiUUl4qqoXl;s3 ztFcc|8yOYfzN0fbY%W@ye_CR$+^(~^ z-za&9&&>s^nduVr>6EcFb+JY+Pr7L%^mmMjF*8$-l+sD4z&KFW4u@S%;f5_Yb)z% zo%R+WqPkPwk#NLn|w*pm#roS5*L(g@Au;yOWq?Yywl?{T1eTe%uIi zB2$JZieL&o#dw#F;f|jT>r<16C<8+~Y%1+ZTre4-p0Y?%iwQHBgb6H z9AJId3d9^Jj>(#A$1DbDaooA!o}37<4ar^8v;$SU$X7wPBPIjVGtWKcYA zRg>H))H6Jg>Rd?hl}{N2vPMr#>&=SfRkMHU5k>Ap@%a$+N0?%iR2^t2FTv!@!f*f{ z0h|hsnOhngS%1bQooThIRJju!9bbJZ8*b(3_G%~h!XJYB=Y*uR+Y2-BH6V9lc`--v znV4RDsOIAcN1=BOia+yw>H7P6TB)psTXa$ax%PAcqY z(cz4zO@2CDncBDW=<0R{`9fOt>AsMPj3yI*_nA(aK?7-4Hoh8(-4LbOt0gz|)Td&8 zXr{+tGJtEClXlaBr)JJtU+dy;{yF4-P2^KrBDA2IchO9K#p&F)ccLxa6 z#3|dS!^)*uWH%Id+L<})iu*4!y9sVKbi@0;_6<}y?ZCY%=RFCW8ksc`ZXHD)G%a!o zC$tXsRF<@cgS1cx*LX+u#ROcTd2Xanq4?^K0=CpMmAn77TlxnP{!y`*kK2mZ=SuVX zc}DCKbUQpF7iLgF4I3gwxT~z$LWhVl3MQwD3~X8$-Ze8ydB?h*oxz-=?pY63qqKH{ zUDQWehE1(ge24bD1RUR`tbE;#Posf-yj49?M-PDe?)_05e@ZSTX6XS?F_FJ#z-ZjE zH_2hFxwjRg95NmU+N9!?cHbUEI<~wcDz^K=VbV&7w5eG2v|PHkk+DPtqui8E|1(0M zZYFTfbd?>Px6u~~#6NFz_uHvcr+t_sEiGMZdUC}*`A09yTB3ZX2J)Lj41ZsQZb${7 zc{MW>ppo~dp#D)|1DzVwi8%Sq_rw6CtFTl@K4-Ln$ZkalYL3RBli%kLx}rjk*}J>t z(ebJH0L4+@sJ880?zFv|eD%&gdm?r?ir~L#(oJ==H0BY&U%jK{bieDd-^ATdMk8kx zts4DoH!~E(H$*AZqgTqODE{Q2dX9`X#565-sG=Vr+yCm10{s(m2mitmT@U%#R1ogH9UkpnG?NL4Q;%v*b} zGc0^2MFD%&mqU&&+moun)W+vnR1P+xk+|ZOEiS(HoJ4oPw}f1D$#W3|nrZjXUchw4 zKl%7O{tbTu`0t7Cw$thmfvT`jXn&VoC^ZAxdOieC@sHjZfXIj9xk7U67GMQ-hrk+- zbQ3fwJrOuMy}kul`U(Au4xvgXwusZxH@7_Jts`Q_r9;DB0@k=+{|~JBJCAPT&4~A% z4V=|9@*Z66YcJ*7M-LNx@xxkAYQoih_O$ffU{F+Rxn96RgcMT`G_sCIwxoQtxwmqeNk?X)J=`3qv$IXBn+Lxy?4}~Q4B1n$ znmt*kvQieKqldofFf8F1VbC629#wl~7?M22ox*^!)DwhXpUBV31nedK^BDiplM3?y zjuQz~Gn(Dv)9}mvXaho*g)<4!EKC$6Ny+OB_N99B~o-JrLnpu0cq_RHjxrAS!V6yxAQ?tSe zUmdvFbMGGk`jhb~3xvaf0h7e?!VGAL$E+hcuv5~}lKLTFT;}*w))XwrJFS=!+(o=F zSq;whkA9rtF78Xq#VeVyg9ji=(>@k$yuF<2xmG^McuJT%y(wMQn8Bbdegr&Qy!EdJ z`y1U1@-d$AH1nADs%DtH%0wlv5?JUrDDB7!9*G32%{j?N@qK9O?VzGmdcp9LbNZ8s zVm26P);<0Pk|esCN${-kZ6(tc_w;d6pLzU0n~*XTMTP4%fo>_YaQ#^F^RSdzCV-%fat>nH|f>R{h9bE!A5V0 z$hU_iTMX~YLd`q+oQ1O5bgE3$4n^m*9Em++BduU@xVqL#>Dy{D6_p+cGm|be^(obK z3JAskoI-y`2Wg=6xHjOYmHFW?0Z6m5c+|~`p(7^KNaOg&RR~9$eE zEW{x0;F9@i%IWq4qv1r03t3NW1|Riwl}n!SY^&myu_pIa;f47WRIJ?*SIbDi@1UX`+EQwIzdMsqb?vo~a$ghBSVsCF>0`mvO?)Q%+;1FQ*dsMD&B9Ti4vfnj-@j_z$xkH#$ao z3_u~naTS<+29Q6N#;Bfi@ZzI?S)L220|h#<@XM9Nw{mLfdaBq6Gn-+>)l0t^!e34~ zo^g)fPF;3qz&gLI-d zB*h)sp+}9pwy4z{a&+DLNXxlvOrdQ9*@Fh2oe6e{a`gQ#4G z6$LHvGL8F&LN5*Fk@OzvX?gBWA*df2_}w{`0#8cZTfzVZ7t`F;=f;taG$bkkdDgF4 zM#xyU^k+4cSX-qPa2xVc>{OA+TVvUNbudMtY-k6c;oLc8N6)deAd)o-(gUOib^4-< zAbW25CQ|%JZ{HWyIZmeHO-p&$O6B6Oq)vDJPOJGR*;MRb1NUl64&=~LR2gTSlYSXo zd(@1C3|VXT6KWKgHWiQmptHNzMDIgjT49|YIL_K?V3e02wpko)H7w_Ba!Dzl+PC__a_2g*(GJ$6gNL+x=<%)lpR^?Bbtlw#0tj6C*8SZei+SOGym3o*hog5au?4lKc+Bh;D z9HbO77tV?Fn@*J*PEGT!bLzDX&(AUbCI$)|ZcG9;Mosb5+k;}qd=XToUImrSP+H1r z`NHH(EgB9yKa{%gy*{%E5H_NgdO=;fV)Te*sQx37%>J0tu*n*bsXgm$yNcd{fd@#p zP5(ZNQWHO60nLhWVTLL6?@vv}EQ0a_V(*kBI$ALjHyj9D?dfZ_wF@K9CY;W<2mTPN zPV%CODaPQ;FTJ{+&2q|nLrqS_uB{lT4_s!L&uS9Fl`Q&%XHjXIiV9Ydnbf%)4}OFi zKDO6K{FaE$(CROF;bD^$gPB2C%n)viGFU{h+MCIpg)?mTigC*&{8`yJ75OSud2*l3 z$8QUK?tQMbwsoL2n_u`?ftZN9sKZEC*kC`wFt_`we5O5Lx@hhSO(%mkz|jdAlWeX| z9#ia=Y+yZr&b!W;S6*z3(8BlhFAK<-wk(6C`P;+D&O{>%)wwCTI~f@ib$X6x`4&KP zYC*c6irnDf(O5sY-?;F!^TxExRlVlMXOxw+g|hXjF`W%mPWs^u*X8PnU-r6(F8JN$ zdF6y9P=Kaf9f!@XOeGiD+4}tq9YN??j=LKmhAr#z=IOTbhDA&0p0wQdAsM6Z6Oa2r zjdN0mT>FO96*cAKBd_>l?2uyKo_{3r9uMaF-1lFJTz7Nafe)gQf?IxHz3!5pl+*CYG7(A#~u zH8mz&aV73a^O5dMB+heI)P5xgi|iAFT4EPYKjwpL_Ei`hvFs(8lx+c|5XW2tp^(dOO&eCG4D5=3XJ6Lqdr$H!pg;LZV zo!$fQ0Z!n9q_rKl03g&g>xjXnn(OwFT|sHH7N?&a!Ex5V)z`xo7HjR^_Jzl1tI6k) z{9|s)(uFVMZcey#gO^*&S8RoOElo7kNaSl_mKR~Hmbn|Rr9Y(d=I|DvwEDjJi+0os zV@cZMQeDvqySOG`3MRdnmV7{8U{qswJ<@|S{f?yH33(cs(W7ZSj;Plv|m5i6m9P^?9qGbB&2CG-qVRvr<9u%(04yRI;?|j}umU(OV0IhuGb8K+ z_rraC4&J(h2`cnbNdOmtO(4~`9an5j!(Hsg`_i1-T1$0#&KnN(EPSDY*i#5oq}$A9 zuc#oV?1t#%sUvW66B71-qA`5M`vzXab%6i$Y_?c~NE8^!mZwu$yXV&$fd>y2kjfLF zoq0SP-U)MVUb}9@dzy!0Xnh?Ol1`b!M>6ko75t<}Mvd9ACzm?VZhgI!u;nJMvAdfJ z)eJN_!#M!ZR@Mv4yt)0}K^vocpH5cni5YV0@8H>Yu(>{7@&~XpmSmWK&t+*(#|WR*IGzh^_#fV5#+EF zE?25ov(7D+$Ca`6jP|UptrFKCsg-P8x!VK?RQ-I*+kStP8z?d?N=?qWZDSR@ID>G{ zBdCw*hjK`s!m_5B$EO$Sn!>r=#cQ_gL(4x}FuwCyFFTNjDuYSO>dNQ0doRo|6u4r2 z64)Bv@rck{Pfdje3OuH_0K;C{eKTCRq9$rbjNZ-9=l;)ew}eog@XQhwsEf|aA9 zE7$t;PQ^UmAbE3|!U|0nHm^C%K9g(BI55^X89dN7=MamAyG{lzOsAJfYPQRlZOQFC z`Bx&TL?kN$RwWL}>PEOTO79)-zw%i)JBB)_8AiUI$Lz<7BR>od*$mKK6c%Q%)t8w) z>G=>VZo%^0B?iQlgNj>^*GA~{z0ZW`LEaDJ2};DK3Bw->VJ~hX5{<_ngv=S2yRb^& z>qF`z?PAM;O8ix!ogE_s9$eTAGY6dwPxC8ab!RC-JJ~0ua#YYsw znQ-gHM6(mI$dtQd*xd6EN1(@O8VECy zFy@ilP3!~{_9=$UlyD<0Hg&MxwO;l3e&Ds5m!mexcq6#wIx7O}tks*tm$8CgR@P6& zBkdz8c$n6l4`pqK?Yrf)a=e+W=U9aA_2{9rYG>`mM<0iT<~!)x}s@tVYVM#h^Z#rF?AkAsa{mK@Dg$jZYjMj#eS(L+u-D{1AV z)P6-Ro8H{gWf#+qKylqmq*tZYDl;k_rR7ir1~%c?OyTK+Zkf6DvOb#xuh8eNW4LhZ zIb8e}ppCdvlkY)*E{8i3onH}ELH+vBgoS2#$(C@M=scjmJzF=Ltr z$pK_goc#Qq)R_)&%Z9Z-5^1Mz-Pe;|7i%D4!T{1WLPFi-*LP2X>yqB!R z5m44M_Ehv@H2xH>EI0GodVPw(@2glIo#{{kSgD>n_u0AYm*IKG8FI)OJ~Uv&ajeP< z+vMQ5>iC{K6EHti%=|9Mc%#q(q6TYbz#G>v8qDDQB~oQ>YSNE<&#K9H?aPHpKR!9q z^@et=`^11o5ki22ARY$93@5Y2x2BasP_Q`5IjbV28)E~Lf-zo=-Z=P<<=TsuO{?hb zjG4a~aeL^;@uz^MFa*;dB(=y9o=6*Sy+M~dU`@kWkxXj7{04hqj;B>aMM=Atbp3C@Ho((p@N- zA>!CQ+!K>eYJ|^l!^|cJh6|BJV}ldwz=vUr4>R~iRT{la$VN=OlkKRN(DnG6ka5KX z)tP{~Og>~!lHL$fS%1+_i=xZ+!o`Ey=X2wo0~){thF{K&K|PQ6Z`AImUKrJU^(!zE zlZ;{Wwh1TgA6X~oxuUKoyYn_2p7N-+(8mbNr9(9)5MD*^IBHTvP|TZi>xq6xB$PaX zK76-vYn*kyMEqAw@r!0I$PR7c-(kziki7SmNd~b*-r%{33`f)!;8uHeqsv=NREPds zm;4)oa$3S@`nG}A&u)Hf;#lHh z=vOK-zp}}nBCi**Doq$YEhC-NDQP9zXNGJfM@M_cig43F zA(=ENxYoA$kP}Yl!sr+2 zc(VdY@3RQ@PE%0L7h;uaoxx!Q zuG+Sioi$1_$@YUj&c|&5`Z|S=7P%Njvmndykxu^vtlipBiYR5nLi@aB?Rx7V>tJGO zF*h-c%v~b6N9vGbm7}Ah_Ext^+`_Jh#q@2v6#p9^+2iS@V`I4&r%u{CoAr;zd&pLW zMlX>@AX}%3B4O?WQF!^#9n^K@qvS*%qYHx)KkZossbFBrWXj1fUE38N}s*N z&)=~K{>>Nji6~;Dp#Ag7tmt3`M*>Nhe;_IFHObbKzlS7q8 zfz81F<(Id3Uw3Mu6;pl04$9RlQzf~I z_*+Nl7RdbESKFR_w#mqR+#A_LHrvSH%CE?u8tNxMlz7Qa+sL3J$1Ym3|Joc(Z$tNS zf(3NlfC=CJI)-tma7ZI&^D$Ws2vz{QPZp_l>oS)4G*q~A)ip;$hTV%d5g#P$BN~mr z(e;0JV;REUx6o#Cd{NCZxWl-WS5&nRGn;fW0rR-rL*c{o4*s)%fH#nX*}v?UQ!o zHIJP105FNssV2p(tU<&YtSvOEqpF+egv*l$(ouJ2#qyhGMWN%&wfAHKhVZc`acsT# z0@Kbs8Oe_rOA$+-E(?};UY(N~{P=5qZe_T(7fm_=`$Fwpr&}`oo1n&ia;oVOTL9>S zyN_8n+lf7D=?);7{cjX~pHNYB09Ts-##9bQvz zyPXtXB-4S7&1=_m&V<8gFSh`z{gXigepAH2(^W|mjXLlB>c2DjpI?vVS_IZKh^=~4 zOe6~o-kMJ1-F=x`0I||*tYRxf^b^as@YfFOs(aNoT}{dd!;l#8(kBKUvQHwkk@JuV5z5Vk%w21{A_H?ZjYQ zHh$fwtN1q5)zcp5OcS%-vss+eS2UK-9C^ ze6|1wZF4s=A}4)8v3$SHVIAMiaix(dvoJS=$M^3R@g2wX2~(W0e3(K=_*bbH$3j0Q z-aGZHgd}9j{Dplxy7v}goT(_t6{!Rq;v3Z1fMPam=Kdf;vrfoVG|6+tkk)Db5O4-cK znmXI5d44RJYsEqe9}hG>&&$*wZ{r+k60clIT6qy~6%y>PmZ9r2tu#n&BlnQ<)~PdV zFLXm+)E@ukv-$lqOc~1swwTN;-w$$cOg2#;b2G}#l}M6t%cyy zD`tEN^~}`pl$*zb)TSFH`Zt7In7L5Gc732V?LIC62fx1AfQ{Va|nP%6J@ zY_j!ifM9toH^C&ZQ@f$#G|l@22tAn|08f8zgPb*s&5wA$oO$Va+}lk5_pCb+p8vYCDnXsihtYoCmGqJf0y!q-sUpNI`27^ z>AtF(VUPy-pn`-vGnhES88j$fX-^p3=L1baTM0 zsE{_(1RbZ%vN@!gf#?Oh4@!pr!gFHVU7N4RkKe)=>D_dGJE@f#JQvlbHBh92*V3}Q z+ua1q)+c;7+0j=YD_W4ZGl^JWWfU!G#Eh<>ANqDrh6pxJ*l%KLL#Cbg<3oyzxyPm(DYI(!BpB{NoIg{TghoahsYvhC^vw6bm zt0W_!wmQO>cD&*q@wc7&!CYt^Gb7pSK%L2SGC3~LqC9^ws;Ns%5RA-%^Cpk3;DitT zb@y%DuZstYb4Q zQo0S*@>BTUs9M-zSI9y0Kojv3MUzT{s{{>x7WCZqUL;ym7Lzu8_vsiyK91hi|q85(&BqoFcMzR}`+B?I_3 z*HuQC7v&2q(`Mi;sVU1(OL>0&DI}v;M}MmLt((=3+19`UrZ23%?e3j9mj;Q~oFAVQ zk$k3yw9??y+T!7+8XVsVrL@G!Lw+cWorUpgGW5>RhKp93U=Ty)$B2)kk=)nENJp!*1^)`4teLZUFQmse42X-{{3O53z~oJr(@GMKU)DT1m&-pPkt$D z>QPw=sm%Vg?Vu5ts8s6kx*+`0pjho?TK4P~K*@rMcTosklANkx&0AF3xbo#eR>!vh zmh4Ad`ciG#W&x4 zm3jUr#dn_tbMWr=l;EFwl6?AKx}y#|#QLoi^V%&#F}cEbn~|C}h{6EIr5VCZ@lBWZ zg)^9?GJUdEg7FyZL4UM}F>vzStfj@-|F69-k4rjT`*!L~ovF!AV_CUAN6%7s5NBrZiJR5BO)5$ zuVE;^_FZ4B{qKJl`V-;o@y6G?4-?g|ur{zxM;zVqUw2^8)ozx;3?hz-rueJ{=voB~ zuQV3h4o`IV(ws8A=rzsw$7w$x)T5?Fhbr-+KK0o7v!aV`j3FvCWP#;)GNGorF{3_F zo9vH{d;F1auRB;fY=W@00~pW$0ha#^6@ohd)7t;8y0~V&8pJGJaz&WB(q-ISb2^Kk zPMDz6GqDGl6L~KX639$UKrtbzr8(H3r@_pL5kPH}m;>7uVh?;?@$ps!#p=iSGyTNP z4MTE(iZCCmv9~J9WU&Cp5o|{9*1h%HK1ge}11Pt+ZeG?9)%_&<&tAz*M7FT~S1Va@ zr_vR)5hruZ7HACB8D2l=lTv5n(pSy2!ga4G_u^4TcV~vhA&9;$uN!x=p#yG+obpcI z9L6LZze2pmsvt%Q$V)(G-dsmNZ82(VIqIsmi>?K@@t(uaJ8_+ztPgPxx?<&^*!RIG z_=z@##?E6t8u#>Eq8<6LK;0D9(wb(H$nGS}E{R+uYiyH0V^8nap9FSmzJ= zXkz;vi|=?8;7YJ0+%&qk|Ia_E+kfLGG(f9C(EOswXhY##>%YiiX!Vq&Rz7M93bVD_ zxizkkOi@AWBBHt`EruhsJhf7TV<{9eGEnm6WhEIoxm@SS+0U;2JnVJvb*H+tVkxUVot#iRRUi4dU=ABWb`gNR5Mdo^~E8Rk|u~Ice(;&KUta_7-z{9pYW>#~n@FPNUD2oZhP7aJ0RGWf| zsGiXouU5#8FTh>)s5RJ2nWozM=RPasXlv$NPlo~ok#km3p2Ac9q?9bu^t>hhl18oa z6W^Lv>~cM{yP+Lz>Z7KE zuM)w8r`gHFxC ztmcRegY3nN$rgNPSx{Ix)qTJ+fDp+tn>OJGmM5bx(U*cMXBgy`QLk3?y!*oqCBKc*2N`pvR1b5_q znL?miLU7-YD=DmZ2|m9_I&p}6jM`Z1Qr=u6)s7mS!8#gD`{7yiEE&o}Q$dB`x!{c< zgyHtTWV(V>+&olN_+M2bljcDPKRxjxC!d6JqMF&Lp2Fw9tz{q4p4i!qU5d@dCfE`a zS%e$R7GS3Vp z?9k8@o!=+Ij}M)8uo;)~AQpZ^g~v$jQ?7zWCpy^CfRfiOZ8RQlkYOmXcir+HFP+FM?D6eDx zwfr%H(zUR=pUwYU>Hd0w{z3^d(7cwWT>-b^8L5AjKe8Ovsj8!&QR|BqnTj@CI$ces z13D-HnQI`Y@kBR^L9bZzK6sfx#W_*(1CwfWYssxN(}m~fwNYOeMOVq=_a}5DPpr%R zsdxuvqOJb5H~1-ZhJ8pEAe9)2=dGtI&k`YeS5aO7QfnpE>wCjB_kQxyzyIdo;Zbo1t5)p#n7Gk$5Grp;-XKc0 z?$#bO8)d5n&k6eqTB{u|l1(L4gVaBUAQhCSYtOY(cPy^_VXxqFlJ5Cm1aE!@QZ@0d z>2hk_Y2F=1{PEIbf@O}6Y;de;?vRZi8NVqFpf9=g6tC3h;)xJ#2Pe!t`5LP_K;O9SFKkwpSe8yq@)Ev;q?VT@bIMQw!nkrKZg}; z(bJwrrB_6mMhm}xqA*P|plfo&qNq+h+%^)E2@`>)Nb%^~uGfNZ($B@#2KyI+1qG07 zL3A(yGUF=Ve(m#Do564B7_F!rrub2ekz7@>ve;Ev#-3T5AS9KyB{rwJqwe;-W!95U z*M+I36DpUJC;^rN5y@pKL zb;VU3PTo;0P5FtZ0DH*}bKNYuH~|;FHnWdv3(zkcplKHk8`G`$;~l$C%nU;wE7%e; z*Y=DQj`c7$Y9x=vXkJ-2W4&;kY;2|h+!NNX{M4-J{RqfT5#Zv7zv%%6x|gN+hJk$> zR9KwIu=?Wy%!VM%D9t!0T&HV+fbE^v5*9Heu=neQouU9C z818G}SC3Tw>NvRv*@q8ZV?$&5nq#5jLWMI1+U;qa-Sac@(B_@1ZRjk7@vLuyE6Z!+ zLO+P<(s?FO7x!EAu?O?)Fm)NOgsZ;Z3H`A|M{NAL$4rjt4tw+H7Q)Z5jEjR#zFzaK zA%c0DP+YAWOt-)kS^Q4QSfNe2)w(qs(OKxiAJ_bdvM6YrG<*_KvAo4tX59`G(Wo&4 z1!w#koB<9MbaD*Vfb@|8n1Td{+S_0@%TorGN$PRghfLayZ=5!(YyEJ*@Tcdxe{Yim zQJn9GnXD^hUHZ_C5Ei}RZHn5X5VRi@TGwEnsIR=p0OVaJdAT%5$iCMq(Z_pfr%T5o zZH}fkr<&tbYgmL7T#;f*oBJ;L`+tAwfA7lZa0q(6Hi5lu|HMaLN!iT}^lhaNcCpzr zpOiNI6q>4n#8h{gsMfIUQgB#ooq3hg;nEjsv%geBMPWWOeYbaR;0>M8NqvaP3e)MF zpQggXGb#yyub7D5`nf^&+&Xl;dpkWBU>Zi9tOLKb7i{}AMp`)N9t4vXS4ACkzL4U? z5izKC2F~+~{9!KHiyd-lyB0merQ#W77<5d$2!V8q$CU|fZwu-wZp?-RD9HFs{0bD@ z-U`%xO2MPta!3<$A09u$8%MvVDM-P%#>sgslm&;}Nj0Z`*Y!!M{kC(ZS4u+5^oJmS zY<5B$Knjktbk4oV$hBTa9x|0R#wufL29O$j+@f>Et~<&#wJ6*qF{r`=z~h9mHv{n? zGT1s-N5>}cfSp}J9K%fgn||bycx=mz-o8NPnv@kg3{pt~x!L8+I==r$kN9=^pPt*+ z4o8DXy^S3yWL$6fX;u`o=W8ePEOPC_MtRr6(oo1TPr9RX1E_mt^8zHwxYywVyQEOY ze(`=0qy;NC=At*7!*W}@NMUOI*6T(aMob>CPVO(8`1*vy^&2yN?g8DDRW#Hwd3)qE z%aHg1&#Hm~!-^j^8kQQ*Aq#ArcQB`G)B5M98dk~qbJTpO-Kp6$cZ&g*LX2c>k#=Es zMdOmp+VEr%6>DrD@NT}qD&--<`` zC3m7AiGy0((Gt&ewDpDeMps_$*s#Q1&ZwRt+8^R)oDW%+pd6;GoZ=g5UBn$O>-zJr z_!}(~8OfWwu_tH>N^U1V4=4tWUD=8{y(VlD^1mv*G>yz`(=3!Zx^9Z#3;fONV+#Ge z+r-T^Sh;P~C@fFov0({sM}5`VM9W6)VPLkdGzG$+ZB_s!%LP!{J`8?l+Hd#s z%vdMK1i-Tg`w82TpqM-uN$W`aRtSp-0=K*O|GoinMr5Q`c-^niO4p|*STD+DPIOV; zGKX|yJivd5Nb+tJne07&@T)#ozXo(9#WfY*Ep?4QqOtY0BQqhzNN1|PgM36ANA!d4 zBr<4b#!8mMT?>BqPIm|1_~lvTKp|%uw}Tw2S)r$XOa8b_O?)vI>aEgrSbNOw~0WBmtpV()Op%c3;&T% z05djErwZKR)GR5-p0IP`x)d6PyxH;^sp6{p{r_f)`sK?07Y{Oje_4L!pPz?_(q?cZ0?vkv*@%zuS9NUCmfJ9Uopnc@6q|k^_iJ^$LzPmGh+m{+3o>OX*KSa4L>x}gYg{%tNo$Ey_s4}8b^Up z-@j$xNs$YOmiNx5V~4E&`+eqTiUY446&eny`3^SVHbzB z7JuO4Rx*~iO3M`saPMxc>>IZS?P`yeE{>i5n-~3k342DMj-Qm`)jlbGQVNLNE~uH&I+Dw048t^Z)g`f87(4w4BvY_SHlUpHdvK zj4h?CPK(;W{UwEk^~LifR-xq_Hh5jxsWo|ZIfJr`p8h_;d82NmPN-l-?E*Pak1<#M zuWAEJUjMq>e$`Vtp}GS%zEZ#}&X@mEGwk{Pl%m@d>{$7bk8UK1S!f`xL2Dv@)1rf} z)f72`pzRXG>Ee~H7jbCETPr)R#%_|FFZw(t3uX)-ugqk}iY*>k%?|(v;lw5rH%)Qk!Gu_bcBD|UxyqSO zlsjDR3_Qk^RR?}ja<4TAI$#fm6q z+Q%}`11EyK;GN{=kSwk57kLX-XJD~sqxzCq0MGNOYth`f4G& zC4zL(<>>X&&7*X}?@&2w3&+pbj&dGT;?sUBmS6!-7E=x^F*(Es?@!d?o_?Qkr=}@J zgtlC~36b(XDp=C%Z}qWb(64jz3SF+Z5e?`H=}b93nWzpD0gyQq&V%=&0?oj$bN!K?ZwTp=52| z&b*Nrp34(vus$^uo#3JMTV>LS77icdY>)75^=xP1!rZ8cw%eNxxtW-(7)M|a{T&&G zbBgOn&VQ6S`ET|-StD23Zn&8V8XzHNS7>pk+cIHYI;jt1HZ2hB)3=raC~XOkN1*Ga zZbE})Dmv(4A0me*IK`hFONcBRh3~GpP~sfR!`4==ziX!iR~OHJ@!)qq+bj30=gMsL zT5V>ASK^@Mw|(X$GpHb$vuxrxwFpMC$IReN28QQDlhcv5kDOYnwyP@e)ZC#b!WHv{R-{+nV&lN{cPU9E>T&2dlsnzo5y$n5rYsP zRxCqfCC*;+;5sRe3O1lbhZ>d#6G9z4wXRXo@uQRF{O>v{?QaTB4ek71bmXPDyN+!2 z(0fe;sS#1ZB_Z!;S%4$j9XJ@;hl~MR`cGNYE5Z}%q={dD5sPx zMj3p4M3cezUO#;{fBI_OGT~j*fQ*ZqNpL=DA`&?v^LY|pt zbL#?d8QS5=C5qJ{SUvICubUkXMDNA3t)jV{P2A-P_<-JF`xQ5^4Ik|YZdF4htT&F2 z9^-a$d>wY231N@lbz>SrQ6ADyN+H0?ga__Jil`HbP@NPT#!Hhidd|9Xlk?kf+^8tCo{1k#tg3bbbaWnweuZbZHQr+nZ@hOvcXd(k90!VAFvL~b8y_Z7Mg)IBe%zh zJgz`7LV`0j4APXtIPq`ymBDWggy5dGa1ivsv4Ub+P>k@nXMQE{shhPG2viBuPwFh2{1_l4zqnWCJO38&rM_W?rscupNO7S-2JkJ}NK*0kZqG znp3kB;gZH<@U{-#rPfE0e0Bew)>QLI{V}Jp^=Kul%zyfsX~edg`E<>VLgc{#pOk)J z)<fvykgTic5|pe;>Z~=idN|jCty+)kctSkMt_=D5@PVHx z$={c>CmEZ}?`)B|aUA_PyP1FF=A?p#1dmHPQBMm;hvgJ`tT>!3P@!jrl?k^B95&n1 z{h1ECDy#W^R7hr{o5h8}tiyprFymt9+81*kxoOa_K`wr+HL!96Al);jd4*fJ*8_ib zT=rx*43lMqf`SST~*cg8AE@sjsH8c$DgioOagY51rvTnVLF@ zbqYteb`POqh4S3m3S{1f)&mQno#W}%N&PHO^hH>G1v*WT^8DSj!{ZV1pqrilByl(@ zaO!CMtr;FT%X_7JZqD1-Th%FvlFvR9K(+@t^@J9bAXiMfQRKGE>)r~8dO@PdSl2Lr zdomzB!^A^2ktA!`$>6pj&Ms+EtjwBNL3wutbD>2^OSe3|b{{-n6{X~OC9;0j#Im9(!OfG>_0mlb{3lk1x8 zCF4FqR}0}<0X8!4(!8`BmoW+&9>vnOPFyP!_H!25$Hoc4DK{@Y#zwJ8c3z1GFO(M{ z<3{w_(5}h1Iyltbud=@;TaqItv5}^#r1W=#=k)A#_1I-(FZin(wDx@E1W0S@tCW;v zS95XEf^8U8WS6iBqD$sF+8#!4KqrAtYsmOZ?7C7bXV#Av2hBP1erU*orS%N87-C2{qD6@I?DXJ^ zfNKK{KQ4J5<@*)rcPXGA@va2x!PC!U0bLI{JJrypl);d=@avq!_#;OG3ivwdxLe7f z#i&CxmN8CTS)O$;;YJ|U3r0HxLmnI5WX6RoyZvZ;<)zSL^SEH@Z4&ThopEpgS+P)l zMomwj`SQl+=YOX2{BzP?g~m_mvrGBex16`LgY9R7)ibL!6<*whtPRwcvq>9OGfbOf zE*kLpIS158)daV;(cV@(%JD@aIEs%;IEB4UnWHEbt=6B(M3`ij^5>Sw-Z?kZKqY$ zr49Vgu!HQKG-!!><+?mi&X$fBs(f4PGm$*`Xku3qYA`373Oo8qX_6fP5*>VTM;19` zIqNq}!u=K-Cb2Z!wIVNj?a-So`o}84#At^rx^~7C8QYl6NUPWF(O7y(v#%@b^cnR7 z!=5p$@eF!5F6(~4rU?A@VMa^iVwZQ1UY>3W+aQh5WeUF@~F zc}eTqwAv$lE+Jrj4Ac)w9dHv7&3*9=7j;?MN>Z2CH;g;PN~eBtg#4fXkdHy@pSCg{ zqq>b->17BMv1x}toK`Wld($7>4CaKHxUTtHU9Guwds@TnvFf1Blws7hbz7%AF^)OU)9AYFo zmZ4xr)gK5jDb>7jOCWIvyjU9SO%+`vlBX*FzCJV$@@6el15#7 z6`^tZK{%$oLYzPLV>)+hQ+_R0XFyJv=_~5lU%c^W zSCHxK{Uvm4gTZ^-yw;|EK<34Xt@%{!owhkvAL>vsS?(J{bIgQ`^YD;$0X{nz zL#HUXkI;wb8^1}$MaHHLIRM=`rnR6WA6r)hr!9QQVB4F~jqW4kCXN{v#fKfQPyn9C z2AnACn=6bp^~27>B{$f9Xt5b0!Za>L#0!!+cx=zltXwq?8#l-hrq6{vYuI1a57yE- zr(^8$Qbu3ypx`;R&-xq;%6AHia?5rWyK6Xi=R%pIH znaR;7G`k#Szgid|%e>}%OO_CPQ^s`e$HdY!M0j@t2;c`??xd8lfNxH}HXO(t-y1~7 zXT?W;ye-#N+v!V^mqS8*fst96x#nFBrI6-SGR3VW!;y%4^L3Y?EA1&bY#f@pb+KKo zO1*I-dh$VFM8FTWSBQax;pkp#UA z{#HJ+F4fxsMTkZg?<`%xPO*C`ANEg{rXaH(@7G%QltZvKif~Q;{Mnn&&rUh7q;%ME zKZcOc*Ly9HI!uww12=e4{V#(zQg)1QAKjTebH!7%f5^xflCc4@ahTfusRL)YI2;vmebEBosLR$4Yz!7flb`UgNZcj5Q?ZTs<#Gf&_E<(Pl*9-ZE z14kW&x8|U#aBXj~9*fxG`6Lz;SsU4-cm3!GE|D5zQGT}#K44K$f6inO!Ue>G{0+1k zILC>$9Uvz}L5pAF)_AAF8Et3VEhux}h?U+4_UW~PE>dwZAZ0d)FuNl;wGQ;Pe&)Qn z9$IVjc=x*MS`U7vGFghPUF$u+!$-|i;JH0v zZ>c$!5oqdyp%ok%$J0_w#n<80-02RdBLIys$!%u2FTSWZIa--j>^!1REt`puIkjo4 zLup21o2>Z!y_A=S z!{kmv!W6%K=p=Myp0vzVR$(;a68`*%5E}BN=G(mk+gkUI%{lryMEkD@V@pT+py*35 z@rIcFV*a?0u0Zib&|JqGw5v_Uw}WrahE8Pqths@J3C>H$jXf3aj6SIv^umU5xnBU+ zCZ}8^GShW5u5AeI)D)J5LS1ejBA5A1FH5YD8M4V1K8ue|IVGL%K8;W$Y!|P3FziD1>Z%*b`vUB@?b|-0MRK3 zZqT>$lf|VTO%82{n2e-eFiejs>Fn6I5#6gwX!`T#uzb&arHa4NdLySy@wTNLvzVxZ zFmrCTvn8prGoYuOf~kuRVdSGpo5@$M6Cj&#hjdz=zo!Cz`IlV=XS(2KgO%~(c%h?v zv0oe{;pQkFtJ8LpLe~y`yh3EOKlB#XhST0qYyF3scvg+oy40gA*OlY7z@|#HNgA!1 z9J)54&b&qhPr!>O`UsS42vO*vA}qmLmur4`QDWAczV;N4@vU+P=zko;YTLH(sj2%U z+Iun#MWD{N5R8r9@A&a%u1!aWlun!dsPx0XjKqJ`m!q#Cp`fw=QV^=2pO4l1ng$Qx zfPLQ^`wo%mWi0dVY0SHH^h*w!2jrj=`ciy<&!B0IFkD#@^UPNESCsM;JN$s%NQ_U3 z)S&>IF6!@o5zRH8tR*L&PR?i1pD;gy%og*ZK>Ma9g-$NIG6p;@dzi$YmncrVv5N$U z*xg*5AT6Sp_Nr=p2v$slyT8zIvWW$YBU|Jl*-Vafan>n#ep|d- z-a`-p;T0SGv5VVdJb2uQbxaX4s-r`qqBR=F&--I~de+C9pS3FP@2`y5v~4=pZ|C{8 zE-wpiUBg<44KQ1Mj-RCEukZVqNs%3$8sE~8c!gZ_Z?KmeZMvqE`+YaVUQ{@Q=pXd{ zi$jQ~DUZ&I3FEK~qE^0zu%gmMLysdWmYdM0=}%)cScZcyco9=%|00$R4k zC{Q4vBiQ%;rJWV)qUnqy{PW<->}z&+0+_XeiCxzb(wBgwnfE-fOCC9W<(4%KBE)JV z-p2&EBPLLCc=XEluFv^?Qsr%hjlf;x!SiYXMQ7}uN{=dvW^(-+%mj(9XR?!KhHi{2 zsPd>sHdmKcsDVohv0kC!YKNALm!Pa3>-8Hx)Vb7Iu;cr(Vj-<^i3Lc!TqRh&~`w@Cnf8OiSE8SaU!}Jyxecf zyD}Wn6oTC)dLWuqx#c>h>(Hopdx;>%LjyU{oVimMuhVJ@RW*sU_N(8`qqzlafF3f?}mi^q*i^v`lnk_?a6*igrR@a}P2CQVU7Os3ZJHAad3+g_t_O=?-;c3&@X&Y8x+VVHO-=y9#pVa#&=oWs}lCUR zlurvrrbjGZl>@FmQN($Cy5uf4o8AiuxotW6Sx~xAY5%>yA;H&vghHw2rNw&;$D7tE zqJB+La}a}r3NtLjgst6v8r92BacZ*$DrT5l$)pwanjby~ zVMdh{Yvw=tgT1Y!kI@OkCZ9i)$wW1YcZ+8INNFgGL+3Da3EPBn1*A*?-r9#c=)oLl zSj>Jg-hh5kfjsO<>2u!)Jj!OQgkcT0k6!BG_C6<;^9aI{=CFJMW;z%-gb5F@U<^XZ zX5-|KW-{RRBQ57+RQd9Fw*Z_VmQlRi3!zx9I;0Q|6+Rxhdn$X;zji10VrmLzuI=F! ziw0R%BYE;`8#@@NA+=pWvgzgQq}@|CZtk8d;LJK%LO5+Atjeyh->clQV*Jy8`eJ3} zD{u3z*L&{$X9=ARY*<=AI*wu#N1u&EjdwERV}RBjj}Er1Zf3)*?3C!U;nRLg@QJK* zpOngm5-MwtE4PVT9RruNyYl(7X$fqil~1;@&R#-(>%vi=(*TOX1j|t-{3)c5xA;ej8h)EXEI;vME6q+1~1i zw>Q2{1r<#5R2n-v=!2KCCbLAqCwPn|^Foo+CK_@ylHz2krOjM5@#iPam$9B&DjI`#svva)&dYm$ zKJ&L_b*Cj(wl{F7y`mX}vR)myAXABQz+Uq*7CbynaiGtpYvov+qCUCvx?mNVa& z^;y?YhqxDfF(nFw#V4gE8)S-K-<>N-!|TvVR1AX#CMknf7!NWG>J_Rmd)c24`~Pk2 zex@n@uB5|3#_g9`QqAMGBV}cwv%$RU*eJzH8&1G%w%7g(Wn7PbMD}IZixM9!cD<6( zS@Xn5`tYRbM{U@kZ2!Hpzg~V(l`Xk z9Do2vpZ15mgj|OMP=Lz&P~vqTvH>-87M0~;|5m=XkQ^-C8~Q=~ zBq_t#U%?v|s*iI*~G!{BalM8OhFtGPVIXfhq=5;SE7 zTyUwgn>YEEFl45ywYYmMzHuAh?4$O`;=1ZaHjn<iVO%Z)?rs7A)_uRr;&^QUiBJ z*E_Ye9kqR%5|5Mg7A8!+_YIM@4y%TS64zo+S|!hPg#sAu7)b>3f}Pp5UP>XZ5TPR- zn`##N1T}*O#YDGU zj&C%I)IQhO;X2?jN{HZZdhie13Z=2ri{_f0RiY}6h2~+;cW=8(QjEtG!RD6|91d2w zavdYD*NGx{ZBiGBG;-;KXMC3Z*Ym@JM>j9_ZF_Jx2y<^mw+SC%XJM0H3RP1KWTEDr z#|0Z3fX<)v1VwDuaIAMSb|TUwOfR#+StJw*XD<9Edx%ql>R z=Y!0Rr~;ZiXDNyc+`7}aaCBn(GPT&NPd1QZZ78|$fZX!>e`9I+*E0U~TZQo(SIKXW zrE_35%K-wx>urD&Q=I{vfk;$v{5tbY2$F8rPgkHHGbSu<$QQ z7vJKfPaBWo$UsNfL@OLxdY^bBSO^dFx)pqTl#F7HX4?(3G}`B*|Frg~*zfS-hJvX; z7yX2uP>LDR=^tR3_OIQ;p1t>Pq$JAtExd$`adp2in`zY^t^?Mxj85hj<`kn^s(LqK0;%@wfS$QZ%vNjk!n4TY8$z|`Yays(W*_a5 zeh6D6(LOA5VK~vj1=L+@<3vo!#>8)Ulgum?SqHmw{Psfefa0(?3 z_WZ4mj)ozhldaF;d1m%q{wwS0ze(i((#01FHa#8uVA|81hwvv={+Z7e8=P>(V07)+ zzPV|0t=huPtVKm#5?zeupb=4=s1MP$Q49HAJHF*>s8lphwwsDbU95SPz=sb;PwG)( z+!+KwlU{<%CVkx#oMmz9%@I?cL3u8d26pFU2t|V*!K>|mF=6(03tZZ;$x^w~(J=)h z5mhb9hiO6GI+2j%uBC`i&_Qp;$N_BzF-Q!j79wOv-4GYs?xLY7h6=F2l@J^ltw3LL zguY-Owa}DK;#6ADcdJs!(v1m{!gL9DbxnS~*%%deal$&M@P`F!*~7}mSZU#4(2*S= zmAd363Mi491~iuhCoSJ_GjkQ4`YiGMU*x;Tq0KU1WHdbP2aIAjm=mQaFiV7j8_|zs zrJH@!60e~c@z;sM=jJK4t4oXnA>So2{MEU3odQK9JI@VhAlw%Y33o~3yXDABjh z3;1v$XI;T97n-8>eaPe3@=AW5L4JNp8vz1Nv?r|AY=ct!zxVU5Bwh5pBEgv}Tn^ba zzrLAm#xd#3lIvQ%T#rJl)V0LwS)`w|zyDk%PW05#cWS^s*~cQE9lZYj;>jnI97RMBbS z$2u#_RLiBT7Pg?aR2G(E%~r$gf%QRGZ-)9Z=y<)pB{z>|(>Sg-u>f-SUm4D9kqoNk zdOyi(!Avd09q#_x7CixU-W5v8m5Nj3QO|0mf_`?8fe~kz@AG3=yGfbZ@s{Tgr@h7FvRd((U+EFXzQ^-Jqc#d6vE&?NK(m^y; zZaA5K_>+(pEO-TSYYFNk*ju|)HAF?QjpIKw7BU<0!1Y>qSK(7Naezw4cn3u*bK68^ z(_C4qa9E1sMvFhsy0Ys2dG`)~pM$2SRu56`xgeGChzklgf;Q`HjRvrwi%9Haf{+bJjmhhFS&Ynn&fRZGU}3|I(AckpPC37T4TT zecqodHFF-0nZD(cJ8sc$;XbJku8e&wn43RNr82+ooPZlI6OKO(lg^ZncNKb@Cca`yqAyCaD(FAVaF6SSrpw3o zWt6;{(~5RVfseTl3!xjM(hd=~Juh@PIfNY-Sx0Z60JJyrz8#VcP=SZO8CjWe6#>3~ zO)cwKA)nq%rUT0EjP2COpY5n4qG~=V!E3@!1M}18kWIpA>z&Y9&W^vJb(v5Iw-j_e z$tcCp-=)`ir5F$udT-oNwZ7-a;I){K_Kx1I;;+Y%J^ZaXO%`wz!h?f)WY@9U-7mAsV zzRt%?BkP2LDVi>OufMLV6i_^2$MrIz$0!#!{YyfysEtC8x%%RKStaOrr9e#0)$DCh zDW9mR(ZQ_Du@@Cl4TYM4YtM^LHofRF83(aXgtT zvaEDQ02N}yvw;{IszMsib49*u!ZVGuT{ofwG6>6fwBXIt$gg;lqUUKQRw{e?c#xC% zo3GY(sAPpdGO(X$6%!F%Eb4XWH_@4+*G9+=kWp8!naCV9Lu1B5>oD{`Ts* zu!)*v3=JA;v*Gg0_Ht<_!y>xzoH3#xv6V59#K6bjjJ$#`j+?M!G)`TG9Rm3d&JEnp zGIJQ~NSC>&2n!n==C|$+E4=1WFLDCCqeGqD#-H|sP5cWM2uLZgP{PmO)JZ`Oz%ax) zAqcuEW_fKbuiYu(s&0DzZl+KEE#|vJkrR5MVSVQ{{vQtMf9@;4k(~O>zT3=f?%r=Y zJrx_W{MkGGO|{qIX$>WXaA(DC-kg3UOh-qgfv{E>qO^=UNr*sChhFveJD#qwM{G`5 zrG%!^*!HnJS>SO5m%g1&TCG@KZ#L4rB~)DruX8&x{&<|E@YQv0 zP8bJ)Evi&`qS#mGjM?t2_jiA+?qERYyqsin4uKjMQ6n!ViocmGY^quRFp)g=EPgT* zZ0yQG56c}Ns4uUVL(-ijvMZIspam`leP|PY!Fa%dX#ZlXkMXR#Z{-ajJUqEZ$=*T9 y;oeWG`~UULp5%`Tb)(HQCG4%aUv-H8|GGB+Q@H<;!2d|#e response type validation! -## Challenges and Roadblocks +## Challenges & Roadblocks For the most part, there were really no challenges, say for some hiccups here and there. Probably the most painful parts were creating unit tests for the frontend, and scraping Facebook for a total of 1,384 posts for my client, who wanted the posts imported over. diff --git a/src/src/content/projects/web.mdx b/src/src/content/projects/web.mdx index 74c5ba3..ea1250b 100644 --- a/src/src/content/projects/web.mdx +++ b/src/src/content/projects/web.mdx @@ -7,3 +7,30 @@ techStack: ["Astro", "Typescript", "MDX"] date: "2024-10-03" image: "/projects/web/thumbnail.jpeg" --- + +## Overview +A portfolio website and resume for yours truly. + +## Development Highlights +Building the second version of my website was a dream. This was my first time using Astro, +and wow, just wow! For starters, The entire site is ~1,500 LOC (excluding MDX). That is +small for the amount of things I was able to accomplish. That aside, Astro's simplicity is +unmatched. Coming from React-based frameworks, the ability to just import react components +and have them work out of the box was unexpected. And the astro layout files! They are so +easy to look at, it just turns on some kind of code ocd within my head. I can't stop admiring +it. All this to say, Astro was the perfect choice for my website. + +## Challenges & Roadblocks +Although the development process was extremely simple and fun, there really were no challenges, +which allowed me to express my creativity to my fullest. Building out Conway's game of life as +a canvas background simulation wasn't the first idea I had, and that whole endeavour started as a +growing vines simulation similar to that of the old Poptropica flash game loading screens, all the way +to a full fishtank simulation like Asciiquarium. But, they just never felt final to me, and this simulation +was simple to implement and most importantly very lightweight compared to the other simulations I was +working on. + +## Summary +The result is deeply satisfying - a personal website that authentically reflects my style. +It captures my minimalist desktop aesthetic, down to the font choices and clean layout. +After many hours of careful work, I am very proud of what I have created for myself and hope +the reader agrees :)