From ef93f4bf48d4fd63891ab6b5c6aad720c92e9e0b Mon Sep 17 00:00:00 2001 From: Abiram070207 Date: Mon, 22 Jun 2026 09:16:54 +0530 Subject: [PATCH] updated the event card in the students dashboard --- .../dashboard/FacultyEventManagement.tsx | 10 ++- .../components/dashboard/StudentDashboard.tsx | 43 ++++++++- .../student/UpcomingEventsSlider.tsx | 82 +++++++++++++----- .../frontend/src/lib/firebaseBackend.ts | 35 +++++++- image.png | Bin 10190 -> 45122 bytes 5 files changed, 144 insertions(+), 26 deletions(-) diff --git a/RIT-EMS-main/frontend/src/components/dashboard/FacultyEventManagement.tsx b/RIT-EMS-main/frontend/src/components/dashboard/FacultyEventManagement.tsx index 288c182..f09e72e 100644 --- a/RIT-EMS-main/frontend/src/components/dashboard/FacultyEventManagement.tsx +++ b/RIT-EMS-main/frontend/src/components/dashboard/FacultyEventManagement.tsx @@ -12,7 +12,8 @@ import { XCircle, Timer, ChevronLeft, - ChevronDown + ChevronDown, + Users } from 'lucide-react'; import { cn } from '../../lib/utils'; import { format } from 'date-fns'; @@ -26,6 +27,7 @@ interface Event { status: 'REQUESTED' | 'APPROVED' | 'COMPLETED' | 'CANCELLED' | 'PENDING_PR' | 'HOD_REJECTED' | 'PRINCIPAL_REJECTED'; rejectionReason?: string; category?: string; + currentParticipants?: number; } interface FacultyEventManagementProps { @@ -159,6 +161,12 @@ export const FacultyEventManagement: React.FC = ({ {event.location} +
+ + + {event.currentParticipants || 0} Registered + +
diff --git a/RIT-EMS-main/frontend/src/components/dashboard/StudentDashboard.tsx b/RIT-EMS-main/frontend/src/components/dashboard/StudentDashboard.tsx index 35d18eb..50fa99a 100644 --- a/RIT-EMS-main/frontend/src/components/dashboard/StudentDashboard.tsx +++ b/RIT-EMS-main/frontend/src/components/dashboard/StudentDashboard.tsx @@ -64,13 +64,45 @@ export const StudentDashboard: React.FC = () => { } }); + const mapDepartmentToDomain = (dept: string): string => { + if (!dept) return ''; + const d = dept.trim().toUpperCase(); + if (d === 'AI&DS' || d === 'AIDS' || d === 'AI & DS') return 'AIDS'; + if (d === 'AI&ML' || d === 'AIML' || d === 'AI & ML') return 'AIML'; + if (d === 'MECH' || d === 'MECHANICAL') return 'Mechanical'; + if (d === 'BIOTECH' || d === 'BIO-TECH') return 'Bio-tech'; + if (d === 'EE(VLSI)' || d === 'VLSI') return 'VLSI'; + return dept.trim(); + }; + + const mapCategoryToStudentCategory = (dbCat: string, dbType: string): 'TECHNICAL' | 'NON-TECHNICAL' | 'WORKSHOP' | 'CENTRE-ACTIVITY' => { + const cat = (dbCat || '').toUpperCase(); + if (cat === 'TECHNICAL' || cat === 'NON-TECHNICAL' || cat === 'WORKSHOP' || cat === 'CENTRE-ACTIVITY') { + return cat as any; + } + if (cat === 'CENTRE') { + return 'CENTRE-ACTIVITY'; + } + if (cat === 'ACADEMIC') { + return 'TECHNICAL'; + } + const type = (dbType || '').toLowerCase(); + if (type === 'workshop') { + return 'WORKSHOP'; + } + if (type === 'cultural event' || type === 'cultural') { + return 'NON-TECHNICAL'; + } + return 'TECHNICAL'; + }; + return { id: String(dbEvent.id), title: dbEvent.title || 'Untitled Event', location: dbEvent.location || dbEvent.venue || 'TBD', date: dbEvent.startDate || dbEvent.date || new Date().toISOString(), - category: dbEvent.category || 'TECHNICAL', - domain: dbEvent.domain || dbEvent.department || '', + category: mapCategoryToStudentCategory(dbEvent.category, dbEvent.eventType || dbEvent.type || ''), + domain: mapDepartmentToDomain(dbEvent.domain || dbEvent.department || ''), pricingType: dbEvent.hasRegistrationFee ? 'PAID' : 'FREE', coordinator: dbEvent.proposer?.fullName || dbEvent.coordinator || 'Faculty Coordinator', image: dbEvent.image || 'https://images.unsplash.com/photo-1517694712202-14dd9538aa97?auto=format&fit=crop&q=80&w=800', @@ -343,7 +375,12 @@ export const StudentDashboard: React.FC = () => { return ( <> - + = ({ children }) => { interface UpcomingEventsSliderProps { events: Event[]; + bookedEventIds?: string[]; + onToggleBooking?: (id: string) => void; + userRole?: string; } -const UpcomingEventsSlider: React.FC = ({ events }) => { +const UpcomingEventsSlider: React.FC = ({ + events, + bookedEventIds = [], + onToggleBooking, + userRole +}) => { const [selectedEvent, setSelectedEvent] = useState(null); const clubInfo = useMemo(() => selectedEvent ? CLUBS.find(c => c.name === selectedEvent.club) : null, [selectedEvent]); @@ -130,26 +138,60 @@ const UpcomingEventsSlider: React.FC = ({ events }) =
-
-
-

Summary

-
-
- -

- {selectedEvent.event_summary || "Details for this session will be provided soon."} -

-
-
+
+
+
+

Summary

+
+ {userRole === 'STUDENT' && bookedEventIds.includes(selectedEvent.id) && ( + + Registered + + )} +
+
+ +

+ {selectedEvent.event_summary || "Details for this session will be provided soon."} +

+
+ -
- -
+
+ {userRole === 'STUDENT' && onToggleBooking && ( + <> + {bookedEventIds.includes(selectedEvent.id) ? ( + + ) : ( + + )} + + )} + +
diff --git a/RIT-EMS-main/frontend/src/lib/firebaseBackend.ts b/RIT-EMS-main/frontend/src/lib/firebaseBackend.ts index 626f8fc..8d45b10 100644 --- a/RIT-EMS-main/frontend/src/lib/firebaseBackend.ts +++ b/RIT-EMS-main/frontend/src/lib/firebaseBackend.ts @@ -506,8 +506,15 @@ window.fetch = async function(input: RequestInfo | URL, init?: RequestInit): Pro const snap = await getDocs(collection(db, 'ems_events')); const events = snap.docs.map(d => d.data()); - // Populate conflicts + // Fetch all registrations to compute current participant counts dynamically + const regsSnap = await getDocs(collection(db, 'ems_registrations')); + const registrations = regsSnap.docs.map(d => d.data()); + + // Populate conflicts and currentParticipants for (const event of events) { + const count = registrations.filter(r => String(r.eventId || r.event_id) === String(event.id)).length; + event.currentParticipants = count; + if (!['APPROVED', 'COMPLETED', 'CANCELLED'].includes(event.status)) { const conflictMsg = await getConflictMessage(event); if (conflictMsg) { @@ -1049,6 +1056,11 @@ window.fetch = async function(input: RequestInfo | URL, init?: RequestInit): Pro }; await setDoc(regDocRef, newReg); + + // Update event's currentParticipants + const eventDocRef = doc(db, 'ems_events', String(eventId)); + await updateDoc(eventDocRef, { currentParticipants: currentParticipants + 1 }); + return jsonResponse(newReg); } @@ -1100,7 +1112,26 @@ window.fetch = async function(input: RequestInfo | URL, init?: RequestInit): Pro if (path.startsWith('/api/registrations/') && method === 'DELETE') { const parts = path.split('/'); const id = parts[parts.length - 1]; - await deleteDoc(doc(db, 'ems_registrations', String(id))); + const regRef = doc(db, 'ems_registrations', String(id)); + const regSnap = await getDoc(regRef); + + if (regSnap.exists()) { + const regData = regSnap.data(); + const eventId = regData.eventId || regData.event_id; + + await deleteDoc(regRef); + + if (eventId) { + const allRegsSnap = await getDocs(collection(db, 'ems_registrations')); + const eventRegs = allRegsSnap.docs.map(d => d.data()).filter(r => String(r.eventId || r.event_id) === String(eventId)); + const currentParticipants = eventRegs.length; + + await updateDoc(doc(db, 'ems_events', String(eventId)), { currentParticipants }); + } + } else { + await deleteDoc(regRef); + } + return jsonResponse({ message: "Registration deleted successfully" }); } diff --git a/image.png b/image.png index e138de18cda6d327952c0f9ed03d34e3cc2da202..d4615ea671bf748029ef2563829f648638a347d9 100644 GIT binary patch literal 45122 zcmeFYRX|+JvH(gFBmn{h1`8Gl?(P!Y-CYI??k)*rkimiu?h@SHf(-8N1cyLy4Ki=` zJtuqbd*Ao_dmoEo^{Q1>U0qdO(kom=N%}SFTT}!Dgx9h%5^4wth+qVSXLK)-;Uf<@ zgV^w&XRd0}Vh9yu#0T&jL@QB6Q3QnQ7_4R+CmCH=1O$wpzpiKfj^E4?5GvFY#! z<7)B7Uph+J99`@s`4_DJ`D6Bx!?H2D@4t8Oq24J<5XGOTVlSVm(PIAtO-=`R_0O}f zVzK{0@)y8M*&La_v5I{Hfd4@$A%iOU502;gDwO{`6Z>EI-~F5Po49}DNBB4Cu&@8d zk0|qR(qH};{ty2qP4WLvP3-0WUA28)x(~(H8h_T#npo~`zEW%?>220PvbD->Qkl=(c+$7DC@q zl9(z}hzq$41L&8Ib-|=w1L+^_8671EKJ;#)!XM}G>Pv`_GYgLwQ{^fEBo$1`-NW?s zQuqHTn)Szuy^WSkW6tx3%~+k>e3k8KJ=10Gq-*`xvOMg6@X1H91sqb0U(q%*SJ<-l z#oKNdm>1)N>(qFogY9i~&p`jx)UZ!%$m1N_Xp)g<56)2%ha8qSaczewbE(N&UlsbC ziRHl(e^gZh`X2cFBP#O`H z@A|gG6ot+JnoDik!h+!H|B-4kP65EVpPJOO${sC$LvmQ}IW7(es7r~%X15&In*3+3 zSp9=jsa}jyE6({4r3jk?u~;>**Gi?=5Gvyzd8hLhJRDoQl&_}hHK^p*!%;ff3GmDQ zA%sOUfZ=nZlZ2Z=nW{643kJ|zqwbju57Ga5e}ss{AW)zI6xU^>Cw7PnuA_(zGu36f znfn6}7Lr#_ffr-CIHi+^Tc^YY{e;Wu8!sI9M=ZVFsvjthO_m$hD+ZGH8FOVh{c{Eg zg4vLVr+R@6fbhTZNMgqbEHog=nda-vB&4>em`94{Oz7c6@L8|UI7z=iq`A;47`lfri`qiYY!oxjgz z<8;fRZJGLJf?&&JIQ9okSmB28xH5(v3E1c+0y?jOiw}xpw)(RS5;!jD*&EXN+?3GV zzNsou?mjp-q1)N6E=lPh7!Ghhu}1l!4_qjbA&daY2nhr|I>u6Rx25Re()_i0 zDS}zG!sr-9sV3#~iKL|Jf0mKDFrmAle26GJQBfNc3#~MVo@KfmAO}Zt4gTAahwbLn zODRrcnYXlj(&4S=m^P`KQ+LRt`Fk$Ad5PUqTAT*d&|K&&>ntQi3$Y*p-HhoEK;5U) zx5l!KIUzGxpj;qsII-1lxxBxbOpUNOAVibon0?jzU=t=b>DGl#nZd_5iKvvs7${<#USI}KyW!V=rp)f7+ z$Yq{Go1c(b-I@Cj^N_hEvTPmBNJ$2OqV}7zNcl#NKX2!{-_1V;G+37v6pO}Zwpm4WdCuEy;J1wpZcn^K@_rWf6p`8qUCoNoEH%^J=#Q-BX(_D{N$L4j5&?thIgr(?OxXo=55#TNnCIl3R6L% zSW;OAEnMRb8b}A{H}$LFGKn)38n52NM`Kx8^vMiWD|x^{h0W>ZCB)(UK*k%jNUqhp z(~ukd+|Z@DYgK4qQ%(hWt>m)!HuruZ<^0>W*WyHObNa_t4VN}MubLQplDOeHisFxq zXj-(XM1)!2-lTx(+bwi81vd2()O3=NV*9~;tn&sTC?fgY?F>wn zy6um3C?Qd@(U5YBispo0HO_-)HSPmvHJYPsF}P@dg=%=_@+l6%Ws%AbO{fL$66Jm@ zc+5VSIcpqiFnIO_L(%oAqpL(jFZ%Ct?B}2Ye69Xe{z^7OK)8T%&L!wZq{kS}BrLzuum__j*6_;J($96l zG0oAm48$8@&b6CK||9M4UbR8mr-Ku+OXCu2G#`QihK=lR6Au zT@-wu3Sed`b-9NVi_>dHgzw@7tdK4b+hsftm9VUXYBOg-AVJmua&ua0)`1I`p+WjP zpa+Xh4(;1C!R9zI)x2W&T({+YqbK_l`xTLZWbr#^7o+fmohsqAL5o!)@B5GzJa z`nyBiyNP4{+q233g+vn5{DdCW)D9h@qN1cT8e8UFPwfo-dUQThJ-_Ll4UYSh&BIVK zGii^oJSe)!zPnm_>d{Ur?%pYcC{wFGa{u=`I0KKs9369tj64m-4P-+y4HbhhDDjfI ztex+nRG1|6RcTfB@G zToi!%c*Pn)<`hQtk$U$ZtE&o!#rfmkrwuDJ0d!N%*_HI^b^k*e!Y7pz_7N;rZJi=- z5VQF16RmL9K;q6Y%Mt)KKqza`6Q8hBhs%++nB>WN6zMN?Lu`XP znv-CC@45fk<^blh4$^YQWryVF++RgXVSzDif~<}Mf5qGt&>VZyKR zI!TJ4IiNAWmk6xm#$(0gzMiqPO|bejw_kqzf`BM1xmpHMg%&_al0hqC6b*@BX)$~Y zBp@Wo`fHrNIWnfm*-&H;?y1ld`{i)}crMKkk=|#5Jrexl!p5}y+g{C0xyw`^sN>VB zWh73U6u71NvOHUJvllNiM;hHqo)?w zfvPe9C1O|BS$tu8#R*nu|9IqTr%MvQV z(hxd4DK~*72+>B`Bc}48G812AFC5HL+T$B>1hXK-G)3&8D9DfT>2j<;Nk1x+=T1EOZfcJT|N{1Hy zR_DPN0hpgA)iOm^17GOrFQ5{CM`lFF%YLnMyR~Zj0XWpDd^dkPO&v(T`&z5K3R{m) z=piLin`Jmg`@!Bus4p;xu9FA`IlX)AM;vCy?bK$nRrA)}>DLw>-?lAI=jQWwS#wg` zxd48570UGNW02(y5cwtIwJqTHcq+bO7JaZ8&9&k`nDt!64Q-|Vk!E}K6`W z@~#WAt@aR>mIvWk&Xf1Qeapx5`}XitfB&Z6?DAnHEPaX`F4;|c@GCY5C|}Pzv2r~Pnqr!R~A!S0?>12)srGObv^kpZW!tyBOj2a-nK!emE}zQb%ZLir^v@IPr_B0_8U7y`nT2^%K$F#aHGDwwLH= zR+s6Wm27H4FH7cC&VC1dG#cFc1qs9|e|WKZ=NXV1O8q-n+u4rIJ~r^$7lE~JOTQ7u zuyyyW4i!}r7b&4+4^x;-Hp za{0Jm*u0U}=@LCE!fa(dJE^XcW@b=RaoBva(kau@;yBDx&5#Je>u?L!Uv#t1b?9hj zSFm_K(^y4UPaL`N-4NEbADsn6ax6K&cm<0N2*A1{rbp#c7peWZNe<8aKkwY=-rb%r zzl7|F^cidIT!dt$6#p(O38b_zLWSARUcCR*Pmjld2idb4fr# zBu&Qz1tH<#J@PN9@0fkxUqC!iVCFxJ)M7lL!{p5xGp9>@U{Qs3yBILNFU?)O zL!>Ql3go`E)@Eq19w&6JU&Ea$LcYq3iFqUiTYS}5e5QTH29lJFq2|X!R!l({3yy(Z zVpf-eQRE$d+eRQm!BTsKnzmQKLgf{q8q4*)|NP<2QIG!79zqKYlzIwh~`E$_L?Rhi&t#JwEK< z>pltH_Gq+qf^Tp;I)*%V@S}S?2^32GICf6A_W;6cFxX7Lw&1r-3(alw^H)KEG<&56 zT36f~hqAW_j+#cw35{rH%oUQaAte!K@ufUo3Vyp zWMg}%AEZnms13bpob zwirr*?$N8OZ2XUDl7~LdzhQ&@d`gjL#+Pg|oV##^{89@$fR`r~N^8W3)|j6E=#HM< zS-0Bij^^4~zuA@!-le+5=aJJi-lo;eJeKZ(A=9jExCL6miUfPiM_~0XYbJVC1|mnw zEFzrgMrSLt!z|-mJKpcrsk3x+4`fh8}WkwC&K}Z@c7S9SdDR3On=d36xa&j6zq>QKV(n$OE_i$zT<}74gsY;3V zVZ7x0@qW7d<_&Y(rhn)K;EXFtRDVPd5D6Yi!F*%}INZ>uDr?k=US zE?ei`SOrzwx2z%evGUso2K}uusgabG5P2$?z9u}p9B;2didBzITl_XsaOkr`QM2vl zoFEs!Tp-kcoSt~$o0-CH6sx0?$)n3Sr3cil?M$E5%VXGuJdeeiPJ2vpe{TNX&OxrY zL~Qb;lE2gDclE~sD1MY9NzD71$G_k#8kfALf+a)P}e(jp9O0oz2}%o z4wSQ&%MN*aF|&d@>+^fxuS=TGLd~tCL(SEc|8$F~B;+a&%zmpg|uoicsh;`d!|A6Fa)j(zs4( zh`p;R=)NcJFll_xZn!&B9RI^|&5+^CC^oN5n)^j+8uyU9+IK*JBILXEilfp#i~$JX zLWbq$ePJsUbXu7-3(*$7?0oPrS9ZImGirEHs1P`Ln{J|zo^yow5f?q0q(P20MwR`} z(Mwmec{$So->A~ddiNmy@Mz@Xt}vtMnwstLL0#d|FPe^ELX{{Ynmcd>lzVpj$TaV~ z8Y`Xas(h9(=I(dDV!QBl|M@$}xEig+<7cfrj(OHJ?`Vr%3x$iEIhA^197IdlDgC7T zwZzE76aD{`m@^B@d&tInxkyiz&g6yL_LBBj)YB98cU`U8BloT|!O!KO&!H;>Nl1FL zzn@Hg`ldbFMj_KHia5^=XPN!B2q{5%lQmXmSz?-W|5E)4GjmUs6R$dYht__Bum^&< zI=-BFOPJT+bfK%Z>~~wYcd_dZ$qv?c+Pm+g!IR>9NI$qydfD%kTzk0QQL`ib~L z_r}dLX+F(>ITT(e;EBgV>p|RFN|1Z{v5lyII55DwxH7U#DQcUWc|7JKk0Js?UT&a* zpp6i~gCetP8TNzqffpurf};{X=UNBT)r^Xs+9+qq>--bOEOHCi=4UdD#N!vVcoDr@ zXXgzGgS!Mo@?^CI5H;{vG{BxNP>8h;o-#NQOZQ>eB3R-90kgk-TatN2(YTV`>)rvt zeFZ8rUJ5GqH<(}#?;jnleb*O7F^|b8G#K+MYyv}@HOH_0w$ioXC4y&Njb#;wX3N}q zwu|5Jbu5^fhUqa^c=U$OQkm8_`!-eqHt1>dcrzn>~Jk9+nTZ6M=Vrqy-w@A`EzAZvDez)xGe|8EW>cHH&V?Q}yuRm=^!$ zuO#QM>O>!_AiGkI%C}W9+$#IDim?V4Q&D)zY6o%IxCKTCLa|t^$+(^fO3(6BMyg#Cq6g6d1q4Df7M;@q}*ab zM486D7mi3J31;?f@igvb)Q3p}zRbFnVYcYMw9*yrhrMUPqYoFw+Er|9-nI*B#ehqy zB%A{1j}x~?Je176MAwuF?(rkxS1-(0D0C}jCNE_4FleZJy&O*H+F%I`UY6ssI~E`s zgCvW=F85f_vSxBH^9A09LVZ%DY{fwFUm)^KYx*uPqp}*+e8GMZ*V-1+u z3pAR2<&s19F4McgIs!NjpWEnSujFWV@b8(A4SI~rI}<#!9?H(yyB%A49HlKpTC3o4 z(@Ub>UBC^FR31B7zzdfM8jIFwzW+kZg1_$8FAv9vU{2q0sv&2(jCZCJId-k#O$v{6 zRC4==B?Ps`T$7ax9<(H?lf|uk<1{2aRrrj!L*Plc*GN~5n|B&ItiG-jX74CJHJM4z zA|4HiDpom-`1JHN7bEG4^Z1uqn!caPl_6I5$^~Q|X=t5>%Ih{1pum#{n!QAskD>12 z%u32vQ>J$pDL;q^f*hB+9d)6bFEOL3Z@H;gnw6T68mvMVAY|mf@WO4=G^;(h3zDV} z6}ace_AUsvcyb^S$xz&Y+Fftb=&gjt@-}TVZHF(0i>6ZYe0Bu~5%tbeE`+690cavY zXvwD%vM$X{g5#z9&PX=7hOS4j;3YU}g0|l?<}5_mhB~6!U24S=)jEuh5SKT# zyq5e%KBDuS<5#S=G~G#anlE;S&T6U^Jli96~jzOk*I#hLuLjXT^#0+!m8S2K0)lg4dX0NJN6sUvMy-V}=d0%JHb@F` zpbwWYo8zMcpaLQ!&8m~rX}J(!w|kA0ulkL@3EpLdAGSO-Ni-N9W02o3Lf`if&yoM@ zGKa^qI&X_r08h;DLm-{|~>MgeM8{qvoG zA+yl<`>gT2dS;&KM4W;?74LJR0CBvCyU~NOqU=o~_mex6LMm*`Aj#?eY-1-U| zs7lK4>AIh=@l#0KUr$1bS@i#X#l(uK0%OHulS_w!?dY12s?n9MO?$!hng3sxUL*kgHUa?dJ$vanvN6W<@Jf@^Y3KXW0wtvU{fGr; z)<#GD`F1gTRxX?51#PpPQhkH$Vm~*{pvB?WEeqT5T~(LG^glSllSdY}J2yh!K5BDv z4_es1QvTGlp2wG9zzwh4h6HN=1x##Cw#*MlE(tFa!);`AR3-<$>^U+s>N^;^oIG&6 zFK^1@#&>C&?MVJxkS4!hm?Lkt6IP?OVTE^Lqo;En%-{b{sd|IVjw-ACgUcd6WlXs^ z{O3Q&#nO5I-CzHIHHrW3v|;^!(c1q2FLWz#>Nxhz1b~OUZd=)&PV^YmiV>sjwFUq5 z5WeVqutaZr<`naZ5ZQ48#+LWvbuiC!OT@OxAM2*DP{FSViRc0J0W?N$&^ApKJU_d$ zFQk1JM$^#0#H|Ma(YJ7P4dx~3KxzR7piacxKxKR!nt|lie|1e1FuK~q~Q zOUTEW`{`)IdMI;!;H>!X!mp1;v$ZAn9Qgkd=|68(Zv)6aO$Fm3<@D!V>bO<(S=oPC zm?png2oqUnq2MB<18@=iBUtN?#{mN{04k68$5I%uX0ll?*!3ANMC`#OtdnXA5TiE}CnJX(t_EHIoP3a&W>|Z1XZ&HK zF<_WHK77pC?9ygp^(h7w_N(N!6~&EZe<%C?AyAVhnKL>3$GQTvldw}Weo*Tn^8$8- zalb_Y61g&S44TRMu)LhBjt8&pzJ)94p9Tyk$qCl>6DBIpU3tjL>Lg!uOg&rE@&e(L z$>eqO4}+ui6g#$Lg9*c9XD3fB{IAiT3RL%;GDc{>0&y~GX#dZ&=)9!K?-R527ZoRq zUGwgPf+kYB#uo!bWmsay7Mm2_x`VP z#0MT(`7N%GYRNqadznKQ)W7rd@k?L0dWt^niQcs8e_zGV$m6yp$zMbK6-bs*^X~sJ zv#}lUviU^xN%}{WL=kD4(X(o+TWHR$X24-iL7|fXAOH!Z|M+~WdVltbK#JrfN-0JA zf2+VG7HZ>%WByKo#8w9Ws|B-hbX0L|&LffzJjEycuXlCp_9r@K%AwJizq59pe-%>= zhI_03_RPX0)qRL-U}$$_;%6QEGbxK!NaZ1!uficgKf}hzb5T1(E{h)L^f)HlC$21H z+9>%8j{i6JW}@EWxWQ^LYJPXiIlZt>MC{6IeT?ue^;@QVkyp(p5=9yl6OR@$9o+mm z7612D^UmkZWQf6PzLUk%>asFz=-8E?dTn#nq2aVEs41{dM?87z)b0VOOKaFsb5Z|W z_9JOiS~7vCF6+pStZ>?Ar4P?l&#$u0CW~`3!Ja(>hYx zV>It1&0w!xn0~0R7@YszXpfK9zlzpV`FS&AlCGnnGh_@?I*&#HRr0meKkdn%)G+md zhxw!93f!9UpxX#?@7KKel0{&U`4sB|>cBcy#-@DxtClB@w?gFqdx@O8Ym7rj0>=ZK zY}%JP^RzZKu{zoLH5nT=w8f8GC%>`W`A!J+Cz)~lcX@b8nfqW_Y+i`orOC&RC8#8J zO>be+oTQi{p?w7Ch$$HWOU0ZCxf~UpxZx0uF^ejZ3_8e@$Ezh+sTuR+ONFoUl@ySG z6}UqtMTYfKKQwaVK9MDuSF397)jVVs5Amh9O}vSs5j;s@gW&QdpiKe?{N`A&aR1US zIVd?Px?ILX#{LXnnmu#RW7)P#wA4C63X5c3$F-+;zld~RzvO=;W5$ghf=x=bwXwOO zg^OFlA|+1W7WN7(p?8ObEUl~KB3f&Wj*Krp*p$HPC0gy+(5!*At+quQMPiT%hHh-C za*|TD$uK_}NQ3ZMOy}HG2HX=sQAt6^6sarBLY*=IK-j~5m%`|-IrHN$j*)_>KCQQC zB;H?iUOp8od=&u>)#n_H1&clLIegXJaZGy(uLKa`$tTMLAN)39B4Lty6?jHvF;?Sm%Hcf*J@QT_`(@U$I0NUKu*%R+}v!0 zdhoX!{9@68gL7;}Qt)Vx!@wVrjAF{x<=W%XaFvrFW*ar97H3S0d@2~c=RKX-Ns5US z-<%MUinQg8Jbyvkh+G<6HIQ9zoNw&XMlKUL;%Ko+0#?cx5`G;Qi1_OSF@1kV_X6Iw zrbd&v`mx8pFwP7$7=zx5boYu#=3xbrUOrL0&EWWtorKfk)bS3cV1u$ha2j`0h>OYU zhuoPUu+U!bC=_ErvZvKQ1xu zHkQ}Jf8B~0GVMkj4>QtMj98rt0PHmpC#qL4BmF8Sh%Q$Di$Pxkb#zp@IcJ`a6B|Gw zyv=#9{TtQ}Z3JQiAo3?ABi4>W_|)^gsXj+jfCmhhrVnPh+~bAT9Ga*_cVSA7CXuM& zc^S00q2v+vR+!z>pQvktX$ z2BRi&f|F}xXr-H0r*TyW3i`W|AJ>vOpNWc&K2E$QaHxp==fmfY+g!U6`NMWiqmJwr>W1 zy+bz_#?MgGe~=9LOnX+dpTPI3^~@(CL!NGXF6q&j;I7?zrqk7M+%tDl7k)zSug!y& z08&TCX!H4794Z*yo<2HnJJ*d_t`FD^2+DCH3Kp9zH0w=_jAzFu4XLA3G3d<|OF(U5 zrAj=C-|I#oR7dagv5m9~Dd$xmign0!h4(P1JkP)l^|S?5+hUeufD z=^ViCS1Tb5x1fY`SGudPPo4neu{8eV=6a0Z4WE9NM2`pkwb8M)?#R?3dK0i0PE<)! z&>I0OJ{tqyvl7%4F2L`Da?R%w29hbFriBa72;Mo$Me;bshW+5;b|Ei)Ly&E4(5Kj8 z8X=+4CKYJFuNv_RS=D}q;>`w9(sC21OllMV;ccS~qABxg2vYzjxC&(aK2RysiZ(Ho z5(4!#*{5Rt9g-3u(L%JehQV-sTQ2=mh4NhgmdhbF%tdv|zG+S=LW(6cIxteIYZVh1 zh#Li_reXpo5n%Rw(ax6HGHTOM`=GFxpYVR&N7_p?cHm@cikO&jslLu6j9nD16V#Na z+rD7Enw~JjXXR}>$T*?yM&GjpPffz`2chm#80A>lX447pFD}w;Hvq<0w?A z4vy7EP2jTSQwJ;AcyXs<;6m8A=(mILv`6QBl=Aj9oEZs~%gU?;sTDdtq6UzIa)tJf z8M+-~h+6Br-STxfHEZF@@!Hr#2Qi9QYr&4MA@J}jB=(LtUu1LrI)K{V5fqIXEGJQv zjs--As$CeyBP=x3*Np=&I-h%nu46OZOMY`b{3tFURoSi1aCWInQ2#m3{Z)m#?x_7Y zErs-VbO0t2WO06L|EWj~?{p$*Imw-Fv7A9>Ng8N^WLjj@^RCsZzIL%`I2U-SN+b{i z7EjZ)!soR!v=B4P^}H?X6nvq?+d>zvxrOXlfCaYJwW#)(WEw z^C)d($E%ukuu?Hz;IlfIP;Vw_hD-N@ncqbnCD9MXV(ou?F13q>dYuz&qjV<+8GTqrNV1LZ36^+NW4 z%@I8wTe{|a`r;zPJlUNkavN~bun?&?#PpQftS_ISW}++K=qthd;h3{1Te07$8`P;q zhYi9jhpyZ8QP|uw>_6x@nOBOucrD^|Wx(klA>zri9ry+i>LB33(@XtB53;#5UTEHl zFy2DTuRD?i0PAIin)VKJxy$F$qDdAhF*ZlQZ7Lb!nEK4cN<3%ZD5#n9!xBKRubk6bB!rkxAM^q5` zPjQEsMyqmoZjou5LQfgrP#YzR6u_MX{A(}9pp$g&JILh^da~;Ew-?c3PgYMYDorGE zn9_USI(r!&yCyV=Wo}_5O(MIAJjiRJPME=-1eIUm~iOpiNVpIO-c4OGEM7$?i8B{A(DN#qQ`I0p< z#c$e^EV5?8ZNFd^seG}YDpg6{uy;n5!HulUf(}Dt&4#H*OpcD&_nAw|6AuBb^`I5A z7-RoITjsHIKcR)AZ+%?J({Q2eZ9rS@l*fQS(YeT#KE`aYKb{WF=lV(5yfAJVhsmwv zkK@Wro;#F@$Jw7culor4Xlj}&A}kSxkEC1?hJ9ZS`(q9JB3K~jVy1EB&8xZ@i4Qj8 zDQ5vP7~#jhXO_;pbhyiBQfbX|J{pTP?lNz%ZQ$yaaH+~Xv!`z`Z^l=EUe|P%kzDMj_{kVTi-lYou_xady;vY^k|ZDblu`wJJrK3jV39rRVyeHYr#6lk50t% zQdIYe31)#G1_MOh;^1FRd~^5i`d$LUYbQXGL42`ag6G(2La&EYPmdDe(azZ?F_?yp zGwokH|C|$yL1K(8xsvNl$a9Cs2)zePrPN~V3gFJA_M-Gc!W`}`;GW zdfW$Fa_=p;8irDL-8}YJWbTfu5FSq5IlNfSn5fU^>lNvBhc~`6Wvyu*#MYx%KCC;V zW*u(E8tIKBS9cv=2`ZHD*Kc{(31BwSV5OG3{L+ex8&QC_-ou>nxf~+Kd}!1=8t_^Q zhB(3rY+JAr?GJr-7Pp_^Jv#(fN`3+yhpwHDlRcrE_WguK=P{JMVyss5P3_M{co{&4 zJ{ShIFhP{qI*v&eUQ`l^b`C9e?MiF4+&nNbAb4kuG{as`>Pn@ivheFIN+f^R%{o0? z(^An{P0yKDQ)v@axb2w&L{mSW%}M0wOq6^}WRcN#p4ie$5}TjUYDwEx08CVD_Ubih zsxn|C=*zFN$PlTNHd3Q<8Sp^7s{p7?Gp(Aczu&W7k6F8^o!3uX@daXSz=M=C6iAGc zwJ6$B$+x;$7Su6L8E>X*!XJXK;gy2hi>@WCjIG{e)qP`3%QpVZ-yHkD72M0jgis|l z*-qXy+yl#|Dyt(zqLnHJzgYl)fs*7;4g2{8(x{T<#b5f9A^O+?+ghErS`2IT4*Vt1 zlhmEY4}|DmbM5l#tf$Ez|QierM@29!OuHI zTW_apPUa0M@L3S=7qmKbF4_uQ>MrZun4@&r;o%wDHjYo@`^tI_Q<4V2h_@D$VO|f?8G}+hWn3q`_k` z_nvh6);?U6l~GdU7ksD4d6P(*Zfi0PzqHMl1LOwp+6jlrJor|_|dSysNEL`k${ z)+aw_-ZBz?TS2Ct8)zmXvhb+?SMTlVrM<#i*1)!aV|(5H1a?O$xWh}?71wF*jUXfSjBLge`fz9I7oTBY=U0vDZm z(ujns<6QkRn#tMf)jJw{K^pQ(JzHmQ&apzD(ino~r8rVk9W&|XS)s-+<$ZMx+flHxI}l=%$Hd_HG|27Yn-ra-Q-v8-T@t;1~p#|6C?L9 zYtR8xz)MU;lXQT8dj=)&ZNjz4*8bLRS2_wUi!ef7AR-hcPu*{DUhGCYcM@q2o^Ftw z7-$a_@UgRwcvWZ-*-Ms`hE^bYDWzAK+o@KdHV)&rtrj{7zj|;kOJu5@Yi`R>fRGsmey6}0X zZmtc>XnQ=UOI2bQ-(v zqRkhY%F)WQEi&dujZaxbNU$<|nr1kEVRhf=T<3Rg=`6dh>35Otx*s_bK(X27MO&U9 z)-Pcg5fD-x{`im$b8fIyZeuNTkBl-bI{T?fv|kQ{XAU3v@x3NS?iyzLQc-oS`Q6(J z`hxYtKF369oBO$?=S*@oZz_xzIK|N=UAaxfg2!z?n~veW?X={xSXJ|)D4=yZm9f0)XVbU?BAVvq3t9#A>dwIQZqCwZkGL|u z_Vlsa2S*myx66g6`UC-7UedYhe)f(xt%O{ke4@E51Yg))zMrB{Y;q`iKOBj7rixGdb|65W1W7GwCVW&-b1OLqT`+ zzgI6O`n_jO+?~4`w9h*fS$3Cj{p**{%`s0i`vbZIqtUh3(G4<&#jDDYr;f=?8!nA9*l3W!|-smEd z7RXgq8%OgGXs(w1FCMD`X_Fu6)_^708~!zIT)iVPRoWyNtrUVzZgF1d)vnqHY zfoCmJTAH3d$DH2x#O^FHc)<$sFA8xP3h4m9_D&j~zKlmjYe2|n2OqZ2ZM|$Pju7bp z8T8TRyBlRbZwTJmg3S+kJ#;MnP)-(p13NM*4C{o9lnuRKi!A!NaQcbyYZ4cM9Lh6! zm~nP{^_>&FksQ{pfNL#*C@AedNA0+>wtRsBeQ38AnzqGOcWsJLnQwEv)Z@OTNb1}B zInR)%p?rH9x)?(K!#ZnkvLH3-YN)=STc#NiUo>6JX%2oRB-;KFds!CYuR0Vx*=R;6 zWMA!lH=_S5sBXRGRrP08`u1&PQWb_lrcYr3kiS znJowB&Xz@3Xe;VaaUL9n1>INGn-)^-@U!9PJsMJr>X`bwffOP`nIl-OHSf^@!4c^a zEZWy)ruI-#Wrk3in+*MVirDcw4dz$KFDhsXNRnt;c)4cv=d%(ooUm7H4C_|-@f{>reO|w-r^}q#w(}p~Pm< z!Fi@;@JLSVs(RVg5EV)Roq9k=?R@t_k0+u*Bu46?wZWnTD~cOEPb*H@FUjs_sMqhv zeRG8LZiuX@SJ`ONoen^=#XU>soih^^sHjplSPD3NG^$>bV+GliT=7*&_u=7RLi4MYEFl9z)xOU@0{da;Eg{x#v)f;X=GYkFpI^` z2ixC$C6d@;a*@K&Z?ASXNPEDgDe!Bxfw_<>x4ofknb~K%h7Znt5wwzRMKSS^`A(t= zc;?=3-8>-yuQcwJx+kB>U}Cy>T_W;>=+lmOgf1J#l_TKalIk#V?#}pmzTz_aocAbA znEDd6c`3KlijcvFx|JqHE%QlSns5*_>k%#T(W z=ZaMFKY8H3pQC_+{>tb;-nN?Nk;7gAL9gb&M!HXK5nR7s8PsoB9V!R?w0v0_UvxHD zYur^Uz{n~YQoFV7v=45KO)YBWr%Y5Vkp!cWhN!a4yOif!4vS6~>sx&|e8ZwY|J;EC z7t9D)WnvFlc!>H498ijM`W9&S6QNlv?y9Kl-2vWU0SEj$8jd%2Nv+@v^G8_*>(U-J z_L9UF$&s66Zing*9c~o9PM|H`-lID{BlzKyy#t-L35AUQx|E@>8Sx2KU+Wip9tC+{oT!3_{Pc;70{vk0bD7 zpk%wYn1N9Y4lqW@+Kpy~->L1xaq#+ys!)A+c7k z_E`~)NZNd*fp|K_%~9v)#v?C+RcAt&>zL#MFy<6fd8JoTGE}?VpNdS-p6SW~I3f3< ze9r&7fnYSo>Ufr8d$=*6MABu8+QxI)_7oftMx9=5Yy?M zOG7KSH>oi{OpaM$?xfbSpmkxi->^pR&h%LD98ti^Cd!GJpMPv~hoL2J182&{vzq9# z(2ksDEaS(XK)_fQ*~*y8ub!PUK7MGLaz{v~VP{-+qQ4>2bp3J!cUs)x#;ABiE}`SP z9o3@K5LhNcU!0tyD>g4L|3ZDagvxim###6Ax}1D@Y9H^Qg0qqd9NB;S;|&Hzmd<=_ zX5#Svq0ETA|dyKt!Pyeg+k-i&?Qbg{{0@*sxnid{t?{`yVc2fSezNJJV zofPuuZIa(fp6dPT3+x|N0kKcKk?l-xLAU~4{LLHs0MOBtXSfyYxrGgSUv8Ya`nr9T zgY{oV!YGsT@^l3q6W-1>j>MdFL}$p@F!y|i$?*1NV|$8 zrPDrjqb^*~{cWv(j4LO*Awwvnycrym*^pAfpMfNwV{LhG_N&eQFy_{wrDNUEsBY7y zLgaqN`u2-VjbPMf$wXl)3K@ByZ`hfo@=CY<_6c%SDu zcK(^2W9FKT^^K-8}J2spW1@UR)-;cjfmU3p9dB%r-4Z|je!-SOzLW7*-ykFj*I$9F0>$bV49xJ%K_o>E)WnD|37 z)$<((N6d`2tPX<=uXuMnLkP`2{gx^E)t#2?n|JnEqK>o7EJ*Mad4!ns3W;oPf6-@; zv#K%%Wj~7_If|B^UtUBF-g=rooMQX7MgNf@?#@qO@>JqLg3nQSV?pO5b56TtUo8Ot zEqV4|4@}feeaF`sW;s6(kfvWnNUpfdlKXn1U<$YJz}3xK@y41WiGi40&iV{#ksG^v z|FP!VURE7=>VZn3KOK%?7RF7}aF zf9Xs|^a;rS8EOItwYN)A-`S@&w@{3H_3ixrFxOt>?Gr;Vo(H9M(jRyNH7t6P=`m?LcuZzrZNV5VXy7LYtd4^nCy8fQoXZZx4 zu(9sHV|6I18DArhNU1c2ATC4}NLZDW3T-IJj3gz?_P=On6H_*R6v|}EwBtPDE^)FXM*pjRlrG@(=XzhST26`!*e<^I|v92c`i} znnLLNX&(?kzKQFsT;it#M1|x!X7_HeV zxkzIhBG}QfoVBf2qOQ*{3$xymnc8&+=>-lgcY2YNAz; z>N|M{=`n?+p~rqghn5E!qgE{kdhDJIS| zb3=Tl{lFT{wR^12?d(P8ZSv3!j+A4#uAlg&vQO4@bAnbZ{|SyZhAwWZskU2c&ZYEy zS6v~z4l*tl7@?J;TgM5f-)6=+-YmswI8E#|2muc^d7kkY@X18`WoShRy+pS0Yrj*} z6Dbi?4tRzOIOpIZ!ILoroVhlT8NG9rzuCi3J-awYNO-Y0YLpO!$RV^e^13G?|ntOQGC%TcOSI3(gW|rXG>@=(XwQCjt6>m<|Jkc<7 z@Q9v(<2S#VE$1}CE);k&5q>WJuJ%o zS_S>S0uIiA@>in1Mi=iQJU4Pf-xLVY(q{Lm_R->rr{_vm@QNvWFIl>X900n@1&1MY z+MFl)aVZ}kbKdC}Oj|9_7rkFkT{|wtWyjq*XV0uqeQbJGOi@qRdX~7$hzaUP+YQ!& zsIvd=ezG8Ndfjr&@HrYD6==|OIXCvR@Kg~*9V-Em=?|qGQb47SPPj}VIuk)BmxoE>dzN6D(XzOPnoQ~w^HhebmJ;S&<;iO)Iv zOJ;#*QOzB<@7S>lG+;@9kex=$aY=TMk3Yr23ZdBrcX{Mj4ZGz7e%^oo`sCBV7no7B zj;W8u{qbB5o^;Ph8#C1t0gpSJ-#dqhQWzXh+OmId|EQ4jn3qrJ`eb9$I zk@KAnt+wI;7*y%Hq?9-p4=EmQwkTdSb`Zesm z+YWk}oFoPl0haO!HivUFo(36lT!q1jg)7cX{O*8Ab-&<<-HrWszBkoxSI7u%#H0x^ z*i@d9%$OxiSWdepd!>N_RjoGgmJc6ROCu#QG!ZW_pq?ZlTarg$G~%}9B8?M9cA-$C zy+lp1%UZ}GrYS+?WGB1H_Z8RkP~Jv_?~Da3a>cTUK{Bp+t>dhqJw!@AIIOG=6n)t*A@X?g92#WgZY8j+C+_@lXh-b@$8h=l6h zeaE7e#`&s2<7h6-BaqowQWE7-)2!Z7_NNum8E~hR@QKTtZ+42wh)pilTh!}BW~Q@X zH&~9jPt;;Zw-Zm&7vuW+apu9xm1fU5*y8WZ4>!=CdMy^6y6Qo61j294y%chO_iwqT zpYBgdH1ITp3Oh7^2g88gzF&+1`zMHa0`^?uefgZ-ao5~SZ#yqpiMMS5v{87|Phyt_ z4jPvSXx%v;SNsI`Swn7UxtxK@#Xv7wW@8wcNYq$=oDg>8j>xsE@@O1)J|)Qf-cD^H zmtp49NXdy%k|tp>8T%U5E2F{SfZCtznL^tf@}n^*v*;Y%5}1%)Cfv}inI_#M1?~|W zFwA-RP6Ok<#%$xPk|59cnQ6zGCR09k*^itDBYc<2-0?s@rih#u2nXUPg7yeKr_@D; zy|gQK3njHz@7TXN8gS0Kbw6+#&Ti!GW23C>JB@!Brr%rK9#4&2VrIrakjxkt@*;g#DIaheoe8M^|I!_-lb*)3Yb-aK~oCE z&SbjHlfph-UKOj1TiVRrFJ_x2o&YuJb zE=@MBa`mEFG_Hc_vkY8u_7#e+O1yr*659w*pQI{>!G6y~{^M9gXWSl%H)twB1Z623 zc@xar1PY&YKM)fm7rT@_j1ZRX{dHqHKV}N1%$`g#gs!!CatzTAUi_{DU5d|WC488m z!SAGUn+{D(2zo*s0T%MidHN~^ZEc1EM1&19p~Dm0Jq4D0{(%$r=kLlW>&!|+RcAXwPKz`VxyGNLFCvl#Y@aUp0Cpz zFh(#0!)eRqzCZLfUX~<>d4kd(ZFtfdHpKTargHY$RzI8t_P=kmh=1Dkq5f|dWYCOt zy5^w5xXU@6`aQczTOGo`v>_lL%)~C=a~ob}hf+~9h{08^^+f?WN; zb}dfBtJ=ZUZ*0r71Tq_>>!DZ7TRkw&BMVGS8ltorI%F3{uJb*7rf9fSDI)}!luo&oZih@2C zq)l=zKVr(C;9O>k`n8=@`?w<%9+g?X{6R72XQK;V62>Xi0d82Mi96l>ZL+*(Eih_Ju6|Sa%3$}8r>UuFf;h2{ypL{S1n6Daf$Yj zLLP$0IQhx)xU0N$Y*?oH>wDpe=aH_58;yDEVQ=g`@S<2t zEe&k@lIkr6zUG>h<&udQW%OukE0{RQp~@q(QVxTySeM-zRi#t%-SlgImZ~YRrQXXb z9&EqR$B+jsojfxcCymLoQ+rpT)i!m_b9;@sOZ(#V596-QZ88@)3$#$OOEz^V)_Q@K z3rOjl<#T^8fynJ;Dgr?!s2DH-xo<JcdLS5?0@^3|)RS4zdYqeeYH$a%^yI;?W_ zJp!n)>*{wo|60Ga@2>C);xedxAVf^9l#7kW_RO*|;BuQ~)NU-e-Z*&qwZ7-tv9^(% zb#7)`Xd2{BSPVU8LxF*bD!4!9ah7Wt2siBCTjiwpoqUwBaTlSo(`ULFv3Xj0Hfr-b zr*372twfhon?t`O6g&7)I(T%(=LGjN8#+i{A?8DTmu>N}7o15~_i4X=nO0Uvy~S~Z z?w9&C3Suuj!lx3{w|H=yIyh@3Jv*|)hC-9sBj_!a(Myl0`YR2Evi_Ym z`Suq&(#33=brmJot?9{!v)>|h`jaTTxbE}WW)pfyffHC!dvF8mj zNUgl6k_m@;w_h{KvA!^^fvq~{kV4Lfbq!eQ)$9BTm%oDkC71ZJN;ulAaQLN0KxIg3$&3fAv0Sy1+85=uBt0IdnMz zgTLob@i@jLjVIK(Iexsw1B{J2*Ef0K;l0k>;l8ycVLe*ofNO+kQ{W8fZ-j=%O+Ui= z6DFHbplrXaS>ESyjJJE+nEUl}8_o1R`NVDlpB_h~vMt?u)5pn--}ijg00!zC5hi;( zopLMK%zn_$3MHl#JM){7#JOtuE*TB>KSS!b2ADEpaR-PZ1ouo=$RZilF_o0GTzAm$ zX`*mLsnw)d7$>UX?GfER&=w|e6jT7pxO+2jvhaG*;2;%GYrao7&UGPL2{T0=%+ba;|n((-FzBgC$ zR_q2RS=*pAZf4^G^+mG z@=}pHm5z+evGoxi!tFqv}R3H{Ak>~GtH)n;nLH$KYVM)M5e#L?AH%Ro;6QA zUsxnevuS!gq~Fn}%d!yS8bo#Xx3@E!zFKT^rfD~KPHz%Fy6soRf z<6C&+ZHnwzRmIIFd%sIYnQF7D*$83Frr>>x6ETf6 zYeo)O{^g6-Cyns4Y2+PbO%M!xR+Chy)KBI2?ZCxlF3ByUW%w#!YQ*{3_^x?gU$RnW z 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 QjD`6rD`?19$eDfoe@Iv~^8f$< literal 10190 zcmeHN`&X04x=!nEZL3JT+pR?qR8U$`qTE8bBq}Y4K=6oM6bM?7a1BTZ2!UWXTdh)z z5CH=usfU|D0l6C>q}C$$1i6I}l88b=0tt`{G30ha_xS_%I%}`9+P(bYTeD{7oA-NX zo@eHLX6Czd4(4U_$=*)@0DzJAnQzVm03Wmg0Pnkf^r4~TYyPnnL-HQ#yw_B-r1v+cE?kF;IYPXd;0kX& zfh6|0NK6CHPR# zu29H>8C$P{L(BUQobNgHsnvU*D)Xu7jr6>5K;GZJ^?q<+wqKJ~*D*k->8|NUM98x` z*L~Z^B-8I1oC4f%?4}l5SlOKUdods+?=Oj4^?;LyrB0eZEP^pXfC)Y0LcUiPr{x2av`41uFzmD*~du;zCGxlE} zpg;K1^R6TRf$`)WsP91iKd2o!#+wtNJqiFkd9fv^#^SBT6f1@3GXUVS(PsuBwLj1< z`WNfe<|HGCR{ZKm49qm@fN{d6~w$+o00)Tt02my?SLCrQzvZ#r_Qt|BNU$+ z3O#?fZAFFE^$9E47v0}C*!yhDUewnyh|NnaSoZI3=5Oh}{oa}4D!nbe(cGZ@ra#&W z$s!jD`ha4xXfn5=-s?Ss!aQvV-Z!wIDMflf;vAt4{510m03gJ2OC5%kdn3#JIw0i^ zw}Wto@BHrLFV>+P|7>CY!mMj;r(4_aZ+mRL4Pos@oDav^D~h)bb~XId_%{aQukhkI zpFs@Ie*;?dV?v0#L8SkDV9Q~0*hKJo>U#c#<<3KFYy8mS2}8}*#+mm3ZyoFL*mMP+ z_8q$Ac#&v(&VwE`ak5``u?72`;xqv8%ib-Sv9=t@9DMCN9v^Tn0Ad3OPVgNvs85lUedZ-mt*hR~fmn3a?N-Lm#ig9Kk5qH>Mi>*VysV^~f zZ+gFBfNn&z9x>VL!(Tnh0drOx;IB$5VU8%rDO0^`#yqZYom!i-47E1xXo4HS2&vfW zI96NgG5EIk0#UUf4fR3AF%_aJNG}{j$v&WxSX6Iz>kH$Q>yr_0af35X0r>{)eJYH) z4e-QiXQL1GO8>XDD-KvM!?V5_L6+VVS$c?HNEAV zgFHVcv5r;YZ161J+5pnI;+w(+Y1v@6{(hV!NJRgx&ePHaPVRCnG-Ss~KG}lvbt?AY zWKmR!-C|njT6&{GMhr6|=eIEN|HIa5>U4K#6ZWr$Nm9)d zM>kLSHNp078{KK_H1W7l-c1N!s=l-y)TpwVNGV@|g`glFQ?!^81 zXVD+-O=m=`ey=DzG8$y#(NHC0EvL222&-tDT3Y(9)yD9usf6g{KHfbC#o#&1EiumvVDWE@7eU9Xn!q?uXI? zl{wHL63-L$RYk56)Ftmm>$99b{Lro^3$j{ga2=RB;cxlevcaLg$aRYG`t@BN`%zG7 z{t=N;)xAtwmd8%YD2n;@BDl|$DtAcY8JBCLW*znRWhEJ_Coh7zo|n9s#i@^rwTcqKywTIbrTOkS1c+162C%0LR-c`bXKS$pSIUZ8q!GOrv(` z8=Z!F(+s?E29loY4BhOuSS%tO!9mx*A+gwWo?dJUp4dlkCF@h~rP2j7tX_M;RJj-d z0g*s(X95$*SbSFO@_>;gM1g0irAb6*0?I=zTctgP4u-)o^9`D{mG2=8A@L`RuG3w$3J?h$XHl7(n zgL-vT8v?B}sBmW#uQ^int7T}wD0g7l8ahzBBi(Modm5KC8i~iClKXG%G_n$4*EpI{ zO5fttB~~-~AP&+6Qg{3q^=hO{mAj|O?a88%8n-x1X7#=%AZ>f}FrDtV#gW6YJ9kDe zcdVPaJ+a1jzpxv7TsTR{)TioRd+ljC*O?-J8JQtj;_tM|Skz+6dJT|}GJh=JiGGNX!x{qUA2>eajfSxdIP6Utt{+J^^cqf|XsgSUt( z(VkrhPTfO;Vxj#ob&CDK67Y*PS97y9W1SOf!lt^CF{1f|OHWCiTxy}~4(}I-Q#7wO zkIp?UP&WD^HZ-iBtSY=8yCa%6{nFul4O>{_4#G42!$(Hbfas!m#pXtA^$T*320Zwu^)9 zB4S1SGX~b|*DnYM-CCLpkde+_yP)L)GUTDVrFS^fXPBEejNYVTT{!T}`qjgYcz9nuDFOMQ&QiESGjjXhAgRRVA8wEz2st)WB&z1=+$YL>#F)P>rEy+Lw%m_v@$9qyF9$@$+{k+M!d|Fbw9qr~ZFs^@yIAAq`` z4^0q{igSRhofDm~P4ffe8ZKD&x0X&#VStHw=S8__p(l^qV^< zJw1azL&*J|H7Bwyfz%WyW=SVej?!_KFaBJ2L96OPM{nwe(i;WcP35Ci^bpcp`Men` zY?0IHFOcU~xprbW@UE#42sLYt0qwH%@Us8{0B@&K`aT9^y`I{U7pue&h~j9@%(Ui3 zl6x61BQwIu_>gzeo!j>o2428n)O06cZwgratiTM?=4vYO6Q8?!{V{<%vY4e@xV!)9 zN^UwZIxgAcp1)+cIoDP8cHK*=8oZNWzW0pwkv>RL(FwxnzOz+&O5ZN@x}_xtn`7i5 zy1qT;qxf#GR=2!C_xuKSOXOoRfuIUgUp^ebiAp_AAdyCI*2^xgFikjJ$I60v7hI1& zytD6faLQ#wT2s8$wuY6t=3`#Q35>U6cNaH_BlMB0Y0(G75>X*_=+&8B5?(>Y_B8$) zY5hkd?LT~8))n}Lb}TGC+sA^~-G^gr)Af07^wuc z9PoFS)oLV3<|F)P-?vRC(jRSem90&qO=2#Xn6V!i3`a5e^A7yRh0z^(tf$!raqb;Z z{Oyg!R-AujmwnNW^k`I*5zk%c!M5kFAh6gIGUb0K7tOy!vnW0O-Jk}yQ#OIDHbXlz zZkfNIWbhVO+=E668x=ZvLgQSiU;3MG?j<#*$Tm`u{y^$4ZySl=%*&yNUtFpkAL!t? zqEdOq31439GSv^MgIkX~6uZBPj7>xG7bx3nPI^xbbTv1xn3?(p9?G9i_FUzXIF$0v zrj6E&iCYPr$ssYSBtgBa=Eh=5L{qgdB!~N7GmF9iG zFHPhAZ@+jCur_!i^VJ#B9JusmXs{H-)4+9aO@WJwJlVxkD{$<+dkgc=UF}`a_SQ8R zR?q6?d&orYKG^vh3i2q%sgco+PvW=VjOz=r<4LMd9KZi)dfa8SKmnG{JTv1s78}zZ zDGV%eoq*+B-d~YB>L4i}B4!GI1; zAQOkwCDG$z#}*8u7?<;3*VS3Q8%!WSK1Z7gr#P1deyunaP$IL=Q4uxs`b}8x`uI)F z^}2}ZRsM==k|0MnWs?zKSB5t2i0Z%lg9~b%y2#8r!E@ul#s{Vo*>;p9w@9k1ikpso z2-Vep4!)Ll1nTs`+qk?u!g6q|QHR}3U7>*!7K3Lvqw)lxwmTnt%?U`=T&+OIAyrz?e%cQO7~7jIUM(UX6~n^(K}Dv{JwmgT=?*u&CJ{ zA_5_-l+4+qvCNOdD67$T^l25r*Bql z%Q|}?YoD=A&G((HV2}EC1*9Zq&xriO@m&&<8g)S%#d^(AT=jrm_s9xjMtw|ox8m@C$ zUY=4Q)}4F)+$44~7MMB?4=a^k)y?|y>!V+IZXbWD?h3Sg?h!c4iAs(N-?eXsfL0>M zECx2hyJdad>NY)6sQXxijTQ*(*^Txs$m2qE$}(T!+ioi4g2@(eVbo8w`}TsG31QZZ zYbH;_@}Z2?juVMP!uZaKCVXEgGi8H*7kX@`1M1aMlx}JdZgFia41RsRy$4lKmJ6hO z73+dfz%OD`QsYmcr-oS*B`xXaEHB%D&xPUMK7 z7^mKW^NUJWKn;f@HzHbani0cf_I{Eq^zBu=uIX2+CT{Pl}6cE{Ct&Y(deI3d#k42HJrgBpNZOjC;r%m5v%vA&j!+bL_W1l>Cp6nERY9k7+h}}Yvi|ki7c=o zGIj2%njkTXhHW;QBnZ*;Xiv5zT9PWNlvD*<^sK_5F9 zb?xxrNPbW9>jsUsUXXI7OE#a*Q(`EsS#wOuNL2*Wo5L8j*(2qAzA8xR?sV%{P4%q3 zcFoAips(pPzOY{G5gt~}7acP!++LgCLV69SD-}=HU%hnes2Wn)TP*Z}=!>2?R$jZr zgZC8B)vELMp}YL}La{OIjC)695($%akQxe-P77rj$~adH&TOCpGp(N~XBuy=iH(xD z1qkv?$vnjsoUwTtM(QROgsY{K&(?Qh2W&e(1YP}3dva58d1K#~e({&TVms}ujsUfw zR*NlY?5tytFR?PBf;VsuDcU)8hJIQrr(It@3%@R=_N>ifRP!uK)z@Afs{_s1%PDVG zZkAtvlUrUEw=mY6&2p4a+(RBWhN?o$dD8<`vOO}sFpmOnU?8B`&c=!6S;xnMpM&M{ z-j$_x)JE_9jR?X(RaDysnsGIPR7+5BX4?&Mj_e2VRy z1Tox5%t%PdF^6^ly>=xGC97dDlKuy8FUj0UEt}JJYg$n7#&~gkP@BPj*qqO`6 zUyj!1B(0>r#CGwwPys5onQ+^JF!FN!ND0s%QO#y-hO1@r1)Uot!x;x_8;2W|*>FHC zl1=2fxsbRG^%<&s`wZpmX(x$mxxoC=rrnU0H^QaqsD*MzQbah(i%KT2L8wjYGC_3A zokXVKmGrQ|qMKDvr^&n>s#luD9#rgxt^)vgg*bPt%`bI3;QrB3&YaM=a!NBWq}lO! z;^In;W80?bm(X6_ch)9x6rXt#)+JBT@7hn3Drpzcn;f{^*a$;I#G#2usL7WhBz?Bx zjg=M&&Hw%dl_Gi%@alQk(_~15cBo_`RL9JNr~!bvsTkee$Y{m->1D5&A6WGc5FJ=o zMAKK*jmPNBPPls49U1-G`ewg5(Ep8PwBZm?CRJ@WoS**rufE@1RlK{ZF!1;f`eVjB zcD`fhJ9hpVexdrK&D0ArB7IK~^y94{4WJ