From c64f392c4fb4a4cc690ede9002509d4a33d2f881 Mon Sep 17 00:00:00 2001 From: Kevin Loritsch Date: Wed, 3 Sep 2025 14:48:46 -0700 Subject: [PATCH 1/4] setup experience layout --- public/experiences/acmLogo.png | Bin 0 -> 11047 bytes src/app/components/Experience.tsx | 58 +++++++++++++++++++++++++++ src/app/components/Experiences.tsx | 19 +++++++++ src/app/components/Project.tsx | 4 +- src/app/page.tsx | 2 + src/data/ExperienceData.ts | 61 +++++++++++++++++++++++++++++ 6 files changed, 142 insertions(+), 2 deletions(-) create mode 100644 public/experiences/acmLogo.png create mode 100644 src/app/components/Experience.tsx create mode 100644 src/app/components/Experiences.tsx create mode 100644 src/data/ExperienceData.ts diff --git a/public/experiences/acmLogo.png b/public/experiences/acmLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..35e478de5fceb261090d285ded2ac8ef051dd711 GIT binary patch literal 11047 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 R6qaiRs30_zsueB6{s+AUmYe_p literal 0 HcmV?d00001 diff --git a/src/app/components/Experience.tsx b/src/app/components/Experience.tsx new file mode 100644 index 0000000..eb7cff9 --- /dev/null +++ b/src/app/components/Experience.tsx @@ -0,0 +1,58 @@ +"use client"; + +import Image, { StaticImageData } from "next/image"; + +interface DescriptionEntry { + description: string; +} + +interface ExperienceEntry { + name: string; + date: string; + description: DescriptionEntry[]; +} + +interface experienceProps { + image: StaticImageData; + name: string; + entries: ExperienceEntry[]; +} + +const Experience = ({ image, name, entries }: experienceProps) => { + return ( +
+

{name}

+ +
+
+ {name} +
+
+ {entries.map(({ name, date, description }, i) => ( +
+
+
+ {name} +
{date}
+
+ {description.map(({ description }, i) => ( +
{description}
+ ))} +
+
+
+ ))} +
+
+
+ ); +}; + +export default Experience; diff --git a/src/app/components/Experiences.tsx b/src/app/components/Experiences.tsx new file mode 100644 index 0000000..ea8d381 --- /dev/null +++ b/src/app/components/Experiences.tsx @@ -0,0 +1,19 @@ +import Header from "@/app/components/Header"; +import Experience from "@/app/components/Experience"; +import experienceItems from "@/data/ExperienceData"; + +const Experiences = () => { + return ( +
+
+
+ {experienceItems.map(({ image, name, entries }, i) => ( +
+ +
+ ))} +
+
+ ); +}; +export default Experiences; diff --git a/src/app/components/Project.tsx b/src/app/components/Project.tsx index a3f8bbe..20f002a 100644 --- a/src/app/components/Project.tsx +++ b/src/app/components/Project.tsx @@ -9,7 +9,7 @@ interface projectProps { description: string; } -const Projects = ({ image, title, description }: projectProps) => { +const Project = ({ image, title, description }: projectProps) => { return (

{title}

@@ -50,4 +50,4 @@ const Projects = ({ image, title, description }: projectProps) => { ); }; -export default Projects; +export default Project; diff --git a/src/app/page.tsx b/src/app/page.tsx index 3d3e06f..cc731e4 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,6 +1,7 @@ "use client"; import Landing from "@/app/components/Landing"; import About from "@/app/components/About"; +import Experiences from "@/app/components/Experiences"; import Projects from "@/app/components/Projects"; const Home = () => { @@ -8,6 +9,7 @@ const Home = () => {
+
); diff --git a/src/data/ExperienceData.ts b/src/data/ExperienceData.ts new file mode 100644 index 0000000..f41b6c2 --- /dev/null +++ b/src/data/ExperienceData.ts @@ -0,0 +1,61 @@ +import { StaticImageData } from "next/image"; +import ACMLogo from "@/public/experiences/acmLogo.png"; + +interface DescriptionEntry { + description: string; +} + +interface ExperienceEntry { + name: string; + date: string; + description: DescriptionEntry[]; +} + +interface ExperienceItem { + image: StaticImageData; + name: string; + entries: ExperienceEntry[]; +} + +const experienceItems: ExperienceItem[] = [ + { + image: ACMLogo, + name: "ACM@UCR", + entries: [ + { + name: "Spark LEad", + date: "Oct 2023 - Present", + description: [ + { + description: + "• Directed front end development projects, coordinating with on campus organizations to transform desig", + }, + { + description: + "• Led teams of 10+ students as Scrum Master, facilitating sprint planning, code reviews, and AGILE development", + }, + { + description: + "• Delivered production-ready websites using React, Tailwind, and HTML", + }, + ], + }, + { + name: "VP External Affairs", + date: "Oct 2023 - Present", + description: [ + { + description: + "• Launched outreach initiatives including weekly tabling, coding workshops, and mentorship programs", + }, + { + description: + "• Designed peer mentorship program pairing 25+ first-year students with experienced ACM mentors", + }, + ], + }, + ], + }, +]; + +export default experienceItems; From 9e9e7a09d120f2b3a545cc5d2a8118b975f5b41f Mon Sep 17 00:00:00 2001 From: Kevin Loritsch Date: Wed, 3 Sep 2025 15:19:43 -0700 Subject: [PATCH 2/4] footer api and add experience --- public/experiences/ucrLogo.png | Bin 0 -> 56273 bytes public/experiences/ucrLogo.svg | 8 ++++ public/experiences/ucrLogo.webp | Bin 0 -> 3262 bytes src/app/components/Footer.tsx | 26 ++++++++++++- src/data/ExperienceData.ts | 63 +++++++++++++++++++++++++++++++- 5 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 public/experiences/ucrLogo.png create mode 100644 public/experiences/ucrLogo.svg create mode 100644 public/experiences/ucrLogo.webp diff --git a/public/experiences/ucrLogo.png b/public/experiences/ucrLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..33151cb1675033519d02a61d898559ec2689e5bb GIT binary patch literal 56273 zcmV)NK)1h%P)dPC+00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yPl{^D@RE<6y{b%@hc`~IR{FC03NA!9Pu>4vg&*k*se^Y1aGZp$oB!{&0k-&5g zTO7@~Opj%pK0|*;j^9HEHGzL8eKva!tx^EH>b29>3ue$ z6%jZ+W}%h5#QdO_(kw^9k0eEsW|(ao%+3MrW{$abin%zZ=TpS=Q>KD*{xGam3@Vih zqA)~%B|@zlq0tD?*YD7%I#lR{B07gC2oaJNi|BK;V~mE3M@}jwNmO0X@sQ{AKm8t% z0?QmMt$$}T(FxXCe>Fx%POepcE6y!1AAHWLBLh{8@Zp zcU)QkWGSdJfb8zMb+UL0gTwIrFSp!Gc3IiAX*X4c!^)vizA2^8OwR)c4z_Ucz!4mn zp2owoz}|^j95`?ghYw9)Vsah_4<1HqJ|)EwlG30vqVvdU$4B|a$H~heFguDg|b36BTxW4AC4{ue(wDX6wlLw`-PRFDlv++Ep=5jo+?J(}& zx*a=q9>KO3giI zWBIHft17~tnmEbQQxqpzc$aHoPNr-`|An*|O>WU;RPb6tX4IUvq!a{z@N2?A{rg#Z z>Y)QoY}>XE4{u9w*VYN#_wWwv+PN1^TAZzf(2V&OKyLVQ*17FZ`12fIY7>Bwzzx{JHq%DMAm&MKrd zGJ3RI{*lPJgnd=iLyLM8VEy`axcK}Hxa{H~oVz)~Ih)tug7G@~WDIgSZypeFD>92L zVr5`tsQ40W>d%wC3_67@;7_P6S0Po=vnWok^c2NO7oM;wZMFm|%AyKo=T*Cb769$! zIqiZBSyp&~Le1@Fnq&WDf}8G|!S#1+C97dlEQeh?_akl5Vyg_%qaT))0v|)%5xRA> z@D%0remfo0(ykoHSF(Svw^x+`nde>;sKHJtI5(B!-eOJ;MrGP zh^sH_$M`T|BB3C?qB=u{DvY%_gVg!ArI%Oi;LTJwF2wCCCf6n=(s{o$tyOx)fQ`3cA1Sd$LU;$1;EdDi8U13(L4WMKAbRsJn zr(ml{@Rb5FFp3qZmdH?mi~JswRrP!dcg7S)^vVTlkg#{-$kpLvr)(WfPQ&(92q;Z4 zJkZ7!S8T-9S6zrJFI$VN&tHx4hMpCJy==Rr={$K<1fS+1vP|(6Cm=755#8y@cOyMT zaSB8f1r2Lv`H`T?Gnb||8^*gQV%&Pieti3zcjMdl9>SeFCy-1W2KvZdsMSfauvyOl zVvSt>NKAT5#&k+1LKbAA7z*%TJQn)f7I)C^;tBcqtVrOxmc1(?F{Ue&8b}!O2}LlK z%qxV2(G^t)T~mmDtx|-A^@xT(jh>b<{_hS(6VNXqxfMABw&dEFkgS`mrHYlKFilc; ztr(TzQCzm6AJ4gL6wiPDQ}MJb)?oc`4HZRnNL`Uac7(NLtPJUjqMnvG+0s)KCtY;% z=CTAMu^_fiwQ%!YJMh(SZpXL3wGI3C0&`Qez-nYrucTeMs;0Vx1rrYllAoQ&>{-;w z)39jM;t}h=h`K_RL@uVk?$#PPp@m1EQH4;15&1)`z0%HehIjG+VH$dC;&{_Q1Gh=Y zfF>&nA9@sQf)$`*6k?%3Ee@NtP-IN7t0TYh7H>`Ik;v(hyH(+^DS@S_YtsUUj2&Yk ztmx#5_>fJqu1J@0!>TpF^PYPyzW)X1;u)81#s!0QkB-DXTf|#5JvnL8QxxB& z_~lUiQv8F7W{U6Ju@j&B`n~w-jl1yRLx*TV&;;%uf*~J12=u+qP)s*|5Bkchq~)qDv;?8F>*c}q6OfUOMLfnAsLt$3x!7EIStH{BrtpSr}Kce>x| zwr({V5@cA41Z;Wa{xjlgcuYc~Dv;-m4-4mvE_Q&V%MsOev1tt9k(VASz)WXK?PCnvEM~l{06g4~2%5m-WJMeFx{|>%> z^KKm3M~km-j9d$jPy~7$S3n4E!7eMI#sWw*UQ?BKr1UXLSfLAL?3nROl0|QJW+Arl zM4xtM;W?GZaosu=$Fm)dbtXr>w~Umy1>fn)=elCd#i_{Hau|iiyhTcQ{xF8u1^B+J z*W!&YdoEu7jExwnt5xLUL~=_~ilnr21#m-&){rtbu^cZjoxb|pZ@($-2Lz& z0^n$N_0dFYjIyVWGL8F~X1!VT^JL58xf7>K{v+RcBA+?ldkY0)#Z7Td0yHR!!YSuZ zId>FqdCg^b<0~)5#$m>8GQmOOW?MD@OHq>`P?yS*LP(Q2icYab#8xI-AfaTj24}hV za#kw}Ctflu39dm%)kGyX#3i(I*b0)2GbA}Vie4l4AP6H-EBEc0#Xo=MMttbsZ^q8; z^MpIBChK7kw%S0>8H((-EE!Adfo>;NoJMmv-z0C*y-B7>X&l1F4K@7eYp=pvU;9j4 zw5A{8R&vcuKwE($moH||(1;sC2(Lt5AhUut3OZiIsqAO*y*jHE1tl71lG$9K!v?$iu$Nn?D>+VNq@sA(B3IFoxo3Qr?TMvVzB>D)43k3tnTeSZWFqd<> zv0IAozc|#`lkZlHENHR~Q*s>}RzP7+_HxtHq%fwjdL+P)y!sh<+Z(UKW#|vO)uuSor)WkARLc&I@ujD-&zw~_kmmhu(p1x&7(1$o{lR}_PBljul3~UGF zk_KGo!fs25vsKP+i-Id8CAeXv%$es#>QQ~h!*AO=jlcP)Z{ri6xE+V5=*7_ypzf0y zaxVQQD};BNJd_AXK+46?BPPHzvptvMbciKIQO%ry&>6WDE?{NORzZ_~kEKvVLeX=i zG$y7nI_U70H$M$O{-e*r72|`tc?hRRMZiv%=ITlk2r9*MXQ`a^iXv^NsMI3NQQW>l zQH+pXjKkCTyMOr({`q4!g->;iH)I%v^T3GEByA{r$OvaLFzc8>Pptr*`D;4T08a{S~E zKOdK_7~pCh;pk{YbZ=X+M7T`Q!zj*5VH_gK5}H7yAP6zv(@gQPYwyIL{_R(=?cPb4 zq0NZ;R?!3@u*=Pp8QPY~XC*eTASf4iaV2O@;3o|8L~t&EvQ_oubO?<jKMb2<{`MrM{&+2!}z&({s7+a(#x@~K`tcMmC*eR z2zxSTv6XoCDhekB*qRJyXQ7;BilVzVQd5NP zB^=^+|M=7Rx6j^>`D6s)$U4F{Bgu@+;yK!htgL0@s|c8pN-~WF*a}c^IvPhi7d^Ou zJT(-W!xF*Fo}xIZ!Wc!!t{;arX^E?)2gMo0%1gA|oskLxJ-Hx_Atp{ww_%<1N+6(g zdSo~HgGs#Z6&K?d-}5S5zGeUmGv3ZFIinOsQR2imJSb`(ikc@M(&8$|P8CDI36x@b zhV+li=cESNkbgQ6JN(&4@4*ND=Bqfodjip_jbx72#58rxX%J|LlP6Rj(@#$SweTs- zP!t_nzO4i+xkTML;U^Q`hozdSJuKs7iX={P)I$=bLgD_FfF!W{BiK*umy6Ul+cFuHye@BPUa;OE|WIfg4nK4bD!a&0mx`PXb1E7_bhZvxKA z2}{~TJuxS^mCj$C8)p(Udd4Y=OdJMP6kMIDQ47f8%`D>una?T?ktR-gUBtym)IA^| z>nryh#{1s?34Hse$0&-iiNc-3MQwQJ%Usv)v7lsov23smt3|&U7D;Vz^HSP%uUYlWR@*f2+VF~3uZIP0drE9dxoBl4)&eI=Szn{X$~!em7|&Xsi?YRtq2ANa>x@&3QM7PBqd z9agWSLs>*|pZKI{*zDyz^yG2Gi8)Y9>awm|!7S5!!yVX*{-}jt`l*-Uy>Gu7{UOaj z3Zv$ppht@V6iF*!RGwvll$oVEmrYT8_T-l{NKtrNcpHiVr;dUXgxeI614+TwhBBP{ z@bJDie)fIW;7i}U4;UUNOQNCW$XST6MIke~NpaZnEY&@$q9?}|Ui8&C5UU^#3A|+B zE276VS*O!G@dGcs2!H(Rug8Vs4Y5*<>F(a9on100jv=Js!b+BD7`JCpoNQ6RNoZBQ z87C$j0ZM7oLc|$#2`zr+fFSw!m+!+byzh(HeTWe3b!%u-AdrcWYLi;!r1ZosdC!{Y z$r2>YbEyZCNE!i?E=(j-Q@G6c?8e%a27mDDufUsLbg{fYX|@nXiI29BlA(xNZo)2i zIrsQP52HBgBKQLeUypBDA}&cz;6#!|s8%CPwsQQ|pWlQ({fDoinNwVRXeC8Htb$0X zwzNx_YAs@?#i)hRlb$@TaH3UJ=1`Q)kwwrJ7bCZ1L7*mW8!^2Xjc^)2{bMh{um99@ zF7t@=&abva#eDRkVJFg-4yIa#KBQDclsNF;a?`*9mpLbN@X4`};nQ zFMj0!%*wT})wcGth$Crq!znn2Vd@bQ?w!JkRr?;n`tut2)Bp2Uyy~)X zX$B?1P&tMQr;(d8$gX&jC<>pIvVh2?$iq~{;ELY%LK5rWXBAQY^H1M}U-_MnVS1jl z{>n}CObbCwT09-lvBBE;Uy+O|m|Ss!p}*QXJ-( zYvT0DX;&1Q0LkV*D}qo`qm@jRdqXg7OjU?wGD)UNP;r^mUvOY_o}PT)pMMj7@aNYf zt*nCKw%G(A$&KSwTyjac6Ss8hmIQyVC_GQ564dsTL{FYboTTW>@-4!dJZ-qk8MNcO zq;A7=S5yeJOgN)+7GZn<@BNwQ;x~T!`Dk!)p^F9Ih-t%%Xnx95K^qRr;mIUBsv5L9 zSrkX64W>`0zBtW_LRl+iFmj8stsQeZh@#+|(~t$<;$98`Y4(s^iV6rl5`ZNTCqs>i~f@k9rccYG?6PpW)pz2v`QTU=gIRn>Ucj>_r$u-vhvavdOp6%P zfLj7Epx%&{5Bbgqaq0OH{`Lbuif3Fz*05_yjz*9b7B#!v{NVXt_1T*^?egS^&9HJ{ zHX_Mlt5Q7L2p2?5TDh5Lq9nd_$8Nm&r~VfA@0mojVU&Elm_Ak^?cES1!96Nt{tV|v zm>vUmPfmw80Xq|#gE6ORTi(C|nxkYf5V)D=3C-Ox+_!rIZ~p1O!g_RrB8|w{%KYexq>*NB#d`A$Umcn-nR3Yck_f42l(_&kKpY;_aSUM zP(^iYqtMd@mIgg%-ot<_3MHr^r;mHU!S%3-o}4x@G6%WOY${k}NMU-53eVLrB?}@( zWyJ<;-(SPq-u=(`9%lKsY)N~*UKRVqfFR6Wzm!G zwHURIWe#%4w4WYT-3-$Swv}mO^F}yAb9p`X(wzSB_xvM1Omlq5_9N!>t-u#D$y%uR zq{0~P>{b*~mj`XoqP`fncuQzZ`b`5Lz2yPC`xpNSN9KnRjIN-!q)6Lj&SezYXyz0# zA|H^nH1hy3(-6nHO*$vB>a&#uwI`=jjF2$P9L%}kup)Caqp&`=D9oCKtr2jUv^mO= zzz(m##N3d~@sHlJ6@xVA(_9;6Yo!8P$68Nvx|ix{2QzbDx510tnWmUt93J}QjSu4; z@A?N!l9I41*GQ5IXUJ74TpAMa(~ik^^Vn5GT5YzYSn^U+s0BT=0l(dcVnbJjlchsx8pU>JeSr)TliNU z>hw`7fPZj$^Q}&`nsS~;f|IHin@+iKU$O>`xtPZ2dss#HQ%yQW?%NCC*NC9ibkG;ijy(6kjN{{$QD$qQxiQoEmG|IuIt~TUc+!*2(JKRyh?GxX^}E<8@Vaj!JXJN z9^<2b{ti6zf>mTSx1|IjrAI~B-vdtpsm&v}H9@D{Lm-sX%F}Z4<&;!z@0J@v7EW8o& zOixMlKWhDrD(vve^w8)&1d$zOFct+?C!twL*(01rrI6{CY zDG0+wjudObnMeE}fxgNO>>liVxY?rUzGtn$zy7};#frL9D8gEARXeSE?gBVFw)&~zxHu&ig_gP$gyn^3CoL;i zoT#=S|Ex)a^X~V365qIPD`6621o-gP_aStH| zcI2f06wi5M8!!|Zu`5^N>(@Pi|N0xBLNoJZzBZShsfM{Qg!smFbMp zkhkdlZK9VK|2#<$)M(<5 zti|vD$v5%A&)tcTaK4y)l$^l*EQ^)NTipCppWuCJ6om&QSh*?91o>1M7rijlQb9Ec zan1b)@GHOdQRIzvK(&D|jI>ld4WyVRCH0!h*)i)CD~%XE>B+JY+4*^1C&D$68Ky=^ zm46~8r=m?!5N?cJsUvHw!LQO353*;Idv0k%jbzm)a1=64f+{Vb3fz&0uxSHruz&M&xMW3*UMBZE%w>(G z(l1XE5X9AoIYYoqZmh#y#nZBs#Yh826LO0`;Jv^4aqN6x1{m8&@0dqGmPVc`QAbXG zn+s}m)%1`iD^p};kQtVmUin5(zQv}5pFe|a;$^yS^a_&H=r%<+pz37c>MvlufH>|q<$wi#z^vRPI| zZl4^~89iA};ykNVr#mQTPnyz}w@SrGmaJj0F|P06{p1Y$Vf5d z#M|EU5hTOsY7`@%m+H7qKk`Kxm#zpD_i8tKaw^0l?xGl+SPIq|pFL^IWOzV;T5ApWOk93POHc`hTL;0dU6^?@phiC&TmPs^eoDn4PMZqRJ_qtqhS14;@}ZluH^vrlXRuzSItNfx$+YQY_u!p4yhU;XG$14bK?f$6%UV74#rHak1 zKBPpzh`%qD%6@k?MXwIyI=FRG8Amxc$ls0pVF$g&PvQrT>|TNsxt z2=5Bv4(wXkrMU@WrMQZ$89A?!aXhvs$Itz*Yh-Oj5x){k%@k*QpOSIHDUe72T=uuv zTx#HtKXMzs^p(4TwQHs4fz5buDa^wu+V07~2-uUeRXQE*c?lL3n4xbd94Kc5ZD=+o zE4V#M;NuWI`U#V$dKyOVa!wHlvYf4()%+i();B(rk}MI?4Pr$E;*zkfk+C~smNxfu zUnOd|c#Lol%SD#!*5C_Yy$gT*;oD`6fhql&3*!`7=cg<@3T79!4czeHVZ8W<{}gkT z)j+)_CRBwqaGOak>wz}w>ERDOIW6Kk?u7G|m__+#0iOGf%(_5#RVG;CFed8(YcxBO zvyQo+ExQt=R5DYi=P2CIUF-5(ES4azN%&uElrSbsBk`1XOK}v)`7oqlT6A;<{DYWW zb~@+zIrPQ*@Wl`P9G-L07;Vl>{8W?kI@xm4EeaVl$0y9)yfXa4Z~iOhV$!gK{W8cQ zD~5~)sTxRyD0=-jdUCpi=O0HQ+yR6$J7JoKNWpM^kY*!mR3nv#5Y7~#*Cn4TStHzfkk$@IXABpLQ8+YQy%sm$ zvLC_%- zUp?u`_goBjpUZS}*`{!Rj&|HoR=f5b_?MvWFfbfpWVnJMGL~1a zsABV`_1Lm;BQ8021OD~%cjH5!z71wzEkytWu>`myI?wlHNqQ$!BIUWTx?NfAwQ{(dDbkHFz@Rq(@Tt1P?VGe(nALj+vA$tWiTH z8IU3uN1@O-B(2B9x7_C-Bg?`DJ%pksr%=ps|CT@}ZC=v-K4U8)rJXaA?p=AVmChBK zvqODVtlL<}`qkrDw{`^U)>Y~EVXPY;!}>Kt7#|7Hpasj=KtZl>%k889ng@{AhG~@z zNQA?su_up2%Y*XiOzJW${`8}F;pW@+z>KaC_A1w+3nL4n zjg}H_kk4khi4SSV+-b&UPfoIk|K~~9j?%;iMaIArV??g&r$z@#;-T_ivmiw%KW>s- zzTlWb>L$faP60Si%91CKCPs4WlO{F z3+_pga+K- z36Ni(&ZB>zf;Ah*uyNfctQjB0hLHqYR)yHOb{$r)U4zvt`Y>3t6v8(`gK)exyf}Z- z4~xI%T(~WBGe}R5(f9I3N}=}j;NMY#1j>_!HG zrxC-G@BiaZVd60PaVyq#_;)y#Tx71v-Oc>~^-{A>jrg5Poo;le1WQvHDgVzkwqJ0O z%5Cu0VR>sh_a+T&nUpBqxeKMT-~(O{a8_=v-&=rds$MGoEHpzgr7)qXx8$qSELEI< zqXndV@`RrarI65Na!_SK;ss1fA#JwRGDvCRv=Vtf92&;xXbmg-4r6RM#Hv*zIA_Be z!VNZ%mC(TWiVC?2gBToWpg&s3zXtd{Ot6V!UONB0fnDUXERbVZ#JQ5FKr=OcapVG^ zG4Co*cw%v;lj&I=LF!b{3Gem|;mD!=c>kY#3V-$6ZxeM;VH`D~`#@{e1i}WT-|0>) z*>UNL!YT4fju)6}AFd(DEq_;&@P}F@!Y8kL7@z+919Zc-5LlUa%*LKB_}+@q^gP+@ zohpaIM`f$7U@{lvz5vtY9+|G4vCEl|iCCASD1BQlmY^$Lmo67Z0Kgc5DJ&QGO+u{= zl&+>0J&7&ON=14ySlI!YyM(hC(IRC)p+-K4vrQp(F$4-$$Oj)=Ie-nTN60c5!n)Oc zSUX~p`T6IQ4yCmjL=xte8zAGDLwlQI$)|Aw zilR6-omi%z)DE~GM}Ykl$Nj@U|00^{sA{X8b~sIdrCDO_aH9yEa|#;@bQnA&3h1xUV=QdlCjp4 z(

}(950CF5Eo|S0h{WIoL%Og)V;1eaXyB>89A?7dehDe&hd)Lw_7Dd1lvuF@w}w zn1xqFZ;o7o6@(jX+`JmA#|H^Gr0Bxxj2?s7#FoMOwHO^BMG!(=4k)!fx}1j6ZA!f5 z!|nP)UyE#ffg&#rr%iT>x2sV@bC+u{tSK!30ai`WQF8D-G){$d8yF|$cy#`iD$MX& z+;Z!E_{it(#{c*FE0K_kQptmki^BOB1}79lShAwvE*%+ZTthcJqzHx-zmkc|zSDh& zXYiK{U^dnhs2O_ljGmkx@spv502Gs4eEI07ZJm?8;ndLi~5;;J+yMrr3?QN=)Cf>kRlxdtQHylFMI zY}$x(*7RZBpur#^_5+P7>ftfgjZ*+Lp}CgOPMAU!hL!EfdK7^1TT{CH6=+#NL7HS? zO0+>Z;tMaS__XsDm+3a;7q-*+Zr5|!-OlLm3v}^G6}n#xCikz$U;g7)@bVX)hYLp< znsdRq7b)Y3WVJ} zqUwqYL@7k&)16q1uk7@?k*_rLmW$XO1@Kw`cgM^xG^K^yoo`TjZQr$)zybx-`OSxV zPo@}6!m{<1c<8>J`0EdS3%~cSmy_im3m2!MaBWCyIHt8+37LX#Y1|b{$0*oTWCWTC zH)!VA3jIwJ=hi(_`0yuggB{)?exZ}5L8gD4`Ha$kD;+DR*bHoC_*1LuOGp=n^$5J;Rb70 zMr0Y(G0@+K;V3x9#LCtEh>a>P@gV4*$aOpzj|Mnz8WemG{AbwR=UNOU1yJ)Y%%y|t zMgD_bw*9ea>`TAJM-^O`TLK&%{yY=JFcy$uE*Z(8NxNAbRte@bVXC1NrStrqyXcb zH@H1uC1yh`X~}s!kA#&#fk}i`G7{M+jmSC}9wqSb;`QVvjAQlcI>tvMoWHgYTR0nW z^(u@sLJ3lYW|8+^uGCl!e{ab+X@wW4OH@n>j&87v5TzX;R9o+Q0(uRTDxPX2BCKjKHsKkUuqZ#*tse}!Hh1G&<~WZ{z?30K=l6QmR}NhO-IHHLyV6Dw()rg$abU+j z{KJQD#M6H9r3B-os7Dd$YjQbA`Db)r!X+C1OI8#i*XQR-N@K{3sn`%VJ#q*i``6nL zj-E&HZZcu>X*FwomYqLy96iXz!1v6K6OyBb(j4`=CMKnl6el@OZE^((J3vg9UP=pi zu!e!bJ`AlK$M{H!@!=R7)~?36TQ*ZfVKuo6kpPUt0|OW#(BN472Hlpl!XA0ye#`Fx zQ?V6k!yMdzHkb|q?v9!3vWzrAkLQ)?gw*6;&B0I!oRY}oQKp%U&`xw3tLT8W3vgP~ z9hNN5bkS@plFJHeT5W+@9KZW>`gC_g;3u)LqDYPO3<;uP*rD@ijoykM`Oi`#QKm-L?5dT zV)8)`(oWGrU!#F_8&_lF`gMdAjAG5o8rF^vVeM-EdkE`>4f;Z-;3bZQ8wg@4S&ojZ zNfY?#;yQO!_Wq!w_`4$p#oZ0LX^l~q=;B-WzSsgA=o&vAQ*-orn8nN7c@N(%+I9>U zRu8#FKaVYi>M6e8cJ3%n)jT~VLgUHgP#kqkneKs<{h>ov*6OoTrz8=WSlEQx%(0C zL`&6GCs&-)l3{58FU``uk7=DQW~cj?bxL!dW>wt*Jx`+aVi!Ua-ThOq)NEQql-2Y* zOp#zz7~x%@kWj0&$Q9Gx46FpWOj(Q<9-mw=MXd+m9wwpBKIHdE;!#@(NBMlRSn3Wc zwF=gbRdD{A)mXn_6;_jbuzFR69%L0zlws5A28JquL_LfBSd@)}e@=yW;mqei7;hCl zF&Wa*CerDVC-b?TF3EimxI*`z+)mD3Uv_Veg))I*OfF)J~P0 zv4tP6p~>>?=8WApdvZK69wTIU06tZLtOs7J|4M82XMX%yxM*D;Y{GzNuw-3(LVOg$ z@j;5>??3S!>_1G?ZDpOlXO8B&HcZV*(C75}bWU6i@Beagkn@WM1rCs^mCTFROarCg z?6GcRyWA%=nH>}EL`_vFMa85b%u(lecE93GIyi9yB(bzCMTdfxj8mg?dlP1 z*su}nR}W$1DvBzMt-!i9 zQ#eu(gc?17UXvjVK|pD4QWKcoro8N=lX`A_s&>jnc3~ZR4?6t)zkdh6^RAZ>)Rmpk z>R);aH@EexMc6sn#794OC(t(_eMC)4yQiSuZ04{v5#e;RRt1^n)H&(;tjR+`$d{^g z=gw%t7@x1J#Conyxewv#)Ri+JQ1grz7yO#do%#+u&(oD6-H;3L?bVaD;(I9Ygg71{Xwz_!~GAMZa70LFU~iepH#X#Ax!9 z2OrrQ>7-KUzJgm*rA@%qf~q()@z6>MH-C@RHyG2?5zA7PVoykMIA?}Kp&3OaX|19$ zfRBCdF1+ilFT{pHdXBr0MN3lwOL~_;Mxn;Q|K+oHW5*6!7^}v4MZ&~2vAVeyfcgA@ zVgD&#&iXwUvI&x=(nCjab-?Fp8M76XIMy6yVfWZ~`Jo4~7J3bB5dm zz9t%YS$Iasb|MNr4Gsrby|E8l)^iDSKh~@YDWWif^=rpTAq-*FU>*IT;s##b90l#_ zvMq8R6w~lvhQ2W@tOzGG^0~Km6dzUhNSPVmd>I+S_MH>>m(SdZU;5E!$eJ!P%b!S=q$rF}NSSD6 z_~>WuC(X19lQEbhZSz#(Aa~X5JE8KFc&_S}aVya%NY; zd?bsVmC9|SvWP6-QL{H9O@so)*GiKT{6lAd6zc-sypSCuJkA3z5yz>oLVYq4( z>|erSU7FqD&E0En-i3P~IYLhGsQ9{4%u8{7uIta4fyX35BC6}*bZH8*8iGMByrK1z zHKzzSn3JqTZ362n7|G-c>3kb*7OU5c5oWLko7Y}|HRCm`UP+I!A#7T^8tYc|W1wmT zjEsCqayhh4(|8ou%+*z}8b-EEo$fkBFfQv*$aU3vYdE(^KQ4b3wT!v{E+Zr)wq%nk zFp}bLEP#b1iE%+ZQ(xA?>LRTu?^zSeP`J>Kg9|yCkGYLxZQ3kjs7fvBupjr(8vepf zJMlyRX%o;*Gw?XFWQ>Ac=70Ob4QO#?Akz-Fno2lCi!Y5R;$fHwgG_DC{Nk2sI9);x zN0y3zo*dbSFw8JKYA`lf#YkU+6hI$E6xI@Ua6UG!r{7m6=p)NusDA)MQQ$e4I>&-E z7Dxn^5Y{4zH>v_)Hl#G+n-F=VNI8k>B%w?BLJoqyh@Asc+&`JjdGq-${Sg| z53Pgy@$oNQk2jK{SgHaz#{2w!*}ZMj0=ReA6ux%jP69C-QYd7()I9SYnx%>`6cgT< zrvKdO$fNL_1vyzg^GERF|8x=F@k39;SbrVole;k52suv)9kAaV6`x5oqNqun`~;13 z#N3{Q$1pi-nzOG@P6aJAVQ8xbNKJ>&NUIlBSxD}N@IYpCTvr4oJj;~QoJIovTJI%z zo)701CMZM^`A;n4+emG*{&FLM&u7VTvOtsqd|sn~v*ZiuW&JT#qg81m3$e zS(+idl%sUZ*`pAR(a^sz&o@GeeLE*{`3A-myGLE;Qjzgm zNGL!%0Uf;5Q+YYl=E0ff9@vnJUH4!8Nj#qnn*wugRR?CXp|CNPy32 z?oKhNMi2hPBJcO4NxpQv8;dENxdQE3I>FtUAsI*Ln5bCRqz+&##5|g0CF`_0iizEi z;j>?V6qmpCX<{=Yt;*-~FqOZV2sniAjGpI$kI4k)$(0vcB=3wb??f}L1fRKk;nosCk%76(2 z8;-(hJL<5AG%Y{(YazqBW*@umKB{t?0$IzS`rIw}={G$EgB9y30KL`e)xVBX?(ec# zx|tA^gwj|&6n;HcJf_M)xhihBYag~gw4d(PnvPFwp3DR6JTPdEIjvmr&%(8gZjMCF z!|-8Cd5_Qbl+Se^)p$^|_^Z$?OWXc(tDH?wEZxe%9Ce)T^AB^o;JOPvAz7y;^Kq11 zXxpRQb2mJ}IWXh1E6=r{hYL&BNRCi^=~DL!nT<{o-%L?+0}Whrs8>5*w4vc#uBSO# znc=9BP{KSE#)K=Bj`1U;7?VVyN>gRI%5g4^$FWwy0}nld8)a#F&$>K$QVe1NyLK|#v^cEW zocHFc3%V4fS#T(|M?A;D5@(;(UX)w@ngB?do3GXtdH-PSFfmsS46f43u3cJCU z1!YCI^5P!bWv(P1Pnu${1pm7yC=}8M#Iy_!gP&Q zC*3XYSbNKB8lRx}L5@an-EI5v$V`HB2bdC(tH7&@tMO15Rg`kqJx`!k6Z*jw7Grfg zZoKPJ+;{&znBf)6Z){D+UMSrWe~|(ln{I_+)VC{0Si9z%Bst~IheI8f-1k|`cAs+1 zd#H7taH(+%AN+Qw%wbukV4eP4^j*FXOkE6hmw18ko*i-aseee5o-9{}r(6@TG&xL} zrAkG>Y)RnK{YWN}jp=7%l^i80O7>MDF$~_$9hORN&u7?lY`GGE%xTB)ELcKi7fR%Y zxkW5t zz_)LIST+GwAX+|9Y=y>eN`gdL@0E9l%q+!VDbR_peDh(_EDg;G7d}j!nXcXR)W7a&OP%FRdo6qPnzUVnq`;X{pB|oE3p9_i>bG zXe0(M9kk#|GMl57gjXgM&B;qg2x2|xj-7f%l6#^XBff_aon$@%izZ6S2|Aqb?euej zN70Svco&Wg|9kGIlcbn)U(O|F`mu1aQj1&*rc{hmZE#l+@6KsRPkj>)$a$anaSrYL zL>K#^?WELS%buMmaM>oUGGM3j98>=-ja+tFim(gT@QrVC^3}y;XIA_@4?MOb1T^r9 zq6_->5dq~-39x^viEn-D5!itd4WXQ=N`mFMn}=t*GM$B|M!BNm9B#^-k4HZRtg3BNR3D!CHjT6^qMHGZ6>+>szA{gO)BxhOTRB@ostMFF%)b-3hd z5|UDFxZJlA43uV3uvH$*IdS`>#UQB=hdz{4+l$>ZQ;d=RlUJLv?eR6buCO#`tuR)@ zmJf4A+OyjIpm`F|oE{#ab$WLv&}iowG$+1F4zH+74_9>Xw++{4Gv*!xQ({mQ?)Ok;Pw8Om5Qj zi??EaHb7;B77S-xX1@4n8K4ylutHbNxg13(j!jd}(yWq_`1%dEJC7GU?`e4DGdDls_p_3C?BE3c`rmJp#T(JW%`@+USX-WU+E_4InqhjiIC;!N5=(`NQJGu(LZZhYhV`>}IZ zf}OkfV()=Nn4D>%H6Lr}FjtbFdS4y={rwo`lKD+*uzozkRhMqWOP_TP)(zLx%qMG$ zn+mg~lQZ72#PkGb>oD~J+;;aKT>I5qkW~hdgrp!U9ez!wHB>h4{1|u7cy~+x7SAb& zFgUORqoV`Zw2u3U1Xwv>G00^GVg%-*FeHUtytA`WTc{uI@>x>w18B`v@wKnqi610I z!L1;LzJN!+!>zy_+Jf?fw#)P0Kksns!*j?hzB1WF%RoIGE!LZ>&KF6kC#>aItVAnh zMSbmtZTLUGcMULdv1U>lPh`uRCueO57bg9&XBU$H)4wD|!Loh-G=B5_-xLf;v82L= zE+(%)&t%Na;L4`}uYcLoNvTBTgx3%8XBLKWjo=AI`8hvV<9Ih7olNl$pS%U1`ut6J z^pRQ2%w!T7LA4=Og$N1w8wk8PqTqHyN@{v0$DYX?_uY1%G}!q2>dn}^rVlTF(Uo}f z>#o8x&+S)!pv(`AoPOpFoj?=Z&^7tw8Z%_vjE0`O`LSL2)!+FP(6^bCM4ukSdJKj0 zJTk7a@xZO?@;eG1zk<8egUuW%snr4ub34MQg$vIa#`B(i8J>Oh8a(Hcm8fz?t!qN( zdR6b8tri9QLM0%TIlM7?&Q*Ix``yP7-blha`yYh$#<=ByNgQZ7tg5L??Tm)kjVFKN zSyDy=1E;<+&%YbD?!_J3CV*8{tw2lalJ4uyV5Ha`=UMKO?Sz~rlqi4zyEZ}H>JA<7 z1YU6&Ftl2CH)$Uq$!^DF!&#K8>(OpwWxcb=OK{ldHYo9FCmb6@1RsqIqaE}MUf@^> zbZ^JbckQazQ5_-?+E4?nT8u77#hX_?BT}BG$;1S$>|zXP|BpB}cjh9@$NqAG+GgD+Wk~I`X%p;G)vV+z{gIqO}^b7lWOiC+)T}J8N zeh$XNG-PxS#&g`h<1lWzZy#R$v^B!tD$Mgj4#%O=`l3vDNt#iWf7iWx5Km0dJgG_@ z3G(G>qM60{2+nqeO?50ZZC!UOnJyCOSJXccdpFeGtZa6>5OX{Jcl+g8gs2M&z9I~3 zP1zfRzrWm!3uV3FM<*!BryBDvNlKzcn&rR!?&t9CcYhFjcM~44dJ9}_6rlU+$T|ol zUXf{Vonsx-&er7A)^rL@)U;5o|V5UvDNZ%0JiIu`Vj{Inbh(>?lf&Bna*aY#66wbF~ zPti20NTw%n*Zq6+1>c3O1Q`SnH%ZrGQS_g+@eMa`C7--1gu2Ep(dj%RW$|^nu4jvX zyF!s&JxNUY{;t=*D{)wiH+0VOiI49}q=nGz8tvpX%YX5AzlcBht8XJ1Js*{!G1>nq*nd13-uakV6UK)L*-T!J7{ziDMJq^6WGSlT#{A*OZ^fVf)+t?Liqm;dl9 zYWeVcxvZHin_POnbSYXaR)b3r|MA>7AHLS4ZzrMCNZduqxe#T?oTwF1F1gqkp@xge z+KCxjqD2v{TSXxCR{Z3z{u5?tGqi-yRLEMX`$|i0zwL^h)h$Cs!B$?NDp2xPDiz#* z`wkqKV0TchOH~s5d(0b2R{GKEKL@z^t~o;RNmGZOV}ks&EYH!CQy|ASXugZX847*Y zarfQ{{K21p5*SbI(xi3A4-~0QomS4m1V%85F8c%!_ti+0!lW@{mrV3JWX+n#sW&^j}&pm0COS9;B z!JCg|?VOUv&yrl?=d9_kzwLgCrz@>HhySuH(XiKY^*&CQ__%+W@-18Vi4C$VaSHFQ zIPFUIFCV`F`}WWcuQ4D;i^sH4A+*232tEO@QeJLG$VVL^r7=poOGBQM=Q+6|A!{II zi-6rvTJ)Lv{VpKzmRpNkPSR@V90|C#WFBE-0PQK@A3pvq>0Dq!r8s7HKd`<|=s%(; zSWi&c)G)mu+Xig)&@~9aD!V>|&lIbm?@J@56JVm}rZ7?4NO?puVO^&=&E3@Lnn-)n zNfA~vv=M*t4`09oyGZeb3g)ZPV}03^J9(bvlT0{rmS?fza&+J4TM@3i<$kdxSQn(E zSY4_YZW+qrxP3tAW=MlNOHV$yV+uLN)2*#5a?ZnLP8X~8@)dK8XHG;xF>@ za6ix@EW&y7o_1^0W@+Iy#pDO!222Uhy)K=Lg(mU3n;yokj~-NzmqB0Ikqgq`tOUxI z3=lHV8`Jl+hbXc{?!+v8evZD2!P9B7erD+R79FcihBEyO=(?)m09jUj3dA#3!q_CY zZJ=xAW>t=k#}Pl&2C@I3!G}M6qefnXqW!T}ujb2n$}@EUcd@4kSs0L&IM>DlJ0>tk zH!9>LLr&_mnnEA?3NT0y0Q&vGee<|~`(c=&L74!Y17sts1xDF&bk?3+azY!|aqh*v z+xFn@2lpZByM!WLR+$H~m+a`QIfSEIC<@S>~Bu`O9FT!|X>S1_@A7B}9t2hTir zrA96~yhc8e%GVPtncUZSrIeyZil)DA#4_Ssh=i{#poLFva&vwT&8a3bQUaCHmE;ap z)n<{XX(lcg$1ieGdSqSjXIYUEesk@&AHpxZ^CcLmXb!#gY2_&DOP1Tb7nC8_ir|>T z_T-)o4d8)oNATeO7M{MkD#e0Eu$qYBEYH*E!=l@F?8Q!c*uFK=Y065&-Bc?K%~@PP za|X%XkIZ6@Zdt8ALXvQ_ffkaP<1TY_Piva2Zf9u6okaV{V_3hILY)8m$MNbb&Lt4k zl>oL-0^+H-W#{woEC1`W_|`3ZP@@f`O)iJ?{%uZfO5ivb$9kd}lKL3#dT=*+FqhMU z4$;|`ed7mH6dsu+FTmVQ(}X^RXFq=ne(9&4iy^`w(k5BG%%Kp~#I=~5nWRSxH+*Lj zANk}Bn4FCejSz^Nb=0r(;JuRY(1R=tS6zjNb{)b!+b8k-3rA(s42tr6d2c~MxQs-= z2Xa9zdlZU6nm&tNkL|^_9eYSoY|&)GTnX_)NeYtMqF9oK9(ja7t5yr)5SJrY#g9o{ zO9=r^AGP+APr4(f=&}U9m-FeUFV!IG_I-20X=)^)v8GJmVd72csze1493iuO8g+Wp z@BZ3P;7wO@o`0Jb&ZMss9Hw_yIY@%%Y#75IyzfnT&5wQn6D?Xo`7i;6jA2oTlonjh z*?qK2=fy@+8^N|+2WWv3jA%78vq+wF#SVQ!rjt`pHJQQqsKJXa8aYnM-I)CQLoWng z_1X*Yv%mT`*tYXQREEz(5?5r=bJC!;p3cacN~BOM4u&v2a}f7!-%W~Qg(RB=o+VPb zJT#eYd6^YXQnlHtidgY;G|0^p^wYva+ejBY)2L41j8(zCWHfT|S2#!S?uVucO&*jK z&P3YSkamN)aM*AqjKf?2Hx?;=VR{hehG_m zwQRuDdSr=aq1I)TEeA+>OdOshw?K2coze7bB~+_-ED5vpNSe4SwgT?$ENopu<{T?7 zBER!@ko)7>G~qM6>?y18{$F|>8kH$h5)_q@>SuO4C{n{&w4}he%w4;?lk%8%*mG#s ze_7-c=A5Vtvn+iNcp@f)mZ;85>tBKa-231xS%az*oab55Y5n)4Z-1E?56e1rH z@G0e(2*sWQ@?Rv?{w&2Od>&BYov9Q`qU-OjAE)FTitjp>GAdr@o7!e3ILnoy9M)`V zodmOvOU)lADigTLsnqnoXFuaYG4 z+i>v|S*D35PFeN;rJP+jE@{CgneySVSIZfolJKe}<810^IsS=+-1!EOb!6%&`lPXk zofrjKwUtlou$D%O1xl*Lmlxr7`%q4j2v0Y?sL_TDv zj7m#xP}q}GYIK=JKaYD3toWIH#wu!Esu8p3NO6MIYm}y4dbM;_4(l%t-PDI;EBetG zA=8{TluD(dWH8+y@ZnzhD%)N2vWP&@{YU3g*B2GJ#a&V?XvPyV3hPxUig)qFTO=LZ z6huFzg31@pX_xyZ&Yf>Ei@$cc2@hiz0h09JrM18Fv7LnVBplx+!%Lxw&eR~Q;o--Q z2=L>CgBNA5+_Tk^c(Te9&0A3v#mztJ-ucBOVart7DvCr_Nw4yP7O{A*=^`@;mHEm? zE94l*JsWq_cOLt-6BT!y-+eBLn8{93w)xeumE%&&;PQetuuEA8tC?2`cCpe~{?e@s zHTzV1v(2jI-2F_sVzql z?gV2x8>Yx&O#u(?`M>i_8J`xkBUosaNQjU>;0bn)Z%nxI2;a-SSx^P$_zbLMg0e)M zZOOf8O?O$HTjVYQTAqIPZH7gYZ8ZptgiBM>0jvw;b?-u2;W6NbzVycJyEv~u@-@Ml z^UkHW?kpU@Gg+M9^>w2($KK(EaDc*t*2lahY0CfFwYbfKj|5o22z5*yU`jZoXjo;A zMk!8-s3~oHS-MiqNa;ZsbT#dEKEbe~DV)dPtUbH7Lgz6Gc2$kXBBcnQ*7O{(e?OE+&@O;-u=L`co;+z}DeF>b{oM(C;0)L>Ovgp)Hl~Wuw(-o~ zU8V%iZt1LZ842NywvyJ)Izc%BoDz1k>_6DVp=nYYwb}yHu^_b3lHQ&y8!2MG%kZw6 zB6iK;cG13RMIu1{!*ng<)-voCl_7FnefPLSV(fIH4Hr2BvzlY^0nOg*@JJ?z|RA zze#QQqtE6zmiOX3w-k!*V@Dw$C#pXDvR@2BqPt;1F;~^K&Bx%n?wFfd%lRIEkxA$J7W(sx&r0iggiwh1OvW~E`7Wt&fz6AqaXt0-RMkSWvux#jJm zNKu^As^XYC0fsTHecA$&3i3*V9rJqO+$K6?B%23x-{cG=DOSi!=!P0)qwZvFq0~G* zIdi1c18$L;H~Q*Ao1)~}hc05>TZ?Ds>6fX)WRAA27F^gl$s!!TE$}wK0_6A4|FlW=GHHJ8LON^&j`Akyv02MmmO(jZ}tvO!rroA;aY<+B04(FW)(ib8Es>d$e+M%)OKI zU`nEz5Kut1@qzsZC8XwxoNs@yo}5i$j`OTG9vB;};*~GG5PRn%*lHimk|6|nEDMy~ z)FdFq5DZGi>P2gZ5ZOR24X!Y?+B~W>?uCzHNue44{V6SIwshNmR>rDsqycf%!6P!V zZYqga5_M88p|D@2R{214ru7rY+>>OOpmV&g&h=eCpqj@lGlRNtu)Gy0qGk0;n{GuX zFxgqn1j1q>RepyKP0};`XQpYqL4i+nJB2;PadryVj!fh7)xf{J|E~vU&&-9kj5U6tVYTr~PfeVy!mFl1Yb>S30O|O_!G%deUx|8^p-A&=jFTOkEz%m(s%1Xg(bQ$qrA4&>|5L>4m&8Y51Tzcb7|Oqs z3Pxc?c^LU!cq2@%T^XhQV4qOlU31<2xZ{p}umhXqy;`ckJu^WT zr^B)60`UDXrCHpq+)m@6pD ze0Ek(&JyV=kSctC4hZmmtHI99C*UYyuD(6<@6~Q%W%$j9VQt~&%Lj^p<`U)HiN81`&pH1k}7?nnj zjjIOBugn)Y-ts<&Wk!itaDv7ty8ehqAq|rZ=>&>=W*P|-7jw346!c+qT6{7#L5fb; zWsNa<7{%Eq#T{qfmq;yAt@)5hhhLmb9cPrN6?wQYQ>jZ|C@AT7uM_I3qrGJiHLz>S z;&b;LL7q0%q9D__9#+vLpmLhx{?i91@Qv?0j4xdG5N47ZDg&d0nfUX}BZ+iK9-+x4 zbjn3eCYi_h$||0E={f%EoN#Mq(jm)stchi3R2LWJ8HN}~66(K9xJFnf%yQxFpizrr zeirhiU=)O0GvVm+?0V9Z6O|IHltseUW=o%8W+`zwQre{F<$VFS`tu)hoyfXAWxDew zoG?-?twXq)BJH?=aA*^5yk{Oi{I0(tcR8WR%K(|fDTVaNwW-lD(;UfEjI=d_Xmk{{ zkufyexkOB?m@|F{m8N2`C=2n^o3ps^oE6wIKH^W20n@y+D)cm#<3{PPsmy%{bWDO= z?jP%f`8j>3sQ>0Xgdml(OgQds{RbrLB<~KF_T-6V*}1VmC(qF&{uv)@XCPdxf8BYl zfZjacGFfPx<*N=#rhahAlom>6r*|HnSm-lRz+Kemg=b=(KNJlkYu9O03ne_8wVgE5 z4r=t?;Y`B(EoJ}|o_U(rDeacI(QISxjAq+%E!I_~!PO6Z{|nHNGJ5{Pj%(z)eX!*w zOc@vy7KP^}VTwSf8Jao0K0mMHAo<$!?UXDq8bGGz7Dk&y2Z;a9ia?sS@_nxG}hu15d% zOBSL@r;*L<$9do`24?g;|hH>h|zF6*IBrtFL>6S7>?3cE<&zY zsEs9}!i|S*2ww9U#!AR+!VdmR1AXL6X}0SR)Yx%qNDe6kJLP? zOKyZq4%6Fq;eY)6_hEBisNK?N?kmx3DD4X5xY7x|GaAc9a%S1)%}-iKa=17XyouSl zxxsTx_i!#&oKi4~g#0`vudtFm7o)onOh`#h4!1nfoRcE%xPL4UQ9Hm&XK+cqaq3VM z8d4e16zH_Y^-BgNXHW8HYKx9o@Ifp+k0LYLk(@2uDCNoACcV;>1R-AdT(6K3;Hio_ z^SM72v4X@Jq8CDXJ#EdBwcSQOe*l=-gP;Geufq?2|AhqFCFo--BhV|d-rkW|Kmleh zH}O1|%4TPDBV?4u!0=B}oNSSa?^D3(3R?Ho`Te_sZ>t|kv_r3GwqHL;RDh-V+V;Ny6juA^B zF1o?8>;Kawi-`aV>xtRH;%-IZG7XQo+@T0Z_oOE*1v(X=O^>2f8>$rGcOwBUwE-b7 z&RE=tNW!JkgM-762s|=saCD*7QdXe)$~i^mVlD=gqAul@;NBxrqr~p9fTnCgSUFd5 zBM5{IDr8MGbF?RS;POib@c;ev8}ODNxEv|XeMcZ^7$!mqDH+Lf-smKUWxo7+xwowF zmQ%rv$~{}MT(h$~o!R&XGIw5SK%C{6L{Aoo%V%k)8IVXuA(~57Oqfdfr2eL<)&@SA z$GNVG?Gu|@V!-5_zFm>@a0WKn%_s}YIAMsb3&tLNp_AroRK#_bCUv%Sop2k@& z4qa@tDx@Ix9Gb!Px89G5W{ZOd0#HU|;%n#cTrBjQLPPC@;Kmhwc=2;CLSMk4OF}q8 zluX#pM^DsvUD{-`1h$8C4k`0mv?s|5Am_j~XhP3Pokkw6kfbcjT1vP;QvqBJ=XprY zNi4WU-+;whQWEVXL6u9>s}+fyNE0k>pJ$}rwS;p+K2Fq?Yp~449LL)0*pX~%SS2j! z%CPB4PrS!4f`<-l$2R;h?>zkM+h2e>fte9E7|scNZ&dL+fBY?6cl~Zs z8bhShsy+nE)=a92R$?|Z@#SyafbH*m3eMy6XOkkY`yEun-$j~Xq0llVmOV@MP9r58 z63Ju2s;px|h@xQf4r%mZy`gb-D9@gpfN<@wsSTqxeg$TR>50KaD-Yu_VUB{G7yN*G zi-tq{Q5{VspN9)7f{;vkW}d2AZ`>AiI7`pWlzymg2Afuec-@uj(c$dm;{@38@+$i*LlX(Xukgnx4^|P8*ijp<4bH{dkA~SFvhA^FJUsSg`AOFaX&iYuM z!WSrMG8)X_{1t1}mXI;wK9Zs&ihc(RFbanrUeP7r~9 z$J}%qF&~JHg*ke%t-;%?uGom7z6P{2GKcwnoQ9`!#@*R#+$~u$G{5@IT}YijE_Y-1 zbeYCz0$D&?X^`iFjY=Lx*%oyxM}LWj_#1C@rUY} z7%E-aRbGw<0K4OSy8PUNR~Cn%&2iuPAC)ImL$3RtyG7sbFp!eV&`K!+NsB0EE=vAA z7LL_0CEOyL7rsn(LAZ2C070>1(~=)XEefkqiKDLTSZAo)oC)c;`4Pl~N3=K~%b9>& z%^szgqcH5o^$lG8?DLS#?1m~KUq&w4fJ@ygqA1MZIBvLkC${dImK={NV);t<2Bl4-#6{$L%PD6aMUkTx)lgxouyC4&i*72R$E?C#5F-(Afi}yokr7C5c!8;S*}}R}iF{ zYQ^k}T#e`gorIxGzk=_i%W5r}+#b{KwFsFlm#mYlB6SCfaRjP(c=umTzrWxa*3adi+3N8F}R(HutKlbdO!8dN%CEsHUw}LJ?O*3yjSSTC4@!y^=%W5aX z+#SrQ9;R}S^zVr7Z!T_GNIIcj;nB`DVAV%jBjh)7Hk~jMN2-Z!;z>8H?{a;%ijt#n z$jw<@L|iy$a#a-kkChI;nbNBr^9Y?^+=AycrO_1%p}Pl#Jl9?3|6N{%KSW27bmug5 zDD^b~$NF=Sp^v@p_)V`BwNxWk0B}Tn$=zJc~@P6bsN?Lt$7;KSkkrAfO7%n$c>2U zer2-haXR?dZ@6E)7M|yPM9Cq763sI6e9rUUdq>us2xIt}Bb=%&8JTP(m;$*BH1U$w zJ~@$SM4EOlX?Bf1t>@sIY`KehF)+oBc0$|%%UQa8Ill`^m8A8%@9|x?w z3x)_wnHR=xX`Y$oGN*$;Z5cy9O{0PD-0~2%9c(JMhU5067Lja{X-PTT$@y5WagX9E zyQuz*kA9Nk49IP4G<=g{{)ZJsz*xIBAI9VF z=-naAlS7MmqN8EFqA1Az^&F(IS-Pudvbpuqnt$%q7lLa{f~X>vpG=CU;I&#hirp*gdp9CE1cSAzNTjrN;m%iibE^ zQ&YEHCQ%aGb-k{1H~e>ZGkPwQ?6w-58G^5k_HUf@ip7%MdQRd=t=| zR8xb$NN&&Tp2v&%@|w9GF~nV^9l*P5dFig}!KDsX})eqZrhsW^`L{!m=a;=Q@+HkXcm zKZDvqAV`;FN|x~(PsY38{6+tD+!V7&^*VQyS@yWnv5vcrB)7##eTION6ows%EMEBR z4Zs}J^mBiTQ21ZNC=%tV?L_D^l>zKO(8M=y-J!?gj$!Rs==Aifa#0q1P0KbsYCKn_ z(R->*k(?Cs<#CEtt40Oe5!Zv?U!j{nJk%$O!TG#>p(t@0h>}4&D_OW7&u>S$+1k*f z=1%st;~h-f>Tv>+Z(*0q)|E?Frc#sS$F|&fVR_?QQjYz~Jmwk8g15#e(dFuUFIM#O zoxpD+dGAMNGwiqPSF)fd?%bZQpef46Z1%dY0OqIx<>6e&$ z;aK84@D_$0)0tIp(rWqF{rH+=FF4cX8W>|9AIr#9;gr@y>CAUujFAmDuwGG+lCy#B znD$*c4&@BUT9})j69oetE5hSVF2DPq8Y!$KO_WNda)hU8s4Q9}&%AgYF27)CElXqHdR_*w-OfnYtf%+w+pCI- z-(w4Izw(>KJ}JNF$f0Sprl)AaXr4{S`Y6T(==i_5wV9oG=Xcp;aAUDK#bF~<Ykx*05{+DAg0=C5W8a0NL6LldB)GjTkd>BD92Rc( z*9{S!1A@cboE5F z$)>1Qz^h(*HL77-n)`4tkD0ca6H*GDa&A(TOKU__8u;do+cC#LXUIgooe@@|r+k_2 zm%916VlxnvS5gXT{b!;J){HcS#88Ne6F<w~!Eo&)&ocOH<>aY0m)&e4LMq4_%tu6bztaNQ#lGx*5oZUU+!8l4JLX~*QU8r_E) zqKxnW!xfmkU~>!)*3k$8?d_C@f^`%bb*kzV3}wrue~49ojDStbq)I<)vZ&ct&zM`% zG=x&0d1$_R<6XGs&Rt@1#!MHNa4K&sjeZT&^E<7Zy#K%~KJwYy5cChx`Bx-O+f}tc zEwi_0oXr@rf?^DVFt3q5!ft$2Bv-Ie-Px8ZAy3=ixff=U66pTjy8xUAWIe&JVTP+J zlt&9bNlI}HR{ob=FocUQpbMNiLgzu>9Wg=lya4q!p)qG?!^|QWSc&Uzox>fEP3f6L znvuyRWfiCG4BOm6Zy9C^a8pR_-P)r2PHuBrrL|AWpVTsJ2hmhZ1>x($Af{#ehNuwl(8LfVnC#0m!CT#Imt8QOvTLKQ+% zCwVAYFoIus{}=HuH|#=_lt~o!lS@yFD;$u|)}jD+A4>2O|MN@O`Y7#ewSG_A=BeUn zAxZkNWggSEFhir2Vg0Ic`mA>0QXI0#AN1$%6$K+C8^>v3wqjB={o2bSpVFc#HoKW^ zJy)gg%pl@?6MpWO{u!UReH(H*H&bCHK=UA^#bo->A|-mm!!vl#uUw0Vw#}h2Ov=$r z(znvNacw|Wm%bWCB0#KQ`1u%HHmpT8>hL0!y+J(ob?jMX@Pw9y@ivSr)T8Oz8@(w_ zU$Lf9#S5N$F-1QnkhOB*SCEhUGtFql3}{7&EOJuD@{)zJ2{x?4u30HntJ-`JCu9 zYlq;P4QW)&jM$C|Y;y&};<*F3EvO9LL{^=aigN|25a$GKd1GK{JVMTwn8TMT`tja3Jsn|?$$3c=EYIQ{ zV3~R!rC4PF<6l`}wC6B3I)>F09#xS>j2fC-wX%*CLjkt!YtoDuD&J6GQpU3rEjzJ_ z0TdX1fY3)Ooln#OE?7T~3(whr>ux%Nz6~oeA2&6N)fB$Gk+7Y1Sfiy=A0Ygqflq$n z5q$FB?$w=%OnQQlX>4m`zW1R%Tp`yck!n**ib9H<7@@BuWWpytHJNtI_B>XMHt@7d z*2%euZu7IYP!VO~lYimL3pV2^7p}vdkI6|tPIKc@7F3TeTKr4ioKzVZZ*@HH%Jayw8N@@6kXty^@Rk8t zYNXVd!8^@WIUBksci%UU+sR^j*7*&3M@CAz7}LCDlaUeGGB!OQu=&OujlPaT>aF3QWRs7I3y_-ob1J*qbVS_!kkvae*JJCUih5N zv}pH82+^fXJlhW``!otpifWWlEk_RMJp^pp6@v)ZtwykUErRpb!){p%GdhHf>Fgo~ zxjFnxE>ud^1YsZ2!OM^(5wv`-&I*zvGkEq@=i<3f*#zxXY8OThijqteGpzf5bV9P7 zM?p?!9_J=@A7B5;NYSsZhj{MQn@AxNUc(?|u8BqB*0E*bv{#6Y>NvPB#n-<55XuNZ z>FwAqw`sY_!eE6DaEJ~VU+FN=*LlSXgHPrJQQy42!qqeSW@tkYN!&4AA*$sjM!j3# zRIQvG$~IkSUEs~Hy%KBAjgZbBppBMH)`S*)NtR~_Lg+?o>ERNI`jbSs7GLWL-2UFhX6L`}PUW!JjZin+bra$@e zr=&}`&RTmNo$t^XVH4RbZHg=CnU(C!(7C1>k?=etc{`H+oqU~+K&&*FA~0)~6vI5N zD^eg_2f?^ZkO~-?Clz^E&O#+6!N)^Hij#oFjKh(1O>cb7v(e8`2$R?p-bRrHSk!8m zaIrDtyDKVS{9@R=fqd2mDT`EFjphD8 zzG{8>=~Qo`7PeD&jie+MNy)tvfcK)6HT?KnpGjufZn)Nr>`oy?JY41r!FW{3waCRm zcA9&^Xn(sxc)<{&c0Vd9?Z!gpO1`qSWvG*TT_%{91r-W_MxSfaB0abp&wKVcc;m~j z7PDFK%i>duaw>`}ZH6wGfaTdwS%V+@k*neMZKdy}T{DT~S~3D04Y?akPsbHeVMZ2C z)*vf^OiDUOWCUV5vV`(JX(`E-gfawDcoVrF?}hi{=-*FV#4VGrNpRj+9nZRY zEt07{u>MS#oy-c%Pk0OcOk-LcjR?)Sim!bAVL1lZ6&i=MBoiH5d63_sy zpkF`m>pz6o{orM2AGm=4y~k*sQAC463jrwsX`mFc={iRdhG|+*b7Y#6c^+_Xih`6W zCjpTu9PooftfU+Q>AubVwaD#jP9Z(`04_cU_@_U5J1!mX6BHrhNKDaHzStSNGV1i9 z9VuiHP&ju5Sq*>xdq0Yo{J<)-58h1IFe7y!j@-*oE|px3ut{zPJs(cfFig-+dYC>x zLFdlt&)l$=0oN4T%ai8@xlyJql(R18*!wi$5_G;>fPekqPv9A=`p8gGW-F;13ag|b zomOmm_N#^GTwKdBCYp0cxgbl~;Z2~K6;@hq1J8NpIKnFDd&GK7R(cZlZ)?&O-M2U+ zD=`|t7r*i#TB(yx=xl-{=DV?R&IIM6XLMUjPys? zxM95@*M&*0CP}fAEki&@E~`L%GkG{)KTwds37A7O#>EaB`a}HP@4p@Y{eQfIa03E2 z5A8+kNRt+FLxUh>9i(iIlPR8A#W*Z2%pj$mm_wml8xqj#6++j^jHqy77QL3yqRS2* zK|Vc!*S+*9_{=}O7tbdElQRm#M0aynrgduFhjYhCOrr0rZ~|1z5wIEJV}JH`{LH&w zKsXeEczgEA{pEx%&QQ!L9GDUQkg;_TFco53I&nDxJ&gjZ-0eqLy!g39?DAxerp_U< zP@0o?!y7NfH6MBpuHHhCj<_XcyBQ~-g_^a>HEFg$)m?G6-I<$t`EQ{Jac_>0H8ST21{RVKRBf<>RCzQ@VFyMU*(Aer$bU z7WX``TNCQ&hGvh4qdvj3>U{9nk(|@LnmRp=io||{w4Gqnru7)^XB8Vub}x@*s9A1S zcA!C;yiYlQ6YjX2L9nAx8TcP--g}0@1~847Ia^oCLP1Yk#~bNJ+>_RQs-Hx2`#90`v@?55JM|R z@SK-kjJLl2+4#@TUyHg_JWfi{mUBfJ@bS_EyTE3{bs-hmxdZ+#TChWv3O?|jSK~D= zc>(_UV>jWeU%ed@dq~OA4vI#<)O?ib>cT&16pt{<%q|R4jMNesn}b}K`6F00K8ELg z-^KWmH(iC7UA;8EMaC&5^qe>MDl{Ridzd+&l4223K9G@ObBDLddlCT> z`3?S>3r-1I)RJX6H>8Tgc@SEZyH`T|9sD(-kOSErncDwcisn4^oFP1N`&|@nCbx=Q zKB+_vW3gD;30V_iOWeT8-CHS4JbyY@ zlnZF$B-3zY@+O(s;Hm;@mJs}^gTh1!o8+0 z(JG~-VfQ1KCd?68OY!^_IB(NR%+euhoT~2CEj$T~6dPp8W_ygymojxCN zJI9f!HVz&-f_AHoG|?T9OUx_P5CcO4ST)j*fd=iUv=AFsmkm!nt`7+XXp2yW3<@9p z2`5!CjTgU_YgOoO62Qv26I<4f;9PqA;4At2QnZ>m_D{5NfX;V5iOC#Kj(KD|Y!*j0qeh;5&)rs}$s@qoJhq#;|N7bmhwWJK;Q4wNVr%4&Xgi6@{-Oo3BPCEVpG(^NjdwEQ@H0-Y}~jOn>VlZ z7gJns!uOP8;yNgN+83;95Q061ZTD@38yFyMLdKmikouJ6vs4PNRE=ESi#QpD2UB=l z*e|B>5fG81AA&I`_k^`wlfPW;niLdr`ZG_OOmP9nsor7GDN-{^$YxJKO?0I$=}smb znu4^_{WQ`XM@Zgs=9Gxw>#!x8(P-Ooc=GDfpy6|^am6M#;o-Dxj%x6mf=-sDa!l%O zxugUoo?CG!+m)3HO(S@OD4+t`6qBB`rl~$#6pe-Q zACGOJLpYUPeWKJW8!O{4_&&WUiH)*5`Qx&sAmmuZSNVoc&ZyETW(O+(Ru(C{Kip-V z&Rf2V^JB7HS)@EWSAIJ22^QWkXrp7oat72fIfILzcM&ceuPfLr$!Yvs%GvyxOl+R0 zT!-ElMHD6-f~}KJ#%1PQb_??9INjAOH;`iKVoG1wPb&7`a*rACW@YlSevTEfQP@--4SaBy-;Sn-B8YzV1 zojx~(Eu@x|enBjFft9vGA?8R(SHkkArEmfeYHg6ko`*^c0Bt>xo73oa zcrm_gAh#6#$!M)Ns9U4*~=ms`-ZMu=?K zs^EpO3{i?Di&EQo&(@g2+E$T`$d-#MNlq=0Qc9{g^=UI3p$PRE|8i${)bEVY z9ZGy6;rA5^J=B?=tI|?{Fcj;DDc>~FlU*o9^4Z0y6e)T>?&y567S~5`s=Aoqi~$5e zX>Kdl!;4xM$BCpnhb4H+iCc;Xl!IEt(lK{6-?mjf?6N86}v(b=rldP&i*}T?&dY&HPLEc zKRVI?*fYW80Zx|)Su#hc1XLwAwC3>qr(XD`P<9ZX&F2@~VuW0G7OrK~ z2#WFQq?mT9PeR?9T<#b7Ql*HBI~>)VUjB-du!lu(7XM1QmR#2r>v^|LTOtG;(BvqA z5#ksv_|k_~(CRU0g|_>1^>VQRMY*=T7iF@V#oFcOv)hhUfO^!YXo; z`RdW!7sciBzQA`YFTS>9xZnlv-8FtWwo*DLZkm;RT)xZJbD^RWPGDP<_<~umjopCVeHwdBvguJTyD48eAl}M-6>kKYb;ouel@v;D=705 zR*#q?_t=N^o4P53>;V=eb}ZpsJ8$)i-gNz`CoiXy`RZBY_kd!_6vmQ2-jS@ zl@w^8rb(W6Es?WNGz`eUby)^tJ*YXalQGgkmz^$OVEUHIqHAVITY2Xbvz(fLD8Iu1 zPr$Z)Y%zi-`ClOu!JFqLfvi6bC#f+Wel%`@aw+!Q;_JDhQoJqKIdqwSR}9I~zS9$& zYA(t)gDy_z?E!tQL=B+RH9#4~ar*i~7l#*Mf#ED1M>Y3-tg7q$O~D;nK2xZ9C{|>P z@h2cxHc2MD;p*xp@_A;?+DnmwZJ3$filp^0VL0@6+C&o<(DRp21gwELO9sZ+?Rgr2JWF*z_H)a0gw1 zFD%ifcip?aDM4scC?BIXr4`^mD%4VEZK^Zv4MxhB-H`vA?O z02js0>_$BCDB`(oqzoQGdwwhFi(LqlSyae9YLKN7<_!u0R58DT(1}`$4j)JXUJx-B z6-zi+PLP3cXHTCs;e{<>!FT7|s0hqR^LzE|d&F(r}D4=hl~$f_o#Z z#+6$}aMK+#2**h)MlIU(>Ns1as{vNIc`n%TyIljbc-<_rlU>(_*PV1=7P<_DQaaJh z`ED4=lwjMj-l$|fi=XROhl`K5@O{VngAbVKZ?2%dML8xuh^Pxt@Bvdq8cXNEmM$DT z?h&8_LtIe2QpT)H_=cb6%`naU{qPiy@_QFHBpN?ZMZndg5)q1o!r!>V$l{%ZG3-V% z{TOCuccVFf817M-dv5(+_eE;dSH?a zh&t+Ye_PE+Lf&F&GKeW@;gKk^(^nNigHf3zc%q7Qzr_`okKq{?t&stAk-z_}Abjy$ z$c~gS;=y>JNAdbqHH)X8+lO0knwH6yOZcab&Qdx1#4P$*{;`ysZI1K%QEv(!_oGXa zMJH$wEbYDKiH>O==ffRw3x0E@V$==4@YnfgMI$IEl#zxuT^V01EC=4&LX>oW;@x@0 z5qiK8skcDr8<-=Lqe-@iPWTK=1`wq)8-u(IIx?}(0R(eL$Wl0rcz!=A2T~AIkHMw~ zXb;^>ADTd)okx|4g(&JW5cQMcM@l9hpwl0sWA!6xY{a&?4fxjeEqwasX?%0nb|m>q zRBQd@`g3TpUs%&~DYoNEVy>MjuIF@E>N>8R{vb6ebS_t2G>laZBQ$_a0xkBdC}JLG zPPj6P&X>*b)IyUne$h*xhJXC*r_pTFC!)fdI6IX@PnIg$6-9pIb>MQpsJ*LFu)2%s z&3OmB0Rz$$gvapeXgSAWuYhY*K8H$^(0&& zISki6glzf%<|g+dC#xZx+kueW2%Aq3XctR;i-7(S{mwif^vD<^32SnmxgCP7jAP!c z!aaK{_|iQIK6Cp7Zr?=;p?W@Q5n)f^Fs-o_go#!)iH*tN_UuUMN!1uAz6A)zkCf=t#Q~f$)Dh`NrImAh6i(T6ibMRq%Q{W7--{Ro^hA*0{bCPzM4-wG39Ws2(R5Ll_ zNyO|v%svJ;`7qj3kI+kd5N2d4wGh#m8^TO|6K;CAiqC&L!F6|sc;w&;wCii&2KuBg2>Bw2lZtSv+OR5R5KdD{%h4%( zrqj0VO4l?V^CniU1+IGPN{QS_TAqh>I_`9!io)pd&dYqvmgiqX>;cE{$OteSoc{=~qWML3a5wfCd zSs@x?*N4e_bItMgE{0z_eiar0qSLaX#2TPz2U%4wc;#hSGh7qUmYLKS;66T78md94 z;F2w#XH3Gi(I8*t#V4Uf4`1NAbmpE5-${8fkTB|pzi4r z&6}FX3!b-8TLPb(IC!G|NvZh7%Qms0ba&6|)1e5zSDKBGRwiB}SkqKrix8w>KT8NGxk`y$JHYhqWJ@aGfbjNFOLM8>w$>yh)SZ^hSXu?!Vn&i8<2B^&s8)cL+%9A2D&Vv zMIIw0kP$UfAdNLRl&!}NJBIPayK{W$wpl#5V~n1E3M#{WQhpurns2tC*|U9;xYiEa z0<3b~6myR_&zRP+Cd4_?_^r_jB9{|`d{(CIbn+=&#!%wU68`jY4_36?(w;(0)oNWX=ru3C z5+D8KJ(y&BDm;BfEIl~`gcnBOL2sk27DMmO%BGb0L?e2ijd+pvBTe@qP9Fp2A3-|% z5QQhVBjCJ+*(pga4l*W@IYf$q+z56-$TCnCuTDKe%9ul_W%8ClNb8ECHElP*n_-$Z zX-;zCWt}&)j6EIaQZC7O7<)wl!UB!WAmo%dx;M3X)fB@FPffTR(fh)xdtCD4xGkbjG zg!(d*Ok7hI1B7ZKDoIM}Jwws%Jis}Vg|zUjE5>la`Qy0hAwr&o5AtlTBkjo(N_Wmh z5xL-~MaX?iX|ZRAkxuO;_kkAw>>(txyU=WLcyd35Bk4IeE!F}DH=|JVA#&NIDq4j} z3*A}Wk)<1Vpqv^RFH|!7tBgN5A4c^6ywF}oku*VKj3OijFiZHuo%_b{)f;B<)mtWT z@4nTT4KJVo%os%uLumc^VjTIV>w3UOPVZ8A8dBYeOa| zF5!gbO3n3LLcUp7XyJP;^qs937oNWc&wk3dDA|DXRDwY8Bz;s+rp)uu7wEF_)Lt_9 zR<9$cLFaogT8r?Smpv6X-F_{hyc^`gtO^foaegJKu;v~ z+kd2!)8Bc%`;gr~kCNg5{FoQeF^ehkK#Cxq-j3PHZRAqyldxqty9a&qhtN+8c))h( zUzE!sl!%68F&cI!n3XHgRth|^$qfiNhk_PokaG`}3h5IcUgdOYA)wHTO?ImjL%?HW z9g=7hjx>jG&;3Vm&F#Ro_vP3zu>yJjg}~TarMsie5#$na0=KZbgk+&m$WubR9C0a_ zs-#vTk?$&s)m^T2Kc>4}-}$Hxx)Q8TAq}2oEXWijf4U}lh3Aq|?v>QcLA>@AFU3f` zDpkQQ^E7{^GiwUx1ES`nc+~oe`mW5tu&6=QMy0R%{>}KnKL$85Pl$76rD)11(|!+m zSn;jdxL-tDOtZ}NT$Gb4-E+znVaI|2vZF8*eDW5bZ<@TgK}$JzyMtJTekq>F%6ICE zrmN7*6t8(=9aDTK1D3OdCu~Q1dN*RS6wLe%WV56k+Iwh0PoYkchCpZp2`6Bp;XcmY zNhC552ulp-A83e!gJ&^oHHT@kJF5aU@?=ZF}`&-y329Qf*-|zT)JTx-}kHy_{3-E<~O)&byHKc zTv4pUgO_;o>NM5ZFKcmr7jxyVWD2lQfWoc;UtmC(1tr-9CqoWpi;kRUfU=&Zg)Kzx z5+}V$^K#NNEk4&!g($jd(5{;uLfYH|+un_QZabPYkD)m~K~cvxl6k@x(n-`p!UZS< z7tzkkgg#7|!`;%Pl9H*W?3|~U3&dn+DtnHIlS)oQC8aB6Fj6jvk3%47 zFpQMfxVRalgea^Z$bzTEUl~WMejd3LgZRoF8Lqi$9(U~Q$82;Fox)mxBN)u6RgA6n zPV~cF#A;Phx&<25-;eS)1Gk_cW}&5U?0SwTAZaIF;6?P1Qm_d)` z_Hc}oDY*~x!4s`WCx^P6IKus zIO)tLOeHHxDFpcJ&2#v|T@!e8ay6RaB?K>wBZ~TwF#Tid%fF8+rzuQ$3GqW^BA<-0vmpo%Vo^tL8ZhdrCLZ$5a zSTY4e+8LP1SF{$JJVlXC}(&5k2@+M_%kkSX!Wh5G{AV?(BR((^{}vZrqlu2j3k z%U_bBDCpEy)B?Qu)tBJb-~JrX&xt1#QXwlMG)>8|mqeD*e?2p#+bw_cNH<8St{+p- z`4ks)h*=8CcvpUgEr>e0QysmlV7v?Bvn3g9Q*2?LCIR6Cjv^B6y~rlEA)eZSXo{?b z3BniV57MG-kwW0q=eD>lHdMk@G1aq707fa-Ci9;Sl8C~S!oA=bl;p&P2{#ig!!TVO zyCG>GJ=G^*Wgawz9o*1d;zBRw&R|9@rrfI{u4Eckl-<&yLh~)61z@6;h|Ol)PZqs<@AV8D8Un-g?Z9(fG$?D8gIAkhzo^7Dk;eX3_$6>d93+1*6EU&IX#fY z#O93PR46@?L+SxJ=^zDn*2-&l`HY{aeG>-hX_DZYI75j=FT4^4XsFmR51FH^lmf~CyU zchPalg5s|7DS>;!f4SV0L=kafOO6ZL9H*~0HS;N<*mRDUa@8+gnCR&

0Z^swnp$n>m2_Nx~aQQ4A(KBkzPEsJxpN@SD=yz|fd^V0qunsBM-E1&T# z3)sDpq#_P)2Fk}NNW5D_cE=fj<2r@a6#d;qbLsiv$i#)6lIKj?@8MSMg&~Dk+{e?0ca7`H-g14CvmpJo z$Q@!}JYb)sHV9N!A*rp#eLE9;>RWAGbK73rw>KmJ_9^71tRclPh$<-~m(0-IOv!!W zM#~ybHLM6yI!~rfkn2+g$2k`oWeFv!k`~%_+4vwn*MrNvB#;z|EtehMg*UzRS-5!Z zphPHLSWz&1iAPuQ!9QMm7p7)uf;IYNVwt?{sR^G9NV4J- z?wGGAK=|a9?nzrjB{=bov4VZV{>;R#?YUiuCmtaeVlQ$ES<(x%*mx4CD-lISm$6iv zn;8YK1Rs#P0|F7ry5MeRfxM>F?Mk1obqVq__lZ!2JK>ZO+j){1lSSSlQ3^HYIZ!ZC zW1liNWGz}rh;p70Tq3dLY6PLSBjEEh4VuV(>v6cb2H)I1h=02+#&!3n*iHC@3&v0z zSRsTmLX=DRSjw}#Qb(Kxl9s^;&1-> zKH7!Gyvfs)?7B`1y{?_(C@G#h`3qKB$`^G2{;LYyig(onS*M{++2e1~L5gcA!ir@j zpaK9T*ODuEN%$FW(zy^FKs85qKa>JuX0NsZJis#mv40V{O!QE?{8x|+ekyc8tAJ@2sRa^$GncQ)LAg1 z@A&&dWr}xFbXJsbC(4sqjJ*jutq<915l)I_mO;!7t&#Z_8)PlUG(Ho%@cOr2ip$O! zAUGE5RvnJ;c!D3R6O+vw+iZE#CR&XW>(yx*L=8bVK_3#Wd!QNXA&W1&W~L z)bdYtYC}5hsZO47Q&_?HO=qq1rl@4hMxXbJj7@9pFQp5}px8~Z@F9%OnRl}mT1=vA zQq6`-C5Em2J+=7^fqR)IwOA8+y`&WQM%ww!(O4#u>%iQM?YRlUgAWn5@Bo@qTahKC zASepKbrIEcM#`gyIIp0;jvXKMN-9O7y^$~X!^5cd$1eB-@`p&C{p5z?n3l@8k16!;61ZH)nSLW(AkdS z!9!Ji;hQNwbyEws?_Y)4_BiawdIH?oifPH`Q^CL@bjVfwxmwM^I93LvGhIyuyfq}p zShln(glDCxv|x;wzHe>@L&G_K;?2+IS7_~~5{*VEZB2YH%>I1Ax5ruL?4`F`xA)50CDHPe3^y(TPI3t^bH_fP8=21xhO0Q&H*L8MjHaxy1*ZsFy^!LK_ zWd1kGW}sa7p>kAulb!P^STQhOVx)R9^$LTzEQe_n2vno+Way@(BY6-~$TJ!vcw{}M z%v#*OE5tRo9LAUKjIr&&YWmE%=nGb1w8k{}3Fa#_k{rU5Q0n9CfG6ZVoH}dvw2QB* zwWKKWq>Xg)5xn`Qo{ndnH%39E7U~4quQT@q zxt84rWoXi(GzCGGkyX)lWP`#2m1exlPoWxdnKro^)fGq^mtaTp9DMDb6rZ`JiSKO9 zab%8(Y0m*xj7Z3`$x4NG#Vn1;Ivgjkl1yeAKdB2jDR{y%R1k#-9|&z~35`?h2v(8j z_G3TtEN$&fmKX<{%y3iqWg*P>90^VZ2ytc8;&d7w?1*}dW{N8iF7nok|cSXn=)juXN{a;Zpx z1eFH8bq$5_FT~b;tMH|78H!%a;gNWbPQET{ zTXG4V0*kt9LM?8oa-;>zU7OijsTPA=mzezCi5SxdwqZm507ZuGM?AL^IWs_$Qpn=H z^!6F_ktVMi@3^!{yR*e$>*_~4O?T$J1Bn#)YDU2rT!BS&lCKt*j-OI-x(i9jlzV4z zFw?g=)cgm7DDe0P?Npp_#o%JlI1iJ_X56-87+<=hhA-dca5uRcY2^Y06xuYEP;iWD zoS_o8=&~cUNMX48h)3+XhG-I%C=v8Ncc-Q_ds#`YZlP-)!ub~uQKaK};0Y`sxzyLt zm?rZyrhPb(%+#fWnSyEu5_Zu>t+b1hnaSw+#VZE!U*7&A{Nk_tJE7Mc{|==1=5&}9 z0-YMq!_du%Q8fBwz>&5tBV3F9&@vw^#Dp?mjX+k+u)zH2M;17E@i-`T)(F5Cyx-YJVapz#VTvE&Je>COZpDdP?m(o+OG z*0sN;@u}8|();e>=yc*%Od?yPAPS(kd!sGNz)!9)SZgGT)UUY|5;bL}saYE4j9Xa{ zcvd5YLK{W>G8~*A$8C4j@#!05eCeJXJ6jE8wN=2_fN)V*I$k{?E22#g4s&vk4LX>6ofug((&ELE1C z!kv37+-M>V{7%ceBh&c*@GCFJ$3JmBZoFeJ-0(_K7G>+}@3FXr|DbRow0B9a7LU;? z*NAHkI3hwW6Q@DPtSqe2?7l$f=fSx)_8vKcdmqVh{Y~5P(AN71rJum=X`0}BNY%9H zdWVK^(byg-ymcI3 zy!i;Oe_#ejuz{j_|TteRED1T>x~#b~d2=s$&}k*lk88Uf-al)Sc& zldZTiR0_Z7`lIv7i`s%a_pQd4@5u4_o2GI1fy0O^tB?;}AOLqr%CbiB`%27(Uk-B- zjSJxrabyXBZ|mh+AMzwuHqD!!OvZ}IoVTN%l30p3p2Z2G@G#!{Q}4jqMu;|zdyV-l z1@bE30A2PcV(*`T(^up?R3!I+i@&%C%u%eRUad&x=Bu7}K3?>v~K0>5Ct z_cvGjDa3M~-GkvoSp*m~1wW|4krv?#ho|x2wh7#N&qKKF-beB1?lyKFOfi43CD)6= z6|e(Lx=QW`A@B`yK@#$tW0wiQnGt~L$o%Hsl&($hNe6usT*x>%DV^p&j3#<<@fjQ)@Jd)!2hjTpm&^F9YPa%(JF|=|iZnBMjR920_ zD5)q}A*2i{e9g4Ww`M7P7YJTa;len}J1*UTWQ6d})zVeXX1+}$mx9}*1S?DKNeBPh zoL3Z9ayOg+sF9>ccanw3@^SgX8VOE-a{l#WDvTwDN{{unA`PR+lcMjb#DqNrgGdJ& zcr5ED+#$oYw@l;4dqW(UTMs+97U@VLxgE89NYbe@24zDgwoQ=Kobpm~9#&#eld}0l zsNs$0g~-{e%ZL6rZQ-VE?&62>jrnWF>};NY-q|oCQANO0p2Sz94rJs%(-^E{$yH{mq~u zm9yYzP(Diw!U*n=bKZbgT(V=z`4ur(0G@nK!m~wAgcQnnPDsgw?7&T~OauYCQxJu% z%DGMXvMi?@e1=r?iB>`GLtg1&X0?>;LCMV z!TEL(-6^$luEzOr_1P&xD3B*IrhcA-9*(keYf>^UJLT5(a47bQR~qaWnaW>#|kxpqQ& zXfhogV=I-Fq#U+jDp-g6cf|POP4oEj%`H4SwGI>EFLO1WhM5Fl}@at|GhVH-GVUc*8sY0W(Px?LJP}v2?K%GiP(tB|<}%*sFuHmcQRB4=Di&43!G952wSuDp%~f6H@4YP7@Ro(z8d zmZtJCBN9hl;uGDtML8fkxJSKSR%Ukj3UN^LwOp*s7!b|1wAyKcl<~DJHekZlHhW6a zS&JtfEQLS&*J2O3P+z;Zf@|+;<2rIP_U*ltB085Ksne9H(Y>UQrHc=6c@Zgma>HoS zrleq!qUdzV6VpBJb@xQ?eZo;EvSx#&tTz6nNw)%#ZMi_JKppR{J+2Z7KKYU(4tg;Doi;f$vZRcwSf_G)}srkmMz&VZi_SuIJ;%dmg}zckBb!Y-FZJVIr~=5@h!73|V0d zpWJh>KAX|950{CrrYV@Agh`FC9g)(iRFNiU(xmP-(-%IRr@!Yi`hn~SAT_bv+HO!n z!g&^G!W1h>)1rkwCzyh1JQc0V23)^A!sqTb_`>Zu9@?{lq8m>`P#@QCfzNlV|1L?WA{?V2A{0;l??FUjkcw`J|cn-b3T9IG!=y?$*O|;($M=%_1unCVh5AO6F`bc^I z;jfd+(MR)}EJ!fN=qVWZQ{Z~&gyoQ0kRHafE*!)Ec=s#utH1dfVEx5HwU&_Pk^5{h(yI};|fD`FrX)HK~nq67vc(qK4@ z2}l)eg}_&n%}aiN*tdo}kc;ui)FyoOmNq_hdx~%Gn8Eb?YO)^ALEb+~n-o{cwxsH6jVpNfi@Q&MHaJzql0DZjD!Oz--kr{QbYZ^M_rwiD@^ zl>{)hj;G^M~4t|x$;RjB^FAt zl!S1`YR73!>b9CyDslWXto5M}L6?!0Qb~mBX7Rcu)3jb4BZWMUR=N&1Yzy)4cjmZu zEAY^M+I4E1V1`CePx}zXq*$2NzQS?(IjP%8glj`NC%^?+oI%Ol5}CFJ&|V!@lgHS4 zfR>&c0y;HOEa)kTlPI#yF*%ZC0n;Co`>}CNh(Gy_mt&wp3O(kruhZsWWbK^_IW={= zOlZoj=519%a@^eP!v2-GIBpCghQZLmHa8;upq_o#_zuXxBc|X z@jHL`6_~Ya$yzd!?##Orv+sCrDZf+kfTaScN%b2v`)_H|rC_?1fPcyrrP@jve)6RF zO0I9nedVX${d42fu8ap9%WjZXu@d+sUFT`_*-nrYQB9-dMJYWvnSNb#Ut3%637K&f zVgE*&FynZ1e}FIFSH)*;nZ-@J9FF7!PS!U7!*vR+&69i3mha(4woHxY>P#6>)fRx< zjF6N>=$dqnxmsMzZ@@Jg(v~ijdn?_-eP$)+PB3||Tv5?fC+p!8OA(z1sSj6Id~!OVTT@!tRXa{S>9vrC(jiaqN3JTAPEJ;PRTA*Y*qO_j zvMyZWy6yt{$_-glol7Pfrc)}-_>(C{fxS#&T_NOUwjnzA)G85eh0EJHzd=gcYm$7H z`<|MX=?2+iV5Vxx2kTP{AW${RBn?3xX~QMn!TVN7pUvwY9mZGgs^YV^v~b_#IMRs5 zwo2j8pdsD4m|G*wndhPAl`x+Pr=EMJD$}9$kL9j)M}y*WEcqOhKqs+YuJhHdT|axW zBnh%q>V5JmE8(i3P4XAA9I2o1c_gL)cQxx@t*h?jEz=pV?y>6r>!@+-DTn`vWPw`Gj{Abj z{b|zt_f&_%YCcbEgL|*iW^w2tY`CZo@29oX;5b2|o!%q^7YcaV67xF)!lNu4tCtFj zGO%F8oXW`5H8d!fjn(nN-+mk3{NsOwxyfl72U;w3S`@RaKxu)wM94vNGeA2o`Oa*1 zak9^ozWbYkqe*p!Oh&q{BqD3cscV&z+7x=X+~;<1KTp1(8L3tk_d-$|Lvb&-@wAC3 zDwJtbT1Bji0oawBaR0;@KL2gt^S9@?M6yr&_9$6p=np4wF^i`(t!Qc6LTryUZCd+V5=`ZR` z=;3(?_EwfCon$#R7KOL`ttsZJHf3S@IZL}_leV>2Ts)5d`zvq4FZ}Z7$Tb_K&6Pe- z4W;*hNsMHnv9F&?CSk?T=cN`Jojws)i`(yIvvdu0l-;PLpQjT`pQ+<=Y4RIO`#Ux^ z^DI&x$~=|Ex;A7yqCo&-AL^CWi2GLI&fN~ze5HkJ?oDv#zA>^c)&c$N?C@1AGcGFDtM$DEr??`GPBEie!{ zB4J`1aPLiy7B#iG54jgH)}v{*;M@1j;a~4cam@n}b{`oh?C~Nx#tKA(v>U~f^feP? z!BptcPj_^H=3Prm#|uTVc;fU7hbM<*6}cAy$odplkuao?@8b-)mm#uQx{pT=;FsR> z68zjNub{b-BO(x+DH|xBtqf{~qQI$@Q==&S{FKJV<&)%&Pza7QA|ufrdWrA*spn(Y z_Cxsar*46*oG0PEERG~9U}(Zu$t;QEOqe52BNN!v$T{Qx2t71hkNedI}IO*cmMm6#jdC@Rj;{xoOSc|Vc5aQFf&Eon;+St=Nmx2-( zBO0g+?YgA&w&%z_A=8wV1D}i3t;F7f2o{`I=fryqwNDN);!1~H>>nkh98$p}G6E%S zrH?Gb8Mwpy@FTCe3cvAF&x4X2KsH-rH7w3F21UV_J;j>hlqd=(@%P*(0$C5Xcp?)N zO>iOg7|h;+d1emnzraGkX?A0K#fj7_*;DB3I!SJ|h$~ z5rMDddZd*WMITaOZ8EgDnIb)(*Unm8+=_ULlxKyk2XZm&DB96FJbGXVU;c86FW=tA zE&D3ikEalDxe;cdpQ2<;8$}Z;ipf>u@2W_5GFCQ0#$abtlxy2)T>U64!YnxR&htGv z4MI^tav$<`OWVVeanT}6!sT>NW7VuM{{sBc|9UMN>{Bo!ytHDh__he9tmH2P z2Bx4*IQfZ;r$kX`+D+bN64~;3xgi=H0dLd#GzEpVi%Sy*QJQ^Bjbyr9OsW#@Ylcd zI{eU2|0y2X^AN&STga>)5UQ^z;+FOax&wKqTaLLod&pUR#|C*4b-^qGrbu^l5&}-5 z2<_T1lG-Nho!@|)ZXd&!Zk)z-4>s}W%sOPl=L4(AZOP`z+TbLbgQR zDj!d$&oEd;i)!$_Z*Y|H-j}4KT;i4tkAa@g%Qq?nryotR}uVM|3b&FPqwdCrZVGr}hhw6Jk}82|W(Z>O~|h;|$cu$@TWl~(EI z9(z&($D%8eCeM{_K2E-z5=GHD(ZG*Sarz2imerf^eH&=Utg!uzSv>oq)%eTbe=FYc z?tjL90&~pZF!Bl;)`_|*>%L7l9C%0|p(t8mY*VO(>Y!Dnwjg8L3J zC*`H&l@NY09B5Z8QLL#ZIXdra+J>g_da_-iw96Iyk;)8i%8LjV{oM_2 z_LRiQ6wXKvnBS73SfbpajguH?t_u5COFDOf8Q=LngtP?7TFxi;WA$(wfBpMEif3KO z33D^3gk(i>Je}{cguJ`gR%Zc3-hg+!>mM*V*`&>Lt+H0pVyOlZMNJG^ZL&CMk!8jgc*#cDl-(D;aq!8rE<9B_ zmtsqXHifOgowndy~a=_crk0!6D>> z>&RN7NJW}S*jKV6Q`foo{yQ}t94N9Z3r|#MOYv9M@h%pRu>+1hb^Hfc^>}k&wd0y``&-T#1Y!f zN7hQXHRd8EE~cTdW5`{znX(+@)0+W_1f&#_M1HbEfNJ)0?tM_0?{p4%noDVKP-iqI zLu?0;HLgH5av0n9P2ih1Tm0({)A-f_(;6)0Lj#y`7t!Xj1sJF3MV=Dg*+PZ;fdoar z2GiT!mw|9E6X^=co$}&-up1eWbr5o9FywvNn(&LDnYxp%E0KrOw_HzdUyl=(ObB-+xk@?$SG4AVeC;-Ye{Fhp*!1I5H$F_3#lK#xx zv?j5(wH^Biw`^B7ko&oYuAyHzC4(B{8b|1JvqHCSvOy_&lN9wQO)RG;-<|yb+q?E4 zJIk~Fd%w%MZFV=wc0;m(KpHLq8Ump)AP%Nw5GYbqN(aUQ)2YMI@`s=>j-yjy)IVe@ zr8AYmB5IKlg?6mq0E&Y^2Wp7XKq3hk2qfgb+0ABm&)M_cUZ2bRojplI66%S|vfqBI7Q&%CAF^kB0$k+VkkZKx#L%-^>Pr&{`awH_AEU7z|Huj^A}=N(hV+@TPa$4 zqB@?qGLxes#MIi9I||#9*5JxMV=uWFS<%@J&gEp{G7^uvcJprBa>w6b)4R0Q7M(?# zj;s82cnOoOs6-lf0TPD8qQfS6Vj$^)@#>N-1W8$nPEC#|Sd^D?((*(=DF|ITm>Q0! zMy=veRVvVGnw3%hnK2Iq=d%+k7g$slKN&`+xWpP9DT8Pu3L5#M;mHNeqmEp*{cS8g zBg9{Q`zBm;=1H{bc`m2yBp;!Bz%(>6VSWnZA6ny{BAa4IVFfE76!P+ISob9{e}bF5 z6oTn-N6prQ|9bBrZocygYaNkfT%gp(>$ z<|(Er<5~sc8aa!q@JI5DhY>aPM8ilPEoVX-84SymEs7msnoAlM_DL|`I%*M*dwA5n zsCdebKwT|6IEZCu_2IAYzaA@2?V%Mk3S}_wa!!KNjfVSORfnadOP*gyrf!`~aYU0L zXMAoUu_PBW+70nEEH~785B3y7<4}S2yo3Q$#`N;OZN8vw(@)YJ-YFQ?3^wyXY zAwFYU@7H5lKC2`!nb5;|$`r-)ar8biU!?%#e)(*^Ncm;LYR$BAfsjt|arjtVFAD37 zS(ySgbdFiUU1oBU2K**P4ZF8u^~DQl?cOX-B8r&Ms4RFJIs2ZgNyz^yXhE2rnATL+ zv8LEjIIxIt2IgIg92b!a!;ez5Q5_)iMFl%0KYdnz89(^$&A9Ok=ONy?O|SBP52c5k z3#LezcF%P9qv^OFv{Mr(Jvyfj68&(IGmt7bf&=u@qe4Q`iagxaKt5tl$Cm_9lvPeF zT-fwCBcw73GnUa>^nzYmzO-(4ZNrUMpN}6t@D-fd7s|*2Ut4%hD-9tl*EK{rFJtC< zi8>*Bf}>CKF<>;G;`XR^62uwM2DgHz@CD4I81~4eAuQ+>$kd36`()^=mGJPNT!)hv z_v70S{eR(&Y`k8_M1uW$-0ny zQZsT8rA(s^Zi%HPkV#Ha)#5@GL%P#cIYa^B%j~F{dtoQUbk(r&LYl_#SxY&N2GJx=F(`~dE{<0{;9+ohdM zB%T0ZxP7W}n4SQ#gaCw_vqGkGd}qKwrQD1tfC-xH4wvwnzE4p-tHugwv- zrRD^M<&%3;UC%D;SSC2%G!yY7CP@~p6OI;T9fiWkW@U{vlv$pmV(M)4RO|SoyT6RD zUwfWz|I}SxeCJfGQBZEW^6d0u;wX;Clp+0H2C=Ri66BeJ-gYVpX6Ruh|-y!a;kPT@mj^{RF z=M<(ms6S4dMvelysqG~77jtk%)PjoX3$F!byuPQ7-}!?l@h>kh0nPxWAxb=Nq7wYX z7rcE&UcbpD2Bxv+T1djctYT9ab~H08W=-qOXAX&&Q^<;lHfI6T?Z--V-YmoJ+lebK z@5g=j-hgHOHH=3w$~?R1rl0egJ$J-(ApB!Q+jbP2W{zS~IzsrexCoR*5@p0`fHKu7 z4m2|S@k49y;G-|1!FYwYZpXrtnt0%wSKv#Roh!#DjV6MSIv{D24hv-lDRmWf z9STpiK2bP|4x4ps*3fQ(Zg3{*&3nu_NeF|kc)B#emR${eGODUo#dCYdjJeBN9DtL9%5bpTHC$M(?Ak3_Ogw-DER%I#!Q22<#j$#~e`i^KR zsUL(L+lQ4G%)@uSc|9&#I*0D3wrCnrpjxGP#k%HTw1SHVteV z)hMhu3r-VK7tV2eNzslD?8pTs?NBq2mU`Ue$J07F3l8(+*xmR!h&D3YM4z@LTK3y_l= zaGW4iGZ|V?eqFiF>11Bsy2Es^Y1baj!eY9~Vq{W$8u3ZGu(eP=prB>w;cy!RujC)#c%V#ajj&T?s zDP>NRWizcDh57^?&JwRID9g43sEd&r_1fGrW!ikE`{x36NPn@g5Lc>=sbaVZJoxt; zaQ`DOU})!lg!4{?^_j?4QJ@SdXVq^mj5@5gn;%K_?6%anlp2rqK0TRBNga=8VN+$Q z9Pi62u@c_9#MHP3yE~tJ&MY&P3302@k?zC@!&E?_s-e_1+Pe*XC->pEzIHio`|{bC zTV{6k27@N(@Gisx#1h$8hqlcm>h(oOHrIYl6^$touS0IKyRe0$IAM0gS<6Fy+5U0N zVaMCH!}Yi8ca7j%-+dbY@bpGB(zz(lU4)obxES(Htyivz_zp(SP9$p$uW@jxQ=y8= zjp@WQpGJzrD>+*ADiI$` z9rE^m`qg)E|DQdBe_yi;e(xy=yZR9&wB4BnnH+{siz&;Tq?=V40&7@onfWs!xf=1< zFjMt2ZSrw{sfDBHuyN7RlXJpC&~i1WbK={IP!Q_0av~F(9)tDBp~U3u1D^Sz8d%mG zrc~nt{M?Fpxa%8NUIbvmd@U82RcyB_0- z=U&HyfAKutd2@v7pG)A^`Vmm)B(V*lvGatrN&z^0bz*FPBAH0Z$-eRUc&vT&W0}!+ zQCKITAt(kqZ%ioU#dMxL;e23% zqkzeo$C`-8-bMdFhMT^$5?{UHVw}_01Fki&Qdc!7BW@-LXpInQkRTjeqp zi2&n>e0faVHwx8Vzk39K`PeJ?yC>FRc$BVEbErE~QvrG*6G=4u(V0{RZUsSUu)mphld|ugC9M& z1qaA^pmzYMbkpU^(W)a7<;O6UWS08rzN9lnTJisH>L?PC;fuLQDWjTYM^{Kahvq2k zft{GWpa;KtxNqUn%MgM((^>vjCT}?lrpIY zZc9>skl$P8LQRFBB%*~^^Asq);hj-@|H-v@{HfQlYnZ&sEUJWecgy_BRgUYS#rh`MWZU#OF* zn|6-kv432H$DUe;ZQH1YN*xk}JusCTY^*KP9iqcV&mjkH6{gwsbohLv))!i3*U*mdwSC*Dk~LSD%ALy%lJYIYP6}Q^VBt z2rB9zcv#DikwkTBn)upc6(>OvBBLm0_-UHqj>0(z5f3stf6DbMDoSPsMrpuQh-78?BG z$^l$|%{} ze%Dh}YK}RuIaf%IVVndhT7gcd0-ILNSRpl)rwvLhEg9=;F#NtePRB7)mcC17E@NhD z2DT0Dp+iQ|-Id~;r31L;%H{aN>Qk|7(QLua3Vw!PH_7B&u}{gU&6!w*U5lHxi5_DV z`tMoq&^00et$a>-X4;HTJ^rtzK(6*+KsVfQJ;JN&ci@>9H{yl0JMq?Adud}nLDU^H(S6JbUqZMw=8D?~5f*rcj zax@U}Rn#`Y79g@I}b0!2AIdNQ+M+8Qt9D^iiJ^sk1n?DI+rGIln zaB?kXCnwqz?*FbX<5AkCS-#6f1Bk`{gAf3=l+d@P^AnH*(r`JrBwj1j?d%REk8*zMDos|Or z6S56+TJlycA`=9n+>w*Piu#)Vo8@Ei{4lP^_-S4_I3%u^{5h{H_-zisPDU%DQPCE; z@aJQdcgH){N>JLSd$qbj@5tkk?o{4qI@W+aI0~;;q8f0FzS#+uFFyqrUU&vpEE~Ye zvld`pMV~d3bdSE%q)rZ%mG6BS*yB%-N__)GG|^!z9K{JR)<d{HLTup7$I zB?87QS?uN#!0K};21jDNwqYDU`Oi(*{N4yQZ{3gW@9#mEch(Z8k1Ce?h^<8{d^{i<(47t#A|_HY@6* znkug(*V^@=lC5-addg|L1*t@WC$BV+yz_Z%-SM z611{L2^B$64s?PwsY+O%cOq05GuM}Z>r}{`J-xpiNMw*VQQ+Q*b$@IKv|oNjP9qUrgm$ZO?QiQKX*~IKpVdndRTb!LY#BPA}m|li_;f}`1Ild zoH4J0E|VuK?h6x+L+(&BSE>pbC^~GsyqnM~ ztKd7iy_y|bbXN{VUCMsi)-~YqXSyoK6h8-HsSPk}(4f;a-mGJ!p5iTvG~V3274PpD z##Lx@FQk7{EIOrx#S7=)?4^q- zYUo4nEFZHjr-x|KQm1xOae8G0g`4QG6^^3A z#$RSGQs}vC+y(ry%sINqqw*ZmAPYbLW$R98Yn0W`LyZh%Lvp7<1gsnj~OGvmw6h+50^5!RV5Ryc|i zV3XxK{Wr%L7*|j+or|GX>k>SpAef85A%@y_mKsl- z#B?}ECo!crF?AyN=X%p%lpIU5o{28zIHd&<-5aUv{pdZu~4Z`v1m9vP_YJ-muL zPG?Or_eV$6%5s(D=w7aup2?e%ZZm7DA~f*sHTWv)^Tw0bWv(od-;RVW_$V7{a;fO5 zv99Cc!XT^fKQ@!97S_G4cNnUXf6K*3MZQ9!1WT!nmlG$;=XbP&@>-EAOysD~0IhH% izvW+!yQ{Fy+5ZBw4EWMAEDALM0000 + + + + + + + diff --git a/public/experiences/ucrLogo.webp b/public/experiences/ucrLogo.webp new file mode 100644 index 0000000000000000000000000000000000000000..d58982db3c31ce33d5b61ebe47e39b8a58cb6170 GIT binary patch literal 3262 zcmb`JX*?5-AICRyjF2%$ZX+u>%1<#YW3%`fBjk!mYVJE%j?Fd43?W4}_Yt|pa{kI3 z9TK8ct{mm>%B|R65B^X7kAF|Tuh0AYdVN3N&%@7EV=T6X7XYv^G%&wru7#^Q)@r<< z7XWG@ouc5jE4wzO{1@4L5}O&YoBQSVRCLPg?mBM;!;q7Qq9!Jw%^PvsNJFxF3HYqR z-}2bKg7;#59;IT1_(y%rX0wxZHP32-?V4WupO}%8?#8NUz_1mDl0-vYqA8Nh)$mXO z?Z=&V3!LVhDcJ+TWy!=m9&uCo4TCTU7kH&@lpASuB=K zikj`*Le+%@D+~(`Scu;2+MoLEd!)(AW4&Sh+sI-a8?)9vO-1ehT=}&tqZf6wzqv?V zo9eu`zk;P2C`BqGTztcd^R#I{(jVJ=S^7|9a66ahVHP+HOc*M80l5{xchVJicK-VE z1rZhn{0${X^b(KLWoLLRrQ@D%RpGbAekkxFoG%o21+JRhxo9w%9xEchm+iMBVPYfa zGDvI;uK&ERf{xfz?2~>A*o*YpgJYg5_v*V1%rpZ1Z#-_gs8%zRNYKg;cgtI3B%V>p zu2&iM=U6#t0d}RFQ47{L+`>=gT zqg~UVwy1=&@yZ7}kN@Etf+*o&xhAhbzE>k}D+L>Dm#nI6xEG^r zZu`+|^yS}a6jqI@Nz#HpNx-{_mqOwNda>oh41$)L!*$mf&EXCk!Yi~5$Z1pYed*6AG=XLtBwqy z0AqwYzK`n1+9mB}Ma@DfJP^Z9XO@E5?|`C^lWr&y14hf`eEq&csEzo_Y}fI{S$H_& zOf0zpM$6|+){5t}=nZDftIuT#b#w;lqm$a@O|wb_?k}F(37LI~fQNT|Cvjg59Vfqs zk|bJJgI2`n@`bo@Ro&bRMUkyUWs0^>*^?%}fg}ZOYXN=rHJq#Gd_xyWcDwrVi@ z2+&K+AUQaI;;(amx{^zhc?-q1kzA_f-jEY7726FPwT^&J$s6ni7G>ZTT~%u|@h?5-OZsB360mB|(*uwTH)F2c#bD5U zR;hrVO)o;zWW3d<3!<~u?S}{=a z#xb$dy(5QJ=HdyKwTMOZpUsX12x-P3omWa2Pg}gzuH!*}EMA(=;Y$@KG>&Wc)Y*Yn zLI!<4pw>JX)}W5J_GzB7N!n=+ehQX7{wLC2s?Ia7_$h>WTv{E@@ateA5t+5)x3{-W zYK@A=Sah^jegtgI9_0a0Lzy{Ipm&?m!T_!J$Ae%2SiY|-=grpI`;3m?vf}RcIO3~a z1*HCX#!=Ja1U#QSDb#E)M+;bSm53=2mf~?_S}oh^0JeUgd2;bviU}fJA>8aYUm43cQb zAE6H|fG~E3wE3R^i_yX%{(wFt#@K{*0TLg4!Xhp9GFlO)^h}^vfpYhEy3VTX-<9GN zJb9MUqu>9|^&V(HwZe%Q3+6)Rj8o>44Y~ka+{PKDp|QRK^TC|_Yz)|D&~>>fIgdNj z>yKQKE#%J(?Ny6h`1JZUqO=4CTDu3dKmZdTB)~i|m_xRG?zTBDNhfaeTl;+*hS3

?__W_ z$dIkRU>U}b?1N<%pmV07U*w2?prIi4!E_c5(oc8HKsgTaLF|TljQx^TP3VP-4083N zZQMv8S&;C(O{wSyLS$x3vYp-jS)d{2`Qv5S=M~8m`mSbRKg{XtTPc|I)Z2RU^J8BB z!@>}}?_$~i_{&?jKg=Ni!fOU9&#sR3`Z~TAFx2f(M5G?nItcqm3qM@2;*Gw0>|pbt z6IgGqi$z>%hpfX29MSBjmn_b+VSD|qK_R;~5Vj<-kGXfR1wlsjI-d?C)a&0$HH9>g z+`dt3o!Qel(Eb!^%dL~KEyH+W80E#)zsVgm;xm&18 zKUGFDnt+2Vo|O&~XinIScCL&1eCHvC|42uXcw6G#;_y^w1zOr8I)B1xG4AqBOH|5* zbr>NsOxLC4xlp`Z9Y>;0YL;dE*^1#uu;R#Yjw>atLUD54kTWx6uW~TjS=4UCtpu+I zOKOrlg7Acaf5K!91lBZ_qCfq zcaH}jD^y=ZM&ys3xH3)utnkE^lj2KF42Y-N1)cB`E=v8qf%w8H6<2mUex*wNb6=lv zqwrpZe!X!*J+HltOh~VwjAm7{t^|{MzTn0Ip~8Bv-}*^^8M3dnYwLnasghLkbF+Bw z2#Wvi(fdB9a{YT=;^M-WR!5M`S1B@F6wZxd_a)1I?WhF*=zZ7PA-`(p@iKwDU7oqs z!+GkVRhiI}iQuy@cOu!s!Z@78tDrYer@+o_$c@ch5u-i@zP6@j+YZs0$@ipn`&uKS zg{MtZR_!b`gO<{U;&x@#YC$;1*zBZiQ=V$fJ=JyjRJaY>g2u^l5VaD8?(iZRW zqvjZdlqco`;K9Y+|Oypv1Z_0EvcFKHpCPjwE?r#ikM6*~^ P|9Y+dzrxO9!MXnnv?@;K literal 0 HcmV?d00001 diff --git a/src/app/components/Footer.tsx b/src/app/components/Footer.tsx index e7660cc..d88a6c1 100644 --- a/src/app/components/Footer.tsx +++ b/src/app/components/Footer.tsx @@ -1,4 +1,28 @@ +"use client"; +import { useEffect, useState } from "react"; + const Footer = () => { - return

; + const [lastCommit, setLastCommit] = useState(null); + useEffect(() => { + const fetchCommits = async () => { + try { + const res = await fetch( + "https://api.github.com/repos/Kevinloritsch/kevinloritsch.github.io", + ); + const data = await res.json(); + setLastCommit(data.updated_at); + } catch (err) { + console.error("Failed to fetch last commit: ", err); + } + }; + fetchCommits(); + }, []); + + return ( +
+
© Kevin Loritsch
+
Last updated at: {lastCommit}
+
+ ); }; export default Footer; diff --git a/src/data/ExperienceData.ts b/src/data/ExperienceData.ts index f41b6c2..2f11b2b 100644 --- a/src/data/ExperienceData.ts +++ b/src/data/ExperienceData.ts @@ -1,5 +1,6 @@ import { StaticImageData } from "next/image"; import ACMLogo from "@/public/experiences/acmLogo.png"; +import UCRLogo from "@/public/experiences/ucrLogo.png"; interface DescriptionEntry { description: string; @@ -18,6 +19,66 @@ interface ExperienceItem { } const experienceItems: ExperienceItem[] = [ + { + image: UCRLogo, + name: "UCR", + entries: [ + { + name: "Computer Science Education Research Assistant", + date: "May 2025 - Present", + description: [ + { + description: + "• Authored abstract and poster presentation analyzing 500+ student-created study sheets to assess impact on learning outcomes and academic performance", + }, + { + description: + "• Engineered end-to-end data pipeline using Python, Pandas, Matplotlib, and Scikit-Learn to extract, clean, and analyze study behaviors", + }, + { + description: + "• Collaborated on research methodology design, defining classification schema for categorizing study materials", + }, + ], + }, + { + name: "Undergraduate Learning Assistant", + date: "Oct 2024 - Present", + description: [ + { + description: + "• Facilitated instruction in foundational C++ courses through weekly labs and 1:1 tutoring, reinforcing concepts in pointers, data structures, and debugging", + }, + { + description: + "• Delivered 12+ hours/week of student support, improving retention and performance for classes of 100+ students", + }, + { + description: + "• Enhanced programming proficiency by guiding students through coding assignments and debugging strategies", + }, + ], + }, + { + name: "Data Structures and Algorithms Grader", + date: "Oct 2024 - Present", + description: [ + { + description: + "• Evaluated 13+ programming assignments for 500+ students in C++ data structures and algorithms", + }, + { + description: + "• Held weekly office hours to clarify core concepts such as B-Trees, graph theory, and asymptotic analysis", + }, + { + description: + "• Managed 5-person dev team building a class learning platform, from Figma prototype to deployment", + }, + ], + }, + ], + }, { image: ACMLogo, name: "ACM@UCR", @@ -28,7 +89,7 @@ const experienceItems: ExperienceItem[] = [ description: [ { description: - "• Directed front end development projects, coordinating with on campus organizations to transform desig", + "• Directed front end development projects, coordinating with on campus organizations to transform design", }, { description: From be6ec0a29727286d7612c5e642fce1927e373d73 Mon Sep 17 00:00:00 2001 From: Kevin Loritsch Date: Wed, 3 Sep 2025 15:32:06 -0700 Subject: [PATCH 3/4] fix experience layout --- src/app/components/Experience.tsx | 24 +++++++++++------------- src/app/components/Experiences.tsx | 2 +- src/data/ExperienceData.ts | 6 +++--- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/app/components/Experience.tsx b/src/app/components/Experience.tsx index eb7cff9..26f83fd 100644 --- a/src/app/components/Experience.tsx +++ b/src/app/components/Experience.tsx @@ -21,29 +21,27 @@ interface experienceProps { const Experience = ({ image, name, entries }: experienceProps) => { return (
-

{name}

-
-
+
+

{name}

{name}
-
+
{entries.map(({ name, date, description }, i) => ( -
-
+
+
- {name} -
{date}
+
+

{name}

+

{date}

+
{description.map(({ description }, i) => ( -
{description}
+

{description}

))}
diff --git a/src/app/components/Experiences.tsx b/src/app/components/Experiences.tsx index ea8d381..9611b6d 100644 --- a/src/app/components/Experiences.tsx +++ b/src/app/components/Experiences.tsx @@ -8,7 +8,7 @@ const Experiences = () => {
{experienceItems.map(({ image, name, entries }, i) => ( -
+
))} diff --git a/src/data/ExperienceData.ts b/src/data/ExperienceData.ts index 2f11b2b..f0924eb 100644 --- a/src/data/ExperienceData.ts +++ b/src/data/ExperienceData.ts @@ -84,8 +84,8 @@ const experienceItems: ExperienceItem[] = [ name: "ACM@UCR", entries: [ { - name: "Spark LEad", - date: "Oct 2023 - Present", + name: "Spark Lead", + date: "June 2024 - Present", description: [ { description: @@ -103,7 +103,7 @@ const experienceItems: ExperienceItem[] = [ }, { name: "VP External Affairs", - date: "Oct 2023 - Present", + date: "May 2025 - Present", description: [ { description: From 52ecf07cd70e163ed5d608385c328b861fed67d2 Mon Sep 17 00:00:00 2001 From: Kevin Loritsch Date: Wed, 3 Sep 2025 15:41:51 -0700 Subject: [PATCH 4/4] 404 --- src/app/components/ErrorMessage.tsx | 19 +++++++++++++++++++ src/app/components/Footer.tsx | 2 +- src/app/components/Navbar.tsx | 2 +- src/app/error.tsx | 3 ++- src/app/not-found.tsx | 4 +++- 5 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 src/app/components/ErrorMessage.tsx diff --git a/src/app/components/ErrorMessage.tsx b/src/app/components/ErrorMessage.tsx new file mode 100644 index 0000000..1e6530b --- /dev/null +++ b/src/app/components/ErrorMessage.tsx @@ -0,0 +1,19 @@ +import Link from "next/link"; + +interface ErrorMessage { + description: string; +} +const ErrorMessage = ({ description }: ErrorMessage) => { + return ( +
+ {description} + + Please Return Home + +
+ ); +}; +export default ErrorMessage; diff --git a/src/app/components/Footer.tsx b/src/app/components/Footer.tsx index d88a6c1..d8e485f 100644 --- a/src/app/components/Footer.tsx +++ b/src/app/components/Footer.tsx @@ -19,7 +19,7 @@ const Footer = () => { }, []); return ( -
+
© Kevin Loritsch
Last updated at: {lastCommit}
diff --git a/src/app/components/Navbar.tsx b/src/app/components/Navbar.tsx index fb0bb44..4807863 100644 --- a/src/app/components/Navbar.tsx +++ b/src/app/components/Navbar.tsx @@ -22,7 +22,7 @@ const hoverAnimation = { const Navbar = () => { return ( -
+
Kevin Loritsch

Kevin Loritsch

diff --git a/src/app/error.tsx b/src/app/error.tsx index 91cf5c8..9771e46 100644 --- a/src/app/error.tsx +++ b/src/app/error.tsx @@ -1,7 +1,8 @@ "use client"; +import ErrorMessage from "@/app/components/ErrorMessage"; const Error = () => { - return
Error
; + return ; }; export default Error; diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx index a3031a4..97e4d18 100644 --- a/src/app/not-found.tsx +++ b/src/app/not-found.tsx @@ -1,5 +1,7 @@ +import ErrorMessage from "@/app/components/ErrorMessage"; + const NotFound = () => { - return
fix this before you fix the meowing
; + return ; }; export default NotFound;