From c4ac41393102a7788d1eb109741bc2e06a9b3dcc Mon Sep 17 00:00:00 2001 From: Jaton David Date: Sat, 14 Dec 2024 14:21:33 +0100 Subject: [PATCH] Leave a discussion --- app/Http/Controllers/ChatController.php | 13 ++ ...4181073_yealink_mp54-e2-teams_f_423320.jpg | Bin 0 -> 65436 bytes .../components/messaging/header.blade.php | 15 +- resources/views/dashboard.blade.php | 177 ++++++------------ routes/web.php | 1 + 5 files changed, 82 insertions(+), 124 deletions(-) create mode 100644 public/source/media/1734181073_yealink_mp54-e2-teams_f_423320.jpg diff --git a/app/Http/Controllers/ChatController.php b/app/Http/Controllers/ChatController.php index a4ba9d1..8e6bcf3 100644 --- a/app/Http/Controllers/ChatController.php +++ b/app/Http/Controllers/ChatController.php @@ -164,4 +164,17 @@ public function storeChat(Request $request) // Rediriger avec un message de succès return redirect()->route('dashboard')->with('success', 'Discussion créée avec succès !'); } + + public function leaveChat($chatId) + { + $chat = Chat::find($chatId); + + if (!$chat) { + return response()->json(['error' => 'Chat not found.'], 404); + } + + $chat->users()->detach(auth()->id()); + + return response()->json(['message' => 'You left the chat.']); + } } diff --git a/public/source/media/1734181073_yealink_mp54-e2-teams_f_423320.jpg b/public/source/media/1734181073_yealink_mp54-e2-teams_f_423320.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ecde65e912fe02867504505b701e695f8d616d1a GIT binary patch literal 65436 zcmeFYWmKC@w=f*6NDGtzZGi&82^4qNLV^({YRVO*iH#QI-7fUT4HMqHtowwmrGq6htr;$|m7FY^~y&?{99kes87 zB}jymhr^tkn-?S`!f7gKD##}yC~W!y#LLag&&AEh#VyFe!y_udE6ObZ`bVL^XXs*K zB?^;Q_y@cDCkgt0=;i6@$?3_*>F8q3#Ummj!o|(Y#mmcakHO*U?ciqW#o^$}@Xr?H zEnUrBY@FO|934P^wPl89u(3atZ>x0zxle%F4*d|C1K#;Ob`TU~c&r)4ynK{*zYZ|41t;=VEE< z=I8=jAjibOxQE_<{{{HpR_?w4NboRFm{M36Bmhhj3@j3iyKcbG`*{fP01M;( z_n!p|8|MKo9wt7)!+V|p%zM~>fns1{;XJ^`#m9RLz`(@8!u$&vhu{%00r5QqKyv>? z2gK#Ulc6WoG$q4#4(25%Ncben@Z@QJCybBr=eU`R)+C(i8O7Rh2x20UpIL`Rh_b-E zOFn5zKszj1P(e|bwdSkbJGbulDZ;PTT?=bNk(Tbo)}Gl6ID z1;8V$d!bPEjZX_J$e07QEu`~F5`gQ$`guJU?6l@9Q zWC<(uU_9J7&%appu%;vh%-Rj+*zxf4`l^`??Gzy(pD;vb{yVy~r|-3-S2spWE}U z%OK&{Kl7v(!f^gRGx29eD)7@ZN5gqR1gG0EOfs10p(|objB$PDmZ0IQw@Kt3Ao%?3 zT6(*{J+&hH`1B3${?6Me60U;hlskQD1H$bcAr;jdcL34LcX${Qd9HXmTTI3!pzjgV zSOthWEm1f@9UtWPT4$x7+d*QK!7sK&f_H(D`;B^7nhPdkg(FOnepNAh;>g|I-;GK} z``{VHH<#T`b{*6bsP&o81g%dcqKwK0)#Sst5vgP@cJD=PY=+&3Gq2W5bYNS+g4pm^HQz-? zPP0GhR>d#r+85DP?T$k{Li_J}Q=)jfxE?K@WWg#6*RswMjUZqAIZ&!k9}6keoJTdV zoh%od1;)VU^xJLECGE6G2{WQqkpK3)fw3KREWZ>ZWF?N_uuxIoKCNfln9MT1>aaFy zszj-ezhwBTf=wwXUfGuP6d&!WxW|^;y#Kz|Com-K`WEH&v>dgnr@h0gtt~B~R9vFH zl};t!ev7qC%}j`iTd7qR-5vZ*1tsgk*iV6V#RLqO`mnr3K!vd22a%voDQtmNW#(EW z?`a1V@c&Gbk154xgoPDL<*Fc>T4?Zq0|{1s2)!hcFTX>AhM zF-wkRLWfCsdD6`n!Fdi)KomBtZL*v{a|&q zhzlOqZWxNPZ%HYwSz&Lkj!eQ#YRjH#9lnPucB@_@x3{5t7OSH zC6R_d|NgWtUK7A3mI1zYLc`{NkHKnlT_}HA`4cNF_j>-;1=b~2e>QAw(6DR*amr)n zc~a#_wHn^68VdN%1lFtgAHmx|Z57kRSN$}tkq`m~>3RzGx6xAqmwoczltcT|m@Vx0 z|A-<`_Q#iB_MO?%;KOI9*<@AVAHZB3Oo7zeUKXsUM`c!SQ-cO2s5EtHJRl?femU;; z9RMg8^r((%%s6qebpG4fah4*R2{K|({s-XZv5dwAq~9ysJ%Tn79)9viCaZoSe^#5q zeINZn?u=`WxUp+k2^KJVBR?9HEm=xLbvvF>L?2mT8`2~!%`{zU?#3LQ(*VT6r zqka;xdk}O+{L8kICT{o+@Ti3C4$$)a>F|`93)MR};qxzy_=lpJSQ`@p2D4|iQa)51 zi@($U@cw33Pw1C&C3^@XhrDLFx8c^|=c$j0||5O2m@;4{fT8 z0D5DMRf!G%=Wp)?s&`CP@YeOBVB#nD8i30;9=n-$CA&>%cM-O#?aG@=Ld z-`n%$-u^+d;v+Ge8PO2YAa%JlfWzV*9lOG}WX9nHMkWx66t8Tt4$F7>8$@WV!eZl~ zj7lTBsZvrxK0>=rxS$AWbA+Wyv_^b*{sYSbL6&U4*vy+i%6J9ERmHhuD(`)39elkZ?i77wo)=T43_&Oh?($M$|zs0N> zQ%N@dhstlDC5oqgY4utPeO|Y?dIvDMSt&`3Ye8U=QR=3HLX${8*@^{Ye1#F~xl!W( zN?WNz6{CY~m5L;`36G`_ubIE01dI4r)Af^L%3uT@`5?wCI4Kh=X_Euxuni_pt>Y=UVqamiCE0e-QURtU zbIPKP!|DdgwF%K6%$$Z@`1tzOy!DpTeA&!&mHL!vw>`R2=O;#;$}lRhJ)83YHVzY;v<4oN4a?g<3y+x&;vZ>+P?lE| z)s@y^D&2516TtHx7sOWymCk9Vsuh~NrsL#rk%b{`Rg%(G91ve{JyS=Eyb{YpMO3IW z{)Aeqo+hG;g7aY_&B^(I5c2DwO`%zCX>4eXHnJD#rO@FWfap;4lUVFHck}TrI%|p5 zo{0aq_Y$~KQav^M;2~dvx7fe$0JS%RO=qDg#h=fmpAEwqoeNa(Sz9rECm3TK)>7;q{##H*$Z5hRb|MDeDEJ@ZM z94uPlp=mi=IH@q5gGQTm7P^C=8;2ea zS$N9C`=aK&iK)CDRC7`KN7acNvUs&xO!=lv25YonesQE+u(BK2#(jzoiNr={O^|6f z;S*Xu(hQ+p8d}_I2o@O5C*W1mkmg7t{A`99sUCbG4ZWEot9g=aTMeYn2_nZtlE3?8 zP{IIaWrvBTE6LCI^XWk{km8Y~h7)shm|CBeA?Xjy&-_5|PyJ%76;D5+6FO=d4zorF zaAg`w8gA8P0HgvyHkNPRZP;EysXzA5JiF%OZ;WVicKx|FlHI!h{RnT}{quWUTPag^B@u*hLYYQp&f-^NEWcp+(o?IK;p--#5h zuaD!y(eqo0rT~dO-7NbWK+sreE%Obs&&o7(_){>fNGT(7g21w^h!zRe_ZWqO2qDxy zGSqL(X6EhQz>s03VR;`l7^@}-lwch%#$*^cOeg4C9jQV>2-NyWm|;n_#fuAy={~WE zDYZ$#GnhH(wz#@+jkzRb6Q1!_Li=mXPmF~|cp3~wk08Y&_SZ^}8uHQ~SIx{cbnmr0+u4DtG`3JBTDKINA|3|8CpZQHRd7r*oPf#Ro(Ja`%eTlvkJib2 zpd`&LvV^J#%BS`YmB6NZm<-5FVgvrFUGw)# z2Dx=;h~CG|-YUhN!bM8{S(dHd*mqjD%2`MhH7OJ0JGwR2V@KL?-D%oejdKerJw?My z<=wF7g(d$N0v00LsMko>4hsxk<;e9z3w8~B0Ovx%losMYGM{PP3nlGTJX6s6=SMzj_8l{{c{2 znSM*|gYv@g7a-IY1%(%W5MCew<&a4k-kwf|5=0a8^@yTh2-0Wh%@nhK;+Y-xc^Us2 z9Ul;y6@;G@-N<5-m88&Bl383W`&KX+d;i-g1d{P6n6cz6LUJ-9!&3KbX+Kt#+aR%vr7La05H^hO9misxxP9WsWB!FwecH34 zGdybGP4%{=7Cnb2MzJQf(a!v(HUjAC#_n=X2avr=FEWuc+@AN@X7Dmi%CfTRN{Kof2hY9zABwWPy#0TI3Rt z%)$chJ_}Q6&&#eRf081oV#A0WVFRGV+%cqMN_-S*B;11H>T(||g-9kPHen~@dn;@l z{rR?uvsVz}iT^m6uq6jsBoBZ~qI`*}=}qZ>LYKKkNgHI?78|S&&S46nA^3n!0=pk< zDnU3dd>Rm-VO*+hP)g7)YKBqSuj=%VR+OX%b%(V`QO}SLhxw@M<}&A_Z@SCR&5zVp zYcmCaVK_B84c~uxY&lutPTIc&C6m+v#WVZPghcOW$+myYlFVLlO==7~>K&xL6ej40 zO>>Q9=PKtZcL1}pLfif0kd{Tv>RW#Bzs=@YpaoIH-2% z!sko$PW-b(i-~Bf{omW~4np;LuW<&}Pqm=VapA?rKk=AI0kPFII8u*`I-WOp5-!|G zN=3j;r`3Kkbsj{94JOSj913X-=z0WPep(9s%sHv6mV{l@&3}#kWC;hlR2k>8c4GG@ zpg7$34v-PoweP;G3PT19*e8rb(y^7~h7MP`iD4MWF(36}d&XYE9^^$FE|G53K~PXC z`Fa|gY(P@|ho=%85QM-kJun_sZ2iVC;#*AjyMx>rCTExgJwRc-09D}=dX0gpUj;=- z#oCZJkR^bUSg$;aT^UImy;CAgqU#umy}8NXr#xW>Fi2ZU)u?pRDe)=c@m=82NhZ@y zH*=5?SV}B>98BcJ_<@%T3ut1|N(sUqX2nKx6Wa{dJv;9Becq^F3O`R5J!XqBOa zH|_LzxKx>mEKRrbN6SLq9npPBv1<-n{w&wG4f8o=4xhJ_y4Xi-2ikS2RT*Z(7fWsW zCi?a$*a-7J+Q6EhsvX4s+kPT5==@u}mZIO;F1qJ|qD9NAeX_@?WRbo_q*H25NnHI! z4dIapqQu9v!X4d=V{G%+8Q-5vrTt{f;^X-8%i}28{}S@s&M82-;nRSp&!TZ)kRfwP zPr<1SY#x=5!mOFq`<%UtR*Hi*n@OsA`DreFb9@_MPy60?*>j=|k%!0=-3Mv4vAM9r z+CHX}&giEt2xPMtAo4=@@__hhOF7wAWXU94;B*N;|IM%4MP+=NX)67oFqN1^IIbFk zkpgHvS+2<1WRpvphVdp%X9Wp~NXJfRFEOqOei)n30}-rXYNs>s`0YaZBOV`9t|YoX zIA71y79t5#Qi*3QVq%-3?t#J)7?ju8+~f*Lf+zz5X$=r9H)C)fP$gKBZ+8ue{Y8un zNXn}S)4|ichC-n_vpQsIh#!(Dg~q-2%lQB>Aavj*-x4f>f)$-IUV6NX4vKe!l)sJt zxy;San1qD_VaJpCFf(qN(R4dL=sXQv`#ABo@gQuENU?vWC+bPPm{0%VxzgGJA_XyT zS+9lmscb0v{r+202&N2^Ja)RbQ1}lAcb~QW{@a?^4*2I3>ay=5#^k+~OMLqrG-8=M zLJJ2CmvOLZ`tRE!%CKnxoOd);E&Tou!zLCj^DU+;@={1&?V}vtK=kijX5Q=HKSt_Y zU0(uSs?MJX4VW}VZ@j@q5H!;S5%v=R2^RB@!IQnB97DHMxshTS97nfGQjacM@QOUo zWAfQ2N$@)Il~O0QMa^Dh-vo6CCKCZ+Kxs+8g$gs{KTS~X7 zJV+*8I*nR<;Rcmc`!krmIAWuj7c{~#D6bAJR@8vy&-g!@4t>Xh-ZWHG0Dh3 z77D!sSQVm0?J%6{4!iS2>XI45>@%#YNn2dv*)rpi)E+u1pFZqyDw-4si6?*)Sc3Z_ zbQv4jgfhj?$EpCBtH8nX11$1;+ z_WT&-u|c_|oXT1+ztk+OMa;1L?Uwbkn#++(qetB01$FEOnIi|8NUCJJ`@o6aGMn^+ z>esJmUdHJiYagcDbFOk;C)AY-78Fmm)i?i$bnbwU7*73&sjaf$zx1qd71k>jZ#%8B z@HMs&ySR$De0WN+xg-_u`@u1GvA=2Kxi5B~X760Z5Lp9fkCsm$eReMbov=kbJsbJ^ z65!4y7^eoE=Z070=yEu6s7yLOXZE(N8s6r#VvDRajaFniX7`9W=3N6ErU6Jq&JY%i z@TaBND(^NZuK24tm2@F^d`w!1@Q_QOV7$@?rJxxj+@I1dU}GFU#20*gv3gM(CMe^T zHOQxb5Z}lxj#<(6!PFJ32v;yWQC-hnjOAc<;dR&mWUoJsDkQdr!E=|i#RiIqQ-7?| z9e#p^4&Mo~Q#I6spp|_zNHM1N25`!5IX$Rrr~^Sz;Rk0kbWlz%qt)Kiq={ z%j*0h*bp1E;R9Sl*AuE&sAt2C@=Fa+CvkGODIOK~d^Z3-tun^na(&GPjJTHBnm8(HpC zo1m>}m$}8NRy-D{Dl*C{%z6-0PXwpxKix!Sgm`3mN5NNW1QzRh$MJvmZec7@GbF9j5WdF>1=~I6%kX~bt_Ac zbN#Obu^SDl>cctcsY<|MGl2`hyKbvfgp`2;}~j1IO@Je-yK?t89!Z z79T~vFNqU*I!v_tM#Sy0C$lj_uhW`{gU>}@aQCVB)Ilz}UR<}$>N^B3E;_`bKd|SB zaX5XbD-8+w8L>uTe2*6*Tx^{Ylek{a_bcLhpV6_?*PIWm*5*I(T4fjr*k&xnKjTX> zc(>(!XdkyLT=_R{S;;Zbv)4`BcVSkoquLN@p{OCf-Hq^H87p{B#eQtKNP|m0e5zUF zr#b%XgYO0`=w{iYnLhmvu=$kD{X+e6j;W+hjU{9&fIZXvw`Py4_|)56GJ#t<<6k;8 z3gnBvT2dnnIAeo~8cLogA4jo=m50^UK8aI-$BgHG{zHTt$K!{WpTmILB#U;apGwuy zH`rG}Q-#T-YZHol;W&TWi-)x9>vIvUXewSAnDx1xdH!!1 z6&)k>R=aIhUh6SLUOP&|2Q_#OU($)H=B)L{;;7`_%h}j-Z+pcj!+!i8zY1u(BUT8c?*I|8OZW-tf-6dp zv>e1u`{XkEqASGmGu!oFs{eX}K9-e=;A+FB_!uVU0{(diczU8CNy>P;(jVYt+R3|0 z?Vs}xoycPPj$d4csX8>lCx4pQ@0S+kRiZ43CQhu28+TFE{>4l9W5D)U;h;w!czN`e z(!CLg9iizG`Pc?85vq}dT{9dqES{+X)%!;Hl^e+M9^4b(1@BI)ukibuW4 zl1oY82)zANhQ+oZMVjj;M3~b^cu}1m%)7!j`2B`gm!lN_4uJhYw-K5;a)rX9XcJ2a4F zc(6fsh#8P92+s}3JQ28gO#S%JR0r9Zr%|*g`dC(8jtymCd?cZ=$|0CQXPQmAUoqTk)RtG5g(-adPqMf8%26i%$yN1Nr@lu{Sx!@X zQdU|`wl_nGC6|i#w|l?Ow(SGV>{VXQecCD6QLW%Vew3Gnc61)tRk+!)ouqigsB=nO)Tz|5}SDdp?L%>io|x*|9AxF-$T{#BdAU zUe+=rpe8KCA3S9*VUBKwwu<<$@Z37SFdrd(pSC+WH20_Zrc2?d@v|$LLwfr1Cy%B^ zz9VhL48LR*QxcUCVU@{eYf^iup0r%*J?ObRfZLUJRMd4@XO#rP<$>I*<%Y3Ti)N!I zzKb{Z?l0x|>)^AoDh^|jMn9kKr(B#%c-Qh-6xtIAJe7xvwR7;zY!KJNh6MP>1T@t( zCLODj8e55_2k(PB<(0J<|X>g*Q{ zc`uQxgk@3VGMUiZBjNs&XtsIx<_WAHQhL$muVS<%utFUzpSDcJ(C~~q*ui_ssshVw zyT+fXza2Aw*+d523R z0xyur9~c_gXxTWZ`|mu?NTry8Q=G?)FnGmRD;oj=F*kbH{sGIJ(l*iw3)J44SWger zgb=_Yhd(U2Q(MwuI8`5&wihWO)V=^c=q%KylyK8-t6BF;rdgBNM#@=p@u?@41X;?Y z!K4rMEyS(!E+H(v)7}^TkNIUt^-kj9Rvx>^&@FC>PptdSpb=?SKs{hVJstE|Xh^;| zz~prTL*FZ+yen_TKl!H^{PBEFNyBkVl`+w zydkCtgb>86r+Bv=t`OmnT*g74avj9@&XmwFvgRAOE|i?A))7H3}Lyj zUjY zzewx6&iEz*kqYfT-4OzU)O5-C;lN@Yeo0*^9hmhrBm3^`eki>Ws{ti{T)RSZ*!a|x z=8MNN1cm+!+L+>x=64TcA8bh)Bx{Yp`|Rop{HC;Y#T8vSUS*{_b`N{?=vWQAAARET zoVj;hL>kcixw1E*^Tpzh6&G zqP7kP#$4F+&k-8S>Gn6LQor^h;(OEWNaW&v(aNkN;pQmzvH9Ej#YZctm(f!@5d*e+ z2la1IjoSLVWvmaeKLg3;UpeRy&o8|2Fu1X@PF>`steOvaGV;^sRt zTJ~sJ^X(1OEq#M}cQ(pD+Iu5kVdJXvUA*Yecz|+N{c=a3?ybxxPt}D$5_7+SF{&)uM&opFCtgr@%R%9U_l(K_t{m4$_?EmRcsi|KM`e zkHyp5D!WFs#q(z&H@c!}7T;5~pZd&&MRXJLoUbSA-Qpds27 zB9b?@WyLiMaVwlld#EX-l|&LgO9A8_Rl^2TBpSHjG&!uC3XYUolc(YwmRoVmV#LEuZ3Fl3HRq;S_Qlh zPAbTWK?Yr5{SVjlv{GZ;HvZbH+p6CAPRR@u-*4GI)sb_Q+8-^bg!SMjWz%%9p8uR& z5Y3)^X0h(QmwxV(wQ`c>>iT@DYiwJgzBqXxbj+c^28I9k-v7aAZo?t|(5MvP-Uvs$$ zY$c77>uhfc5t!9PDp8A{4A5?orsvd-(Lfh4p{zxwOvbQBn+S;LAbp2B|Nh(M=-e=i zA_FL%^tUk3q0ST`Bfq-lnv|QFF`QFZxqNYPdg9!3B~?endBl}|J-HFE?6s53U9N?w za8Gv-va@^A$MfihpXmDzc=SHm^J{s^(DeCJC5t~`C5>rSSsO$n_0(>qV`*`7@p79@ ztX_6NG?kB#8o&IkF}bU}?b-U$L*2EJMq`eY#gVx7DF5{l&pc#{zT=b8r)C>(TNf(% zf0Q>Gq8kY$bpv7>R!tO6s7<$L8nSInZI~FJl|28r+jpuS@`pYbCC1S6b>o*~6>H-R zTjw&mtmY)cGhiRt`m@~yupHfo`1R?~%}w=6PwNBpC6i|163)ngQ7*m0mwwW;ga zmqaW_gi}qzcs3&|c1$mFvssPB-H5m9Re*NlTH~6+2^)&C!*q5(md~%)tdy?$6n<%E zfM&7;l`>KnA|36QiqTEY>dkQZE>)Mvidn(EOH>w9rkLb+%G+b#{7$h~Jtspn6v3z(7hTH?};Me_ZjXsr`CK)7U-+8 zXuE99{XHMvbp2E9HPSGiO84K?<6u?trVWTOGKs*k1M$x{+Wme0(pY&FwB;@;CxztE4sSk^}@|Zx>hrFz79Ixkl>jnyJ5d zM4aRl96HwiF=+RjY~|$nZv1?t!ZW&Zz-#aTA62_p9i<@W(sKu}Iek=iow}y;$TBl~ zVQSYh^+`=i(zx@N{Tu{;>gDv4L)9mxr<2c{*5Y&`zAer#3+OtqHJhZMHoKmSp6%Ng zGyDqR@QaCB;L8y^>Weu&V5ck6c92S4Gqe~rh%(-lP<&=&nMv1orN3s=qE&RE6NXAn z!72sw!XVLx9s#M>?a^5@lJ}-9o6Zf#Wq$f*NKQiOgz8k5_Mu7iDTS~oO z+p+rVaLCmAEZBp5wjY`uZoBn`$G-SW$KhA}x3qSnf$YxcJ3#oAGNLJ*OS^u!Bhs}z zGmba6#dgHMUTDd9`=+6Nkg~q6D^ByX0a2ZyoZVSU_JC4x+KOK5%WJol!lg2v-91~* z#mbR^dfj%?@P=nwE+@Nr7mtb710oU`&Yt!6CNI}RH6OguCqGlRiGL8NI6-fom8v?g z4XmKJb+i}tqcKmUI& za>f^Qkoe^2Vb0QL^Vz+uuggw8UEOo54+_TIyFO7>f_>MsUiQ)SIX`a%HqDng|EbKG z)!21!iJYM>SN_7m85Z&7tq$FCs(?Ve@zGw#Ml$?LJ7Xkv)oE{3veVXUqM;{N_;haT zlla@Vzzfmjk67oN&5#ZL()+6*9e-IJ)cbLR*0!Cjnj#ZF%Zt6RrHW^joa^A@7di`H zUo@pawl!lkV6a6F{-ip4{iC?#!bw@Ettv$W=4){_&!|(!BWCpS^vS8kW)zj+=;Hl7 z-uB9_*Ykicuj^@R4XfNohukTcP&=P$cjmAQsou!@{HH``PwpMOZR>HTlTobBAm!M0o616L?3q4ErBTI9o z+F_IIwkQoHh`Yk|=hh>s-MX>z{n+0x7$!}tG%W)%IYta97#X%|cR+aJ6<4yE=(>i~LOyDeJzFMc}dKti;K-=ly-c zh3=2TaD{ocj{Fw>1<9#S{r6iGF~|_<2U^Fekc*){LS0x;tKnc9+bgh4Zh~aaW;T)# zg}Yd?9g&wZGbvgCyx&bB%gdSAPGd?`F%h!u3wHoKL$XR$Ia`G_5D*VT^f4(nWQtUP zg7gX$HmP*#gF}vhq+}2VORKwuNM~(H_;kB7d1$mDlQ4MkphP6!ztF+$%I-lukc{9;;Jh!gf3<~FA|G~%n`k`wX5D_ugUf?s-r}vWc4iH(@ z#eQ#6Ch=ciPkUyb#+f@XGTZi+KXj00O{UUjCBWgs=c5^;eOqv*J{MaGtMc*L^3Y1y z$|^w?dqT+Z)6vJYisxv8!I<2__3B4^(X^LpPm?Dhwq(ZDh7%Y$LHh?kBbTD>r=OpV zxy+my76;sCv@PXYW_cSdtFL`sr=jjbr>M-bY~BHqZ)V>+XTJ1*c^}5;GKhV>JRs;KMC(5!$t7o*)glPI&YU5xd>iQ+xAljQ|G*gkzxzT=! zBFMVI)^@?5U80e{%d6vQpG&5{z{SQrj;^7Q-n$S>AaD4oQ4-_K;gF%1yc2ZxQ22FXtlqIKXyFqg{RC zA@D`qC~BFyw0~StQP*oQ2GpRrIA8G4r7_oGIdiiucLnE(k)~~5t4h5Q4~G8`7*(^E zW85bR9ySi!)A=NxJZ$r@sO);>aLCpc8K7RZXpWOTXq(d1ZgBpqOZ| z*vm`h>9O3fY{x+auWgA%`xK9Sii#nofXW6Df{|tpM&9(%a~3ebGSqESU+vUkQI2b z7b}+Wl6G#>qT6&Wxg0d4hvxMTGp$h#+lCzed7roZzq>XH zJ9W@nrwdWfoNC_zVy`kedQZfX_p^-GA~SBE*1E7c&OSUh*C~hcUmUfdSm(|%%H5}* ztHi8q(8wJMaSu{8o)9~bE$KzpMF$UFpIb8+oKS8j%eK0{8hSGLP`i!C+v7GPHLFx# zXMz>hDcdNLPmCMLYv3wKoIyNHKcck3$-m@p9GXboEi7DEHodUjQUd129SC?efu!*M56!&47-nGB5xO`q6{2iwz6-rBvhZDx4v_+Xf( ztCIb*zH7NMO*3=Nr%1{zo$)9gn*Kla#j zzy!IKP19m}Iwz4oaY|EdX; zp}?G`k`AlJMwZsv#jmIm7KgH*vpfY1G|=>~JWdS(WVDHd^Ohg|pSlRBV<$f$7B5P@ zC_#f?vt3`hJZ7jKStxn=6NKcR8pGvj(z-x_!HEClVy+-H4VCn4wAf(!Hf zy^;aJGG&>VZOi-O!|;c_4W-?iE4ng=ep9L{QJZpHX}{jOrWID#s_eA>qJyVSD_h!G zeQQp;9(=!r5x2xRpAPyf{`i0AOb}<~jzv~$`%Q?&LzZjOV>t?yp7MhwQ%Tp@U6j(7 zQgglK-A+iTJq!egVW5jaV_kVi_UX_lhuUWjlMxF~!n0BCCNZk=GX7>RoMb3Y|ykD$VT zbqa*Q5y)U<-;bCgV`gch_|AvL>90RJ95Z1mh3lnb%GOOCrd{3#8%9&?*n0{n8G0W~ z0&OPsw-c4`w5qB{Elw(16z|UuG@U-GcE2T9uEW|E^GQDkCQN{g>f-S8SjxY_=KmsZLx=B+b993!sYW&#;#2W z1Qiike6SQX)7lK)p|*kXM0>tVN@rWV8;w?@c0UOna)3689$1fK+sulCU7}rHBzB*c z2gc70PM{$T+MPr|Je$OaD`c(XIcuogaoF8Rzr)l|BttB zO_I05CiTFaj0RTu=cbm(U{mrJBB~k-wv?szy)>3)HUZfeGeaYyWaP~RvLC>FY0NBm zIY{%tu4k%MZ8^BbE#}lUo}L4SGJVO7`ccV}Oy)zULrm1b64^U-Q$_XNR4k^aa zm$C--2LpsJ(2Rfr%r>_ug`E;=0R`Id1!ujk%K_89q2$3G zXMgvn>?3>ouWouzeVV3UB*SNy58a8{_DblBAP@{HUqMu@1IPGbm#zm|_hV-A^+bcW zdQ91=hx2}=2*Qv%>l&|3AfWS9Su0s}=|v-b5_1s-d~9O+0oyy)bo-fQ``%3FdM4;B zjWvgYRUC(3M$6NoZT6wr?Lrl`rk$7KTc zUZ33oxa!tBT<(#JmTbkEx7kx(T)O*Do+ygVRr`J!`1DANW$@&BD|R-KDIBcdPi@Zp z*>FK1NmV>=47mV-HIhG0r&TlY&@|gLEORasc+=Gra{IH{CoWaRRAqlMiuFlb9;tv3 zeR9IMoQ6W8N_(zM(%XgYC)ErsD-T+?w5f|cC32kvr813D{W~_EjY3mjv1)ska*7ye ztR74sE-W5&Xw(ZQi7zCLo-?t{*E8s)Eqfg43XBV@j0&rmQyNfF^|r!alJ{lMbI*pJ zy)|NKTFne0r#pSTEx-t7aN4YdWo@$1T`Plpf~&$mi~pgKWW6=9lX{XRF>vc>MlY6h z)xe~hd-~xNM5=Ro-LrYxXmbK))q(g+%giEUbABo8#OfCkccFzFm+pNcl9@bewS2$B z#Pw0lY0gf1@XszG-%CgVr$y-nPdD%J7r?so5;1w?;b@bKFD`W^uoY@$&D-F05 z^jC)pCue3>JG8HJeC~bsa|HYYw$0=n;Oi*~>NgY3dwgZC`@{l9#t2n|A`bqnVaVP_ zbEL_;?V*z|bOJM3wynm<%84G{(Ht=p@$B=QUnP$Y#w5so`D8Qie|(Nq6wun(f8}BA zuF!H$LyHiwkD3TyiyfMMeT6h@FoEZ{T?REzlEau8Pm=^Qi5wPwm4^oP2>2E&FN=U%hS&Z(eRvj#FwNaqFpD5I~NAI)P#7m^lHFajtx>Di*T>JYzS zdPGKPv2#R3L@!S-Gynal4&>i)ndS9foM*4obvVzQUM!2;&9EydW6Q8DZn6DPma&_5 zUn`9$E=@~|2p^u{JQcd$QXM#QnjP+|4uHJ0wV!G_@_havbJ}eB6QTLjN@(AwgKFX0 z0s~KqR_*_Xt*;D=BI@4;1QigF?hsgDNdaj|>1LOblOrT78K#P5o># zJR^m>jwppmI}}0`TtG|*&9|MOizInG@`S9XXbxQfl_Wo%FeiTYsW01u3MhfC;j2o@ zIGW^d$&%mqTQS=Ip^iz}w+3APzzv6VD_at=fD*Kot;7S%F;R-2-$&034vSq`lqMlq z4kDz!Y%!FD$(RxS-;@u(dOFP#5rK+!H8T&AF$Z60$9QH%M_?_;o-EmSc;SaNU@6J5 zX{QGEKC+nbe*ySRwb#i=gFr1~O3Lb?5s7IMYV|}!%n%16ZiHNwxw(a%(v;scdF?FahKY1yb`;qG+!mD2 zw?_xj?JIza&lTKvPBCTmD5k{0tI(j^{OsVf`WPRyAGugk;xQIcb_@2wdnK5DjnsqL zSxS#uWDP5@;NL8JckD;`*Ro{>-SH87&8ms@#H-qY_W)ShEX8ntW!*XPE;||ldu%ui zas*^i;a7r8qD0!SF9XgYcM9Gs8!lFXc57V#cXIBTwoyHrrBzd^?!k>KL6O4Jw_6kvL={?~Xg8WJnr-eYP&A0aM;~^(1}Gd-2u*h9hEivnw$j z`~suy>aUkiUfxLumIvfK9zFdOOWKnF*?hh;W%#)cs_DNlGG4LfANH-HZT*#EZtAz- zCP0gKc4REDmT;xJ$G%TeN&?v7!hJ?SF&;FQKW{>walaB2e_hivvLqsty79(`d3l(; zb_Vj3n=DiIa}n;AamAwSc3@eF2IYS)n00Nh*;x7Qr+G3EW!q+V@;R@~vv??Pgt+^z zQQ}?Pu^bgw#sWKTKUcyY8EZ8OSJkk!gU+Yn1JIrAUk*PGuo>_TQ%KrqzXK0BYFbIO zOWGpK5-@kafz3BB(1Q9`h2oa)OqRdLzfSUQ!P!AO4t=Mlr`9p`Z~JvEzOL={P^@&Yt0)dQh1j zaHR)sWF$G@ZpHZsdvtltx7~28x>K{#THHp)ZVf}CT-n-O|RNM?Y=kdTPY0(0$0#)wR zNfk5^_QRI5wPz$5fhK*%#C>Jpj=5O~bE`rd`Oz>5XigArEB! z!oAwg`qnKnUBpSqg#24QWc~Nul`~I@e$DNOkfBx6h3ZO^ssmN?#}jSsj9oZ1VeVDM z6j#+Z5*mfCTpg!6{!kt{Np5%#MNB;J^j*`E_?q02so>=} zF@gz#B9;*arga+R-pAe*3)UEbkU9giwHB*0+SL?P zQdX)&XgmIDxfkl_G?hBB&CH6XXDCF+?}?NzN${Y!qmPfB{qlOhwtrVD2d1o+gi&i8 zhtL<0QXch(s}v}CVbC~;jLA>fb=P%;xYX{6?OH6&3oK@Nq(3mlS}(*ePz~L7(eK2o z*8sj2!-mQo_1dFZ`VJjYJY&ZhgX#>yk$JXDguZnySJuko)gAVU95e=vpZ^A2v=?$wmXX?I->VUqJSq?O zmlRBEN5{XIE=m>V=SX~ zsmw=Jv*d!obX)R$77Q5xfq%H>h5^HVUX*39AVr8uSIx(&c% z&x%{edGEb?XY-syCi#xUk}qz~ndh(E7StTYV8LaS-3~T%+1+i_G^Qwne^v9U`=#Le zwbkH|wy-)FvZa0>La2Nn-_}t^^0}&`*+<@bV|aA2c&F0bHP=(sBBFOIUL7(+4C9TN z;ydng3K=#%C;vUR*B@ec>NtM79>VT4<{g-_ht!_Yo-*c_)7GQ2x2=9ZJCWK7tWM(c z>{Bn7B-F!Sc0Wz!@mY)#u_Uot6y!9ph z;aKC6W7eeC;M_IX{Roy z;ooHU$GBrv%%zInnH}tyw$h=UpZ*uNfcawV*&ea+Sr@SS1D*rEE>i171e|aECIRx&pHjv%L*Ja6BZ{7Eq@>{3g95g+~pG8#@JXj1G`eY{H(@ zC=4ej0P5@8dE5Nx3Oy@S`xJhp7Abz2r%K3rk7<6EgrGNp&> zwTXiiI%w_nNYI2A(4WhGC9GwX`vf#(qma>Q4z(_X(0x@i&-7d_Ly)yS8MN-CebjeN zD-PpRW_{C~sh_wQ)T$==9lCP z)o|U|y*6ps{33^qy)AqT_bDU^v{ctA|I5H=09wznv3{xV~yS#~;F=RYaI2h-9F&#X`3<2o|!&S4b(aOXMPuLJb0Lg}&5+-3+-T|CiH%ZlOj z=%@{76^gms`LGyp0`EC(s*GKauZdV`nP1|5Wn>GlQ+8f!?w$*2Xwy;NTojmZT`{vR zYAA{d4jP8-6l@xS*$ zT~;E1=|Zp}C&fYMyy2;kVIC+p2Zo$nL6B{olplXkV%H7lbFmLxGRa1WyB&eO)hTmD zSRhy8qk*Gh8r#8FwT^cA1l<85+f+UM@8c5OlEmB>c--f)hSreQ?dhCDg}YBLhlM?8 zhnL$Qut+mwt2}3~bgBL#5IEj_z0<-+A2K~1=MwhEM1#9V9GcPSKT&2OW* z&o$U;Sk(PSMDppA47n)1!H%_tTx<a+gNs#tWC}S>S`rDtn32vaDTH7j5JbBj>-=mIy@FYi~ zV>Gq0F&8{OW#xN*OAa<-%}6h zN#Jgpy#EI39WC-65~xJM#QZ>RePNA*Bc;tBeOZ+79qd{s00 zK0HP@LNd^{T{5F8_amp{HwfkEn#QJO#}I~blV-zI*nv*$q61wgm5S4DO7xlmx6eD4 z*dotL;a2;%_mywZcZJRv7PfjitLF?$J3q3YH(n>@Oz!B4>HI)I+XTds*-i`8q-tJ# zB=&H)bKGD>FiATRlG;w*WNm%B;ADa3av-F!eEsaPl@$sD?7bV^yySIT_|{~EgZ~aFcn-3DtUeyRZ~>1>^Z5jIT0Q2 zaetjBh;e=>j|T=D;*wK0tv1x#5Ft?6M^ z7tKAUgH~Jcdn_y27qp=&&>z>I*$AqR1~2oyy2#cHB;cjafB(rBUgIu9u#@;TWOS{pp?hoMzE!==YA@o%aAmR7cIA@c$C zOtCJddnC%~x9z`NBGal5zI*5VZ|d5XBy#%O3@gw9zNn-d6sN!AFs&*jg?eDKXg?(DPFEIWZ8R#-x>E zg!AoO1{-zWDyiZNVC#6uSi24v3uZ)#r+6Ua{GE~`fI0?GP&+}{5R#HQ0E2`pCCiRJ z76%iBi;~l_{{R5>R~V(R8Q^S~m?>QS9tG`old=F0kk~th@^ZAa=48xJ90s%uXPIt| zCUcDa5-;E~MyUE3Zv&p{Hl*a_-b6C18-Uvx^9ik#2(Ac_Hv>c4cT7I%v?#2U{C$br zlvr%W8nS{e%UX^OQX~S&=rViq=RWqL3Tna-7EvIxObNOYkX=g}l&Z)&&`WvW-KF{~ zJqZq*Ew;zvU-lW60!WR6_z&1{w(w8Y)AVH&Rnq{W@>QaN0Y3~w~NuRHBXriR9 zAKVz&h`yELrD>rvq$ft1@V})M+djm<$khE--SVUhlFx}=M}d@Tte%sYy_e$V>^J^k z^`@o8oj;YwXNqFd>67V-w$IZv&-fVng-vvFVsVazEd9bW99jyoU$fZe%7m$xUw9Gy zH4`=W|FS^qU>Z%wb7n&?TvG1RZySnXp*vDp;l_WS!6(&d}-=KerC4B?DdrkYCeo@}km zJWKl&n2~-4A4Jg9v>CeX!WX2D9fq&i+3lqKq7Q(Fhd6nL(#kG#pf4*T3b7}r_1^Fr zHGclGS8oTVua_s*8&$Q6%>^u~*b=f)>&=mL6Vuge=1B# zjq_jSs^9cz*jsfj`!Ne++^201VUTnXg}(+AvTWA2!S@v+gmnsHt0$httl!!lpE-t5 zo>i44IEHu{Zq&4B&&_tYwws(d$Hq0DAA{0y+A_vV09eD(IZkXc-VuT;cFIy1f@GXp z=1Bm;YZGduLx*X8%QW1^mn$i`HlUL=dAjP}YYaPWlw+#02w|oa9JS{RS5}6fkdWG{ zR5hbtVAHdI5o&SHX;33Qfaw(P=vKs~tCN1vCvbd-R!s-5v?XjKs8~{|N=jv@lz~f* zP9MzPHO9YXW@b(=QKe-v);+9Gl(27mPj|cSQ~dUPW@R&e&xNM4DOST{wGvz`W8~L| zguz!odnf|2_^m!u|^Xtj}It1;Wbs6)k%F4g5jk8~deRx%r zIkV$bxOiUn0TF#}`M#6*s4yX29xve8x#>&(?Dd1X2OrL^v+GZDI8I(Zt5!|`Jy90z zQc$DO@Q9VpJFD)@b>+#Qw!Z;N$r@?AX^q(h0tOsCuPhb@FBiwwYALiLX2v)zeP3h} zi}-L29j0hsxBe8xkRoorlGqYHca4)oy=?+LlD0pnLHH?5oY~uTowf6fFXUDaGbxl| zHNNr1$E#@UdiukP`X4l)(;k#)3*fdu7~HS7U@6r8m0`SYC5>}xZhML29~z{8MCaAefI~eGZ&9@2l zA>8I9=dhdQ7@a<=teyx^iQy+=(|I-U?RyY}4q^7EE!;>3XiqJK*}gd$m7;tRLPqD- z$0it++KmLtMnoK{7IIedr~6K%(A2=bi;!cDvvZ*=PlpQ#M;t|{FW*gw!t^W4t*1=& zw>){;Q=>MriZ_2KYb&N>_UjD2_X(49fsI|P3K1Y$n=Y=GjS2wui-!(ycxDs=agg1j z3vO+tvN2LN4mOFi*Tm6e(IlnGdf)waSt_ z>>(`PgS)T@?q5OMDQVUQnn$YWM&%m=RGdozxXNGLVB>FFSEn!fFa5mv^#*-UL@Y+# zUlBp?oI~E$nu`bo&CexTk;l6sB8{t>a39A93^n9*FBHv74;7M^(+xGzJyDJ7*BedK z>+r+M#zB<^A%t>;fQK@=l6UN}`f+DfBlCVqiw3Ar;mcckoWxH*5WYQ`EeZ)7uVIMW zixdw>DtKum77`p|i4=RbudkO4#9tZYpLeA=e0GF)D=%V@mHedk-sel*t#{dHk)Ax? z))wj;u4v~wi@-7UOn>5TC08!-ocSG5WT=g;eT@Jssc!pgY`|kq$w~R^6;-D6fI;fu0*mL&MUCFf8+AvA)khvjTrs{Jv9-I&hI8BIQ3Q zFTk_8lC>rErZbqGKSo^e*@z4&8{II!CQ=ktBrN0)J(#}!=>t8_!j_%Ox7wO5&ZJ7G)315I3X*!gmfeudg1=i$daO$Pu2KyRLtvrAqV|c( zKdTG1w_Wnfh)5>gNy$ZxN!~J>;*j!l&^5NaH9#v;5wpxbhVO>j}b*6x!*KtfARs&MQ`-+R%=$I+_4>Rcs#q{hZcTl!XNc&N7R zu)F>57d))u@0R=ZZT-{KM>ot_ z6L+C0&(@X@SAeRCB}G7%V*@-vY({Wid+Z)apTXZeQm+IU@H;InTvlBvA6`avb! z{W$6~uv%_@$D(MIM+7FIV<~q!V|L$2+Ibw&*_0bZ|2hgmv^@Vyp}cDMcx*1GQIek^ zNA);SL%r#%WJVd6w}go#clpx$YLtc1X4bR*)vmcFBvfsMvJSwe^!Q;(UCXu~UP1p+ z6J)n<(&m413vY^*jd?Dfbt)GpV3OU>DB%6R$w}>~VL7JT+T@4d#?FuPyx+T1-M0mt zKZ8a*c-Y;KgXQAfb_M!;f@MbTK4iGi1Vt>Ivoc$fwX@<^*6VYT1?mwrXd4}VchAG) ztBsx+n|ABwmhun?A6r|Y!wHOiCp_FimBAiv<^on$f8t+=H7 zgICMpM?}olk)om6%c;f6Br{=(Ak}T@L|E)Wi>#hHJlOO3ak|0(Sv{&>^MRU@in!q8AA_21G`zAKNb$_-e_1?^kZE;&EsQN}wP&&b;Ll>J!Qb1`lRObo~!zr8`< zT7P>I-rMOkQ2#K1d^M2fAkvk1d)iW|5yuX7kQ@}|=jd2??w-jDRnDwfP}84l>MWi{ z)!Rky^uM*R&6d+dL50sYJ#`^39Bs-Kq zxMQyf)s+hla83#S?A*#pL)kubIJkpJuhVV-kR;%Clw@etis%uD7AHQ;GPxcQkpJ2p zvT!}Xw!efPt@lSDA0koKt^Lqt z#+&s7Jx62D!BFr{JE5AfR{Z7-L*K`eL3eZ`JGM10@w(DkqLoxOO@{#*D^fpl;B|`c zph(V_mbxp~9~bKHkOl$4--3Tw2Rirb44^o8>ldoinFWkP&H@xVVeKr?2`%NTE`qWq z(<7jLBo0DO9FNU0@8;d+J^O(?;c#F`q_y7$rTOS`%V|axJ#w)C@UuB>2>=Zr&pjy< z=&t-2tdz8RqMhyCo-{Mkn45YpV* z{;@sj^^VxHCb8q^D(=XSK;8#Ks9T^j;>g_a_vDPW=JfP*!~2FISHXZL|5$;omX#*H z=(h?Y6X_1Vo7EY~WBFb9&Fcr%Cpuf70I%BOD|o8gieu){OZ`e*KEX2>l4lJkUbt^a zUeARbPyI&5x<0YA>z%uhZ8#%e5wMSln9??E(I7JoDBFH+B3bHx3C7Q_xio@j7hMRz zvq2LknH)J*S8t6wAP>K&W3NAxZ9gfQ$w@=CIyU)@OWi8zAEd{Z6Rwbx@`c6CDUGyxF z|2%c+mwb3>`6}zIR6xf6W+l>dR6ibdign_jvhP+U`2fc{leIv@6pvfmc4m4y91By_>#Ju=Lc?~_Q9^Q*@qCEX-_7X~0V6bS zB+5tUh^oX^hc&7X$UI6bYmlft4)g!2b!m6S{s#79nMil{2UH3rEX>;eYlWpp$`m8} zYCLcCG=HTD~n|ghUL8;Lr2@!dRoiwYvKOBv7 zqTfDC6SE^(G*5i4B81nH{XD%!a3m9*;qwz;s}~;x4Q8VyQMN{Us3y7+W5YaMm)8qW zRC)#ix7sn&@4OZbv7-2u;sM}a#pW}#mp&f_vST`~%1N}6=0P}Zr}l{8kM;K_H7y{z1zx!N$s`BsS35(#1K0DLVtZD?74%239ip$5u7^*G3K7%JwQR zlDKF}4b}b#hUJ=31hwH!RGj(ejEfs)ZIZQ5kMFIMGzi%G7A2`U*v#80Z+oPVT049A z?RCsqvC?$VJn5hKXrR~-C@W*{vwkC?A9>qnTy5`QmD}p-Cn{MUmOooyDysu-fw>5= zC#zwR4_O?)5DoFs0{$)2prg}CgEVRRX=D2owj_?p!R*L|7AR-&kk4qq%(3@T9B<|# zdkqB&`jKwUdJ7e8y)@;*9Z9I((DNPS7A#w2tb(fWTQ@ce6V0$+O8Gh6J)ZMW+l25N ziDo5T1X}PnTZltG%^R(?n;d@#vY~Bf&GrKw**C6nR3*+%A>GRBO=dJH*Nr|XD``@P zCY)>!jJb=jjvUz`+vQ0-4z5IBp7?UQhA?za>uzNpatQ2v!FNjm@I4i6j6hAh+MPz<<^ z;wzV4N)Km=>y#{&(k|0P*-DQVbi;pN$@zy7i=axC7 zW62EyuCC#TO$h z5r=mQfRSeYhD&z=evub~J9gb3iK;`#-VUd{dzh1RVDop^4svB=w!8|;_H8h5h}D5X>o8ah%aHjwvZrvsmzlRaKXAEuU6YY9KBmxmOnL;YlA| zP>^>j%GPGXpmCYh<~xE%eoM|&%Q(r1jeD$m%Cku@+|GgCd_vD&u@vD8Ai`R10L+0g z4AITR^m4ZM{gQ6Ne5#rjR=9L@UbXi5Ra*(nDh0Rr@W@2%$!1nweFAmJq<5HDDI3x8pS^FFwvjmmx>^z^g_KN3gICJQRfQo?MM z?)`7bzT&=9SWDb@yJ4ly&{)sEF0wq#A;9Y$qq5s!P#q*>=C+*;z$~`crK+>c=~xf& zAy(s3KL%^TA#_s<=Y8cntYG1l1r}gLxDT&-$)Mur1B?<9N_2*TlFyjj>{e=0uY+W8 zno?Pt6Z{VvW%EQS3oNB-z->F~)2Tw(a4JP7Cd+L|dAVxAv$841qf(%fi`_C9$XUwj z9GVI$ErCpwPY1K=hpfk-aVG%Njl2Z z`PH|z%`zJQWL{7AJi0g?9Z#>>(PrMO7&xFZ_1rJfznEHght+)F? zW?W#Oq&s1g6rp6>Adx1&#H08LxkY|QXU~@n6nU<(mPV&1`yU#amac#uqQ&?m zi#*34l`Qo>Hm9o3u~cn_vB;@u#A$j)u=M#yr#DT*Ln)xxuS*tO4m|2)o1VvhJR2>+ zH3H*m#;+hAjZ?;K_QzT5^6XVN?DkNqWzi_mvA7ed3VWG<#{2@;aqCR1aw`0D+dePU zoIRdZyH<8oowusYYc1!a_IY1csvpjfqxzPdy><11b{{dnmK?tqX#+kg%qtMCfha9! zwpW@LxN=@?ALrfuvS0AGWA>D$SH6Jra?}^NRd0!g(c+WxB?U`r37t=KU*cqu`Bj(7 zN{wRTf1bDYC-T1oW1Ur>V^fJYkk&%9=dzBa*5akxDmzzKEHqsW%M2ssYTA4UN-jZw z`3ZU3_|Ak!=Oi+0e0N#i-t+D|RVC3Ow*;ZoT*VNCm{)5`tSGy(=dn2y3Mri7;!ENB zBJ&#UdPIK_Ecb4Pq`%zP9$^nbc#c*Et8b3_q*ZyQ3l$`MMKtNMw~qNYh{mc^!HS%s z5W#p?O^3Loj&~+@y+9-enD<>typQ8bheqbMMVZ2TFFu0~_c0R(k7y4=nqxewl##$M zY3=*SFze;VHQ5=Nw z@%mlh`#p)y{qsHeh2_b>YW^6Hyt?byN3+#hzRyazJI|#`pNY9 zEjIro!4Uc&&9ih_wX7NJAC{#vYKY}mFcS&Bxv*N6mhl$RQEMOEq|8cNqIaQO!Q6v91NZhanRLh zczYN;`-7pdgpf~K`zrt7R=yM$sVZ*UcXZ&J!4dVkg8MrNoW+Dku`vWp2OXC#w+ZDda2dY2W!ta~t< z*DuEh#fj)&Qr)*qRVGuEcx0_)FxEx@ls1qh^J&eL6`CoN;pnrT$v09)v+B-;AHV!H@sX)|wFuW9t5&=$G#(uWQz-@0+RGlb(b;w(4d7aL6Ulwhgn^%qQX2j1&LezXO6+HNBTiCIPpN%jEcD%$?lMZ&mzPXJ5jnk%%nJ~h)jLoiz+R4Jz zcYrLiwyeL1hogN%7}rPdEl%rp)~+>HbrAp1eCxdD(mn~Rb_OJ+ zsgK8dbX;1i^H(%vq4w4ifL2dHS%Igp?xKTIyHMnjUa%VE{LX8fFn*j+>>W~sCZQs; z(`$cV48c1$)VSPo{Q1u%e_%zUNaop*V5|vSuU{2S{HX`!!b$2@xDDmJO26-P_waUhsWX}Z)JssTqRYXcipeQ zMYQNa{w}y?xZDw0%~|y$4fL3K;p<;~y&{z3?7o}}D-XJS*DBLAEOU+5bTnZ+s-shJ zL2M+?D{QuK=pd8`TKfXq$?k^avWVpYEN}igT2K%2i6VRu@Y)g5_3JA!W~$g&2k}nC zPZ$NalS1`{V>v*XMVZkJi71Cb5MHvXza4-vkXQ?&acYxNUxhmQj2rU6IpY4Te7y z!wTkI5I#+ttiaL_if*bmv%kx}|GJa>+!ScS5s<4yE=j_GT)#1wC$S<2lW9z22LCrS!Yx}$=zwV0iB?q~$g_dD0D^(;EC|3%u8oAEW zYlLB0i^-gY+%s+xPVfULf4O*CvofGZKv#DlKf8Z>oN$b$`I;wnq~H1`wZ@%^axXu+ zOv3xP=g-6SP{C?*K~BY4rBHIEZ$BX2xHc|Y^xR49WW!;Me^f7_HtJ*)yt}W%b#fd$ zYKusq{_^4YV^BcF7rBmTd*bo4_y5plec|?LHk^uzHb`=n|U&2}!DS^nZVk|Np%ks9aFp$z7}T z(q`S@j=z`wZ1vtN?~e=BHcgGRp>%=Ok~r4kXFM|@!^fx_tC16At3j;j2!{?9{tVPV zie8zFtRzyf{m$tK8aLZ_*gg+4XO*?jH>R*R8+HEOzFe^b-f1C>x62C>ZjUMIZGU~F zf@{}X>eLJ&5hj5|Vju0&%WlCvlKPHnY8l3i(TE@z@*aHqfmZ0|?gB*4`p-S2fz?RD zA$=-)ZO5xvsTFZW{d9{Cjr=jsiz)HxA^RGxW&2%(*c!``z3cwlM& zgbwDItwqW=F*+^P?gf$3MzMZ;I8({qRrL7gvtS9G_WV=4z!5Q=?UDstFK&Ug0d)2& z{Zh;~mF7o7zQ;+NDzTyfWNl8K0jaoP`S&0czWhH#YcDm*0nzDt2N4aMaRsa2r2)b8 zmJY;JL$i0(=f7|0n+j^_yHcvES<|3m^+IerHmE>`N4-vm zdkIWQ5u5X^)GQF7CRj?8s)&P0iR~G)BZKnbc-A~R;yBYB4%bktpM>lOcS67G>1&su zOJj!dB{w8nzs$@xf!=$jWA&)ld6(N`uQY;XzUZgIEY(9P?TWHyF!Z<>n@SnrSbcaf z`(-IiLWaOX;bd*a0@GqM_nFp?5-bcU>Qo#>Wx>kA)K?`P%V9u5NebNI#PHpQgmfKT zkIiGS-Q` zRO$=EXv*TD7!6%lR`&tq}!nau4>CHMeC6>RPBDg zRiv1rKKTv`dXWh2dt)`G!rUCGqPBmAHsP<$jByuE(;FnYR67rdAUgF*wiS)$&NwmF7`_pMRcnc#ha2Hhj z-m?45Z17ZY1rV%Z`|YQnS{iG0|JaVx%E_EA>q!H*xGK&nUOV{#yrdaC;=-0aw(uS* zRy6H=H^8Clbu&^|5i)q+bZ_cc=~M7wT|!A=)F$C5O>cDmXyN6GpPBIw9qV)?%bju@ zA*?6b$$1ztgN{N8G~F-@P5amhH@In8M;_OI8Q(9^VE@yWYp_nLqvF~)y9(D} znmvEpZaC-CQJ>12)fihF{mPA0ZFXg>WS;vcEYG>L2?W!o(+?q*WIQXqPwq6yZu~6R zTXQ$o)YX!cH$eAo!wDIX*G1g6xoW>Au(>(b1gkjt%RbT<&o{gZ1Xly3(G5wts`myi zLasI7RqF*XR3fXmi@?V*U`;RIGDgB~4cQ=2Mq>U#%c{o4d1PW{NLc;2`{SukP|pqC zcu?o|5X1aBqyuNJaeFz&lgpR_+7zrwjlc)Y{&ZAj}4+43dpyn$l*ksPk>kn>7F) zhaPRyZ%4N#RQ;DPdUA8(U6cGbc&Z)7T^zT3B`I(6ddYJqm=FZ)seLgEh-0fRV+R#B zzwJpaP2DQzA%F=~DYcYrefF-d{epDBvs=i@#AtLtoPUGpI%Zsw=YhB-ao6GgtHbVd zuI5C;%{{72%tU+gjpUpl=a|xzJQ(uker^A|mE+l>KpH z{d-r59^V%47*o4=(15c~--o4a@JjqcdmGP$-eN>wKH$2`<~x4zF-D7R)1mAutfFN# z7iqjyOlJ6*tt=?w>r5+GUo#Sv5LS~nGhdMuY)X3vy5U%7rErf#zByKbIKD%gf{FSU zi#m*jkHo(!6*W$7IA@rRMs4{vO@fvW<}@SNBe^51i%ZX0cn3;+S-u~UnnrJ4Ib&q8 zyB#r|U}3SSOFEZ&W?(4svEPdx37@j%+QsaeNuHGbES8Y#ygKe%sQOb&FoD|Q`_Mz|#+KgJ73gWHe1lwJOI3F z6fE?-h6!WGvsgf_mSwjH-~Z{Tsy@t9h@QGLC%XA{D|rFXy*^s+e~#Sc9rxLy`O$=( z?bJS#;80oN86d9U3Zy@leeuoS8)ZhNa@kNLF&rCCE9Lmc3Wv>P8cC$6JT3cIRZ5K| z{3pSE%s(`GvXF!gM@-YOntx~*z99&U+x*a-KSF4c!wJ*g5WL^22zk(>Cn^{-XvXUw zTF2=>v?fr}gciDbkbK4h1>DIIWjx=K;mGmkqA@ig4n#()8?I2D_lZ4x!dvp{^XCKq zq^G6Opb?*cXlQzmX$t?)9Hk_7+Ww)1ay$)vMcs@+GWh=v3+@@y?jN3=sC3=FrhiIP zdpv(O8ofEP)n8weHXf23^{g?MW0mLmo;qF(c-GW+ohMMwz&h_Q|6yU9-*a z)eju8z{Hcj#I!337M%IYWj44Wiq8Pwi&PGq4xmN^d8+Trl2;zy*J7r>|}KI za%gPC7kZO|R1)_L`zUi{OKW0I^)D5*Urf8UYV50d&%;48N2uc7JQ8z3EJ9KOG%WG4 zhYVuKlmcx7i#16RJ|x<&rE&LJ`K(_SEK&yvB>P`JQQ#H-I+?$_&pmrpBet0@)M_mp zg>i&>H^^a}BQ7pFL5gBnP0&$mwGS0wQVT~Ewxjut0+iTWS;hX0R?lgQmvmGPTv6)p zG-re|o$qxp(sywP`mq}*t~YVJKxOQ_Dk8I^BCxdLH7^<jn`q=S+RGe1=FBkB)B(X1E z%|oy3dyYSn;;9g5WjS3r6(e@XiaS?8(aGPgZ-@_2!7L^zi5?#VT`y*Kk1XRme)FE| z>>Qeq85qf$-`vxR7cQNUiIy5vQwSWL1~3e8?7OM&v9mdT^yjd1X_0tKQ>(3|ZA2Cq zY$*3ZMZ0Wun+(uh@?@>n(ifss8UivT4Vh z4dXanu+_ufzO}Xjpo3A>LZ;a_omu@o*5`>=XHLBnNh);ci3oUa5tRv?5+$3_F=I|H zB_d_WAebkHul%iVC^;ynRr+hLSvlQ_F^RLATv+OivV3<^%G`Fiw)V#eRDFFofb-_# z@6bu@wRGa^E?xGldMWvcmearHNV3v)!8AcaMwCyo`aiTro+eKm?eW%82T2%^f{P<1 zZI>EGg2NmdbNbR zhlJ1)LJ3XjT|tUe0RibkNPy5w5=iL12^OSx2)!x2BfWD!JoA2f=lOrjY<6~LXLhbV z_q@*EaX{LT>(=0=!Hf{NtuBQwjiSIh*yax}j`mV1@ue8wFU0R(!f(wXe`H>B&8&$a zoVHf(brJ{$8pxk> zcF|!waj)M#4!<0hGrgqM9lR|mPrt{buH%xnq)?3qVyI5=n3>8|?6clqn-_4ek8)4J z$K0@~`L9o1=JFd;G`?kDPs~9A{FzDKh+g2-dtuUkm14z*TMQ2R&HtUJ|rfcFcQB z^szJP{Uq)!{DA52Qk;fe{uA!}E`1uNm!%@!U2jz$Yl)I|`L+|yZL=1eu*Oc?V^20s zB)k7b2mGqZ{j(I_Rp@sVg&^XR9TQz0OVICzpmnD}O%v3VjS4qq5LL+bcDZ}0n3cBd z?A)2$=>G949*_=f$wJKN*r6$d&zBdu@Gd#_V>m+ZH13T*GytLD2&04gd|x3r}GCDQ6M2ycpAI#!W+pNQSG;8OEA9MGY?B##0KgFtg8xFZp2~ABu zuld%NmM_#cyNC7RqHw)lkz&7gVSOK~?nnDhJ1((2EFSt>LlqQ{9RRl#Ac-6VydswZ z?g{l{&0i9FkJRo{h+K7Sh|?)@nJN6s#Ac{#y$Nmb@T`v~Gh&|@@PJ={gTwef>puo-9Jx-O4*=ch%!?b=Z-Z;E~+Gi|GUzRyksUWJGE#3KqL1s7OLv{=n(EqD6n9w>ERdpfjU&KwBd zqwOsg&|b=SXJmXOf#Y;Y;dWITQe>liK;CtOe#KsJhSl>Ke0|K|NaFX_EiO&Of)hy#ETPpzAl#gT>JF^$5Y{P%-2Sg{3dU^;1Q zmL6Mxcjwq3Ux|)uesfVH`TDbuW?Exjt(9T3)r$AW@WXc%lEqv+=!)23D7oTPA+%HM+tTw(t%8xV39Ip!Z`p`cyPx z?`dj_s*ZD&?en+Bg5a0a%W+d6GxxmO7g7tU=i;-u8DEmMd*Mz6wvbRV7Af)}_Wswg z44vPB*E{9mPf|ZXm)Ob7PNic*Yx1AMbsjavxaXSMP~TMjEfwD2arEeZ+*67hTUvW^ zOF&o4Q&s=D$M$U0f50gqoG9UW${HgE+-nvoE|Nmm` zC~p>K=;OcM?r~zSmWVPn))YYEy8-YDFKm4 zYiyBp>ItGZ#OWM?L-89^RUpjF!sc$+lO=ISn{zjcsF-)u6d8GPL&@vI95$k&V<0fX zGcv<*%@D!OV=bU`>p!wL&c9~L+C&A zS6%4~Vfqs%UX@~(#7>9JS28mteeX1~Z>EOxZ|rE(BZIa?<4OYa3z{O^wO(0${5_rZ zDk*X}`~j&6Zjv5zQMcDKQux%SKD|2l1FrqM(6~<{-L}Bp1-8)>r>Ku-(WnybeOGoZ zbz~`91+3n}`7$Q^`)l{Qx~^UrjZ2qxvZ=Q`(6DU{Rs1?$a zgvEVPKNwS$41y|a=qe|^+w8Q0-a+a?;b$tetxAC+A4J_LY1SaLxo6tyvCg!50$m{^Yqc@7SWdR?=6}eg0>PkL5={?~8 z{1Ot{vjXspnkHT6^t+u0u?$NGQ;O3e=&wM~xssY+Tx#Unfhx19mIgJ425S^FnD11^ z0|YbzqxhukJxP7sR#$*~B5l{0PFN-S1H6E?MV&R*hr_81%OGX%u~B4MNi1y_m}z

C(Pc~`XQhol1Zb3l`j`;H_!L%@!v2bOLaGGoO0LwNDaMx0s91&Z&cc;t?@;b z!rTd>BH2g^1sYvlQQg&2R+W7IgpUj3nTiST%#y~pG-(Bf-ElTG4$wc-%!5RNTTN1# zHUUDyIQ?bG7^{2Le1dnH83mS*v>8l$U@AJVQV9{5)tL8)RA8Y#@YtD!zpRYd7>oM} zMzJFZUyKUh5`vG$w9R1r+@7Y1J73jyFH66B!wEgMn-H4?GyNVzNZ^a-J-}A3-thrILLiIeM(M$1APN=65Xe=Qzda*O9PwOqDmU0-%|{`*1{%NnfQuaz#!pX( zr(EJB-nwR0kR5deSaVMErqzzX#mpQ+YSJO`iv!`KvXglv0C@NrhhoAP{zT9G$KFFe zwU6BZ_nbX>gcv^)kv!GEH#ndg>2#qvbvmvUDI6zV3R~pdAu4SdzD|@m@nit*Ee5`9 zfHY%dyh`XdThB-(V-O9L!V67L7aRJ#fZz_M@aiF`*e4YIR!D`%Ez&Wj^6{2R$1~3r zPfp2IDQrAuE~ zNQX`*pbv^Rr}6GdT(!tasT)<=N^fb|uh>fOFPcB^NCAJUP<`=RU^Sg;u>Gb!;T_~- zrGJ2eAN?gOL(5ex_?i&%^0n-rr>xy|3;r&>kO|;w3GJx)=6ubf^KrDm(WK|FzO|R; z@O{{bu^HB~9wK>MkOX`Z;L*=BYVL*(Lr+mXaI0k&PnBtZnzZeynArHnWVFlrje#Fe zY)n8Qj)-hZw}^A=fw9{?Yvyl=&X^v21@mIm|NE;noQAWy?9qaZH4slCe3Aos=NW$Y z1+Xey#1biX%bIqXHD!MH)H~-uzaD+MJ8m&n_lTy7O8e=%ssG6AQUcPRwM+g-_N}lw z?QY4UQ#%Ljk54bVx~>48E)ROCnYE7aw=Ea_SX${;Do` zm0aB=MAzoxGb-9@`XkP~^F@81V%O8;PYu=|abrUDOH!U-!I6h)xKg^x1qm6sg7UAG zstQp8HazStdU8L zcSE9@51nb%unPV!+25`k&f*JPoJp{Th5J?I)h@C_-L5s|f2stzA8gUlWy_bn4uzo! zKKBlZSGLeaWzaehXOxfDva zNr$P&u6h(2^pNnT+oEyv9+D@<7y!`5dP7XWUSXQDlME8u37}d}&to+cP&P0nf7qS- z_4t-AQ^6np&DnL(b+#lR388%mL$$ ziH>cJ@_t3|h#7;IgUjYA%mnbto%t5OYa}EYkp^Tl!r8I(0*v)HXKJSKt~;I%Nl9U~ z+R?F=0KHWbm9dGKgWGdhFjP)OgX}3wD2hCsqC!M-MpWM0bT{EZ%64)d(jhZR@E zquI4{b4D%Hmgv223~OXiJTs(9pB`cdXhs~2cD%n{Y_7>LZnrh=Njz16K9JJlgr?Ae z%XJWFY>uXB4N~Pd>9&SBP9_P9)dtBMcd#nHjDhnyC4Vab`f;NOGJ~YxdOt-)44KO= zcLF}1smg$oJIffP;n14jMFFBk@>L-NI~b0-b>C#THq{OHCkxlnI;<~?lWhlPs9BTo z7XMPxLyYE|)*`1X9@~>qfPH}q+d5_Iie~{CTnTpsdbibnHmLt}yq438QaMc9-rl9W z{|N0P&CK_Z-(Q_iREj6gpu?7oCCC>^S{c_L660GtTY0qQbRB{85SbZ)Tz1&nQeo83 zjSr{Er718SA*JLm{>1b!;7s#x*k5&7<#1CduB+fP#KuaETjPWMN=k7x`cjT|qxJei zQ6bZlS6$nN(P2E9)3ua84kn9Bm6C_-K~bh9{I%jExhXMrg=jwy|8CUON=j_0LI(1^ zp$leR#PkD3H1(SW>TJD&jY*AL%H&Ft-m*rd!pwkn$~OHW<;Ji9IR z>1mTC?kBO5s>pe28rx#jwNdD>>Cs%Q+UkJ*R;ePy99Kua=EHi?M|kwN4Y~F; zgjh$LJF`7>5Jb&*EbH5us0XNGm17U-Fqs0J+Wh4|?Yk;RckN6s!}z`|ZP^0x&yeDf zVfJuaht-x_sfX-B&2^EJi9n7Z&_F!dI#Q9Uhnp;^iSIRAIbq;;yOgVLnyW=?U9a*l zO_kQ2E<=?Q(l4T;24joIkV;o=FVacm=n|$x@#MdtJ)F7I< zgivh}cv3Ri>xYI659b6%J1UipiArT9TcmZ0Sv}Hz5Tl)L%ge`Vq*nCUA?CS%mu&MV z35FOe$+vlTEv;xjcHcYpR&75SdG@eK;xx##@X_DrpI-MlN=~e|OD?x|c2}DT)%wXx z?G_D}OtRF7zI*6W+!aOfJekxxp*$dVHL>*d5m~M8XDI5fVJ-YF>gu~ zAk(^nUlk|$J?<4fScs@Fa+u4loJ#oQx?-lO zY?DhYtkbV_E+-A=+~pjb^K5|Ad_oDYPqw*zvV9zlbWxpPPVL4tG(w2qf24AbsIjB8QzZ6m^0_P6?NPBD} zQG*{wov_W~5&{tev2#psYtb1h%eWe=_}Rg5-;xx(AFKRUy1T~#q}_>bpt0a0YfY_w z+n3=&)HuGi`Tb=*RB%4LGMz8;9}gC2Ua>8!nrN*b3$z8_`p)bCJ;Evk$QS#_-4k?c zto~rRh%dQ=CE&cG=JZS_Otb)B23A^dPA=9wln{-ttQ-OhiRCRrnOC3wG5rYi3J$8; zOYIZrGf_77dUT{Q1aMrXpP6I!EvCsSJ%}}9i3n&a8PXTZs0LJPu}pz+^&COT6{dB0 zHw(NfAN`mugBuQ(E9zcG-)GeRuB@<73LR=DT8rto%2Ye?g9dqQbsqwjdOrQ?PZC%y zm*o44Ul}IXs9*MY3>%$9+<~8Ax)9YQ>C3KQM(0~hAlV zHbN%lDiwaUe(DneXq`6&!DH(VdBpGZjk`e%dNvO9ZCasF`7PQ2nXj-R!cx*eE;gH> zLIw(Icu-_t?wc_&>AU98)~dq| zXjtwNZNLmO9MUQGBij9ColBnXC^wq(!G*EvEXM+UkF?~ZG<5RSW8KX)9dag7LGfXO zLp9ir`vAHp_2dWU7j&{!LQUU~XMSqF{~Yq+A*1_qe!i?$PZgq~AiwbTz_r@{dVO4YTuJ!}QfIG+-?;Rql?Vj|P7|pAS?~^*d%_xH7`km#A$jTuZzCOffMJ;S zT;~ngwFY-DzD%0)re5?N*)kd+;`^PAS->D_ASC86#-ME9@Z=Jb95DI%j>vEb z{lgVDU=osAgX(=!HrRZ}d12s3ahd5LctXm>NF#pe%@zZc9wycOV}qWHH019h8pGc( z@zL33*>pm;J9Y~u&e+W<|9Ml8)83%*DOs>EO)fApGM0f7^80sN-8%!G>95pwzM2ALIS(K^~oC)?M7l?l!`#|^!i?8d_2fbxtX|k{9K4ib; zrS(Psge%)rz2HtgqHn{!UlCaA_MLjXBC4zLd`pZ$T`_qt6SAZl%}_=WnsZ1bFlkuR z{bFt^&dBt>g3V6ER4sWktHq>`~r~ZvtEhyr)j4%z@ThroI!g??8E!_)W!x9lQgo_75J>dvE-72#Gn$GJ{Z~l< zdYn&W99wTg@n9HS%aGUB@p|71!_w`>FRZ>A%jLOGEIN z=cq$+J~xLU7!Qv~vHpVa>-ETiYSHi}XzL@Lk7h0Z{i5gH@AJgtmJhm4Ail$6t|$%82e4&@Ib%%l`X(YV8(|GM_yx+Z=a=SV*^lx8}>xv zW8S9>OILYVrsQ|ZJC?Qa88k0Xjc++m3ZlHu42E^Ilp(Fp?pBez-~nlxf@PEHDq=$v z>UEmNY6wfNm$AC7`ltDi$3)WK>zvaU-wh=}wQ~bG82c^yxU8MVfPXO-bIh6Q3sH$$ z>EjN)ETmP>hIijx1Oe@nc%@n1l+nSu^PH-tv*f7&m!iCm98hHBKCJZSyrosQG)l(M zH$BlNn^Y6rr{4Ws$&y6pgu7q@QVMd-&5cG zpYq_-mn|i-`q4^04>2E1m_KCd$-HSVhrc$AT!@3oXke#-4%4{vku$335ytsU^wQZU zxJW{*y(JDXDP-jO zS{MEYH!NkLkSFDX1q7wLpRcEjx*5tnm=Ia5g)AhcESLD@6zgkyFr2+E#OCQvG&-H~ zEPpS%W_r9!9@!tg`wBK4&KD&+pS+eWnl<$<X$n{n2efuwa`Yqm#Z;%Il z=v(mfUhr?oBkOcWAY#_T!$VfwTi#y?2rfF~2Nk_E`w+xZuX{3W?rFG$!aT7J_q6#* z>*h)DV7>GYr&0m`E zdmT;cxh-pUrD}ln6>p#~JI}k_14oD>O>6Lp9*Zb^s^H)&fmHh#rxHtXn9lQ!<;bD4 zEl|hsflRPc=f~U6i_h?Zq#ciq#b4X?DpVts#}b= zPOPY_xf>Ql6_kiWbaq33uSE_@o4(p+pPE`Z!k_nCO<%THek(ca zoJsR`frs{rt3x2e`Va_QOTT9rF3JQGh5YWhw#pY*c@Z0=y#W1lVx(#s8>|>yN52&; zQBZ>lyB|rLVaL{n**&^YHGTiFeMN502FKWznaH=;c%M%<0|zK@LQC%4Tck} z>z`}p>K5F`E&h+t;0;5WKZR!ZZOz6KyYbSpf#NVN?wK^{tvQ_Bh{z##t)d?1y`Pn~4J5l~fwL`L$z z5@*~L7>~o!tMpvt+Tr7s0>p1Bp!o%S06aiLyxPzmGivSA^IGyzYBeo40FrLV78?Y{ z($`C5bPfNMe>Wt;?dW;;Ca7VcT2mjDC6mS=+(<}er6MI9X=qd6qlN+`G7g!zwEyK* zYZVb3?r?#@QK5LgXC&4)*PRX*BF)l$ND^UvbjZ{&18`!a2sQiQI$v9WU9fGEg%l!FhW6?ZmTi0=%Me(-tIz2VbGyQlF_)Fyab!Vxp z;#;TbP_|7OU&n13Y&JcOcA9qRg9DA*sORQV;6(I3y*`fpcvodNfxC0sJ#-bb?v4G} zzo#bi(ZB0IGDhzgAExvEolTUaWAb|p8*E`IATDc4EnYvndD~Cib}>fqBaklH>NQyM z*)oeB2PKkRWKHxh14Yp!UA7XM1GVZuM1N)a6O~BP_?`3gW%6x342vfuZml5xek8AY zyONGkg2XT_N56B3`qZG(8wj6sa0-x3PA5kDX})^^2aaEc8)VG+Ogl#uoZsM1*^LdQ zBZK@jhQhfN_Q?VHZ}^;t^!?QbXjQIN_XxCw&wa1F2~45be`$ zsBPj1;xu4yY&GK7UDKg%2V(>@L)Kaa5BU|riRd%qlgw0+0s$r!Wl+}GNQ~dmJtWzU z!-xdR5MCxi(jq4QejHW@KS2wbXBa}eu~Y$QFe8+%NMBn2W>&e1a0*qA-i+ZP$Mt)| z%kit^iWXmkL^uB4rJ6^8)fMgrv5|}3l%K%F+GJxQTkJ24_-T$c=v2O<)nE(>w*olg zROmIdn_C3$n@Qgg2KZeIE2)5HZ!{=)3b;eOousbI^RHgHW?bqn~7 z?1Q(<%^hK~a69TpqV=<6ou(hDlTxbo`kuk{D~qtHwqwGZLFej&?8-7=b+kC6VU&Yk zfOHf%^giKv%H2fr?92T>KC>X@b{{sfHp|w4o0S=o+dHT~5^2{4J^mjq(@npO17+U! z0h}en0=`Q$>WyC)ykF~eXE3(&Q+6Zo-neMjJdyGIb;{e&5)Tvou)Tq)kGkxVg;{)_ zD3OItYd`ok`rL$RTOhoC6y1aK-;8nwhhK)9l{Gesy)tlpUj44zAoYpkJKa*!y`yY? zV`ZKTuf1TB3DHdFs7JyAbf%ORRP)b{cWbMZqS4cc{UR6RoOpP_eM>QDU9?ettUgbA z@yglnCT_U_!k$`w_3+yZ?my;AKZRLln4N;Go_4oCHY*jYS@JJzN%rmbJ86C!JF^LA z-bm}P;wT&XZZI^F$5%Vy9?USix!s_ zWjDYvS&x^~_a!^tVcxNsIc|ClDl4k$=z!i;4;LeAnBG5K*=C>g`*N(>=-(|=?FR~P@0#k`nnJQtNY^)oKz>#H_v^xm9K z`ylFCU+tB;8l7}4iV#v!)$iFDeB?dWmhKYz?}{pVH~Hx}z%Az4-Rf$)c4vL30?$+$ z=A;EIFt>O;s;eP2>Pyl_|F`+sfEC7h60RVzcINy$UqgjKt=CSiRuMXtD-{r{Km0V+ z4YPvD5S6ymOuYR0{kVO*_z-j1dLDA=ld+%H_)2J|@OCOOGs-g6AtE9IpK1xfr$qhV zpQ?+@zjhJFHpS15CI`0}Yk}&fuNCZpaBiha9>bKvQN zVLeUHzeRIAmC$u8&gqkIt6(rdG!@4wr4aD(e`O?|xa>bDJYj2*X(yt(WE_^QsaMJU z$eUkM%aikTUh1uPI`mFmyx+IuyIb7f@&et0*U;m@hU8Tv4wKik{X!z1wL$+$d%5a4 zSOke}h;jpDsz(E$RkWUK9Cl*YgczLZhO(g$<<-DwWRUzLPYRU_CI2W&``e}seR_;e z2fUs_>r@d~Ye5kBvjzgeMSK_iyfDN+K~3X zpmuhDyHPNc_{|@a`0V(qunm#h>KPh(oH91qBx(w=RSKXZJ%txRC8JAi-WJE`36i0s z2lLuu@{Op&*Y)bbbGd=-8+o+w*?p`)=@ERA~xdl$8j8KW^lVSq2(kF^+ zR-+D&Q>d%-Az?kCu{@3MMGz67Jpj)K4QaFs3MWb~GV(@`T!p?0cuhzV-77$08T&x= z$J*A^T@=Kq0~ZEFcbEV)_#VK);ODXffMHfYXNx<4;6Q$^XYePl&XtCm`K*>VQ7rpH zbXK2yk(#BMRDGs$>%m`=z)?c)u!d^AC@N?)r=C@eerl}9vc989a11MN&=q`>%!Pl{ znq36N#EtZh!+vaiYvYEb7#7iBpmI(=GuIt0v41d1jbJ37RLV z4K3VzA(i@-r#LeDF2APYb?qrBc%n5gy&habpxhs8$46Rc;Ooang zO@j7bo5y2xrub`U7IMlSxiV#}aN^yf&XY9VK89AhwthS+CX?H2TWWLZsQO5clrx)@OOg33$2Hv&9Y7$}dI1iBcoJn34Hj z3*DdVH^s%3VyY=lA(FV-Udjgabl#x6#1P_&M|X`7mq3pJ`X0b3?#ta+WsC#BcC@3nW)B}U@?l4hP( zXrbMa=0n%kiCQ!#^O>*h9u2WD?-1m0Q%AZYl+YTF;^9!RK*wBY@xWgn``TT*np_;N zSx|EdR?n%2k3)v+E_qut{;nMrtjmeM{&-S%x0t-}xcT+A|D4dy!qeTz;e|s(nQE=v znfTqjS1e)p@zq@4URSe#<{f9(=G@2?$0@gCmdP3xs}HWv>$2(Z{E%sYy1wJ9bCq|@ z8Qt!v8sZB#a-UP*wZuu}3mAMu85-y#==ZG&0uID4k7;0v0`$jr!{+~*0$`6N)H?gm<_^frK`_Olu$T|+=ucyTDvJrXQ|hs z1R;KPofY{9Lla}5FJv#-WnZ-Av`4}JBU_s3y$hq5S)p1H60RQ&!kpF3?3498M|J74 z)SUU?+>!Uop}Rr<-}kNCoL zz42o8@JY?6uZwZedGP;=V2V9kMw<%G31#j(f@}I~w-s^eBwnY@?Ey+Hc?U^HFN{-> zpU8taueo`j58tt+|C&v&8JzkyMR7<<*8DDi?tpBMxHePbSX17IJE)(WCi%kO5;@8e zmd;hazM)!=@pMEysq_Y@sY02~s#4*nk=%6b@22J%c>up+9SWi4s=DZ*DyaUA4|mAO z6cuM7T?R}=kty-FK+(iZE_4l4vvc7&4Y-@eH* zR6e8<2~<=w3qVFl>B)I=pC;z$Qj2N`X5SaF#eU`q)mg&`KTCYKtpQ@O<*T+n)I;d& z^HOCXs5drQxhSu9*|T#&`}YT-hmc6_2-37~}= zTdHI&y@sVr%`Y^TL0acR$@Ca*=;~)n0Bm@;9FFbZ0@PiL7{j`ff0SbN??)LZK^lY6i{pW3XdE58IY=h`_2fu zB@@U@fS?wwW?-?ni<~Nt5)Be92h#sFUf}AB0!(_}=Jufa{mbgnFHf+gEgzdf;kd}` z`#-#T!Ie>&%0FDdut%{I2J7b;syt;nf9@D7rkzNGG2w+7M&7A3ElXl=SQw{MWk#_a_T9acR$DN z8ENJF5>^VIp{@nF5txIMN?2OY@FSS%Z(rF*3lgVI7h@G%xpD8dpNw~PArY0fk5nVA z`LCi=s^cclXw(vwg4tG6I<43KBOB3{GfGVB)w$}bsbY}b&a3zDmMdM0*&{Ceh}OfsQDHV%I&((z~K0mM^d{UgE{Eq@$@0C{(5HprelW=t!)xz5Jrba z=1%I1QFE~7y=5m^aixgEC|4S^Z)Fqbi_U(p8pwTUCXH{4Rg=7qHk=KeW&(zS7m15C zDMb5f)7vno>51u~A;y$em0{PE-1>-=cJnv`#5{35l@OVdbqiGEJryzm1QtFIzqBhX zsU0;D02V*CK~CwJIn@uP3ZN^B*JTm~2(_mCC=;JAG-;lkpi33x}qsM2O&Y&*e3Y%ew~C0O#R~ zp(Mmx6c-?k(P}Bx>T$a%Z$Xnen?3RUs?}Y)`01r>jM5Fa&Vl>Wdof=TSr~ z7F7_tM^Da8d9c?ND4Y>S9w=>3y-H&XSpm?#(tv1Mcu?Da4`fuG75y#50@*qxJ^|j? z#4p*FQ1%y06ZJdP@&bnA3^2jk;#Xj@{8QJ!%T0?0~{TG zCIn)ZDf_aD9W)rusDsXg|Gk=zJ9U`PsPnpPpIDb6;1`?a{+e^QR7!ud3NMBqEmy|K zkhgC>W>t;*cg&?LR5M%HTRq>hgzqk<1H(j8?xM0h^xq#@AAZp+f*rMh(gg=+i!r{pZLprF#$-o5YF5zX%}nJy*F<=C^bI5@Jd zk2UTt1pY^6xO1Kr_hn_J6`$PyF_4Ttsg(wHg~@5_mb}Z{Nkx`){3Ol_b0(; zT1{5-?JP#C&;{51hWIKvPnzpQ$l%UA<>}&)-M-;gOVCMvZJ*FK6>Z)t23Z@LXd-L-DWi649*7iMV+}=qt{CLO!_TJ^udOGrw zYSwUrwebhT>otVm!c5~Qvv(zaxP|_!xaNYLFFjfo*4z*@4ggGz1Wu|gG`N%3vr=Du zf3q~Y^@pM*8~eEo!Y$ygJu^g>#eo^PSCMXoPEAC?hoDQ0G4SRYQEye?^oZuVvh#%# zPH2$RM%~GQ5b#}tfm58tt@$w%oR&0FucNd3*5d9LQw^x`2~Mmj%)&l|T;vN~XZux`pFhLt^SR-|%GTEO zzsEyg9(M}etJ&`v!Yz_UHcz6$kli%KNP2SwH5ta<(xKl*fXJV_s0EXJn-A$LQGqA+ z!XP7X2FBl3o%4ji0dsWz+$#VFnmg(&R-z*Wb(Za#KxM&h?TcG>H&72id>dTw^DA-%92iQpI2RD@1mn*OJC(Y;n88=3-#_)L6~WK zQyi<_XD|Nt1OVvCX%eQ}ZI+CKk-FQA?1qlNIiumk6(Wkan2szRUmvR{4glyLpIc52 zRO~W2FJ8gaeq}evlK(*R@c;)AVf6S2^8L`9V2%iNx^|M-aH%^`$CFqCyKo17 zSkBv;&sW7bAU*kb94~Bu&y6D?U-__u6nJRgED%!SNiOeXs}nOu{-O*GC+XIyEJE+M zoj5#u(z~OR_RLUKzu%Ru_PZB6+&yI_a@+G(%k_It=TdSpL*y^cTle+n6KMrAMjc1- zqmO>sFJuDL@?e~YnrmZIC>}J zC~o-$>UDRwFpeN@`K9{m)k11RSe?0BcPZ@@{P#oTMih_cN3$}!U!9`UcmK%1{|EPc zy>i9HXyjqnT;mru;K6Lmt~3|DHGFqEEfngqs)F9|*!>!~ap}pHx%RR4>*~gVcgu1J z)%x!akcRdiIba+WLOJB$2npUDo5?p{W@M=#xB11#fuv^y&D7nbJUkSm@b$Aq^FER3 zkt{xbE-ta@+v(RK5I@)U#58dD{WtxpDVk|VGkh(K^le6(hpU<_VJkiK=#78rUOJ%Uf8%8L#V5=r~#1WC+3H zC~wW0U*5i9!%c%Up|||FTRm-^Y#Lnh;G3#mS*wR z>(Z~LZ%g^%lSXgWCf!y!)dx@k0Lmoy(ngCb_+C{It|oBcLF()~U$e+G56Ew)UzjUl ztHNjT`S->Cew{Vg8aMQK70nMQ+x-h#zfkCsL{Wac#1O?kjc9w#m? z6zl9Pn73z>CWTd~QW8UTRbACXgW`heTuPh$os^bMHHMM-(xqB2NuPYS`hTYBGVO+r zvfIc;)XT!+ki*t-oLT0vW6vgpCyLlA2W@1jLM7k)1kx0HQOsjg5wGOMxPbAx?r2!AH8stj#k+-V%SFS zM81uC!Fd>FUnsk7@{L0I2DQlwQyjq7M3~>8G%?*j@oH1q#q!2N{oC zz~t|!RO1hh`o^#AdngOg00d-9d&Xa_iA!bQxdHxivdh2o#xN9>O`byKjI<-9FH?#5>i@{N5_WH|81LObzN4`hsN_KoE z^7!ETWEyZ(3^JSBBY}Gz{?eBY4gmWGy!i-4QK*Oz$a^EqvoP~hvlDiantOYaCZW!CU9H=+dd7BY-LekSdTXT+?|OaAFL zD#P~M3x#{dS^hl2C-@xa!Y${qc{nRDAGuYY{KywrclOh0LRd^Oc1!Cj5IK9M7HF$L zG@o&(w)iq&MspwueH%WWB=L=14n7G#xdmpkEg;bO^M6yK5uz{$VMndN7k-(%hLXwO zB!6O$N9J|3(}(KNo6NZz8y)1oIbdmVA0#FJo3`ygg~UW+nCLc?(y9A+Q_P&S%IsoM zX+^PVOmavZYrSz%k%3+9EFt7o&6UM=BLgrt|2`YLNwQK8$rDi_TtWsN79&jeIN3dHHj>#ztyOO>v-e7g} zPw#Xn;Ha1>q_Zu2x)t($?FJyWpDLJ0(X{pyA81FqP|Mo4fz3(}rCxq$9XmpguWNV9 zf+3V%td5GI^VWx5$Z-)JpAvydbCI~-Za?MdH=6~~sO;kN{tVL$d>_YCd%WBJ*Q`X? z^wniNKi?RQuhSg7)G+!YT%4`;a8lH3MaD#wC;iRq>#g2ozgvN2IjciU1P!|Aq$iQd z=W&Z*J+RQcWkP?Ef{$>~v4cz=qy1+lRe z2^7M&r=k$>)`0+4I?{(7ULd*^67gz-=ESw#3bD!~l1F{@p4H-{#B-JMe8E*-Ww`9( z?sC28CogMKDz8P=lMM`vBu_N3z(7UsDg2KCUaa!dG;96XvrLlIU)G@p)3L}Ym%*Nr2D`llh`v*4EM4W=*@I2S--q0Dn8ugi zc2NFR5a9_!>eZxs@x}T&+jDUDvsO2Av;%sX%y3wHLuzQXUySWplt34V&ES!zm0(Ke zBR(;Inr!lOs=hQwqIE34{D+k&z=wMCsq$s$7-W6Q_Dp8ow-!d|&{yV7qUhc8it1A? zr!Yb^ zA1#bl!Dei{Fm;!?%5l4LQq82)Q5h5Hg}(3>yaCWf5K6kZ(s{afTy}=oAZ>eGh_?wv zNy&el%;Z4&yM&UA{Dm~X?H*BbA;@QyA`+4k%7!+q)-U;m*f6d@8&QFyi-PX3Vvc$~ z1_#AWu;^ym*vHb2M!f6K@dygdX^UQz?zVoirC(x;AFA0HaKU0{EzCwaPV4_Oy(Qcs zT_MUlYcz2%1F<*Mn~BV2q$<oTQ!r}e0} zPjuh_L!=UE-mpm*hZ@&&pCA1tLu_Pe!?Fy9!|+ZO@7#)Hp)&6rdq@HA*q@}em}T3_ zp?d0#Ju#=>`gq<{anBc~f75DF6NY1m$WAxdP>p6iMb%0iL34*#cv@@b5kwW^8m!U< zq4#TcFUZtzVV&6NQ0coI*$lCq#FTRjJCCwuWIDY2HW7516LNxKBrhytr~I~O7J-bChVpH{gj5fwLAeR!Yko>!WB--2KLn1gp|2qFN{PA_1tNyB>*8Zs_} z?HKt%{4qGx8Q7mLG<}$%x47FD5mCX^4oq$LZAWP$1-ezY570ugAeEAA)W!tnI?=wC z&IzpqW}-twRNYm<_{hIM@)yF?oyCN-_8LFo|%g zVC%0a`K+KN~&!;&kexSpY`6<9_b0Lcuo3)w@YY~TepTOm%4>$yi4H-NpbogYAY8s-7_%x(ap zcl!8%=|ecBvjHHF*`Gpl4pl57z~n8f(RZii=Z^w*+eCh#Gg9N&Wjc@bU~uCZAXn-I z`wa0{AQvq4ND%bNP<&(iQOfSxCa>iaKXoyBzZZeR8PPhNbFZ*EMd{awAy!E6m0tcS_}df()JtoC*#Si} zuaeP;M~#k!a$RoNMsZ>m*wMS?nmK zRA|mNbLr!O=f#_qcYGf>u*#{4^^bYect3X7(%V6&4t(?)OSv0-BxRf(QzGjTJ2zYV zn}n;n&z*wc&-zA|&he9Lv9r;L09DwR?6@??^`+_AaAGt?{jl8Eb3OCFY(H4TMoXpq zZvZjv8!(EsnTuC5M8SS7z6_399+7j?XP}5(4u%=UL9_6CY{$=HV_K_Y6Rq&)D8jRT zI757&9nD<-aU%UtidQg=!Mu1tX8AIzx7Xwt6#n11*qZO|X1^hbiphekVDALz4jzGGr0knQ>HYz}30S>N`#-r}_vdqmWm1LRM?O1=RITokV9{saC*oO-u95SJkC_&gAs`|}Ft zaX-L{@09b}`cO(X_DghJijFybMm_J6wNb+$`mso8Y;r-;IaE^12#3wwIpKYrh2}@xfn5)@BEBwjKU#s2K8sTR zb^A8P5N%P#a@IN*!D7Yq%TP-KR8O_dc8hz{p1v}ez5U1%J^wwvv3#WG)6S@DD1MI6Asje;5KBhDm)HNa@-QgLvo2=F^5vYcqh{)LenXP-UxFv; zJGTh1nHWbKYpZ$&f=>)T+89=9KmQR>^`edB zPaY%B-Gi?#SrJ}|F*4y-d>y}kf)|#dj}_;kl*?N2rO2)pZ=l@<-{I;l)_wAWsZdg9 z0L8&d={;%CGrhNBZ^82`PzD8@3Ayw8hieb~^u82;)7~V1cMFO)p*nnh&KA+o&6YRT z^Yp!<ZoEgtlaW;4GEG>( zON+JB_S8G{;(@ig0g^Hc1}PXLNkO42#A+l%`N9Zw9}D`i7=6}%6419Iyc4s$V(VKt zYT`w6fxTY)q&dz48|b)6ACB^J=XxVcq(wb%=w3Yr1-2`#k$vASYtTVxW)mM(XSXn< zL%oX>)R9=~iD}eq`dbgmXbj6o7Bc%?i`!L6>M3`(=nP;Bimiy*_Yk>^tJr{*IJi%3 zWRuRqQC(cEP11zkv{U-+q*K~vlX_Q(oUm;UG+Gd38J);OWzaLBMkx!P!P;3vl`rCs z+$3<^z}f3(mhMyr2Ci%yw5{FNg$rBx#l=d-61|CPm>4)SN{|6R(^(1eJPUgpCC1sx z4-8>$vxp3v&(@Ng_g5kE#!9y?X-lkns4&*~(r|L~fDOn@!jEM8uY6MKOU?q8HP6}S zXr6rel8`J4QVLxc>Pos}5#1Xf>(iW=3&lG^95C3B?Gcg;C02*H0VD#+0{ujA z2eNg|+!e+=R(ao7AB14__Z7E*9u3^k^K2sKgT;W}U|r9?x5dI>#O~8f z5}=83=F5sxZM#o8X!}Z&uD}XDpH_3E#gygQ8bN!>*=V()_5m` z%COwBF@3Du8>jJ*BGHpPLT%f=;ra|-8TF<+hUS4U`~3ogsbEyu&etOO zDP;df38;m?H5#vo7qQ1s2!?yW2W)P=18HqpQ>F%MfoqeR3Q12qk`U~itOlBjeENH; z^QAo^$Ph_zX;`M`iYQ+PvpP<8Dukbt%eUBJ#|&ZgspRj1dN$V%jeD0?zCzZQIrw)? zE%~SwR(NxAG2fWLS%K-NA-U+Ma7x4w{`wSz7eG@ zKp<;eoB$6V)a`dAIs!+@r6t?Mro05SLe0$rTJ#jx$;)hf@~hsDU*Ut?eIpIvs5CGuRZM8ZmUO{C`d?cDwmD zi>2mj>oSX&m8jB{6@^p_x9QpaZJyIGF0Ty#0|%^=kM7D%Pf7!3#FmY+Xb6k{=sjRnz!~)ipbJmz%~LAq9*}# zoH~!$a6i(geojO`XCEn!Z~_0llFuVOm^ck8Y$(1RxFAI_riBlo3mW0Y83f}$##OEd zYt1emfmA=Rq-4B#m|Y5-ZIuz6GT96dN^ov+T{ZcBjh5X%JSDBWt?HZN8=$E}N~-td z-{(3Ym;lFR85rc1M^(zA3hV7qkV=$HBpZN z{?aDo$J&`sixuTQu>r%^c@cCT)-4o`-GwF+`Bq}Q(s)_Jp{UdQQBZ}4sW@2bpQUI&JRp9VGr zk{ChVqcM|qfmOcYsFCQn4$D*F7L>-Gtgg)QGTF+$DKCHAe{&RFW@2Zh%=Fsb7BI)m z?!pEU4V~X=<}<%tIFdpj%GAXVJeYg~X?(-8N~G)EjCLeshUn*irpdFyY6SNcZHDQmL;46 z9NJGQcg5m4-7_+NaNK$woLoCQuc7@#Sj%z+hTzW;a36)QWr~c%Xv-9@WkT$yo^;yW zebmX?4}Ua!kY7DhuUkgi4-1u6=5$7C1+!ODH#UTftg_!977Z&l4euP~i#m~}(}y9% zoMI-ToA!GfC+$;opXJmwN1J}KXhvzKnZ`HmB>y0Cd)@e!or4}i5I#LWKb>8C=arI% zs)xgrz%qj_YsTLkwr9u64`!+YUaU_Z$9(KBqDHq}Q{UD$U$SBKYmEZ#j~UAJl1h}tw8~mL_EY5%vSju=l9~vr1_dQea>@z;i!wEB zM+kqeikw(0!|OzsqUN=*sFyK~1oZC=-tHjB35n~{{^Fgo&-PP|7KJ~QDJM>d@4Iizl$=s&A`o@v#fsWX)h`;O z7mV~kLtriME#%lrre0XV`C#Yn0KJuMdOOS6sKFpLb_BYkV`-mRedzc_$pZ>vwh z?M(*Phs8PXt#{brv!q-hw#oxVmX&C6N_C9}C1XBn7pkRxlz>jOmrWYy5Lou_F*x@L z_hWR->5!jdifHH&PsjRX2Jx&<76bY{ZBCJq7@cYPtgYr@SwRW6P@dx~zEtx~*r3Bz zg)Y82?$?^!Q?>GPxA`HYY#+YbD$4!ngr}7AtBaJqZG0mk#Zc9*Z^Cq6NyQYD!DrOO zzB|2T9Ku?>9E;FezbZfJ7L--ypiNns_`a;JORV(G&Y{12Si@oCi5X)J-^>>0u&kgw zG`30t{yH$iJCLnn=n@mVpJlgUYdx}!Z{=U%$g-)%6O1N+WdopeSCTP%o(n>DR|v)%yW3qhwOtm=Q3u17|# zyWtmXHqS1X&f~8H&nD8nmX6$gC6kGuIc#5D=Xde;MY+xz3-RiG%r)E)EEkMzM=+8M z;*)Krj@)ezUybgzO~)!;7}Uhq8YMjE;-m0j!w9SM;hz+Agwg2U+&aTB=HkbB9RM$- z-<{xa>7Os}?%sz!Py?=ILy?h?6O4cC(((Fvo4Y9e{X^vQ5%Bl3-99p@%0Cl0#Tm5x zlaj5TCA0X;b)Iv|0>z; zYvlX|`<&E$;AZpw&k?;-1Y1```MYbzi=RoLyNFYc8Nw%x2jDt&$Z^d+!ZNV_?7-rh zzRv}@fawGbuzl70FBOJ(73^lmW&3?2hS6_t;T_OToK%~1=-nE;g8M7y0mL2yx7*xs zm!&s=0VBXUMRqaxAfu5ufQ+KC%wMVQU3WQ_5}nj^?M8o5A>HpWE{WbGJU$|=``-qP z@CIHHUk;v6mO=W?ax7MQKB>gEY;Kk=ci7?n&-K-9&i;oL;69IVOaLwa8Rqy%?3b`0 z)ZpJP|4Rem=7S|7nj@~fQIm59eT&nq-3yrmTSj{Su$8GcVqf*q5rQ`Iz;y-`eCq0+ zn$O8jCgXi4yxb_1y7d4&8(fjO={tZijJHXx+1rgV=}b@iC-wg)Ma~8XI4q#EfnJk8 z_NeDWFOCUTDLU|s4*$gMcyWr!a80Yl$(pSusa~Yfp~#&64I25lK)_gS)$}W zmfx4y!XSSzoU978E$x;-{`Z1%vwtW$v468SVK|O)`oKR646u~Et^>dNZsX|#k$-aY ziyyEIQtyb{esBd9taAndPmUv_ors*yzhR^?oM{_{<`)gH^i6N#F~fWr|DaWBBzvsS zs4kQ&c@xk5PN%~+tk(YzsMR9h)<6=RBK>~1UGzXq9rj z{<9PI|60(laZI~+1E|>lZ1#h^v+|3Cm_y~O{|&T50?a=w*MA5?Vtaglfx`*X=>dN| zmK)flC&9fWmCK@__WJ1<_H<09Bz(v<-g~EU@%=Bp2P4ujS5~t`^T`r!vM)%7GGROD zy7q!#`B#R{(%K1X$O07Z%vAr4r|5UaVAy-DAAjqU2P~{FlaOSgueY+>9#U<%il!ey z`1$yY1w5rn+qo9!vUW>q+8F*QC!RnWv!SCJ@kbWF!n@k#A$^zr%Bk}O&=B}5J8k`4 zL5Lz^tVI*wEbxAOf;E?J(cuQL!Gm&7RMC|5sWY~Kggse?9O5Ui~p3!!&7 z(4*~YTTX`X)UBP_4Z~HDN=VZ{n!|bcrswwjAX%FR6(Dt{VYPnSis+rD`hL;;Ig>^+ z0wQQo(B$20W}xRHff(keYehdKF0mI7s$05_Sx~M|S%ZgiWSTP}+>beb7wLyUr-!LP zDX)6vMBq6BN1Syk<0nyV=;TyGK`rho+qw3k2z^@!`$zVq7!><@oR~`5pz3y;<8Zc5 z>;1GS-gR|8hPQ324b(;+A2(IyRL%Q}x9OF_O?tH?oxnfz)7g0vV9w-W^=ai1Hc05COj)!`_hz{JvNiPbWT)g-C)i`_H%pd ztU=q0om$t7FOieDanQSUD6|jpEXt+E!OBQXlD8t|#hMz8saE-vxAB(sircCq++8TM z`>rfvBgrzUEc#^NF8>Pye9SFj$lK1_<~%S=AJ-6>$WPO&YszT36;9-oQVq0?XyfUPBhyYwrIRd zc+HUE{d(<`cja&x-{O}bVsaRJ%?&ZCKiaYPNlKaAQGO zb{HB}aQ?J)ZGw$?hQ;SuBa*Mxu-k8$?=@u;k^d-Txd2_J|1}kyNjx8m@5PVYu#=!R_Rh(kO?j}DdgOHj5Rvp>a`t8FZaR|>|FxQHcfqPLeePr6M*>+*@oQ@{X5!tnrwj3$rzsx-5v#8!w$N;Q z-ef0gbjIGrGm5n3QKCWvyt~Ye(!9J_l<{HDvkE;>&sgF5J?DQbZUEN5{{EeNm0QWZ zj(Wk{f(BoMs5ZKuog|^fw$O2*Pf9W>&a${;qN`(KQ%7C#>xb;F!4okY!;t6ldJnV< z3l%#fQNuv=0q8+4R2=;2($n*8>%9kk!KZO6D$`q1-*Ho~oP8Sc7dn0sF`}n$V-LnQ z`sV18cZjl?SUt8JXH*ng<|+SgERLV?V9LO z{%ccs@5hL)hQ94p?t0mRPxxF9Hm}i*eHlA6WcxiEFtt$nqkDS;I(p}z+3#>}B?6Y> zh<~Yqo*h-C{VoixArKvSI}az&)o5EWSebJ^o^wZ8jJYzm{NGT?ew)YD|`VA8n4 z@pIlilMWId9YGWHb<#nzKjYq^93yAjJ{2;uF&vB>{59kK2KoI$L#mA;Yz1`;se^5a zShU5Sd*zTOw|lYlOMr$s-i#Zvrv!jDn7Vg1va4`x59>#1*{|&RbL|R9z=RhY}Z>A(XE^=d&f!+fXPW!?o>H^DlP^(T5YUku6l)56Lto8<= z_zQj9(|?`!@#y=$%*k?qyG9&_jx&K?@$a1kt5?o8m&N}yaW6^O!M0^V1Fo%afNSzF zEjKA+%Dym)xI>*f=184>iaKE4zulW(Ke)0XRqZrs#@Lt0I8(5O5yWCZ6 z8o&8LL)r-wHHSK&V|*|&tR`nsHL zTaf<{;VW=K5pSeG^ms-Y{NG<e z?b(U*0Q0*d@3VD&FdAyO(^@5=z0aby^s&?K#O|y(8XGIVZ5&$fu!-w(mj2*&mWh9_ zwGPkiir7Q(qwI}gYeq{Cs!x4=_mcS!K~$PbE-=}JTQAgCro0OsE0^nhgnV`A8T))& z3WXv@ZtuW&6K9(x+}jLnkeI14&7r>%fUxK1gEcgcV-Zcj_|3)v70oFR>aD z+UElQ>K^FCd4_2v%d+vw=}!JwBio{>q)E?HX&E}ZiSgXd z3F;|+YLJwDXVLkpBvX4fq_mb2_&EIKx(I-5tu?bXP}cR#JNKf;pGP*UER#Q)>Gc$IoKo~wTj z`5wG{I-*V$p>M&fl=SW>X=|UI|N1`B^qspkiMX>*bkur&?-b{NcD1PoKi$hl$~@Ip z1OK$J%WL7GSyNqzQfcspcx#(trEF~VIbSwq$5wB^!;ZJ=i3?l&#Q zh6b2mdzGSQJzN`K+lXAQX`!ZbN$!2TW5LNTrF98vkkcK83_f%)Gcl_;vSai=>a<82i zH(P(Ht_9Hs%B37O6>3fOva4xT){?zg>f%zOxlTWmy#WZTm5Fd_8(XP-j0hUFUzlYk zG3N9_=cY^`wUViuJSify8@CO9>a$BXljnp!`}mG#YYi49gRi{2w9?TGQ0X@QG?}{~ z@}x;TgaX6whaOCm64d_T;J)GHyP)8@Jom5$+?EmlJ5)RAr3=er_!ik^S~2YP2tM)4 zXOba0QF2b=$>Y=6ZsnNWd`tmBrQ~T!ts43#YCUh8v;NfD1fAWc(af^rR$@|w<}juo zgTH}kDpmB3P*JY=oL#}Z^_fmZl+l0O_!%w<7X;~&O8R%_;#NfFc#F6->$l$wq_FSq zQ^M^&=j6$Ug%$D(ASsWjbbH`Xw@`*d9#@fX$r#5=pey-b<0c(#gRs@oDrH$g<+kGY zGpZF+W;Q5xE_PN=h@ls#^7Z9Sk# zgDuJWdhaxjc&LLt{`^-~57n^Yy0&Stspv;Nc>+(c4pca^ey*K6=f-=W4XGt@^(hFgC`)&X>^c#!SwhV8l?6G;^PxVvd z0>7$?e=|y>DJoq7CXy!`mo62L4!G^jNe!&I zxFkKRjNa>gEG%Ypwvm;jojVuTRH=V-M`puqwNT^8&D%`6j^uZMykXFuqr*_+@zar- zNCO>~MV%o2C}8xe4##AqO`a7?sY_Gass{p09S2beMhb&#Z1YvA>Pp==IE#6sA12Kf zurcVAKp*WgN2WW3>p&MvwYC{j_QR^ipR;PFCBVD#xiggWyl3b$KHyS4_NA4^JVPq4 zWb>J&E$T->*UWRbQrUe!{84&KAYl;7LIPV+VqC_l+*OrqK8TPBeY!k;12}(4dY(pN zR^LWRFEU7ipH=9_xcK2kVUX8HRp~K4MRLZd*v`^n_zXNS*_)fOhzaiQk#o zq8hdst?qUuo|v6g-2jI1>D}H2T9=s+)2&oR-Lfwx*JZbOv)CTVPj~Zm;iwJp_BRg5 zkm06qjL1T;KXnE^xThWz!I$L>wCu28lr0Ynuzda^D&Uux9v8viy0II8chJUb4~_9r zTSnQoxWI`Iq7MYWyCDqZ$E1~U+XQj7v!TisE&h~Ro!5o8`V6>o^V@>`DWd{?gVxX8 z+p+gzue;4~!G!xi)nk&}U}xgM-RGiyRE!rdg)!15yZC9U(mD2SZGBrM_*?xuAn^Td4lm4I&`jrHEsomf z)@52yOcdk4qjx^RQD>0d05pPPvgE1dr+e+fueg#-P2{)Tf-)Q#s|2wN8PiK=Ndo=Y z;h$ - Discussion Picture - - +

+
+ Discussion Picture + +
+ +
\ No newline at end of file diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index 1343706..99ade0c 100644 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -1,16 +1,17 @@
+ +
+
@@ -20,17 +21,15 @@ let currentChatId = null; let interval = null; let allMessages = []; - const currentUserId = {{ auth()->id() }}; + // Fonction pour charger la discussion function loadChat(chatId, discussionName, discussionPicture, newOpening = true) { - const messagesContainer = document.getElementById('messages'); + const messagesContainer = document.getElementById('messages'); - document.getElementById('chat-placeholder').style.display = 'none'; - document.getElementById('chat-area').style.display = 'flex'; + // Masquer le placeholder et afficher la zone de chat + document.getElementById('chat-placeholder').style.display = 'none'; + document.getElementById('chat-area').style.display = 'flex'; - if (currentChatId !== chatId) { - allMessages = []; - messagesContainer.innerHTML = ''; // Vérifier si la discussion est déjà chargée if (currentChatId !== chatId) { // Réinitialiser la liste de tout les messages @@ -51,7 +50,7 @@ function loadChat(chatId, discussionName, discussionPicture, newOpening = true) if (headerTitle) headerTitle.textContent = discussionName; const headerImage = document.querySelector('.headerImage'); - if(headerImage) headerImage.src = discussionPicture; + if (headerImage) headerImage.src = discussionPicture; } fetch(`/chat/${chatId}/messages`, { @@ -109,7 +108,7 @@ function loadChat(chatId, discussionName, discussionPicture, newOpening = true) Your browser does not support the audio element. `; - }else { + } else { mediaElement += ` `; } @@ -119,7 +118,7 @@ function loadChat(chatId, discussionName, discussionPicture, newOpening = true) ${message.message}

`; - messageElement.innerHTML = mediaElement; + messageElement.innerHTML = mediaElement; } messagesContainer.appendChild(messageElement); }); @@ -145,91 +144,7 @@ function loadChat(chatId, discussionName, discussionPicture, newOpening = true) .catch(error => console.error('Erreur:', error)) } - currentChatId = chatId; - - if (newOpening) { - const headerTitle = document.querySelector('.headerTitle'); - if (headerTitle) headerTitle.textContent = discussionName; - - const headerImage = document.querySelector('.headerImage'); - if (headerImage) headerImage.src = discussionPicture; - } - - fetch(`/chat/${chatId}/messages`, { - method: 'GET', - headers: { - 'X-Requested-With': 'XMLHttpRequest', - 'X-CSRF-TOKEN': '{{ csrf_token() }}' - } - }) - .then(response => response.json()) - .then(data => { - let newMessages = []; - - if (JSON.stringify(allMessages) === JSON.stringify(data.messages)) { - return; - } else if (allMessages.length === 0) { - newMessages = data.messages; - } else { - newMessages = data.messages.filter(message => !allMessages.some(m => m.id === message.id)); - } - - const isAtBottom = messagesContainer.scrollHeight - messagesContainer.scrollTop === messagesContainer.clientHeight; - - newMessages.forEach(message => { - const isCurrentUser = message.user_id === currentUserId; - const messageElement = document.createElement('div'); - messageElement.className = `flex ${isCurrentUser ? 'justify-end' : 'justify-start'} mb-2`; - - let messageContent = ` -

- ${message.user.name} - ${message.message} -

- `; - - if (message.media_url) { - if (message.media_url.endsWith('.mp4')) { - messageContent = ` - `; - } else if (message.media_url.endsWith('.mp3')) { - messageContent = ` - `; - } else { - messageContent = ` - -

${message.message}

`; - } - } - - messageElement.innerHTML = messageContent; - messagesContainer.appendChild(messageElement); - }); - - allMessages = data.messages; - - const mediaElements = document.querySelectorAll('img, video'); - mediaElements.forEach(mediaElement => { - mediaElement.addEventListener('load', () => { - if (isAtBottom) { - scrollToBottom(); - } - }); - }); - - if (isAtBottom) { - scrollToBottom(); - } - }) - .catch(error => console.error('Erreur:', error)); -} - - + // Fonction pour démarrer la mise à jour automatique des messages function startAutoRefresh(intervalTime = 500) { if (interval) clearInterval(interval); interval = setInterval(() => { @@ -253,29 +168,13 @@ function sendMessage() { message: messageContent }) }) - .then(response => { - return response.json(); - }) - .then(data => { - const errorMessage = document.getElementById('error-message'); - if (data.error) { - errorMessage.textContent = data.error; - errorMessage.style.display = 'block'; - } else { - - document.getElementById('message-content').value = ''; - errorMessage.style.display = 'none'; - } + .then(() => { + document.getElementById('message-content').value = ''; }) - .catch(error => { - console.error('Erreur:', error); - const errorMessage = document.getElementById('error-message'); - errorMessage.textContent = 'Une erreur est survenue. Veuillez réessayer.'; - errorMessage.style.display = 'block'; - }); + .catch(error => console.error('Erreur:', error)); } - + // Fonction pour faire défiler les messages jusqu'en bas function scrollToBottom() { const messagesContainer = document.getElementById('messages'); if (messagesContainer) { @@ -283,5 +182,43 @@ function scrollToBottom() { } } - startAutoRefresh(); - +function leaveChat() { + if (!currentChatId) { + alert("Aucune discussion sélectionnée."); + return; + } + + fetch(`/chat/${currentChatId}/leave`, { + method: 'DELETE', + headers: { + 'X-Requested-With': 'XMLHttpRequest', + 'X-CSRF-TOKEN': '{{ csrf_token() }}' + } + }) + .then(response => { + if (response.ok) { + return response.json(); + } else { + throw new Error("Impossible de quitter la conversation."); + } + }) + .then(data => { + alert(data.message || "Vous avez quitté la conversation."); + currentChatId = null; + + // Optionnel : mise à jour locale de l'interface + document.getElementById('chat-area').style.display = 'none'; + document.getElementById('chat-placeholder').style.display = 'flex'; + + // Recharger la page pour mettre à jour la liste des discussions + location.reload(); + }) + .catch(error => { + console.error("Erreur :", error); + alert("Une erreur s'est produite en essayant de quitter la conversation."); + }); +} + + + startAutoRefresh(); // Démarrer l'auto-rafraîchissement + \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 4e44660..e4c1ae0 100644 --- a/routes/web.php +++ b/routes/web.php @@ -23,6 +23,7 @@ Route::get('/chat/{discussion}/messages', [ChatController::class, 'getMessages']); Route::post('/chat/{discussion}/messages', [ChatController::class, 'storeMessage']); Route::post('/chat/{discussion}/capsule', [ChatController::class, 'storeCapsule']); + Route::delete('/chat/{discussion}/leave', [ChatController::class, 'leaveChat']); Route::post('/chats', [ChatController::class, 'storeChat'])->name('chats.store'); Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');