From a2eecfb2ac1b0aaf8b53f698ce7a5758622d4701 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Tue, 19 Aug 2025 11:12:49 +0000 Subject: [PATCH] Update task module presentation and resolve console errors Refactor task route to use a new component and implement data validation and cleaning before updating tasks in the database to prevent errors. Replit-Commit-Author: Agent Replit-Commit-Session-Id: cc2d271b-82f0-4d6a-9302-a0b067ffb429 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/cc2d271b-82f0-4d6a-9302-a0b067ffb429/grlWN1D --- ...-4ADA-83AA-0709433632EF}_1755601835606.png | Bin 0 -> 56147 bytes client/src/components/RouterProduction.tsx | 4 +- server/storage.ts | 59 ++++++++++++++---- 3 files changed, 48 insertions(+), 15 deletions(-) create mode 100644 attached_assets/{91C8B3DA-D7C8-4ADA-83AA-0709433632EF}_1755601835606.png diff --git a/attached_assets/{91C8B3DA-D7C8-4ADA-83AA-0709433632EF}_1755601835606.png b/attached_assets/{91C8B3DA-D7C8-4ADA-83AA-0709433632EF}_1755601835606.png new file mode 100644 index 0000000000000000000000000000000000000000..9417e23f0276d077e1568501cb2bac7e022cd162 GIT binary patch literal 56147 zcmce-bzB@>n=J}SfCLThkl^m_?(XjH?h=B#y9IYAxCBq5!5u>5?rx{@zTfxFoSAdx z&i&nU&mTZj-Ceb-YS**ZTF+YH3UcBIusE;~5D*BG5+X_v5O0hiARraqLjzmz;89kA zKakE!;zAJB<9PePKkv*1Wd$K1>SE!Z455JkKR8HeIzvDp_Wk*R9I`Jpfq+=rlN1qD z@z6WU_V!U3Sbbf`rR2B&;pZ`+oW)euBC2VdWn}%Fsh$;GZ0uWAI;7!?p&NIK^RhM@CJLZ>If67 z0w(h0Jd`7GaRY=z<=te!NXpbg3}ve@d9=Nlo$F;EwOa-(dHZ3k)6)}Ce>M}S z(3`}0EspEPqLJJ+>Fz6GJlM{|D@EI;wyDxj2YskptPKv55UyNvC}MD-s^s)}qwa`Z z4QA5Af%YoY#zOK_7z~~6lNtDPYGA_0Rd3BM2MjlBG2(AyX?-;M$ENoORSWFVM%HE5 z@0oAfZ|i-o4MVtXuKX58E@myS8VF{7?z4|+%ij_Q&ZxUhKi)_PXCzjE8tV9uSQ`(0 z3>5|$ZNF#urEQS9Cu$i`EUA3>&~tb#C0r@^GpD-Dq^nwTz_e^D*1Um{`teq)wU%3% z!zkfL(*+Fc#5aL$lKlvsG)3K!7hXe2%8>Oo6sqKNt+DH-9o~$pV(N&cLu%+d5Gr&n zt1MAGizAanHcEaeA%=RIxwO4fGgeaK4E!p$fr^TrBzqEy9jmM*Cyf$%k?3PHMXr{D zvcIstkZ|&PZOWKD!iQlC21+w<2Cudq8>RVu*=Hho#ZDz<+tI9*%qndaSIJH~irMjb zZLDzYLb=vO6Na4<=)4_G6{^c;hkDll#WE)9xM5b(xYO@VAYG3^8&ek;W2<+0*@pHx zExAyZN3J5%AdmMDqAlIw{gaa!Ywzj=i=vP##CuWF`Q6?o5-n-M!y7EX>I|4}jqh8^ z!8j#6oZmX$3yEq^Sg`gb_ts+CeO52EZrz+?w3vg@Y7La``c1I=L1*B8lpe39RWOuB zImR75bwld|YP9QO3!)z8Zl>~2BEo_*ro?BO$ox6wBeZL6Hl2}S$%COB{t8!pBxRVh zHnq;^r|fH~wHWie1A59N3sO=PP;4wmaaFm=eFOc}Us49Nq*zq_b=L2`xVjet z8w!c~K&=E(XoFIBxED(L{C8m^$@_x5PXVO4avSHW`6oiI_3O{*&Vxr}#*wH}sR@b~ zZ=6{~sqp1Pg;)H&ku`J0n0GfkhGUOW$z@8uRORD8BqVnvDcR!{oCbWIaBD~-) z=N766(HAnW6HqOvye%-`)65F3wH&O-0ZHM$d*f2gM> z_mfzu0HgFx=J>4dxK7A|jQ|$$;PqC8aKx;VkwQ#wu^mGa#30{TAh?7}ejPn2bEdF% zRa5+J=}?u+I!Dggg2{+y{X!!$o4l(3NIpE1nteg72;bAE_;D*W4I)BV_F565d&^&D zqe2^Vk^LJANl>s;3*L{BegwbdF8FAfu;g?>PPpdN9K~a`b#C?1-)&5_8gq0Kqa$7cqo}y6?La zUgm3pP4+3wU8ix|DJzrZPmtVQA%rhw{xn1UgtO`Y#k+O$c!WK zT@XvQdfry%it%XhJmg#}^0f#%8mLuD>_phrRHonw3kS%?R^Byn-$V8>1u_F06})FV z`rc=R1$^H!j;7dxp-*=3TbO7YgSp;S#r@NdZiz+cJVl}&c#|%@(0L7EhaC|eNFGb3!a zd-v>*EO}o?WG$B1cX*A0Vw4!Nu${m4i@-X8&}*t>7n&{nt~g8cJOgFMv;Uoko#aPH z9Zj31g+xBy8OEj16GI9{b^kgFBLu-%?ftHO-KsTG>Kv2HG)H(w0@ReBp#z85ov(0+ zZy2%|joD|$RjG{oNl-qNb0w02%a|l)jrxi9Ug3T|n17+CkWQ^QTLh8Oum-23asQB3n7V460=FVDT z!n}gw6i?FIu>bmSJ@xBEN`ibx4G!6gKdW8fFHIVa@5yU+s!%Ft;mDD4%-DU-gCbPJ z;NHcBaA1nUYXuXn*!kP(if$aO^1o-dARfX%`3l_oS;CMnJ_E@Mq3nDTg^{xEn1eKn z6FsEQ@OC2%1W%V7W2DWNA{hk47%4w9hTzb*B@mP*ro{JwPrS#p<57dXmgp~|G#%_~ zX`?n`9aK6^BlXqjR0)S-Zk6pDx}42w%?MyKS@g2QuvMnFQwSHCa`{tYDA~-$vt?Vo z*`&!}>P!UpXux*z=Eo+u%;Y7L6Ca7qx*vT*Qlq9;qqHD=pv#=ijdSZ_`~aH%w&)9Uz#%QyUuga-&ul}5ZO|ExPm#S!7hxnT#%2&i@*E}TP0{2=s}F-G1cSm z#l}34C#WCp8{Jra8GfPPrb+Wfm?`(0!R6IYMatSalKg=bAo-xFA{v*@a1R3;a$T(9!zOrH9f_!rJ0 zDnoE(?6*5`$7RcmLjK1#O9vsF&p|(FWB$Me01)92WR8(xy4coxFlnZCq>Tm7MUh2$ z(^jW-wYY0ClO$00$JWVX6vroIjgA}4saO!H&>TcMPic*7GUL2G`QCDJ7k`~M_#?KE z(7RKw130$z*4`uiL-myZTlOYq(zJ7vdOFT%u4SwC9dHzO?5+i^(1%rP$AQtJ-uej* z1FuP%l?*jpC&wXRLx#?2%ef3r?2xUjI%oiY8dKft$6J!`d3+Crth}FCj}z^95+A@i zS9Pof$c}HTXsHuZP9)4$5jSBKTnD1fomj?2Tj!#_m1@iY-$Xc=rp-F6vQ$;5qrfqj z(a%ab_oVZEGR3M1cvKi5DncCe(#hds`RIzB`SLMeSn9$^$tTCW>$#95shxGisA8zjB{-D{JHfFSun~F*24sBC-?@S^Ur- zCD3g}UgN~;2+>-M)`7cqfjD7j?#gQjH1HPriAEuNRgP{dvH}K%OF#+tphO;8uYT_kB3EQQfF{Ds0$Lnvuak{RbRz*g; z`!et#1{C;~uX9DVPRNLEO*4u}tmz{$5l;&=H5|He(PADyJTCYXa;5U+On1oi54DH? zT$R=6a8l@;&x0(RUby-kJ9bJ?IMR73k;OQ%V*mDPvpB3-$&Yn0%<ut7 zXlF}iMPQ^9CXHc%$MMhAHr}8-UN1J*p@hfph*>`=U7Qm{k9=@yI(%Frfdp6Wp4+yG zu!BvBcBoNLTCdKtBox_mg5&ycKfp;3ZbuYq4l~hRNr0E^M(*sq>8pLcdELb6PPhrS zzs^_SRXoSwP82ROu*RGc>WdYrKaF>!SvB8t0Ox=jYHr~=HR%uc?f$ae5uRmhfTtJg zoW7F|m=Y)8_O}O)R-FO5mk!lOqV24=kN&tdbo>&q>)NBc?B%x?6x{1e@O8Z(>1Bvb z#p~QEjn8<*DjE_g>9Yilz*Ii=jG=8qy@*BhlllC{{+QAhhB%Zk_C_Dmk6hla2+VYr z_xLAe+jmNCXkMo#b7I97f7L7IqkI@P zJxv_++tG_W>>|?g=}4P%P3sdVg*@GHgue0?Bs+XTYRdu@oY`fDfaem%FRxp3s8RmW$C5t6l z5o>YNY^ktEF?97ws5>Jb%jls_9TO;JOYRm_L(W{R{En4l^dzWg+ea zFtD9nJuJVW(}hafV9P?Z#@StzQRCibLVfImt67sPTb(u+MJl6cjCr-SHA2!RY9)$Q zMY(3|ODtU1x8`yY_-5ZbOxW7mnB77yZWw+B+#}rnNHyZl%b4`)dMSoBisOf_a>Mu- z-=66f-uZsN{7Bu6&Xv18l@aV@*y%rs&PJ(-PHf-y#j=;ga_Z)0lq*^CLonT;H?XbWVXIo-)}*YCbi zI7cLsCoyradnFPZN_l~!H1JjgtREGr#k!dOSx+kd2)4S9Q667 zzKRhjE|-kGVA|VWvLwRwI_xQ+%5k)M7~rns=Loj<>*+{P<_|1Og7cC`nmZ^43lj+| zb2>)FIhIwio2$f*HuI$^ow=xE*v{ov+$jM52!+)%!BsBhg*ShXC6MCf{zzToo;QKi z7u0s+hVt3Sk0bSD3uh9O8VMKPc-9oRpkqbXL#BmH71Qnqm&VSV-G~VO7dvE~nh@jn z!fM%xZ^6KG*Nm<6+{Cww9nD}%r?M-VrNdLZ>O=ohy#|M$Tc?Q&JB_Bk6=TGaIW)L6 zpv9w+{M_=vsqTX4XD1mhu_h1BT1qX9;q?Z3F)xlV%n%Cc%KMm;X9Q01#nZ2)8rNf= zV}(x~+OXF#LORvxaV^!iYzpo#4+00rnl;O#PIi`QTHGd|b?o2%+Um)gatzpbGUPSK9c<#%%2odu> z1D^u?Mvr&m$_%!JAMBlAQ6NXt-sITx`@#kb^Xuf95@Cj|C7b{SdlQA(u6BCb*hRq+ z4F$A&aafhcsGL!7d~p{2fu3sm!GuMgQgTY}SBz(DvZUq+W+KGNOLTFC>44rEM{8FI zaTl7T+>xo?3J?ZroCNp;=$1HPHR&*~kpJwcN(*wxgK$ds?%C ziuSb^+K0=LQYE<@1oL0Kc}MO&(Z}D;3>ag24t#ls{ZdctqHyq}OJf!3ITQ!eQ*2#k zdwSzcOjiUQfrR_4?kh!$Mw|BBT`wn;Zk?X0|u%G`NuW5OR_i71IHY-Hv@ zL8q{Bhz__%6wsEU<4sn(MG>qc7B@O=gtKEzm{yl0KV(C^&uPZo?Ueo6yTYY@^}ic3 zxF%Irw5~WBl8uwHCuOq?V-*XzRC2_&7vb%RBz(BU!6k^pNeTVFEvV_Q5ruav?&B}u zTdN5!ax=9M8wu`n08Z2Q>+>K^-}aD)6E)ILH6tO8T_-Cl@#H_Zo8M8JPi(pxo-Rys znp}Q>iBfILhMB@31O~L-Z{iUS(|GgisQ=sg7%?M8eIjP!guaG|%8J_qmOi*Ezq zLN^W=$k*L716EmMr$>M2WsTnIq8HQ17tU5dRu(#mDBm z9`ryYemRIEJ@|s)00sqM^lju@r{0_P(FYuEPj?;g?7KNJ&No6LN-FiGW!%ZWcIXU&c^ zYBsb3cY%=t%A+#n1@R%s(n&$ja+%(&4YTUpLcF&{=4UZA9^^nI&eAT{*x zi5>R~l@-1K))VbA1$6pe;?B2I2v>oA8ZEZ^8t&OE&=7M!zZ1G>Qvm?N6&J5Bu0aXt zZ$H50%Ehn}e=65r2s1icTaaV?skMfM^P6wGPBW60*?^DZ{uBH!W_!(;>Fz&KV-> z=%mx=G0YloCf8v37PHUl9!7S1UaZ8x@8Q^4$g}g~-CXnBk$Q7&AiwqC{c(C<6oENd z{@|#*Szb|{a2Up_2WTpec*Y@G)03-;pvXm!3o>M#NQrhiRCOcd_L_fkN*MT0_ zzK!zO7GYuv?{CB% z2CugJH?Tv}FhsJOspoN-amn`W0=-BN$nbhQo6ooC5$gQK7w=OZG;fWR)_5f_$5>Z$ zCj;%jo$2!G>t+b3SJHTNfy2&er!8usN&{;c4On*G%;)))3Fhh;9Vb2n>h32FBC5su z)(^TEDcJarpD?Vf-(JYj8)o!Wtd_`K!3#IulCN;I@Y7a7XLKUa2DM*a;=))H$~JbM zL$83F>#>j64Z2VI9b_x9=m+m1Tl^gG!p_~B4o7sBg)P++<5y_E9#+AUJNRn6OQv+E zy!BIxsv)vt$!QmzT5;qzY;6zMXwZA=UfeDnv`M~<12;LZ$Y+K|3~-!Q^jlV8m_iRy zUiRTj5h@;55kLIGpOhk;I>2u^O*>?G+um0^^Lf&;Ixuey6H(NP%67Zwy_PCwVeH$- zd=fgoYWj`5YG(|KoGX8Ncvy2^)U#kl2Y$PZg)^f>eOWdsfI;|voHHStD!Li_WEnMc zai}UeO=hmfP3AT2NQ-MXmca5ppi8Ne{K>ZyD=Y)=k@%a*0K~}xLqM$cNApsj#Z`{3 zh{~8YAJ)aH^{NE{DkB6@uLm4!C4*kEbM2hpF<$QEY_{V?vGZ%cNBv(4ZwJN4E8T)5 ziH}Nx9eU)hih)-VL@J-IsRz6?EEZd^DlWU=tLOMc-hWvr`&?@5k49mL#fVE*%goF{ zTzS?BL3r~dQRkWbOjblRClJ+U{qe(jVpwdh$ymZ)Yxr*DyPP}-p)X+^)PeevWYX8`9&DLvDO=KJ zzz|218>>PSF^J8a3hP`SptHjIxmI(m5WWe*zU3p%FOs zQ7rA%_Hz>NZd64UCIJnb{rfeFkB@iQYV9!FiKmyk`e3cP*bMzQHc5wsFgL8M>uF8@ zD1+ zE3#Z)VRXm06g}9oN=uc|Fmh13Nt+a>niN_CO1%eK-+kBWm;#8HuV~{>-?=M>at)Ro zLb9UE2G+?eLL-eRM}Te(+A4_wl>6yDPhz5BTH>kF%_I+FcqHXWDc(5~@})7LPoz#S z2M|aWCzmaSIdDO!iJuz}P4#SM!Zc_eqH$=dDdQ#HD5q{y6FuG* z)n6p2^y3hllFK_5pP`0ji-V(J!mRSjH9c+C0xXG5O((hQ?k|5k48);$qC&e*p@rwz z+Wj5{DP4w?0gMuBoSp3e+H@oX)ilfTKQfxKEODN#MkWW7+{v+huz~H90>E4vunb$~ zol>wDxTywXn_!lzTR8{=)qqL}2qXY^>7Cu%0tX!XxO+e!qj)=hE(*i&msjFy^`_;A zUzF`%mJGtWv7KIcd2im{B`axA02A<-IIQh--z>1%G%c_G9BAgudqUZV$uRBE)g|Rr-is5G3ARLZBjVAu?G! z%Nrq}gja(Ge*%2;i*ao^ldI9M)0tO{N13i<%Y_xqp;NxE2f~!VB6(6n$zqr0Rf`1x zWm$bkLo2!wjOTk(6-x4n5azuc1>1&=-q(@MsD)i>Qcp%)VEk+gdpq!(J)@|s%6(7Z zL1zBI3UbQo;T>IXOHOpoWs8>%tH#!QHn_m{U9#$Iv;v#*$EOCCbxJlwx0P7mPs1Ub z7?{5}Q&GK0!pHohAAbxO#JXeY^0a>)G42EnuYZ_ z+g;WLef2qA2|0y3Qe$2(%O2^(T#<%+873GIlVs})8hJTrtG$Qlu|+t|wXe(+6yW^XIW-+54u9M*WV7Sqf%Vm3KphB0? zXYJ+p8sf|E7X&O@%O!%Gj3bp*j+AHLj0leb1g`%yB_+2P8DHAsAK<*qLMpw~+f|fK zvBm!&TNmWxZjie$+DcEZbff6G@Ih}Rq;*i%50D`T$A6ss%}$M1D%F0sZ?rhcT$Yt1 zZ?)IeT5cL306Ymwgy!o7)_N>_WjCDaK)oj0uhrz9;FH14C)?VJ#=h_NhY?xTO&ajc zx|BZVHpJboE$|xbD41#bSV@==x~zv2d)Su}M=#%Vqk9post1AT5_UdSO-nnG)S!v#)f>GFVTG-; zpBQl@0Bw7E72~@EtIDY0dB(Zf$bhZxO)r3%?8%Xh$}_=Vukt){2?NK!dehPwAK~W9 z?Vtr52z@tVSouRFav%>_|FHV+8C-V*1BdQSq%@Rp_OcyLTHPSy2EycuGv4(DF^GH= z2|PTymHjvJoL!+QPAKQNLbB8@kDl>>Y%UjhKNWcYJry&Md-~2Wl79HbQ&|6U`RrN> z6ag6&EWcau35SPVvXy-}HGUd|eC@-seCHQ8;Eg-PR7^?b3ABNcYcLC~>yeGTK4Br} z?!mcB4!6VX=eO!Wa7{8FL9cL&ym))^>Bow?BEhJjSEBOveLGtnC?xUkjSigUz}FQ$ z^ObP@3zn95Z-^&XV7e8Z;bY8_@hG{d!OSCwQ<#ESv@gVkg5vYAH8Z|$SCFutE=9t{ zUJrQcBhUA9k4E6U%+?(C5tYicO5b-%GDhTafF?q^Gj^u{1n=#*QD;G_k7fTd!x4;C z9lkogk5!~cn?v|vkc-1_V3t?JPe#9vB;=HA@L|a!<&t)CVt3utD_vnV3KS_R`I2EL zqzQXGix0a_0@RM&bu4KWxbN~ib(+WOpvdGq(E=RP?sPiZh(*c^c1+l0XFL#+rYj&Q{2FZqKe)&srf&s{o|(4y|s^Y=M2g`WY>Ww^=j2VO8D0BCwRvD z*+LPb4_|2r5D1Z|NA8vxE@6oiMug>*w8`poz(sv!eJ-Vn^+phh66D@qZ?VBZ)91?{ zVA{T3rQ$_hL_`)ZQC@5^AkZ6xe3QV^OUGZ077{`&mS(NVi)FajO-|E6`v+-yWw7*; zBn*C~?Juq*B|~TYt3gAOkfDqzN^`N>3`)NKhqtBrU9v}+2#(P|@FPO3`h8+Z+Mjj~ z35w)fW93(J?J%SUxri-lc2*BInOIK9Hpz<~a|0rVh@!d7Qq)v6P; z@&0t6fL*ZgB&Sl9B{BYU=jsqO2sJD~*YdB?R70@Q>$TQ*{e3J@vH*?|LR94Zsm;hQ zbUN$7*uX83({B)X@>5hQKydwh#6$qhnNVL@cHOtlEE0+ zevRfa z6TT%L@qE%rqt5}?4z#NPD}Z524Pa!rRy)cRtNT9V6@>klRp)`B51-A8{|IpDusmoY zS#4cq?o^dL#tR-$x9|IU7k(ZC&223%5Z>S{xppy7Y^F77$?}h$CA3S@GN9Rl0bkJP zf7x(ki~oZSM@jH+8_vxZV8h7*v8FwH_a-R8cdK?@sB!Cb5G>REu*a&I)j2Jv&}97e z3lWr5imgf+2h7fL(_*_{gjxdKhr zxH2iZbJ4r&F0t8acwN#+-^B3tN|?J%X|m{FBUiHA<@)L%x%}@P@J*R;QY6ty@Jb~? z6bGRL=sUoyn4yK@V#OMPxFTgyxks>G ze42^-76qMXL{`1nux*y;l#+`>bb&TY%{n_c3hG>J6ID%}IsB@0?9&+>pC)*alqm~s z>}Mr$ZIvTh#I%k?u8oP6Ox5tFOh@_6{eceUPx(%`iL|Py69bv(PmRn+W2m z7L_A|u4io=>sdk=_gKN#f>=mqISl%dQa24W5nA$f$}{$h4u{BHCi1&62p>Y+B*?`& ziw&u-oY8AS%ck%3Yt$Xj5%q@b-Aj)d0cAi`&aSvRQu@j8Z^F@E6zPCGUQf{gWc7y2&LN9RB zZo{TyEsOQME3)0(>*dhE%KXtV+($!aP`a-ow?me0@a%oWU!}=DZBf)D^{B9>IP7@G zR@%}(C{%xlSBp?opC@<~c%hx50UCOjR2o z6Iv>?KN=hv@RuuxHH1z(|CrKXExcpZat!(I4Zj>70x6X|^D2gmjucZ^lQ zt5!4alzNu*Qx%qo$g{c*k>!>MlaA_ef9~Y(Hx|y`9kCB{_8ECHKNd4eF%Wl8k_#Fa2W-#KpFNr92{R_S~vz@YD9TY+C zDq8u+D0f$F(N06~ohp!(^ih{BwyL*CD-)}Zs)bc2y(x0~2C68`5dCn1snr+kU*>hC@D?)os@2_zFr)qqA{!6m?!7dP%kgKSSt7gPP{TlHVDSZ=v37&uS&+cpY!1v90ErPi% zIh;t)@3&GVaHxxZK^&h!+Pn;zv zwq+{9eVO>=dSY|LJU5B7$8Jk~BdaSbcpAVk6n3ntlb;vA(5)F8D)Am)nng6p{UlhI zSqiOrZ%sYQRYAw&);(v;S$Wh>0dT2mYG34|$fI*bTHgAMFMUfXR#@&C1Xc$IbFC~p zCsA^Pbr#%*SQgAOs2x&Hu?_5oQpEqgK}&ldihiM3E_;b$*VNTFdMS=+U9KSpt_p-A zSp@*0FX5Hs+PWvb$-TdN^cmLgwP@eo0Kj_-R>2A$ZmEZu?cF z#iZRt7B-{0c_j)V6F|xdR*ryE`wSJD-AaDv^dl9(9m?Fz+d#pG{C;q`*<}NqViApZ6&IU zz}V^&{15nz{)77EUtoUfhl-k-lBOml!as=v^w1&Hen!$?P@kyvjfz*^6m{VBVdVdc z7{Je+x+uGM=>6?P1NJ`?(S~J|9sHS0_n$H~LUdfu|9muXRZ_%1X-A;5B%S_WCVD_2 zHZARN371Z#lN7Gpa5#U+w#9DiH64rlGZMnTT<|?gJah0M^w0dWWT)c1O8eKt2G3sP ze>y|9AK=tq2*&1&&cBjGiuaWy8p}2*0NhGgy~WDI4z&Gyk}FY12b!1h8F!_PJWZjn`Vc|X|FJ(IVNUu@;H0mQoWy_uIsbg z2`DAbY})~6-qmt7b|KC(ooj_&F(omZPHKpT?}n7&o{EO^-8;Z$4;Z>TSm3WjIeIACqwsQhklX(+ifH(J*AYCjKo4}Cqpq;+Q-`<(jqLs3a{;| zxfUfXtI|I4-UHx*1FrnShqA!@i=wmA4KL}&jsO5@vK1m3q!mTgMFYWxPaV+no<|Kb zU2Cu5#SW$?{3Rw?j~SztHOQ}E;8yU;6UFO5|KIiPhp5#2FO2&&d~e^~m$?Jae)1%K zR2g!RTS%uT*bk$yZXQ{deDgB|+QthRinzG7*L0sYrEcQ2vv!|!C5VuIKH%~V&f+L!8CaprKgAM6dgsK(horbE6e^nwiI>Ds+^ze?OwnSW} z>vQNi2O??~h1$_zgJ7YU**l0mQMR3Lo8C5$2~xL5?(J zJ>=cAA|nQ)+QTJtRk9lFh&I$Xt6kUK{Kexi=Hb>08-%2v+^1S2OA$b_GmHcSJbFs5)E_3Q< zHr$VcVUE1_2XRI!$(2~&D#Vr9v84VZ3Wujs6{ue~WyVdjC=Hy~xU7@EG)Q9tx#qmk z1CM=it9|=K`pC!gb>S4s>eYYZbE3}6uy<{k1iua@eaG>nv3=hh^E~ULVb=V*2+Wh7 zk<~$R@Rhc!HIpJq5EIN~gbUWDM+tpP3S9_r&F1dCUC3jS(`ll>jhSScW=FPY<0W`p zYw~4{5w&8`LryXDvGP%D-NcUka=G7*+~+=O5NHl)UzXormnEh@b+~xNri+#mK2G@E zK8pA+C8q=AD?81^0d5f0J=JLRil6|C#_QZ;^+$x}=X?j+ z-IgItkj4ezJ$G;96Z;=0d(s1SzIeRQj>ez5zrAOFS+Qm%%~@;Cq^bH%N!z;_R*cF9 zpb(v1)vaV9KZ4l`!`VC>apvFGWnF{iNI-h0D6G;mV%ZZ!X84KT0~rb1X6;>{IbihZ zwhYA{w_$s1aV6e+jg%OUMb~7`zyl`C=cbQ9?14@S@wkrcK9Ahj%g#W#>7oXR0%%2P z>>{K7ZY34$X9r>>#_|tW3PTozZJ~MnInM+6VXW`^PE4?(kbwTy!Jx!ty=I>ID^;j z`JYhkp<-(4p*=W-PW)Knx806)O77=0MI{yX&r1+0qDHahFrz>#n zW=RxwlbtnKhu>PxPEL6;cZ<_jzva-fH>gFIz-A9Ldh?mvDo87r9vc{gN|e)>Y30~k z^HFQEk6*CsCy?v zJjhz{sGXV8v(GnM4CQy@HqWOP|7}$Jf6B61| z{}*tSlaL7eHwpQjx~?nw=g;aOthxvAR2|eD$=^aZLcc0L&P}U4zHvX-&0fg-Ve-E; zZQIhw&vRw!NUi%olkBflMe+}`hJP=JA8^_HEB9b&0Mw`S`mndxbTva#iE7#SM zAe2@mrr}J;WpI!*HA0{XIQIYNaiZ5xU9!ssuOEwoi6xsFwmc1s0Ts& z`vb1O^`7-WaRHK5H}jVnBSlAbSYd>DL$w=t+b!{c5lN*bfi_ptgh3(bGG!sO>pn2- zrOm$V0Y;!xLPj3--TzLEzW(r^wP;PnH5XTEepZn!%5rt9^62zL?*`Y%a=Nm4sG_BN zFF0bxz!^&RO!z@SzCM`ciIg(!B9v>QW1vzsgHmcOes>|N&?e<~@ZU+CvcyL$nC5FX zm<72WO4Mj`PkrtnH5DH}&%I2>yUnU2z`-*NA0=!LkVHO~35oA@(E9^PH?h4mFnY#- z%;@@1S^2b=SOqp9?{_-DwF>Eu;5WwzHt_u##s`4tErACNn0=9xoAT&V znr%+L6`C;jF!oBjW&l!M7XL{${u5C>sJeQ&wPA|!L>D$bp~}xi9|rZEFP#IGGjUQ- zwH6We+0xw*Z-CJj=$o9ZHhISO4VF%aD7BwCpZ4?d#f>#?YbFV0w2 z=q4q9lYACK_M4^%w>@dK3ni&e$EYqCSib31-}~Gs@{^PIRXBbhvIpL%M%S;!e!Vww z#prHW8o97^9MpM5BdM+4f-1hhU-g^r7~N;cAzk<3JLSmWBLbA0dCM^ z<4*$)SJDyNEM;&STi@Ukh;6Pu*>ch=Mp3kZ%2{llq^7hS)ni4DCl?(83J>Zxn~?8; z2^l|q_L{L7^1;wc!}>GdWUia(&WfrCIT`lKS3rC(!eZ_mqJWOn_^C(5 z@rv)QW*@0ST)s=`p$gFLEq!r0aw5+5UJ=j)X~wki;PHYD*Y(KBhvfjkneusL*r5t< zXs5eS0bH^PBYn&1+13WM_^cPR=Y$~uwcgL}1OvJnjf^hfo?AuqNbfMub@K-%-VxCM zh1@H9jrmMA4g>Uqr-t7ZKg#mD_Sqezj{583=mI_7NQsaNsq{N$932Q-yVzUB^#@tz zqz_oQ=;GbWkq-WE-Nf~&VvaZW7{hSi-b0DDobT#YP@Z3Pt(sUu$y*{5h_htZ{z*1+ z)ezO7U0jyxAygpFa%4c($X~On`BF$2(~FvnDX)x6vwe8$*%RsU)8LW}i%*zQ;!&1+ z)WNJ_ai|Jc@Ks+#$*=Nf#^ly}z+~7@)}3L)u;gk1a&`M%9?4?whd$aH2Wu-_5T~qcGmWIIpF^UPXb;Tpw+;IIv7@0 zyJxS4SxNsF&DuF>Q~VC3TQ|_fHvQuFj2@u_AvK@q2^zzKn8aj=?va1h(f^;4aaSq+ zAEU1SpJd#)xQ{lUm5{9!w7$1xe9Vl-U2ZHCuaRT1e|fD8y(9N-qx{8VCP}z<_bHx^ z4Y`m2$cOaEI|#V4lbKpVp8ZqaHSYgQ-u;Y-C|1Wxp?;Xhak;bIU?1+mTxB)^OL}$jw_AZUN9&bC!X!a4 zq!~oR+_$~e*rXBKE~nIkToiO2kK7YGt(0c$rRF1Jm8zR%LgtLeITM<=GgD|*+zT2P z`)E5dk<+r(d+&}i&4gd$cZk0K=pY%Q;4#LS?U}{yDaED-dy4Ys&Q%v9LAQYkoI&D~ zHW3~`SX7U`sZ6=#p{}QfhfVsor>sP}eTn8!@Z1*lc#(7}#fop*s}EfKB%)Sh%bZtO z;Tm8MICIBV?)dtdh?KmHHqvf*SD63Y`499h_^+X_m)N>gQL_?`Q34@9r=)Fq%VZpb z8*jB~AHoNK88H4AsoQ5qsj#N?Jbs{ePX&3EIpaZ7bhHHe?$0-m`R`FNQ~$&IzZo`` zl-z}7==P}oHd##lR#BrG(U26D`5T08Mf^?<(Mar11hs7q*w8hav3!coL*y4TX_xYY z|LI5bAq8;bB_u9lk8%<6GbPD(Z*v(%)K;Sj$psg}5i zJ6+$#799ChD5dE#MB1zT+tY0g(zXBPnyS3Q9 zpWO%L74PE#Z@-UId0DP<9^7#j!u5BuPfnl1xN4J zwVEC`U};uh5v0t~cH2y*O|iYTSWe!IvjJQh!1d&G%7bDa*6m$hAw2v1$2+OjXi0Mm zra(8h`zBq(HD|649nUR%Z`Hm=UQsZ4E9uWN^W=~pg%N|x;rV8JJ0A~kmZ#BL8n`Zt zl9hYwbsQ_XI&6V8O=u;ZeOM1vzSNhHZsaQS_EZbHKD_L#J5?fpwJR%LAccA%e%9w6^!(Wfz9@oMPR&m*lAizB7s; z1_O`GXfh4Z;l{5bWWOi%+1n)q{mZPntvgfoAOGmwxjod;mZ9KWE~CGY?eG)PDo4db z^X&1IVVluJFlg!O&i2OtQq;xRZkX|I_w1Vc^o1oX1^D=Ccf}~YDf{3@8$Y)eOin$) zi%7L`73JEJ#={yb<0~yk`w?rmzqAkw%4!joNwa$P+&$ragaAZ;t%# zy8`Ci?MzB)czVGFHs#AZ6kxG&v5*2vGYb$>BD8V^Kj8SQ;;C-?)>gCkLcbE69U{vV zv);q2T7Q9Om6bwup3D@F`j4^x3kA6p9&;K;q|vgesG@ov^+a&fS=|7e?RZ9EygPc+ zrMFQNW+2a$+_~VoXTQ>t8;mH{5S`1f_F3uFA*$VkY~V`NCIuca)0IkzA_JW%SVH-~ z8N&fiB!!h9fx5jE)HG_yWL`>1Fl0@-sx)GXBUxMM&v&TXD;b2g zw0T741APcOXnT6Of@LP2@kkhDxx6~2`g{vDXBBGblPBc&kD z*!DEkon1YWRp$K=*o$;%8cyt+E5v1UoY+7=F^WEfjHoG>$*qdW#*SxuQUMCcjWN${ zr{)4)V^aAQl6RA0^Dq5{k}Bm3ZnS>4|J7Ol3b$e0`RQisL$<`P@9Yd;I8*2^J9W77 zxOO+NHN$pO+w@ibvT)))5pV8#CMZ;j7ev|%=^o6Cw#M-*XNgVS2>T@`q8UNgX0*Zh zOI&$|AudFQx$Dt8D0w9T>JVAAtkD9C-j?vzAEcZIm>!VTpE}$T_8ol~_O+7t6@s9L@58KAg>26$)-3hN0%`jE1`- zI-oliHo3g$=O}`r_6k6XKycQXgo0?Qu-rb^+TzrrKV6 zmMCIYo{rB!zpGcm;w=a)3UAlRFq{fZE9&eV;Goz;p9k0}W7#eVD#qL{UyHuM96%||UwfXCbv1Zqdr)<=R8y2}Z%N2@0aSW{HxA!ww5}Y-l zt$2g6LbI@>Z4q&bN9F&#Q?oy12fzgo!|(D{F_j|QER$y69}sqUJ6w~H?Yxa&A8>^~ zhAJweZx7%FW)A5FKw}#%f542y<7$`sf=x(aA7qje>0fGB2C7{cWe-DU=AvF1b8Nhrzqq0~7H7*k?lyrcN*n3h+ z86?(!y+{DRwZJjpjVWXf>i**gye8D2KpzAeD~0JfK?d=WRn?hTOGz3_qcT0UP;3y+NznEkp1m~P zdY+KYgiznfY~F6z1c%=sn6g86F9kOkf5ZXVMO<4HJ0;o#p$&;#e0_8Jw#h znz5ZBnH$6H64KEp3n^8S;Jesow=N`+{wd$Wjr@=Mj?*evyJ1nhv)mX|6%c`tKK>G* z4<+g*9?HV{8szQ|&r%dRU7pkO$(y@XsQ;VI@d&G3$)Nc0E;W64bKBPG#yJ;{@GVO>TkU_QYU?z({7RJW!+Xyf!Ul6{!hLf7r?{R1Ytj;CH>Tw{27Va>5?NRRl?< z+T60k8DW*bjA#1Ar*Q=kYkWcg^B5PYuD^dbN)hNM3qo*}6La+l>Vfg)HjZYXlxA2&KVQdK$lO zO)YRT9=cgosq)bsMC#$B|Ko~`GTk-yDCgXq{Tr%5_3nj=Yfz}W1LgARTbn*wQ21)s z_0Z`@Uy_C~on>=uIy-hg0)@9@1boiyckL=%Nu`WEUdpSa!ryLMAI#lFyb@pS+`Z{o zc>e;B|Dyu7vl$u%jF-!N6xp&GMOCuz!#A5r7b+`q1!POAWMxRXh~{{TurSIF13hi6 zcB_qJLx?3^tv&{d(_LqWdgEpC-lPz`L;eW85LF~#UN*%DlQ&L2M%)xQ)a}}yZrUba zE|bMiaV?xx8dfW||AY=01!fw24k_73ZI9sb5Y$qy-W!5Q)L!Wx`|j)KD^cJ22}$ET z;8mU*98sKBLElsG36a0d`&BE3&{!o7fgxfzbN(B6gF0AAD6GO=2~4~P7EDH2=gv;% zAE3_`qW+;5HxL-@3P!}p!$2bTBv2eVSpYpI?@^B{(T{no)MB_y71Tc#NTGFGKLL?% zzIXrqrzZw4IaDmm<~!J=J4;o;6b=Jyp?v&%i+5A3v2SA|8v%TYT2lj${43MLz|R`I zwnsBfmLMYF$-qw$4DB-3`QzWm8B2UwY*~nomc9G z4R(FeZrzZt?_ENpP5heoCW7ythlMKK6yHOasl{0P)Esq*fbkzn!Mm!T%PnP>{9hZM z>`CLj6_lT@we*(-)=|%qk_-$xF0O&k|Zodr$r1lGb=CpUoKVZzakjqQKvQ2 zRo2=2b^>f1?bo=vxI#S`UL;dHk{bk^&d(*HgmIpeG>go?465+PgsLF}2~s%ny!_|R zg14DOCW0+YT{y2-*`mSS2~wp6$n2271ya&qjEYzNcSJv$+d9eS#V_Ew%^pLs^?^37 zuo!V^+o?xfE8t1}x1=8dk{x^*9Qh$k?H}C_fOta3WogVT`S;-D^OrBLTmCyMv7?~u z{OAw|jAwY|0q2Ue#$cle2H_r<(VPo^QbRwQ5)2sR47VPBD9QF_x3Q6yZKnbx%_6^n z0ZF%Q)tCr$S(1IPI?E!?-HE=<@FdB#?K>Qp#)jj41eS84pjXGj!a%T9(i>O7G2 zw0=|tSWNUFYU|iAP08bZs2)qa=0zo84h!2a*@(5~+n0zvu=I$}h3zVJVlof#mx94@ zI+NhAHB*CQVV_haNb z|6}K6e6Hi(W=VTwCJL>&Xvu+DElGp-(zk=;f~j56=PpBo(_S`H4^HUC1@la9$IWt3 z#gP_U3$jShx~*WGi2q`LFTTB&YH#;w5KdfwFGv@a+989v#vga|96sF`t6C~Umhrou|5 zm-}GkTcRX*!LkpE4-b~yKCGzcWuDT2C(e>!xT}~9iwWQ`6yD`!(vUsORdHNl0F)|m zu~~S_v#9s9Iy5Re(Sd4$KjYg-%nYUGElW~|4RQ=X$6U|zD)?r`0OGb$2!-8wH(_j0 zAo+aZ>pk0YjIeNsZ#D@V<~Bti?EnTOS(#fwnN^!#VdQ5RrwI*4^Nz;Eo93N8<0DNG z<5@dvhcY!IxtwrYt3XHgW6h5j-?b|L$h)oF**WX!=HRN4gof$eRCtXZ>PX&}tk-Bb zw%e|hH#STx1EysaNI`3D^Qjah%rk*arlwUr&;F#^2HNn)G%Oi_N1$$0(9~w0a69L0 z^yXqst7d>;l%E%hV3Lu)g-W7{nC_5CH_um~ihf9_OqHF-t!-j3+c)M;*6vQY-XNlA z)j*VA~@O)V=0X*)`{mxPxzD!BoOq|v-CIoHkORLLmTDQV@R?;O>GCz>Lc*~OLS zL)8?c8k|eLuKZY^2D%rDmIY(Zj8YX1{Nzd=$ml|ox35}#AlwYYt~>5>=Bv#&M=!M8 zq_h&&?|0nGlAHAZ2!@q8zT*K+aM^0^YS%^pD}Ddr=;BI;Y0||2-mXpKQk?#Jcchp6 zPJ*uZBA^>;1{U?m7@8Js-ou{!(b`B>*-eG2H8U~0F)D~aDg_FSGyqgm$Kb5Ik@g zB{zb=0~vpYUHlHsS?(*Y`o3;$hg+a3LNPFLZm)#zLeUQ(-n^D1Da+os*05%U3WL~r zg_N^(@^7yYDNZPi@w;u4DC{e?t#;tci!3&6t~Ew%j`PS#0bA#@K@8CgRK;CS>@RW5 zA_GlA8EH&a%3tceeHtMpx(1aSV*^B>C4XUYt)YI5fz<4-fZmi0w&CWhjqE|!Dhuw_ z>$wHFn-v2WgSk?*MJlc_@ao;w7l|Y_yuxC2;O(xrpr*Na1db7}D*<+63cDrccG!g{ z)PJ8cFA9!|*zVIBWjC+C$y&9LTDVCsnJP4)+)U-*8w&yD!>ktpaQ~Nkue(=gp}CNz z3v5XiYbtpyp>1DdExantW8|l^(4Z;eUte_DR{?wQ1puL8DH~GPnYwFe=g}7^>y}wP z9qKSOpQiS=Z9jFO;Rc9orG+3CQcPs4-5QPS-OYwy3huutH{EmdVN?3fdD=WngFkX2 z#Ci}oPy}|CyT?~z7ex&NbhDiv^TTC}9+#2hY=}#tAFw6llN5TGvk@!u$u=h$3Tklp zfxZW@+n1Ng!4B1QLD?SS04)vh8ZZ3sW!jUk;oYJj*EDX^^IAu zrRwA&I`r{v_n}{_eXs^omPoT6FG%7Y|K%+G#Bq%qbXR_+?TOKT9VO!Y3uAH&3lPXl z-GuPJ*GK6L=$m4#7DfL$Xree^Rvb@;7Cu-6Eb2K5t?K8m0!@+XU1#UgOE2dxC49Vs zUd_YjE%oT-n{Jwjf{uAIm_3YlUz)Pcig!JkZ3%lM9`$YAHC&5LOZNzo7pU3prF_7! za~Z?O5*t9VBj6KQwAhlUR4r#?B|jwNLmzR)QUh?NM8dKqpO5_M*(cgr9<81~Xezs~ z5S2u}QvE~*Ftz4t%dKS33%bj&?NqXC^LW=|n%m?+^(g8l{R=4kU|`M9?oze%w#1k! zVk)xa_dIMRZAijrL7%y}&NpQl@S8e?qPto$Sf^DcZn^~RI;>sN7E$=Dxe=yWT#0>* zHRK&GJohY632CM7s?A*vUz{MsBcLm3(t=xkG71g;|cz_iFtA~%sXridWb%pd%A5fmxgey!lmq51Lhql-5Zkzz(!1r5_ z^byG$UV8R;I7{HZw({b=XNni{Nh}O}{RcMUO27b1(xN5lqvuYPZy3_10r!#3PH-Qixt`|mKoP#O+&v*_7j9wMS?T2FCRy98#siZCQD%aETR1I zxRAAgiCP~M#{F10?W?`mFvbngEi3mJd3)CAraDXMb{+2Q@Ti;EZ`XARPPy&1c2TZX zT78nojemW4)l-~QAt?tuwNhi9u%ZEqtO533()fY08O<#uf(^xrZx3@M17C_E$$xYM z-8tQaa)`BP6&?Zd79pDp z%n6f0(PqpYJLfNW6Viv?48vpCtnAKiCcZX(@WRN&qg|2lCj^Am>o8)}<-T0D_RcBt z+K~VzD7|7p`56cGsKa+yDRr_b0{5B1x2JPGmAz;e>uHhJd!X=CUr_btZDtAc`vc3B zT@7VnIeMu(jIdIX#vQ>8lUAaq;e5r~QvK!}Qn7mgKVY1wFsa+w*$-l3v9D)DO-{=Y;KCfL27~ zr%fQ3FbI(7I_=5<*eJYfhlZAGp^eVE#QbA0``mPE{8=o3HzHl04JdpKTRUW!)6NH) z9!_jYjNKYO(e2X4az=aaN<#jZT9tt4@LA_Q)ysPkOk(%DJ`%vN4)ox^b22%dm}QTU z?J7P_$ZbGj5{hhx2;!E2lZEco$_D=u!MX+4qI2MeA1;=tX~PyINa!X8|ALKN5wbO6?1-{t#nykTcwzP4$xqY+^jHoGryL zJW~SF3g6|-rrrdO@&@!cpR`!1#^%C1PqkD*M|7_v;cS9BQUSt<%}8?t8@sOKV$x2m zQ0t0vbreERh^4DSQBx+f|5E0O6B290C}89l!ZT+WW}1Gdfs9?$mr&e!36qhhTn`xf zYa#Kua?l^nGB3-ce0(jD_YO}Ue))vDH@}k#1@l1r1~9VB|W6%^)h8w#7#kE>7ewylUL7U5KRZab4jp~c{H{?r(};*t|! z$N!;;OkgAC?WZ=CPVgrGtI(Z8azY*|iFu6@1)+h$zr~IKV_Ck3;}Y`nS@H09;G4T% z)bi!}KeihpB^8fGCvh-9c#Z}KH+8x@>&9ZEp7KxIHWL-0B2~@b%SMF?OZ$Z3i!T?& zA~dl$JJ>({CKcOEx7y(z2&XjCT59{v2<*-d(_Wq6c$P%~Cc?K5W6U8q_{sH(s5TJVvaENbKJl zJoOLKQ@{4F!}axvEnA=h**u3a+zy$3N}@3jnZ~X-BL$ewzky}bFyVMA^#LIeXH~*w zczX54v8G8nm$c{Do-xJ8%ih*~Lv8-zvtd<$C>{M6SX?3_@bmZdzP^_yGi@ySS*h*$ zj1L^qSesFEG!nF=@w9X)zf1*0!yOP7Vlb}c!2SSfdqF9jLO-ji${Y(<@c zdyd<<=M}Z58Jrl$H65`7W@KMELn)HEMKucysr^|xYov@`R(K6XrE$9y_N;Baso^O~ zADtsDJIt*4xyq1CVP*qYri}y%a<0@&Fq5p|{uBXXIAKm+;8$b~z|q5!g}lm9Ml;h= zGXA20$^8C(J4lQy{>~W(Dx+-3$k*yRtoZRtYQBK#heuF@Y@#xSZorfm&!Ox0vjWQb zm*`y-g}>+Xt;2w(#XMKKVvpNZ(`l)L!{K5V-%?zcD_rQSV=BFl!m1Qy31EPBVL!Ps zLXyykJ8I;dezp2k`e(N)(srCw`kFS8XU|qf{y4)pm1clBJP+|)jiCrK0ABR2XL7LK zK9>5-GUPh)a|+Sc`0H=I2XIJLl^p}skm}0C)S;@&Fq-CRp>5F5JIyPg<>V-0;rYE5 zr!wMvgYc=Fu;FBmrM!PxTIgtyiC3=YjWfafb~1zvZ(c1jnP(ykn(ZBgV)Tj9d;j)l za+V_vsHJM5(ye-0#mYr!Y^b4C{Im_HeOa|sJ-6Yxv<1yYno7S6LA|8`?;b;S+G>#xF=JN+HTF< zRO^`)8D=xcR)&qS$ll7J(C-OsiJ%hCP@r9+;36vL{bZbstL3uL`s*Val;R8Hf< zLS9v9a9WL`TwZ-jStx(;d>GlOhoOKlao)r`sh*(^sbF*@x<2~ zNyps;AK&Iw^}@x!)c#l9pvZDCtwc$0uG1{G?9kOP?+lzVY^xT$U3OR{3iK;j z;zEVTQ+Z;Ans4d#&=yS^0D^u0T5{UnocwaofMCd{P5Y4`md4SEdolY<8bW7I+zhOA ztr1&M+w%?3LR|cC(RVA_7;PSKSAr>G{#d0VGxo5Cq2xd5~Es{nY>dASd&w?cby$f-v z|0xz{>g~)v`S8w$mC1(#Fua>phV8o>sQIC*;)a$?fe@J{G&pugTNv7urnN;<7Euaa zEE4e*-?jsaCCCix4Taw0@tb@QrGK}_(*@5~^>p~@k}r6Nb;iTCn#}c4yZGgCfcQ_5 zd01(zd7!-fll2&H>?084V9|O_&&Hz??)Ne1_=9!%lqBvbXGUHlWP_R}yNc3_vxs)P zMXcvO7;-J(RIz>F(vWEla|vH)=sC+m6F!FNGtJ7Y+P9|*+70>_qe`ZTb_A&MG;pt9 z?x-02veYD1?~<6}X_T91oNP&pR==ExgYY?q*2-!^3mRA->-dTz^(g^xmXOfYY;V40fmq;n=l+%fGDy);`}Ehr=FVgAF>?4;^2^s|aNAkC z=b0;Uge*5I4L{OfDsHa*iV00UY?7xxQU59<19F^}(PwgrP{W_$L0;*&nL;f-is3oT zq~MiUsYQ!;kaNw_A!ttzUcy`t@%GkYdPMT?*t>~D4sS0a$RVfd6;=X6a7j}tG+Eyf zAr@yc>&Q7~@nc*I^ysRygq9~$9A#`LQ_N81R9QAWu3fRRgk3Ak+pan$pISR+xUm96 z;wXk0TD%p}^CEDiMMI=-*rokZPRC6rN4oU@?3gODi`|Ga;v%Eo&j#LRg`1HQGNYH| zG}#lGS0Y;wO@gEfardmT2#;}snp=K*OaNE+R(?|n1UC8BsNAc2P&7jt=W@Ci6X<~( zXK|idC7q%u<$hF~I^5E)=caxnjr3dGVlcmfA+?th%V0QmDj4t#+ZQR&=#JkMIw&Z~ zzfz-=Ht^$3;_UcV@e&v?IC^k0?SIf)gLVT9M#DuZ@!23@Id?W}R~bD0%@T6t4J5e+ z-kmU3FBIF=Rwm&?t-Fky_xe=qL}p+yjbQO&gK=W5VCfzmE>*4rjJ)nv$(|6k>3ZMM zWUaCpxWp$*%)`9K14EhHu$u3^>tPe+?aSikYxoz)UGrco5lKU>-Bbc}cY+gf*8+RW&X z7aF?qh_KZfa=ozqFWD0CNB0hAraG<#pk>;Q4?UX7z8+6Xh_vF6IVB|cr-#XK1>3MK zD>)Ak-7*3)h=T?!FCsXuUi`r)vF#KL7Jn! z`f;z&>@Uh8I2v+qFv5UB_)CN~+2ozrzUf~` zhVIT*IAFs#!y<}*VR&x?k0dN2XZL$G$uTOyL91{dzxnS668aU!JeOO6zF2tAXFoSx z*HD%>w}=3DEOld=sIn3yOWZ3FYtdXUJ|x` z!fW5KIP`#Sj4<=OBsQB7Y}^5O!m;PiH=n_G?0^+mqHNr4g7fLJr)TEU1;EbYR; z`|jxsW!4UZFHdP54hfkN1>Du&g}JIJd5qio$-R>9JO?UZ0mXO&JFX~wt|w{LcvzZz z3<*v)Lww(_w`>N*Noue>k|j0}=j4jZyG~;M@L`}xWEpZdVXZx=DDvDwM_HKD5LW=u9`%W$M1yg1af+Epw{R zm$V2NHX;7fLjsgGO8!7X%j z+r7sx=FE!b$6byfz<#j?>`2L3bS49V61 z5%_N|0nBDuY3^CHmgs-Vv(r~`I@qPUx>_7{9m#()dO~u28;S+Hd9I5Le|axPW}TIY z|6@suUQoakEOmx!Ub0m9mwH!%=s$b~%J2U*wE+w<%NH`Ox5%Lz>6umcsmuTi02sjb z%c5fw&%8)|nr&x4O)#Qq7-XZ{C73zL7X|ocT?OYq>*c*S0cwJ`(ElxY@HuAhz~MCG zNh`CoG_|TKCY6FGJ5RT10DPMLVPHVU{%XlJpFugAJMC94mD3{WUtWSDv7uOOB?&YO zpbZ65>GuX4I zXnNu%bN)zbQ>V2W7N)8T)4>Ccu;OuxUiMs0Ws}#Zo?*hOdj%jJy_JKug}y0Vp@+R`TAV}~fcDE}dnVF67t3rVwdFHIu50mwiz$O>F{r@dnL`oB6K%}S z2EE?kB9BdUOy>HVhqz94FcU7qmqH(;-UfJj0F%5ePVbDuKB~!q>oEXk>qc~)`}6QC zVY_7Vk12QI&q>?l`jKm5UT5@l&-bBqoB)n(-YC}NC8=hNsiDuDrP=IlSLTr3Ibif8 zp78W>U@dwx!^kRa#UOHUX18-u?{#pGEP35A=qY$3n-~2!&dQ>5NAW$u^(iO}vn0*k zA4m%v%SE@2e$QB>bGP;BBTxD;*y(glmGp#I$G-fet_KL<^8NZC{P;r0RejXhURp&x zi0TnV|EBDu4iQxLu67uR8-&k$50`LJJ@wMT1bfuDT=bdThI@8jG9)P;;eS(!1JuTzS^Ftf9#bM=vjVT z3TmM@BU?2Aq}Xw&UZ+y9i)EyRs6ajjhj18+vX<-^Uf#ygb5}e0J)k*V$Ks0W0mhH1 zsA1h{d$W4yStpiD)C&_c$=>XLb1hrswF3A3v7L&pT1lQ2ch6ySPfI41GeNC^C2SeD zrG}ml!M`J3_*)p*2e{W=kT{3&v%k$PY>BoZ`?_S2JmH|0Yx2Y5{%;A>;1M05iC;n1`E63zde3;BWS|HG%ZrH(GPo&4c9>(FExhmgYK9?3Rd9xl1v z_1CHQDEwxob19@prT~QL(>PhRFy15+3|*vm`;^RVP0@uP;F3)UKr(nJOP#raO>Hh_6`V||bdxUUxH8almu;=!<$|t>UQLC6S&)3Q zEt&4I@4>?35_aQic^4R#qFEKgJ_673)k)#Vc^9`~TB|{XZ1$Waz_hcqyIAQhW@)~` z*J{O-z4N&P)ny7mrH`wZvGB1t+L(FlIZFhWO_N5cp^Hhkb||KwV>~`}*wE0~`B$L{ z;M;gBd)M*f!)v&mH#dSA zVXnF8TZ3|3D973Hyb<0xMIab(r14Us#|3THZURZ6Bsu=YdY?${CXc$vcf-;J{~f5-^#TWmC*5tbasa}O&1B~MyvnVW%wmBa%SS=yARJ67<}EY5SsA! z&}ChE)1h4>D|>-G1qKNny-1TExtn`-!BAUTqWwv;9WFfC+e*;J_dWDq$~A(zRnZ9w zkO;#IZn={r3pe8*PyKEiN0DR2>j}?kebf-+R)RO@{SYc|)7pgX$&K(v@5YZD5YzBe-gKT17Yu*O-5JiJTjD)JKm!W|HaDw;p$tt9uNT6d!TuvLt+Mr*AOXG zMR)u@p8YA5T?rnDT==ct$|XRkIFS3Z3I;aBF#t!^zgdcve*i`w6CX|FP517%q$X61iG?xqJgJ4ONghyRfA5MT9vD#6vr z#7gt=>K%M2X&t)lrHIEuXZ#PpW0(MzZN5nlcw5!oG>%Fmr`%)!E^GuAffm(5b7Zeh ze#_*zgFUGQHWm9Y_&23IhXTaQwvc|p>0x$fE z4{ZM6OtldKteDKYIQUY;t6hri{_M!b^ajoDoLsTGuCN@)2K_$(UHGZ~tdw(=Er7gK zla)u4iM7u+#+7&V-KC5i%g`@|PH*5_d2S*#xMEF{2LMyiwP0i5tp#KNm=r9$2i{zU z46(p;NrYYn0r}%5R_f=4NeD?Tg}EOf0OmBnre0_O*xiH7!QS-;GObb=e+Pzcnk*4) zBS9~9qFvyA3BtkkDG z_%qr63!n`(FPc%PG3vTRd!aF zr@a2nu}UjFOKL*s zpc^sdti*Nk6JZm`s`0V_v@rQwSqEOi9gsY!O!g zCm9#6Og&jx*7kEQQG`fop7penVj9Ng@VIuNLv7~yh0prJDWa#YSMAONa5@@;1G2ps z2#9F_A7RP{dcwWzm0)rt$o%}6iMoMPISe%{^NIHJe#XnTOe!FZ)QHx8aw6DJ>5^WN z$LPnC?K;Iimh^r!(;4TNu?j<`bm{66dMR`c=U}5_lBZ$?ZwuCU-j%`T?dbxYEpM40 zaVE~^DF!%2Cv=>`ydR(nC-VwtAq5$i*hCwh7E3^ct=caO%GTxLcZF-X#Q8nG?n{u{ zwAlD>%cz7?(!H6=WL<|d+COfKLQ(60AmrK^X?y@p13Th#&5bFOX1FmtOLsZ5?`E;a zJhV^Hm72wR_UG`hp<2|^`=$<--atR3h29i7Mrh1)D4M6G(yGB`@X*H(YrQ<>w+Fp= z(CJ!6A306qNu3qW&-}h%q?AFf#hC1&=8L4s$&37H_q)mPl~}#Ev6$~urLIkXFDu{3l{_*co2ZXk{)!3jI=ViR}SH-pefWaim9J zS-S)^UhHbW{+HRWrwTM&Tw~GzgUx=U>PtyMKtSrE#_J(>G!6hV+5@$ft$dE8iChCA z^!hlWw~NQCMu;GH!_4$zGR{ZdVEFGlM2O$At<)7!38=aFlmHyQ+t_r;lf-9xJ2q1- zU2}UUjg+kVpXGia){F`}%@vAhkIu2B-&u zQJ>xJ-I5}EHX_t7c>Jdtt1Cz4(38C<>kL+>rqM6(;T^;0bb6IP;)Fb;T)G8+AFC8n z6ms9ynPbiovJX1~^{T;TAv!;^4!!&@XX9HsYMP0Gi%cHfrq=RPOJ~*jM*tz)`jO*q zAu=6p<}4Qk<}?ZjLy`{RU5qC3wdEtvm-4A--XWp6>D5P#!Tdiww{OtYptftPfu0R| zMVC|3$o7g>iUl%dgXj+Pg_4NM{|3mgVl_Y3f2$&1bzGiiwc8mYf7F$vJ;YP8I=_T#hy8WfrcwE}uOHH}M8_i@&+y8}F zaE6fA{TIu+H{(2yJXCU-{rA{{)|jXuh`j&;pQ$~ zs0VMNwW{q8b+XQ3$Y+DpjQ@^Hm`^IWeLxmEk2CU;y&FNH(#4e_aDJ?Ck2XifX* zxs(oZs+y(;z*ciU6`O5O+Q`UP&$u`>!B?(UVxMQ}%9W@0ZD%mUMY!R_a6SPGC=qco zJt=_uH&2QDUnmc1?33bpwDhUlbRf&s6+ms25G?JV{7t%^np-EeU}o1Ep)Gr=;GcX= zYzW*+KR^=x)LIgn`b8Mz{5Kd$$=^UOZ7olq8T++w#1)|2O%iL0YOW$@{BL@&=)#Nb z9>;dI?t>^rffJ2Q1w<;{L*-Y0STRCk*9LWL%5BFZg?%_}q;2dV7Qx!lK)XbtJ-49Z z?Fc-~*O9{!Z>k0499>>iqi+uwU|_2}dHcZ_=Ax=t0>GQcHP{yJbb4}~$LFM2pO2tJ z;|qyF4o9GElhX9kgGc%Zj2uWGePrTta*3`W6;0)FqGeBO}Z)n(*p|ZGf|9pdH&RYyDZ``n;7GF|JAhXO({2d zJM0I$)84}!2OOX3+;=8_{l|@+t#5h7Xf<2`p1FTgug)yr4|awJGH51bB~j1QpW+9O zM#X=Nt=j2Y#5Gn!7zmev-3*51}pPvEV`{VxH&@!Ca_Et^Jk-*_~a9#XeM>1L3nzkR|< z+*ts-xB8Faf!tL^J?WW&#?t>mkKuj-3%mV#>0J?`xIAq7rhJ@S;JSqPq$HW7W5x(gAVK=Yd+P zG^Yv`m!lK9eg24)tB|3x{Rg)6u3~HXJ1y2CWC9ZqJYQ$iDIPEn%B3ANovS2e_8*M7 z{37+?!6rB2fYqPgd)-VNKWXvfNy=(@wjyRV#QExi)#+#{!?Ul#;5dCaVnkaVQ=q&l z6i5OLOaucPrlWULBB61MJa3rbDHq%5>MQNpLpp5-3hzfmU9ZcpQA6Sz56BFq>M!5o zV#unEC&a2TLL#m&SwEhVZ2_(-IKdxTzwXRUT01bw>|7KD!Ajh ze;L|lV8xh6tqObo<66~Lnf&coJNo@a5Z|nlFz4$WGY=p^Z#v^Yq+igPv$7zcg!SPG{M0nm(=2t~k|&Avm+= z#;5MzOly}VWHfwfD(jO&ZaCm^Ax&VLhnaFn3Zy_gYhC;i+}yB7?jy($PT_rg3ysD+ z9ZIrhXlq+N&%0WkUcXd{zMGLq*M8&zus&+lAUkX6zRMKPkV=y&wC%+SJ1%d(yuleX z^~{!jAz73slT`IXR9h7v{P`Fb;`1KdF&dFjemH3V{h)&l0{N3n6&oZ_s9tn%Qpov{`fes3#y@Y4*I%Yc_sFJaQBTumTrDgk}dbNFvslTmHAtV{` z@MQO=r(%aG zebWrhSmyOpj-#-lh=G_d`mQXIp?=8e*-Jl^kLGC~_u&`oY&$fAf;8enojPM0M9Buq zDp%dBV57kvI$ACQ@=6?qZ>rR9mlDFq7DhxC5XjyBbp7VtW;~di98l}`h~6aTL69k$ z084OAs8wLSJ@m|$(SNi5y>nxJbJw`TPY!2OnOURRr#rFuN_Kn&d{dfj2)a4XwKq7@ zmffo4Zs;W+tOto-Ol%6Ml}1v5LK;dbKh@-Ih{ZaEWmTezyLox8@lhxgJ=ku z;KEystD|gCR)sz6cCB>kNoYx&id47lihZ$r?)6g#l=3bzeruc)GMisBY1+09tj_Vr zw4};!@zk6ScSEeHJm(R6bNQjOnr|J9A3C&*k@M6&oAaZm<9v2OUBr%$zk>*N)vCWm za8YlxvFLhb!WA;k|_4)5!Y6L|K6e{dTni z!D6)9Yi^y~zp@~k>qp=Uw$`GX#P!%tT{Aq!Q{8GZUy330R5Q&2^(eG2BR^sXa&pdB zlR3km7JN_-o)iJ`;V(w*-as4pYm(eFk;T4o)XXCJ=f!~eFFaQJ>$)eGsPW&u$3 zAOI`o?!MS$3h2czhO%+#=5~r@A*#zwV^pw}x6ZJ>lGAS8>;J{6JiAYqpS;xj@=j2B z*2oMlj~A~{=OzDf4Do_0s9jkK(w&SHh}Ye4V%UROX5LrIjADBymWy!p9@_6s^FxCa zk-04G8&5^_7(XlDy8~H^f$tzUj_$~>W{2I@hWu953dc@kNcOF(81l_Tcy-_iHV21XGNrTncech6=bO%MJI?OFOu&jI>WOD!9?fUoIz7?!^5>=fzX7 zH!CIBwtaHfFh}3>yEW~F>9zIkMgTZ7F(fK!BLQDk#}0(fvilrfWuMd#>1lOxd@fzuHfs_^jUazKT${eKLa0Zabi;}-k#VA zyJMNSx^eso(pP3X;C4=!NT$WU;$wyt1WmS)9!7ye{vX!9Dypug+Y*vs!Gn8nclY3~ z2Mg{R+&#hF3GVLhmLLZ|I0ttL?rweZefRHiyT^U#hkn}ws?M%myK2>1Ypy-#@)c#2 z2Y&Yu@Z@64a#9xJvHt7b} zLU?Ku{C|&UmSfgDA$fd@A&#iXmSdr9GN+xHMk7?>QLXUo+)VmM#JNe9@_<(Z-KfK% z*-6nrwyD1cE;(LL93V}w>12&*3EOu6lxX%%GM0SWny(zT%c~3eQSZ8HI|zRPL&}mg zTkvVKxx~?9tt8h)iIZ9M_Y{>Ep>4nstx&7rQxl)~`UA&c&rk>?KI*RW;;ghTKXvz8 zyka1^OghJeY}0L}zGg~Hcq~q*giBRZl5RN_{%E83-hLCuoCa*yb((?Y?iCtDoaFMX zBbYJ7!`tS8vgXfcGbPcl$HkF2=OZ;#u4*tyb!x$fF>0$xbmL3QZFYaMLK5cKH}+eu zE}i|&q{sYq8p?AKjeKtt8`MuWND^M7Qb-F9g}#0O-jU|!cd);6c=mN8A&_dc`lLqn zJ?PK-^uq$Q&yvTGV~y&Er7%zfa^Qt^&Q0jJKpp4#Uh}}_ZUj<8j{d~kLxQ%cx$T1P zIaF&Rd8T|6!MYg?sZc>oA4kL~U#~5mTZ(1Is|cmcNi)%`d%>?t+L)|w3t~^ob++MW z1T0}KkD?#z*9L9D$zQN2Lk1?6of&EFjo)|K-PjWzfUnhl+0fk^2hwWLeOAAgc^8Ao zX)ft$`H+t*hL9e>0Iy(rx{Yw`x7Oo?E-2y{N>?5pu!Qns*nF43ARUVx3q4NIcwsja zP)YM~{ghdad)GryvT}llQMWhcn}$%1_UZEUy&PlrEd%5>%3Vo(tvyhKReiOI zz}tzJRVnt{Nuea2)or?7TVCT{o2bug?sgSFzkU4ZwWYkDf9pPVx6twJX-kf<#qE~Y z%`AZ!fGq(1nAL;J`o!2MbX&A1I&ejaMP&C|1m~ED*tP!G(!>T>uYd=8;U5nr6Fy=kOfQwg3JGx))$j1gi~j~eT>j4(VZVG$ zSZPUso%NA3rBq#0lQuBon zU`UDHI*V?B-%A`qF{~IbMIiJ@sum%sTpWG z^Re?MU#gzC)nN7xq?r|JK)%Ta+6^uDhfXdeJzQSnOt&|Ucr-0Rw&{J&SB`pRcapCG zwI?k=XCEDW6n|E~o8WnpN{p_XbYMo!@F!*tsaE6XHDM!onB&C5)=A^#enFf%C#!}f zL~xD>`V}6I-=oWu_?}{WFlvrwN`vydnK?H9#d#_2Ovv~77X^vbj?Z7Cx%+&&_q$ES ziNGU>Jg?=SA3-G|G}9FxOK9W}Pe1W76dR2*N0a528lFt3dj7XFs7|~ zstlBYsjqc|9;v2C?tetDZM}yej@Kis2LgP$;bT_vZMZyZ%oQh^@Du6rm+PRLM)2Wk z>}ty{B9^L3;pn2$?Uh%~&6z6ruf2uDs3nCIv9vQSRuFcmhZDM-jhDA4uuY?N8NHrrtV zMa*H5QauIeRA_7GQkgce9q8pF*Ga=1E!C}Np9z~QsIuP*^dB<=FO1RZNSlf@UaBKr zvEr7JtiD*!p(IcRI{C-4&kasiqYOCg{unK}1#=&YR=1$~gemGhIzytGbo8HXw$M=A zQqg-5x8lMkmy_bAE!U=lDeGVUWnm`bJBMLFxi68YYmQC;*Drkf4DNB0{lT*N9qp^F z>Fr}h8>Qb>)HK>Np!8Ksm7^^4>sW~z@cedq@~lgBk;?QY?dx?3UJzG)vu^uw&~WLa z9C?|h$!7bJ_SIN#P1W$+rPrbF@$y|f=T}vwM!d2fLJjVpKbdqUWcvnbtrr&?mcWLN z7o%b|`aN5}t^8XgZy(P6-@Kx`yt!sNCM;iVew{VB%;|YT93k!V*W^MW2D1TE4V@Q--$0fA`DwbLn|4|LG(*5f=HH%A_uyjYwmXMmG9?6^i<-JJxCtWh_ zq5S@yAOl@vz0}SGLQ&$VTeFh)?E_Q%Y#4bVvMP7#-)1s_CJn>8^oJ>b|D-Xf`S#QF zu&s^#xg=wB?)-OZ+R&`~*4Oje$ENjA2G-}-bGO^v=*E>$F-8a}&fni_nYcCV+Le+f zAS^dH%hjYsY5tQ;aYZ^Kh`)A9Dr9&5eTj*p6Hf`mOib4D+h6Bz0!jZu*eYy}UNG%m zrmSA{6#>=RI9Ux$?|#m4Kqg2;^#@k-G%6?YDq|w4Q)wV@$_4brXDH$6j^#pOTlQHj z%^4Eux7VRPVA3mjXqDkvMQ7B83R4{gg;M(iP6j#g+t~dSL2o|!P44rcPvA(AD>#u(Y)YJ!Iw^ryO2qE9;eve@hIaibQ#2Zv^ z+?|5@aGzBtuNGbO;_Xlu9~-Dr%(hOs@1OnA>xU+oK2Ym&q(WX@Jr&Ow!y*qP@Y0+T zOLebe8Fe_Gt2s5V50W>%kJ3c8&bI#IHdST;IH_6nqIOXm8(c* zyvxD`-TAg0vG|tBuL9rCbXP*ddsuT=(c0cthT;s~M$&aDNd#XgF@ovtD*OeiN}cLz z=wxSox%`?y`I9^bW`|okTC_-Zqnc#oarE|pi8^z5Kq=qTNKMqC>r9k_3CZVw%%yFdoXI*4U9 z=hGd%6IZM|Q=;T(c~Q~IBf6C9;c=8|shQVW4rG4vEU+XbA=JEV7wihsqtY}*Z5Oxu z2)h4g*>{m6*Lf8nBJit|i+O&>Cz&@D>OUW7slDv4=+~0{+35rah|DH)9^73$=RY3i z-D>fkq^$SSOtrD$tIjXsFta+G`T4ToR{+s_LG}OU5EwJ1)?G`i0&7sf8gjDViEc^$ z%Mh~Az_ArfdSX#pdmTRglGz&mHocP0ynrru>zkN|8!e&75*B>+zbopL61adOir&y1 zxK@ppSlLlnQTP#Tx{&A`hW^HtGm)DuDbPQXg^CV@j=_vpN0NjJaT>J0b>8{@c$O`n z$%(n^0@)Z_>L)87_23if8z2<*!&qXFf|&4BgIKJ$xj?3P0#C0C#;xB7loDGa#8ZiO z5=s{?Qvg#+)B$t;fQoeAHvIHjYKiCc#}wT;*go|{e)8;CzeJ|lw24&Q*}V`Ev+;<>N&+V*iB)mBo0s>ECdz9%hG_&!GIs@X43xDn>n zz2N;Y$FDTkd$Jgux{i72xEJcvNu7<0{!r5#xL5?%QbzI}Z=!kBOdw-hbSX=SFL-xb~Bz23195b7;%-I$lS05V@c8!nT6QxgcK z>UaLbUGOKLPX7=b?Du}lMh1)3m=m&S?S%$5*TdV(UMg%HoU)FRONJhD9Dm>N{(YEP za{X`5LCrkn0`B-{10?cR3fW`gA+b-hDWDM^{K1ADdwe!dS(tThS$rEWWdmW0)on3xHadoo z``JLmqy7O15Of-HXx#!y$SbQoy0|*^mm$DF;=j56GG++1PSe4{W(gMgf3fXMYn^*_ zIo159T9jTyI?OoWzu_4dUi24UMgOTCE&Q#LQuE&{Q?dBVA!?G)Jjvbh)0!=pIpn(# z;n;r$A}rH6&AF(Y)YFJRVWY#Vqx@|=;h#}lCiWvrgCUY)5MCczhz4RBgesfZCS)ff zF2_3Yu7LQ$s|!+Q_}^;_4dX35!?z(D=zXdKrP%q5uG4a2a;MKtt*E9I`C|ESGXjxXf=DyHk0h4glvX&F zf)M^D4*XRkV9pF)O`n3dWZz?fC{}#!_JZik6)b353-(6+qr&Bzx`{&2MFNrCg%nCv z!f`si`g`va<4AP9z3tPP>NlWai;5`7$Z}j8sK*BV-HYyRzBm5+hI4uv`QXAuAZg8;V>eh|&8yXCK9FV-9&+=CK0(-6x$Kf6n z?w7Njm~>0YITQGE{1W#XT6^~R4)kht^&a56XH!tmHAZ#N77VbY+O7`3?J!0ci-a*} z8jAy}NAxv=g4z<2Gfdtj!d5;0(?H&6(uwXuzZFLK%*L;bO1lHlS6>B&H)|P39LG%7 zdf^C9Gpc)R6NwEkL2|-^*D0^+bQff-yc5z zS)DGYT@i}KT8<@%WR7;lp#N!~pYA-COl}XS2g^{9_tKOd-QGSaE%gAqO870aElScl zgGq*SWe?wBBl7P4@_Sul^RY#gZ->T3-hh_9sc^x~m8x8GSq}3ytH0}18&!yM>P>~W z)^#$7w`@cuEu+$=C}i$faa5(rMKJREt>Og7Y~E$GW8Y|RpjX5;!g1}J?Mx?zs|8X(5-jV>$(6z*r%oAuGli`j1_T=f~>5(!;aGm0d)8^@+XMGm`q3 zqRZc7F${C_i4Ac=ht`+aLchF4I%Y3dpLvVunTzMHM;8SX5>s#^%c)OzdsXw3ZDqr9 zAEg?Isrm0P6}pmYINfOlT!PrgJI^^abQu{ecxOux%`zm*YJP|ZkZEKKN|uz#KKw2L zT}sxIwK^qeT-?`jJ=Z#7nq{<4dOp1JVbFpI_fy!%+g6vg^a*0F!27p`-hkz`%}z{1 zUEr5B+S?{OQ8<$avuSFPm&`&Rg|%efomI%25H8#3!z0-+t9Hm__g!N!J_(?}t5{bO@O%?dWfu+i^`oGK37thr9Nw{UC2o)7v*!wK{vq&) zYkE2z1om?C=MMN0+gOL%N7dMY%ctG)J{nyc|au*>JGgx zQRw7A1^T6nYu+GM9%&KO`2jp0tT32;Nz{X%nzL8e+gMAup>XKwT4^TIJG}_I`UWpz ztK3jIYs4p)J3m!xWmb_DSh;Vocox>XjVl+&AaXDv!?sW}2z7W#Q8ETI%NRB85f4;y zF{x0#MXAhV{rsfRPKSTVRlOm7s}pnpG%WF@UaG<~av0_a;c2Gz!Hp$e8$|znR>H7^ zOe9Y4s!ep2d;X^a!x9EX=JK2m!WGyr+WJ}ezYo{6~H?oH?be;APZcQ_LfS`0erWq4jK7{Q=Wu==lg zSMoZ1yyPx(l_C66HPdDaQp`AFwcKGm{yO02s-Ot^`g(0hZNkbc6S{C`D*Q7D`q*OW zk_~0=CBNIgcPY5b(nR&=Q)a{SpVNXuEx??^F6;o(&HVD>aCiPhvDVccP=?4N60mU>nciX zzwe(aF0#f&4fx(`;3u+o^eF9R4^nR*8F!DzR+4iRFfw<&BIIFE9Rv+a z!=h-2&kDxU2MkR46p9%JOFAm~Q9UfMxclR?&C@K$r$yb=xm)89cd=vE*uz~+XEe~d zIHIWZ)}iFVMEvpbtd6D@ZbDz)#@KR=NrM>KhF~z2Q|wq#+3Q;zLCi-M@qN|Z%+Kx(bav$;!{|E01&j8q+Bm0{ zI2CQK=~q~JYNa6EQ)A3cuz&UuhWn|JAIr}<_;Ea4gbBJl#X%YNu(CI&){r({>U)~r zESYuzYbv1AVk=dK_n8y+B3$>vhpu(QUh$h7Ep8}2p<7st5Z8jQGj>Rh<@}(S-O<_) zF{;Z*zjF3gj9~dBS&g=6__%Bp2aU9IR9rrMlvA8yIM?rxbK5HHv#PL0!k4Od4d~F0 zx!UD6^LcHi!v&sfq$)73Ll<~8^(VCiGQE$v+HdJhPMid7`>d5v##?(_I`XkJ)Qgru zuV3v7ta2eA0c+CA;RVmhA9f5kRjA~B0`*^cp9?jOPkpdCIgBu!qXL_aLrU|8r}%#Z z{UlKr-rJWkeKjWF`$JeO=4r+>a0pD3%~2L59qp*qU=+T`WLVuK>=wK< z+1)+@Ql-L=(*g{VWIoxtLb*l9U%;;D+Du#$NUAi#E^(5e+xCYx%D} zKUi)yEwLncpSr7Rp8`D4D*R~}S$~|F!Ztq!ogo_C-Km|0sE6+TR0tYiO&+i|i@CU2 zG7ZQv5YbdG74-CHI|35{E`QC7_KQozxe<9M!55zw308VX)vSM$v#zK~dz9AMx3f2d z9BriXRQG34N?zW2xhY^?ySq;KFDX>}9vjW;o~`PFW~A;`>uGK_8duEfy*rFi+j5Nk z7KY1@m~*rUWE3>PO;*+qJMry=tW8Q#s%g8u==_%jn?ZO&NmAhcxnpn_272cwg8uk> zyl)MQmRNXIi0B$38y}i?DtGGop7gRO|5~7-ZLx#*jqUV7pCbMq znM$=T(p+Cdli$cgd%a22v%Fm?o%&bMO=Mp|@ZS(4?`c-rss~QShu5q5v?U{y)KFNp z{eOva_j*^9gufR~SZ{=pg(B+Mb`ISe6hn;^kC?CU0 z@xXJA=N0FGh%%&1@i0|wH_p~aiNQhf9F z?7nH6hWMluJGIO5@d!b&GywArTKvvVX7kqbc*uTSZ^;R26VWyA#oBT%QZPf(@w_bL zgYeu0Q})l>4>SL)MnpMpx=22L!@&pE5>h?gAZGqX>!E%78i)ZRY>1W_YGlW+laLg$30HaRp&Bfj`LrALn6%R z{{pL?!>%5FbNs4-oVfg6l$ECiRxFcDrD?o|u#?;9b;x$$tV)>2y5l_w zPsBY)xNC20JpI>b@3a#Z+yf#g=4l$Y7Bvpc^s{Qh=gyJ>OO_e&j#EZ#6!fF5 zom5da^HX`}JGa}!Ra3fEJlC4sc_D^bb#k-4pq)(D5pgY}?7S_c zN-Y;^e-} zYdK>UN*Nvp2NdmxPW@w$V~Wf^j(p5g>AS&1KDfj%yOf7RZ_qE=(^jXX@UGkeg#Hx! ziS7y+_`62KOO_Wz!rUE7PBwrjM^3|f+52>7e*7_rRPFZH<+t)P)pwKj|4>kL3 zU6;?^d=+h@C(B>QtIq4<6MnGg3Fe>MTIa;kUk^VC18ap|?V9pH)h0c_X9<4qRGx-G z6;A3J;)p6Oh~1@Uxl4ns}t4cGfm! zQ<5qfXSs5(&crn_!?laW(t#N&UoysMXNVPeI8qp0aPw%iW0|)i3vpyFnT>vldzHOA z_=R&;cXz8IZgYxbT@8-!NITc!{@5~MGX4X=aa5|a_vO87tH;G;Bgi$P6=rQe zyRP&Y9XjZLbIpX5%>@f8m7nOvbH)6+=_4$A*Gm!!aiQ5!f!%_5&I(EmX)3axx(H+* zxDjy_Wc!btEWM=IA=v`>Is#&JV{U;!*gFX2UD@Vv)BDH=nw1N@si35g#9UD<_2s#Y z>!sjCGKNd&XSm5oh3DB*WGP%l10`oZ6oB~L59T!!DWNYmUN<2`u&gCUgklQ8sZ@O5 zpsJP~l+RXlM&tQF27|VnO@!Y=#%3c~teN^V_o1G>E3Qmd`y&+4 zsv~ON8*~n$!16e4F-e7$wdvRhX)tj((8clsNpt%EdbnNNadhR%_O5lIJe;Y+uCi^3#+UI!Nj$kycj_}unnqVj0faFCFzm9aO;yE6K_1ixqV z&91+sodzU0%hm1jCVF+4%B&eH{Rw7)lN9X6?x0tL+1xAU60ICQQK0;40O`JhW5mNm z;W3o)<)qstfS~ZwnBeS4HE5TjDnFjd>Qy_OW!KSE@8M}OnXLE2CY>Q$T0c6*2NARn zBCWdC+hLp?+gwb#ois72pWy>O!}rbsgTfz+AIbXvX@XYGb#nwBq(FVa{;A*{0UT4_v>=vL}8!(ebmA08KCcqctM$j(*DQpq+V#iRPfGD9c(s1j@_rNZ@ zHO30^YW`-vw zxUt{I<>VL)<5g((tc@pEp4su#3)qkd3ll|ix_vB3OaZi;u~RymUtG;hWh!<%y&Jk+ zhQa5u5yi;Sp^a1kx&arv`0q}P=!6#KF`U_DBbE5)Ad~%!URQi;dRh6P6^+%)N$MPY zr_d!_K7%g&dS6gCgkaJ&$k?*sIm*Z#i{>19S?Q}~Qi2;P;ySEI&0OO1rf-rg_pLcy z@BP#@vwv~rF&PdhyF?~ZhxVywqV!%J-DJOew3y8CeYCIL_FV$|EWzsF!U|^w5QEh* zvf2>wVr|=zsH*y76GT!ik^fG_cu%|3Z}@OH>*+K4n)zS__?=TUB4m(i67$aT`tjxr zRT!0JM)KJ^w*KSNO}IE^L7Yt`fQ;e9Z1R~_<*Yc#Ev%ysCTViV`dAZUjY3`!p2Ss} z%0MUI_ z8x0%NW)!b6bpwVQ#;FCFhdgToh7i?k>!hoqrHfb@QKCXC}ZhI(jh zE{4cH3;8-beT&inw& z3$F*Pj?e6a{=d$?K7C0M-a~ovTbOtQDjKiu-9UDLl>l?d6%_#v=vlIWs%5K=G%!Se zoLAH7(@d$*%B3>3N#f}C!aHLsrq5+5kVIk@8=_2?@7!hlH<%loNQstCP!V7AcU*gR z)|rOkthKDyHFL5~5{iRVJ3Tjd8-exK&1&^=>@8nlVxjZc7I*oJExwX}AJ-zd$*L1% zG-F?}b6~*D3 z<}$VU+%-SlhlbdC6qDsKETR7+g_lO}Gs`z{BdfbPz9S>J826ZI)N%cCqb6aDAD-BB z7xP-~`fu{Cw$|upHE81tory<`{Hl9*4{umPmjS&mW|fJO2)w!dcc?Kx2Zx+?;RX%o z$r_ATs2~gzobQ`KZguYNVt@(L-h$VErW&U*M(jv5J~uEkS<~)o|180a)0aR zciV1tZ40v27u@1aBItZ?O*vEP4NdRX4qobXjDRZ#tMrjVQ1kWC6h%EzR)o=Dh{l_# zR@m?A8Dt#hR8za0b1Hc3v)!GXoKex{-l)poJK4UIP*x@rt>-le~}(;B!-VfzTp&-fX`A zCg1dB%7+VEep|icvrOL5v!F`eV&Tb2e}zeisdu4!Do=LL^;)`>77n(%#u`6GdnkD-1O@$sM{@%KpE0+T%4VOZ7x!oT zu?k)26M0Gx^}hC%S%T|;hLD5aSv>J@SGs4 z0@io5`)6(nArkn-r(q(YC>Gl^=)OPR4#J*GZ%B@Z%ql%h>ZZW*D+>7Drop34t(zU9 zpq`vZIad1Mz`PmHg~8Uw;IXbnzRlU>#&<97$~>$E3KR;LRN=|}fBeo4^*9RHOHdW+ z`!_kTu(WGWmr;+U+We}?_he0+sGJQx{*K3hBxIrX!c5zbPeyjqWL!M0I~7xrDA{x$ z);`9leTWnjLUDz!j5GRxbG&bnf$Y2=U+bP#PxO@*Q=(hH=*xioBx1Ag5Xt-IJthiUR; z{Tz14jzQ0j4uza<5vzDJ`%#{$HcSH<9Cp2}Dy-Mu=hNZ0IPOFN5(b+Gs{xTc&%F=p zetBEhwD=sI(TD&Xk*_y*tZfYS4dw1XxS}l{%SqiVXjv6sZZwIMDEL39*Co#qVNk5g zp#@b)qiv=Gio34^5P#9TSW@0Ga%h8rMf`!E=n%)L)<2rBqxsblLoVXuqGI#UM{0N9zDa>|+AC zxs>xSD98%DbtuFxo;^QjooO}j*Bd?b%zb)!w%sFq3=%Z0bjsg)5=+JQ4-VBtr1PWw zeXV97fYT{EK$N|pnA3mt(_A;R9oNr&1`qL2e4~8s)~9r(ZDyg|J;bHZzbWL`W*~f_ zAoOpWd&%)|*__e|^!EY$c|I;JamT&rqkMMu`Is}*q2s-<#z&P3S(JaWGBq#Xlyas%rO{F- z_QcKGQ^d55Do7{vQx;2y<8F6LX47;rneeT_m=TT;WFG|ITT35xQ^-CCOd=Idf=G`S zxpU-0K3S`|Sqo`J??a}!hPslX^@}q!7Ttart*4yHD zxNcrp?c&rXP-XqsLhT}*c$k&Ped^!SP#NRyhS%uvgKtfW?)q9U7Q`3bZ=0I9T#BsO za_zWi`T0X^kcII+;L+W~!hQhtt|j>y&(v@G!gf!M-rQbOh1_}d?+e%O9C{Hk&5cStc> z8&@-bI;<&Pe6NQeU&3A(f{FxPNXOgeyzCu@3G48;tciE%BJ(@XLZlZ>YGxM$o*2Mx{3&F6GZ)E}xj6;}~0zNL85;1(y7FS{T%M z+AnrglF!3cIsnV7jqxY%0uOa&ebJE322vEhBM?kV_!T3sr1G`HO&)0SPxAe@V>?ug zvo`yd^hBIreFepU#{Q`sU;PGPViJPs;q4{^_e3C=l`2ujbCm)0rQ72$Xy#2_CA%p$ zfwzHfH^fR*fh4~ZbI>0&Xx=b2(oSmJyqqr82*z8T2Mx4{==9S?1UPgb=QZl6SOkdb`-mBDrM`P!831< zp?(u-?1N<>Easl)`j;2~yHntU^S(q_+ZN>1j+_^Lnu~7IgEEBkKbr4cH;PU`N+{(KB-7ZJ z>bumadY_J}O*KxPZXBX3#1v)m6<)8Kwr{4;OWKRuodyXBH?6!gIE1E!HMffk;wG@z8z*`P-^;PtxdpD&U`hr$Ngc(MT@T-<~(6}+!Q9ubHeY5{&a%o3yn%;K$? za8H?5H8>i8Ll7L=cQ+3;FFy@fn5MM-fH^|<24Aa@4`vzFh-@^tmB%U8v|8gAkfzoQ zJ@T>uAb3$AQ}&ON2v+E9*@v43&A(4J2zYMr$}P?BJe<&kg$X3*$!8p&lI%wGNx5$P=~1z>h;=C8pj6o!zpOh6x(>o4r#VmgnD@i#)OaEXVGJm~#_) zhL%~*#7g=FXHNXS(N*j14K6s*1@%3wkk1k{WPW!o8#yX4;;4Ro5AWA!*=7g5=8lie zRO?V@>n)Haw@Q7+f@OD7BI>v781z_Gy}G{`{tgjm`L-ZFr!JqZ=xt3_;s^?#fSxH5 z(nMeLN_psEr9(H&W|r^9W0YTBV%d-55^&eG&Z1o{SM+t=HmU8CBMdgvbPViU6^V(Q z@vCE8fj`lhFhC-Fl_3nRL$*@)$`g5D!7=991E=o^k2pT5D<)V5@q~Hcg^uDSGMGVr zX?Ws!1T`axFLc!PdyR`NHdWO&+?=3J>NTZsQtw2^YN4=Qe zzk7;dox!vIyf_*%=)!xepd7j^?#TN;Bt5L;o6uwmUx4WPElCaBB;W9)Ji6vqeS~M> zFeH4gV-w@<=y`!m*1h3bm5ug^COTLx=im8yV%h+EE=0nA_C(LE^FcOI`8_Ctq?jW}Q>Xmq$uAL?nwaN~LNNMmzhW(vD8tTETHmP%@Ba~ld zK^K@M{U&&Xzb}&JFmW?;0SJ7d(q}woG`5W?LJa%I34$rE8m>@pZp!TM#_WLn4_n~4zl zyT8qei%B13o%vcWi1EYrAq5Bq*4xVZQbzSE4ECskFND$UULLVup&;)&Vpck8x9BpK zoXB$jn*JEd;3S~7)G-QR5c>i8{?qLO576}v&RNNOHSDyz+;9P5b&l&j-*n~0Nh8!L zGWhju$V5A5ljw)2Vz#Yp1=mvepAXb>8IInOa?v8&JW_s@zfs$seS}8&hm|?U78r}9 ztuk^ZoI3AG{5f47s!(YKlc_R#1c%R`mZ7CQ_9mV-!}$*k|1?WxE)0*j{Hd^;FcFD! zmw#{)a(vVTnVyB#Iz~l$C3zF%Z0;az^jm=vl-i4$*ictrc%8LX?B^l;u<<08IWx6X za6`%vI;4j4t7^g}$!HT@HKkJq!SL5KRAHhAnY)~fd*p&$%{r!)1Ug;l9;3!*OWf!m zdx@$SM@FjsQXuq^=9a;us%|xg#el)ByJHkkSrGh4ubR8%s<(&TYJN5vJBlD*WndKhYLyplvAjT_QCkZ`v*H+4Z{4xFboj6_})gW%O zZBq^!0jl1Y(LBE|sL%6w`=XA+bem4Z%1YHzGz1k06es;U(iezIs%uZ|gSha&W>94T z3>>;C5#UrewH@tDZ~@=9WW9FL2!m9Vw-URVEyr5HEY%D$L%HU=zEL4mwY6B-bfxJ% zr_8Rby?~#^QJRl{JBfyQMBeR@qNz=^mXG_+O(rse8riF&eg5U!`t{Tw8D$pWKNj7a$Xj!=iMu8++{+KJe9Lob*zY8uDs|( z+~p7VVxkx`TWpImA@B&-h?~{AgWx$p*n5Q4azP4WZko$_5l+x`f@i!k$wN=`O?0M= zxDmrOgd4B(c!ks{fJH%Lp`u~*i3a$Eu<^Nj?3L(E%vh5ddU6Z&!8HAYe% z)#-vb+Qu(x!3K(aZ>X@FMG+|Ko$B1M9Zj#*S3?#3J%}Bz)gcrZr$OpZ56h09d!odu zHgalw###6rZ-dRBQ^DV#o+FcbJl~3kb0R#9&3KrVfq5DVR<_5>3VsXT-`R`c?nPb8 zx`$8;?cH~SoG%$x7JVs<7?oja9$!-uGp$zQ2YdPHvOXYdNE}16)n}mJYAHQsHn&#M zS}5U^Uo9nh!y)bIL-AcoC*A6A=DDLfy4>KtvwlFXo)nH~RA7uB!-Pu*KmnU5F z)Ztm@`wk4Q;O$V~XF~FOzc$^k2t{n$;s{Lc+rs(sVuDDUX5x^~*6h%I=6zqb-!|=U zU)MoZGTpLib*AH5One^v&K4=1$LoD@cX4KA#Q@G(EFtx_H7(@$80X3Qt|lQO!nYf> z?RH|CQ5Sqw{{5SP3+^~GX{&BXGuuz)VjQ0dyF8I&7W|Bl54NGvA$1YbK}aLb8g37| z3GNHQS3iHJQ9^UfWL*osUv^}zsdp|JB<)ll(Bv1;&i|+mF<`294ed#eZ!gV##mB-o zT{B#^GZW!ke4c#4EQqxFb?W;G5)QC~j?OZ=ATiP&TPeIi1Xq2c2cPU8Cp>R%yFSg+ zodSQJh#5m4RnytB*>#>KYddt{i0_fNZ`X8a9l4cIlFlZ1`?PMP;U1aCo!_LY9Qw#a zkJ}5lNlpbJx|pw`y(rsK%C6nLh80XvrH)%JySmI4j>S8Ht9ZE)p|Ur0ioJ4JbZ&KS z2duLn--=!G(cPcK6xZx)8$Rgc_uq;6CQVZ43pnlL-R>n{d3B>&2>XARPW+UvMp!>8 z;`nw-wBc|MT$GqaQ2hBgGe3L*sLd7E zr71sus{p_ctudEUODS~XevpH_w58$2Ib4qYs_H4lE#N6K^&Q|qCs{ek7h1g%7beAz z-z919Ybm#+GguXCa58ozU!3~BTr5qe4~lNLgf>7NU0OX4M?c*X>DSCe;VpNJ`4X!k z$vWk2PKB*%-}Xp-btXCGSf#rTk!MUwF$eR61Pyoq*X6+`I+W?Np&nsBf9RKqed6DV zj9Rc#4hcM=Ebf8RNf((r3aj0&ft{4s{&+%*-eKbfI^pzg7@tLt>DY~ja&TF9lz?05 zQ~A{7ur7s*i!*$hvX1sl1E^NALaEspCH}5VzZNMQPGzZ9WzFjLoRH3I%7|Jkig^_c zm3|q_&4j*ES+16&Uw<1%e5KKp1_=$HQ@2kp%|<2auE~5J(Atw#JE)+G)aP$^C~yU9_vE!ocCZ$o&ka@mynT$bGQE?LmW3xkj^sx# z2?C_>6a7wN!L3`1J9W_OV6-vF=cb7^MZ+lO9Or&|t;edU(AzoV%g}2A#EV<>*HJpP zJ@!%G?Sg*IR5>~c-xjHAn`s9i%w(O4r{bx*sBwp+=l8%2F#TL#&uU<91o%PUdVI(9 zQ#=M4`;Cj z4+vaBT=Y_}Sm%tK4}|nZ6pQR#(W#uHSBvWTG5Fj|q!`AvnG5@~hbn`=B84A8Y|(EU zu@fVblK%acytG4e4!>Ly2G38BfCB{EE!NkZ9=Rh|piecD9sP^V1A*A&F~F@C49ukp z<)?lHQ_2dZjrvp)znrV}nNqeD=;MGkf<~VMMW)CE<74S}_0=Ql&Bainzs@6fMB!n4tkGZ3k2ep!3VWns^r^?$L z)n@`jd|RCM&|Q)2%S>2k2b0Nl?)RVWabI>88RL@y}=C zb6QKHH^~?`QKM<8sP<%iGUo6T%go_wvL68B9xD$qfW-m8W740Bi4o464%%MAd6z9= z>l}I)c1Y+$BTR_OYDeJsVqN#~|BKn@Yuk7Qp zXWOWzK>J`S34<>4to`Y;$z%RO{>uvlz{)(-y|^4@US9Y1@-l8%v?G=p+u2kM8A$H4 zMTecF3)p-P4sEC5zQI_but#{`9tICMFH*6`CP;CE&rwOydl-=+83vt-&!vHRf>ng-!{BFS91~TlQURT zC9q4MEc^#$6xAcklll99v>*apbmM;^J23qJz6#4=k{WZXCR}b?uhW|(z9;=B5Ld=a z45cpCv8%d_kQqj=ApM`Q!W5q+yQ)^Jpno1=*9>UtSeZ_;H<4I#_ z0~1P8&Jdh%dn>>pxh`&YRDNtl*JOZlIBPjFOdqlIYsIJ$;)PImzdhSeMA7m80lZt8 zL+9KrMmIiH&Tc}rImR?$EoE9f*x5}wTeqon3LoD)g+h)A&@T-XU-Pvy%T+4d`Ip_*|D+u^CLFz%rVLKh<>QfRSVgi{;SlNpwt*hA_&S7Z8{AC!kz3Qi}E=y50xaD2|fSP_oG$J z<{Qqqn5iYKd42y;BnniUpk3MdDF>B>$wBWEBt2e;trJdwqWdaQ4Mv9+w`Hbi;z{cU zpHRV|HTB7EUHt%lgd~cJzRpOyI1<7L^#smB)H$ZgV-BRgsgTyakJ=4Tb{<3LPkR~p zFb0e`f~pC1XXnpLT|}V2SY!!6mH<*_vPvDBy7k)izQ})wr8RehfCl(D?I46`rs|v5 zAzjvh{2{%=l@qGY&oR*wT)%ol%pC8dXy?a|kkplnFXq;0^wmcL@5JL%&5j>{5<#i5 zkaw+1qlyHEWS%CjT0FbzMg+MOJ{xbn%QD$> z@OIi4k{(-u>9N`aq`%F0JQ6eyp9&ldo>WCw@m({`OE({86)0>UoB=$EnIcUPJv5HwTrfdaNJ2mL&OAChVcr}?=tETQ$74rd61#F%;ywp1OjivK5bl6{<6fC!u(}$| zg->G`KLeNL$F4~r0N`p}P7Iw1_|6PT;cyjDawFh>u&u}&W4-P4k(-JS+>iFLq4<`9 zRee8GZMT#`W~xcG&)Tg-f*&+3J^NPEtTa}BI%7-m{}tTJDmt@A$u~U%%aTYOEdbC0 z770E>HINXll$=gf&JkW81qnlK_AkH~^5p3qufC9?krq4sKICa+!u(3>Wy_||+!Mh2 z`o6Lbkl7E0V5lc&6@BIvhEtc~=05j05lWZ@73%e0m--$k>@C#U7yv{utt49I6%F$1 z6M^MV=s0ZA5EX%u;ma;X6irhPHdedf=K8N*4ylJDl+NH~cILO87OQs?)%bY?ee29ys_(~bZ7TC}# zO|Z=LSQ$a~73*_~v5f}xCru<$cP}>Rb;_x`4Zq9UxLF$t2Ikt>j1sT10CU6(!357g z%c4bg187nf@3Bjru?r1?#abn5eyEdY4I~~a7n#df9EU)F+OhI@hUsRx{nX&`ndUj! z!;cs<)OJ6(wq+Qa6L8(Re>ip!K9yCm9sHQ^@7pt`cl2lT2+yEGYp^ygGEpVXD5{v< z<}|@CULthwB?)sdHpgLoYC7=1tN0#BaErm)A?+x|w!L84L@R1y{z*?CK$OfXb~361 z=v%OyC#+m`SzOk`lG^O2sO+~e5lH*8XFd=gj!?FS%DgzKj`f+`Flx*0A!BaB9AZ+& z(qpj@=OHx>6%BFq+1oE&DxC?r|CHK?x#;`eLlFQNl{s>vVP-t$n50!{*#1{-=N=B# z*2nSW9vMSQgK;_nB4w-~eGDhV-<1!@5B_f5~O1TY=Tp~&3 z8X?Rj6LQPoWTJOd&hx&{^Zs%Ec;EfkdiJyS-s|^UYwu@$*XO&Qea+UBaTNjeXy1G7L-QX_{dnO}puIwys4n3|!wB=24xI)H} z7@0lA#oSKXMfn+Ilm$?N=U+?rO-irwQ_!I z_SG!w*(UGjUiW-SRiR&xOF#eg+gjhs8b!nT++1Bg8;UyGI3KorlQf{BB#j z_RwvfySi}9e2xKmAW=9*u`NJ$up*<>=2dN&GBBpX7%!*%9oN>6f9F6}8xCi`J9z3N z`1Mz4oCIRc1Bxd6Ld4gJ5CCT)_m`oGYmJEl2m4C#Ol8CybhD=@D1E_8*tGaj?r3oNica zy!wUj6NTQBcIV~DZDT*S069VCy6&&(2Se&KgMrbL4S6K3Y(f=3-M|Z1l4)Z8r3(80 zz)62F@OkjDP~nAW$a^PbVT0PZx;W@W#_*}j^b<3&$yBzqP%a^YQ{jKvwq=t zQ7-)usBDqAceLm?;GG$CHD63Z`R{kRi^*NCjO%V{gRLKxcWFfS`hU~GF#L84FxvK0 z{I)#ZGI|xsyxoveA68G6k!WfZ{^mu&rx!(@VL&%8MzveCcXlW%YSf>Siy}0~W2qZa4{~^M291m+C*6kxTc?8+X`)t<>DDO|Z^wNfV4LGS)b7Br3ss zHw;AJk4&@|@b=>RHd9$@A((;YXs0uli!PP~Q`oid(Z?dwVkfTi0SIk|VWDCDkio#^ z`#)Q+z16>XbOl&}>D1+lhO}eQ903W4XfLZ+e2xuuESVmmcl*}q!C{X>&DD$FA-`P5 z+XmgJbA-DS#Vq5+m<28U?1Np|*T*Z#c{{4ORGR$Z3((7Mm(`zWhBeKkA~KmixD*+1Sk@L9N76Zzshw59<(#EwXB&moXjh4HuYUYVqDriGo81Ws!@_;9Bjf;AbGlk>Ij3QOI;q&2ozC(h z!|z`@D+Rl1pt{=6 zY;AQZ*q8gXewkT(<%93H(gz$VT`c^;>no%2$i~2sdzCFtJIE+n!+8n2&L+cwq5f{E z+JZ;nrQHoQ0UqCCaB**7$d$m=^=gYd1yKgY*f>@*|Auu3saZQzY|c+1g^CPk+Z#uZ zeM>xOZk-iVy(GHOuSanH3mC0VErE(>c~L^{4*Bk+x|p5;Lu7xz>~@N?c0%4%jS|T^ zZ{~}FRT(;SAs$**HXH&60sh_!Kle^9A)r7F_waIN#kX>3ul&Ags`ntl3Zrw-BZJkv zO@rzt7g3!qGN*cl>0fYg>BS9{)7VvgvM(lkU;km$00ivlULr_WH{aDC$GK8wdnzvKP*o2gyrc$_W zGH-OT$kdbRwvwnQAJtz)$U?nQ1gmdDxT-iQm^#Uiy5S{e?|GqaBHNb%IcDErg{M%^v_F?uF>rkO>x zISn7q+qi85C1%)kOPOC=4t@=>wO3AhI2`kILawgCo$d`?J>$Pz;ex=ay&Wt~o#>y$4Jv3&W3W zJkkES?Hy)5xocDHE+%?(jm8Z@Gz4D33%|K_OExabnJJiZC`EM%ig!@vxqg{oJ(Z44 z6@ z4-R5nRg6F9cYw9vgc4O}kS#8CQ;UU5D}!v!5H*tSms(GJ{Aum%lVScWjWkjuf7(Tl z{jW+6x}gUW&7RJ3xDWMzwxU_a2+$Y!>T334tF7N^O6!k|hM(k6Bpv9b!D>*bwz&+h zrFHLSV;HeY#?~<=@s;*jhrzhbI9+v3DSK;xnz!dRrKjW+1dJ70&(?|8QdyMcbyT+< z_@M;#fVsVdS){@rpVhv<{rAUoe`(sK(&kPQoZe2U{pBo%{qg$N=Rz3vD#oZ|^a{CF8jWtBY#9GG2#xUa7pFJ~lcXw~YO8#Wd zClTU`s5`SC>V{jAfLrB-tjq!@MrsNb9IUP5Ut_KqoYOqBege(0g|qxQ$Sskp#{yOg z%G)pK8yJ+oCv0`0tJ>d=U8R3oVlT^VW>w^N*!r@J9Kx49-V|Z8L<*0HpvK2neE+@r z(MDJTMukc=d0nh}z`Y{UmVB>duk+>*{~3KxsSConir}p-l;ip8R^arz*BJ3FkMUHr zQG^g - + {/* Routes de compatibilité - redirection vers utilities */} diff --git a/server/storage.ts b/server/storage.ts index 780f9a7..7d59452 100644 --- a/server/storage.ts +++ b/server/storage.ts @@ -1710,21 +1710,54 @@ export class DatabaseStorage implements IStorage { dueDateType: typeof taskData.dueDate, dueDateISO: taskData.dueDate instanceof Date ? taskData.dueDate.toISOString() : taskData.dueDate }); + + // Validation des données avant update + if (!taskData || typeof taskData !== 'object') { + throw new Error('Invalid task data provided'); + } + + // Nettoyer les données pour éviter les problèmes de type + const cleanData: any = {}; - const [task] = await db - .update(tasks) - .set({ ...taskData, updatedAt: new Date() }) - .where(eq(tasks.id, id)) - .returning(); + if (taskData.title !== undefined) cleanData.title = taskData.title; + if (taskData.description !== undefined) cleanData.description = taskData.description; + if (taskData.priority !== undefined) cleanData.priority = taskData.priority; + if (taskData.status !== undefined) cleanData.status = taskData.status; + if (taskData.assignedTo !== undefined) cleanData.assignedTo = taskData.assignedTo; + if (taskData.startDate !== undefined) { + cleanData.startDate = taskData.startDate === '' ? null : taskData.startDate; + } + if (taskData.dueDate !== undefined) { + cleanData.dueDate = taskData.dueDate === '' ? null : taskData.dueDate; + } + + cleanData.updatedAt = new Date(); + + console.log('🧹 Cleaned data for database update:', cleanData); + + try { + const [task] = await db + .update(tasks) + .set(cleanData) + .where(eq(tasks.id, id)) + .returning(); + + console.log('✅ DatabaseStorage.updateTask - Success:', { + taskId: task.id, + title: task.title, + dueDate: task.dueDate, + dueDateType: typeof task.dueDate + }); - console.log('💾 DatabaseStorage.updateTask - Result:', { - taskId: task.id, - title: task.title, - dueDate: task.dueDate, - dueDateType: typeof task.dueDate - }); - - return task; + return task; + } catch (error) { + console.error('❌ DatabaseStorage.updateTask - Database Error:', { + taskId: id, + error: error instanceof Error ? error.message : String(error), + cleanData + }); + throw new Error(`Failed to update task in database: ${error instanceof Error ? error.message : String(error)}`); + } } async deleteTask(id: number): Promise {