From 15c95b45b106bc06e8d8185e0828aada969eefdb Mon Sep 17 00:00:00 2001 From: Camille Chauvet Date: Wed, 8 Mar 2023 15:02:31 +0100 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20Makefile=20bon=20ok=20c=20ma=20faute?= =?UTF-8?q?=20j;avais=20oubli=C3=A9=20un=20flag=20comme=20un=20bozo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .nfs00000000098c82b80000065f | Bin 115072 -> 0 bytes Makefile | 2 +- execution.c | 1 + main.c | 2 -- 4 files changed, 2 insertions(+), 3 deletions(-) delete mode 100755 .nfs00000000098c82b80000065f diff --git a/.nfs00000000098c82b80000065f b/.nfs00000000098c82b80000065f deleted file mode 100755 index baed54c479014a2e0a2316e72880950939a30772..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115072 zcmeEv3wTw<_3z&2oFpe9auUFTuX?0dK>>pzMnpMiqDKWqC6QW{0Eq^TkV2wSNd=QA zAz;x;i*2>kVoNP5tuIO?1f>!ywP{N=ty*J^bstS_+R~b~{yq2iTQjpCd1!C{|9ijh zepmdmXV0uzk6E*3&6>yA-da5SoRDo>=3mG<(_(H_enN`W)3Opj^6Dh4LTi|nu#U0f zRwimi@aNXkZwZ}Nh5*DrlSWn63L_=nRt?`8N+8F4f{AscJiXL#XG%QpUqZjCv`;fI zsgVhG3nE~qDc+j#lVyHDYTD$8ns`d`3a({~yhCFg>3)MENm8ly4iNeCH75yN4(* z7^3`(LzI6($`7$tU75g}Wi6E_9Ku@=23VVWTOpVS_{B%AOz1!`HnyA$%p zF`TQ*nDqI|{R4SSTS97O;c0lVAnq%t1m@p(Upf7U`B&g8H$IZELSMPeKN=z7EBE`+ zq_3PZnSXPA<;Ld|Hs4ncMY#XUeC0WADdu5c`7mF3wXggTUwNIce7LWCm9O0N1;J~4 z<@vt)8+_&d@w>@aKGIizv#*@K-Td3?D?ii}BHivQ|CFzMhp&9Jul$qOPc-m}20qci zCmQ%f1OGp3;IFYy|1;Up6HT^cq#m`bWK&yBDBY24*c*LT)RI2s_b5&u+l^=J=mg%F zuOuwhmBzngf6F{Wr&NdJf607^`8LV_lzE0qsqK<~hIxiasm+q#$vi`&)CS4_ka>ng zsa2AHhszdUZFwYPt)h7A#nP+H| z+AjICm}f|n+KfE)Kjn|-HUHwOWb^Nn4c)zS=bg8&ZNrxmR&w8-xFq{}kAmJ0J?jz6 zI=F%LpS^l=?C3^Nu&fO`IuYO`&)~CWM4 zch`C{5GC1M-7p1`o_kZj%8s(eU}w$VyuW)$BJ!io0=YH$DV9U zZb~*6JE@riFpqOFQQcsIND#9t1wIwUj4f|}T`vbJ1 zxfq_Hz5`0&_<*Q=NUYTJ%(T>ZBwNsjEhSyfaY~ksWEcdRi`Re{xE5~^CciyjYNN1r zL$di9=bx~8(NA;nCaLfvR%qUXvQ5wx@Y?Z8T72J(_g=hr;(aTs_d078JpgLAf?o23 zl1}G4ie?8Y?EnH1w@c+KrShEZtk?pW{fp!Yb2^`kM9~27Xr^xQw|eg?va1w z^ip?givQ&69kg^#SFDwmWyKn&i3%W@E{wI#`O|6bT2JhJP);4DDtUeO1oZ?hBB2WU zFkYm;8hQ#8&%QOq@1sI+RA>Wmd1u1e8nc7=N-7BOJ_KkyN_b*?wbXVwUqUA~@6ki( z^;n|}f_~&SVkEu3w)k~-B+->YI8W-0T3W+O6hH@xT8_3yXDET10s?*bFP}ia8(N^> ztu6lDM+=mCOLaK}*jvzle7X9RK5VG(?Qg-iDJ}KJT5JF0+(b&vXmCqC8okd>?s+@x zbpJyNF|6x5`(qcWws%q?$$gP_WTA_C~5ThA+AZX3-&x_7y9J`-F3yjhfCCr9e-vGfdT*G~j=tj70UZaL-{G{)LB=llj{=Z@SmIy`&!=D1X3xt0c@uMUI@WleAj4;c z>z!5#>O3j>l@bogv?^u1L@fr|#Qtk=LLl6m(oP8l(oemq5vVGyZP*(R_7CU`qKkN} zNxMIf#%~P`R}WU~o;HafJpWC7!)Oqhv=%yyhQ&z^N^4(nH{k39R7SlMVvUR@-Tb6j z(`WkS8T|rH+AZx>>6lNJ*$vu%`IU*t!6{(_;5yh`zbD_)T}bl#~8-#ZC_UHrf2s zWWzIvT}pbBvDR!(!3|CUdo{Tl9i2|!8oM(G2o3e!cC2v>QQdM57b$O|>h~3Y5JHl= zf{$yI+CY9!vSAM#?3~_Jg_t>YMXDerKGNu6Qa?SM5Hm!juF}B=K(ktkKY-Vl4wdni zSc7@L>QV~w*=MP+hhjZ@uBPOOokm4X}+YvjS5%4EkH=`&Sk*hjIw@>%Vl z^P1~F*lszGpobd@VZw3XBY!{gErrfye@&;6+ko6YSwy6c2Rym^w7U~XEo;i(oo-Zd zzKO?f>b8|lbgD1J;}(>mb$K*bOf*4$X9_=PQT){I$c6;)g!6$*pie--CCe*qMX4dC z77UtR0)0hH6Nw`d-OavBwiaNq!GF##{{rE-ZcDaqHf60S+gGfDbQ8F)ukUcaQh;iV zDCc|{FJ9Q_@9fni`Wl!34il?~yKOv+>koU!o4DkWS|)^e)taAo@eSl0cl`Jk?7zN(ZE#^jDu8 zVf6zI^#@R$8USJ_b|<|j+mQwyNOw9n_z2W$0#5#kTH=xch|i%uh`OW>IFBn*UCGwD zQxm8Ub=jQm5Cb`544ar@0|r)VxKGZOk^`7Noy~|Rp#*qnSz--jd(i;4XAES!cD82w ztv~73ZNdxGBW%A4-ddYo&VsQ+wy+yG!502fk@L6kXv1onVKvFeYNBH0M|e*ykh+`< zgYdz7Zr3SWV({rkZ)*L3{gk+jCTHm>0S(d1z-g;h6i-B9BVB6T?TmS&cFdK6(>a?c!G zZXeH|UF^wy{-AOXg9OdRA0>CQj|TU(uxfHWQ9!qD{MgWw2YC@d)%U5H;X7bLXQbl} zi`$#JH@nKc)8WB!J-(H=}{QMqCakHY=86nFcj zHS>qhUplREAUL;SZt!^nS@-#k^|ra5DmO#_2zcN*5E2;PD6>+x{vv9vDSjc=$O*Kee!mUvAiuWw1vk#2hZQyq_FE!Y=s+bi zVok3H%4f7ETeoR5bDq9Tt8J~+k)RITiC@zmbtWATik{zBLCJnp1t0k3FCL`0TuKsQ zB@p(%!;+Ftx3qa)d(_QHmG5DdE6E4}R&|-H7maAq*9)e6p0o# z((Td|CMMDEe6o}AVaT#eFCQ;mszVZEj3VY{h0yMNhqjGiM7&)#y0p3YRpy;PB0x@E zBGn8{^8UW*pX&|p391hLY8$#=%Sj74U(s$$Hb3VqMK^-9*X3#<)0O%i8^7;->0UjGFh_!_x$%8=!K8=-wTHH-vtB5 z?=wAOBN%`Z%?+@TXE6VnDSWOnfIm(|HD%sgyDdm;WSH z6H3Ey=BhRjPI~dnApUm5yV74!sqD}X=&unF%J|ze!C+tUNBY|g)uq}oc|9`F-`>QA zP-D<&uZ%UBpy^A8W9I_nXE0y-V};P}T#i`A!=ksm#i)BGhKY2YGzNpYbrxb26Rq6^ zzI2YWgpzTgB(U8O`0yf4V2tM0n!t+65SXh807lu{ofF>_QDDa6cDhn;_j9v%!Y}rB zvu?2e5&rfDOi3T*Z*MsFzwd7`T0YX>E}9~J(a+z`mePOA-yWj~^z*mFSo$CM+czZ; z^7+Ui{q6TKaMgLxf9!8x@_f}`{&q)4TY^Slx%)ZZ_~K5)ci*53!8*hr6(5HIG9~R? z09bSJeuo>Zz2bdnNrS^ccV+J|F+g-#$ zzj%*8B7S}TWC-z&_ddG3DfkdJ$%+zeT<1|4$DZ$L4O1^FCj4&mCMu)Oa zBVC-HDBy0~KuCquAD~40W-Qjsd0kw^R}!Tl1j4c8UneO>4C6+N{eZG^%5Qo0QGfRT z27PS#lDQjCdfhJ~#_$4Tq+$-;k<_Z!ru zI{duUj@uVhRUc%f*&mZVZ8=NFdJ>C{$*j6N-qwp5A9)xb zeW;Fm9^{O_hPpgxmiJy%3##)>a6F+{mo?OJ;U}A9Vt#c|XZNXja+z5d*&B;845!Kmfpd%8pxM&13_x!+(_nS+)o9A@x=Gxh@s3Eov za|LIemXdBna?a-flYRKWb|oe&^c>rY;1@RQj1c#U?fO795>`T?@7e$TLfZcOM@k;l z%GUimDnOQV&JN?K57ja_H^4_3-%+bL!oqxeNhq^YpEnTcL@F77(w{AJ zx+x?kZfV_TyG2Di1M40kpaqfL&72K3lp?z)m3mKqH%Srz;7FSD6Bct zrwi-m+209W5 zC7rVWjGdncW_hEZr)FRSLZS;w0SUwu+fqx!6l>kZ?Gl9u6g^LVl>LDc?tQVYg<*$X z?c3=RcIV;YRCiK4j7?z-QAyn4*C80}Ex9E19+4R2JEsehiL#my6G3vQ!E5XUw8j{V zj+ncW`x0cyM)I9jEAJ|bVd=g^1nq+!_#4PVRqSR8jWa)ErqBBFc=m%FL2sK6!cAOo(^^o2=&AUoYXc^2P1e6G^$U{Unpsg zrm#}>=D77Lj7_dD>2-dJO$gzqhM62<2zy1ALq544;p|^fFZC<%Fd+>XiMHTREtxA? z#Y%RL2R*S8@P%3jz5f$;{kuDqx*$ZC9_z4J%7h{$&_->q^DN3FV$@TVf{BcMDXlt` zNkNxfWliod2P)7ulrGLL5Nvqsch~>QWjxJUT(2>T#`#L7PM=IC8ktV;!!Rx0a6l{* zeM9d6btKIUkaF!(8&c|CWjr=W46?=GvmXq)TBsEBp>iXjj=O!Q16}l@ofXJf+)?#+ z$#KWAOV|>*Eai7=N^*ud0CP}t$B?fa5Mm{rP9Z$iK=U3re<>r7sq2Z)3P+d-eMoQ$ z`ejhKwNjN{g?1{57;s?P;$fWch6Uz_hCOyOW(jN=D$iRJq&igzV455tb}_1gPj7ND zrx{H1qd5e`WR(tlpsJ7$Bszh9aBw^hhXScDm=WjM*I@fY-hD-LIR?z3XlVlO5k0?Z z1_LXM8zYviAfy-LQbqRxBq1UEvCri!Uy&|!PWlDM zkby`C3R4WP(FCc}(`->1!pX3d@m_`(P8xmSzM&iMax@A{c!Wad`bp6F;=WcfT5BBp z8dHnjiF27>ZhA(L*?9aFs3aLxmoRqL+?7BzSxdctCJFH#TUX1RSDRmKc+PIFeU-K< z@gv!bpXyCl5}D%*pe2PFOYF3~04-_noyriwW99 z5!VSjY%^&25EjTDEPMhq0b_aTMF{IZ{A3VjuwfFc1;;G`SeH|WYnHMU_dCu3yALww z`{#Qlzt{>i#)*I)Sk_QG|zVY+;KZpQ&JGDpWBwu_Z+5qGwL26JWQH!&W=! zRNRnOXCA;4Q|nCCL(#g4-aKRU&HnB6dXWYKD}r^zT4zL^ENnOV6#y1i>S{jthKA_+ z&2v1fOK1rDS%`!*5q)_8gFqm>;<&)*{$(3%%n!Q zMh8mk=TW5f_4}P`e#Q>PHkz`c8@!QQKgF|y_fcJrKZ?7ssK8#Lq6&4kSoEI~%Xc}y zMKyIN2m}*kArJ;H)lnzcom!;lK*Dsa3eYr>zeR*diUUR6F7n&j^(fVIWCSA{cbGHviL#Jji=F^D&D9jT9VZLKXypFvf@d0rSM?bM0rcKUd41D5O2k^gd z@V{yBFYw^f80Xj03J1|xI(Fx$07dvgrAc7ggN{$9)V^zRpL@HZ2UCj*_NB@4!1W(1 zwhjge0y5ozfLsakrf$97YANpNKb!dC0dM>c5+J_B5$tWpAsB*ICcD>9RsO_Slk%c) z^KZkoaN>rW$Jy_|dsyG)EN||0)ro(=il5`g>3Lp<&zQ+zM)-li?(JHgSaUD+BhCau z>LkHtmlPy-|I#S_v%D0FNg6)fa_*HGo6Ez2Kh60Uxpo>!Fd!j%(RkQzwX;&=m5XBX7FD`x` zE*Tt5JV|W-_SRgOg4S+aDq&{c{TolLVxcZ)xwk5~dlllH0y0MDctJ88OTYV_o;|>y z%Z*)iu!2lo#5?F=m!)|51_T`pul2Pr?#xD+^B@F%uJ~oR_u3beyL&ysu7G=RjzeqJ zNqj$2yMU|quQ!U+?AJo4{cr3|PSyjKOWGMZ7??_t`=1j{K^R;b-mNnMXUn?ITL$9W zCk2l4GhHseM5Z!$FKqfa-2kMhgO>VkF2ASz(m4igRJ$F$7BX3(wto`mDow48MM2m!uw+mZRnm_~MNsu?#b4)~HHd4sU&;5}XGPwZ8Ndv5EmJ zyvtQ>$GMQRADboN56tpwLn>kbpkk3*5#z`lz6l(T9?o8N6}))B zYws&)rwBNRWBDwF$NgxUk%%QfV$?sfuu-agJ9a#{#_L5Ni0Uwju|5n!w%9sT`UnQq z@UuOJ(YybtO->FL-o|FEAl?B)O_M6)PbMQ#4s7;uvf&;4vPAvh|1^I5;J;fu3^riv4vB)#Q^0lR#w4?cb<(Fb(L=^6A)H4EWE}J$+v{dT4#qV^ZJX z}KDu|f*=Fp+v#wtZ-VuKN$7Ovu=$S2+(aM?efCn3A z$HPMW9p0<0*!y{}1W&NZu=yd8r!j2ch{-#tm(&d4;KWK_nc?q&da;3d0yKzPI9L7V zPqhU#v{45zUN}@mpf^=21U_PY3E#`=at@`ZB^1@=Ipg;TSp<|(=NpLAe73Fv_zyjQ zUv-QZz>gHOGg}kMJiSD6Ps4oiNSU{uz@Yl7I3ITgXD-@!8YpGVG^?KuZ;^qi)gq@oQg39AC+e~<=Av_^Qr_-^UdIjn}z8KV(Ogoy3H={jm;I$QL7t-y5 z_B~8XcmWVU@NFsCPJhnDVi;#rM`0%c72Bm^wa^#L9VlpXmJw6-+3-u>cGT-aaR(v^ zAjuC-28M1uh^Af9PFJE4vm^DA8YMnWc^gQcQm-|&yy&CMzrzvOUq#Fby|HmPpBR02 z0`It;gdIT3se$MmMNKo1OYR<{fld{|W{86kARC?1ss4?HiIiW>fPJZY=@kYU#zf-o z@A!O$E*G4~H}GSox*uU?&`2XRb_(!NN)4SHO(b8{V^>hv5D{ zswod0Bdi#M_@=df@n_r{|2RD2dIOyx{$q#fYT~CBiQEi+T~!`GL0g6%(9lpKPb!}x zl{s5b1qF`vwhRu4Ez1;GlodFm=t9LVpO|sI{+8d*rLi5H-j4gSP~eBL#u6Z#l3Xb{ z+gCD7N~ZWqvZaJW-(VdgC3Lj-VI5pjj@-}xaBcC2`nQw*`9{t6*pC}x6JG6L>+vZY z>uT>0KN^JkRaaxTT@@~Mw|iizR_a_nzAs%1J*h~s*Et)DOnMRSqqZJmqSl`cL#fPW zT!Yf&_gN$oaP8cK@87@pJ)qvcKy6gVy>Qx6a35Z;#I~b`XYY$Sf$+X%p|cFmM40O@ z2e6?4j=~a-KhPZ2p27r(3o$+TA*M_k?0Bg%13#gw?QtG41d?DOW}%@iwI4XM;L1IT zxLe#HXUYh$unPFVi!pYx#m-4P&FcIV#S|9nRxLEnOR8p}Do+}Nldspmt9$bDu(5!E zVg0UN+|zC4=lh&|U@2W=I>gFKKrOX>P9H{ZitR%tx%)`X%6S9DdV?{Q1*or2R_`SP zbc?&6)LegXH@T>t_uCPSqUWJY+%FL3_x#8(*P(!nUs<8H)E@M4y$)Q>1Oe^!=~njd zf5uDr&9~HO(Y)xjWjl5~+fsip**ZbDWhczcayoX1i9jm!OCi`g_d^rH-fZ?e>sUh6 zQw*wTe4`(=E=t@*rsk=prc5l?xiw{<)=8DqFr}+}@kzq?C)~$S-wJ{7yu{)^<7^l8 zok7tn&;hFNzKASZ&Dw1q{E4U8G<;bEQQHzYFrlUPE4VH&-Pj_?n4+J^)byHU8HsLc zsqJ>S)HhYjR8>bEOS~oZC9t7X9nL+taVt(WuIhCVeHV*M|judJ-kc{76@hcY;G{JgFEN#2)4 zKb~)pxf$a848^?O0%gkJaqXA<=unzVdi=N4Xu2r&m<5~TlZfJX7Al!iH8um{h zbI`CKLy6c8>nID}%u3Wz(7Sx^2{TNz1>X(XjJxs2SIxEDGGvI)<4&$3^lzFgjLsR% zI-dhQV^xQsv4R6BWM(MF5*oAfiLu54)d=ofbwG8UPCoX~X=^fL+@eW3KSrq-9_L4? zmks(-qAeZeR%#0#TAD8!Y3Svh7oce)4ecEUgC7@|9XaPnPE!bETk3n9_`jftW_+p# zVg8n5R5>_yIbQ`0;Rs(v8M>SjMHN{qh2f_P6DS;1hI2g`+@qV|{Sw+gVhk!5=cwjh zw2}0)VH@s|=>koBR z`DN%5l(YK9NM(Qc&LJtEsjGe#sp{53XF3Mrk2s0n`~E+gJ2Lp@W=r%B!VwAeYpRJt!BvKYq% z`Hewl1m`>iiqw=P-o%RcU zrLE~aVatz=k=8pl{Ir5J_!evZzU-#F7N-lffk~6%XN3YEc+)ELcCqy37$we=-nM7# z$=v)2?P~9Okl%O6{ib3^zC}VmBCX&j<@6pgwr9q3O@DfESL_ZQ8;Z_SZv^x(rxQ&( zeNNY!;-AMFbPKd<)P^rx@bk6BKX-qPe6PaqKw`|H6Pp?xT+?b@;@#--#aI&-<*bNG zn1Lt{zk2uL+Ts^olBcK|)Lh4^l{mO?_Y}=H)B4n>NBp-5S1CjAG*%`fNd^^@yt{bKcv1~-)MZrR>98owuSct_V3OQke1wUm&npi)g zFwZT-EUT7~Z?7$W+tq+J3(QM0l6q5DqcIqB@Q#`o@CNy`47N@D@FpGm09jUTE;&@w z^$MLb%)jF9#-Z@K;vV^Y4nCP0{p>R~F5Jqkme`7osAE|*&H2gd*5s%96W1=hwdKK5Wq1rfW9 z1JEwly}aDNzhTWdwK+lu9oQ04CsNa?B1XA`9DtONsduu<@zA9_-f^aZC{dS$XtV>q zYDld?MuF+C^l@b&4(p@jEuaskk5n#fzz5%2wcecB{}kyv(KY%)-h_5Az+m86-1?|$ zKqnIFiXWToirp@yN^@{**fUUHiL;zmY%2h}1K1rHdw~wPK#}O6SJO>FENMQ51RC&i zccM$gym;Cjp3|u`BPhJPgtKF6qr<0x!S4Uzdm{;%gXqJRJ#l?GSO@(^_@P^i{vndL zGkS4ORhc$q+OY@R=C<#54@s>-4eU;m!n6PxDI^*sBakXi8 zyEoQ=O-Tw3YvZ=djCN=E_oQv!Jk8%VLrZpsl+N*}5 z_4fzM$=S8bpk*m10F7e+4f*{+e&tVWEQqU3nX4Kzr~)R%c+|U3s;ntU;WeeYE+o>! zI{Ikbg}j7x&>($ythMA%DlB;2+!klKES84)=%nX9v8bk183c3v0}2vj=^C69J}DWP zFjO2d*w-Y3oKhz%cCHx(mbpSamh@4lDVsJ_2^$hN(w4ETkHP8rb z37{1AlCU7-4vsEs!ynxCgPQk)o15d54q zNxEBZfi#{foVtI+#mAIizW?WjX9^4rT;feP*MbIIB-TT26)u!^tDfvP6T0&?)~Y%_ zXsG`H&JDMfxWE(=T=ep@XMNJvKKUUia{cW)Pn`iY*YsPN7T1yHCEa_#nmA?w-LAdRTOz_h@A=sW0^k2^Amgua7v}=bJC|e9E{2+X+_c zEI#nZKJHU@%k}yOUKNFEr%HglrH5nk6<8yvc?Aggy^LImRvT-+2+Z8?rG4){0rXYO z_1xcvHbfp6DkVERkH@?7j|a?cBs(S+FLV6aC^bQTO3wlV3`(yD)%ZefH9xum9X2{> zxz5W7bTGHzvePAsxl_z8;2h?QL>b0$bWcMaiXi(|J=oJg>7YZ3;Zy1>q@+=ma%E$5 zko|TT)W9$M%JC`URwd|U5tO5xds2Gi3bG*n>6M)-z9$!BA9b%f0X1_XHiQPOe+K1u znQENo*NQy~nz_p_5D~IJ6+^5Q?0rrfjzXvkkwJbItWf4lXrDI>Q-lc;K zzki=>)a{nyz8K!Q*uj1tcf2rom7;6=tkVGkC!p7~ATQAC((A0q(^i5?zat8_Y-7CpP zrG05*^R8S-OLdnkbqk~M>#I>SHh!Zp8h_sg$*KMw|L}InJt2(7@9JP~f+z**R$6~p zY5hT^^(&$E5@>x6w9cC)O;m2ndNNM7C}CQj=mnW%%PtBEg=?{uigzg$KcQ5-k?L)p zgF{|KCF`5=NQFa3DZ6uD@d2gm4#uB6P35wCJ${DEg%G|Mf^Vup)l{qhbje*Wz~8Is zhWpLRt?BJfFiOiEO5gsh3As0bHob>44P3dNl+P~6F%M>()xx=piv)&J>f=`sA3;u- zANA{&-)!pI*spV(6LFx0M!|=}b@=&DGK_x48tNCigV3Y?2mf9m+UGwXR|0V()4k~N zZmdyH@DNq`$1*TutN2~Nch?rb>u&mRohCYFvq%LWTL_~v7WK;croJwc47ee#_5F!I z`JeG8A({pK$ut}x4((5T>q$41K+nN2&0@y?5eq5QzfF{7pFW&5zidT}p_hO-J2gjV z2zP_)19v}UD30nbiMc#OQD8)OM)Ww+#*g-y6Jy3Un(y`iU$re2h)-7cY*+rXTD;UJ z^VPul%A6;xrw?6E=ZYVm<>5RUa~FQhoQQ}!wRDWYO{KnAgPe~Nqq&I_1{_&)Qx#qs z`o_oZP}|4r1+bB&$;Hnk!?W@lo{2W+17kjlQb*BZTclF5<>IJ(QuG-le3crQCs>h( znfYI3>TPVLR#3{-d)c?a`OKyna_P+f;vf=6lX(+K2^Ip}^6*g>kDfjQ`|}Lf_Tl?rXhFNIiFPu>jd%P{nA}5_ zU%w?aup>6`VBrr`yy*b7-G81gqK-_Tc>iAq%x&g35x#ACeGJpVd6?Vsdx2{fdcDr5 zyFtkeB6Znej$+cOnPA!To zufnegFMfUk*vQg;{Klim@MEQc{8$4kIpNaMq;dt$Yq*CZBMsvOA5c@rfZP&q%42;c z&KSIkIOFi*7e@daS=vvWD2j|YtTa#@)_^#|rKL&b3Y-g-IBgv7&JXTH74?&ez&6n_ z9B1l>5%3TQl+~|YdQ+#0VaSHQ+NWB*m*c?i1I_+WfgAsVz@Ya-?h`JEe_fxmPU`8#ecDOTqGmJx^Rce?m3pdu@B|1vtMNV7-z{|W?Ac21#_gFkp-L-U~)>FvM{858~_umkW-3mYDw!!NKxaQ?=0U!&e(XzybeGe9-~_rv)xk zcsN6L_}E_1sT8-T)MYtdp6a(WDQ?HNRza&hxws&?GhzT;J6cNi_T#+OaNaSH^VXJn(%OpOmvlhsWH(>2tMjqDN3+{Rc3b@HHno&& z>Bnx3VYg`@yEQHKq_qa@rf7C4jBB*6HrB-TA9|#@sYdk;RNGX?5dx--!gQ=?cfAyr zGzR%LRidi#+N?2vyVPjerKqcng$wL;I3Q%Z%akCCV@o~3LV;9Qz4P9 z=B6T~etD#PBTM_qGaf}o9#$GC4{NmSQaqZN;jfO?LMxQ!EG5kfpERSSibyktsE}qH zQol4(zLBN4JY#&}JYy?F8!bA>Xdo!7|uq1w+DX`1Bx6%%%A%($+p5!LjwK@sDf zQaES44n6CoaIYFMqq(*`;C$|5`s*Re!~?O1`QjbH z`E^YngF2WCaozuK$Y6t2G{p^leiHy!fNw8CxoD@jSKk^$?8N`!rQ5$z#@b)CE2Z(_Mf6_L5ET}*dELTRR{g& z+rlPk6A`8wA(j`{xc1Ed-yp9en3E+h258|flHMYOHE8>1eYwoRs~<23Z{&Rb->W~t zjIBA%^9Lo#^^^9Z_|n-E{tJ6NQRmTB=!-r7 z6|OmY$}9T!B(t0UGQ0V`qUN_}rANJ&jVI&0669f2_;@ z-yJeCB~8|R7Ww~E|7@%vs~1^|mfgJU`h`oaadGSVB}%h}%mCJz|1Q?D+8Tv+ zW}rzI*DkB6h%Z?YU%IR&zPM`Hihd27yQI1zK0uI#OUvU{HJYb|iZ5PvJ=9gsW-qT$ z4M*$HtYE8ZmMw!4m);aVb_JRdUl?D$?8Y4H41dF`$EMKxXZfZl# zU#NwFm0JS{t?)O4N{U<4<61mX-$zPk6<7sRPC9w&Dbr3ZJk1)vbV=0&tDw$Tws6tn z@`|f{1+&gNyQugaYw?Qe@+Gx(^N+n0ShZC^vyTX$z60UPS1?!)tW2jr!28rMrqc(I zmLqkLj=MFT9)}op99%^a(nh4^NcXPBb|ccMx24ltSl*CM??qaK385QlNaw8uKGH2nyOBQL0(``o5o|h*L)wkB2ViInoFg^W8|tAuYNe_(->W6Zl9Y*!pQ?9_bdO_u#tPUZmr2O|YBrEx^a+vr)K` zISy&fcYu$y@w>oh`BvZ~eH`f)r1NlpdN0x%++goU+Kn`VU7xAAu|E!J4bmc{2a%Q| z-Leh%gyRfi3-d_#A}xOe_((@R3Vh6Wdy$SqI`s#@N80!p@R8nwAAL3=-krcl^mEUTfsb_5)4*ri3Vfz*z(@Kx(k)1*?g2j1gGjpx$9=&FrnyF> zlRy}(C$;3vRGT7>y?3sQdHYcJB8eZVIivsxquIi3eT(y2cMKGH2n%aInn z0DPp4NVgz8h;%Q~dHaEn^l_vS+%mc6XTV2#;6>mg9oGSTqV_oAdPebAL&6H#B?Jq{{!$5DbI6&k903menYG=1$?BV-T^++@^^vH^7nwxJnr~) zBfSS{WLbr1Sm`e54Ts;@yNJjo^k}q!0K=yO9;C9FdV5#^tK^CgyD zmuDZ5n-%57Fm#>8EvxxArPC*}Mo|_&wE(Y)K0_H?ll&WpXA%B7ZcL}k7}*WaJ7@Tq z^JBwqjIOd~9)9}qCy(QjRA^Np?E~)nESNPs@AlByhh&ES0*(s44#k}}r_+}P;1{~^ zZ73geOFDff`5650X*MfR*8TV^g#TTJ)P;wxb@6*pyasUoUnpI8_$(Jc7v($Z)9EJz z_&;#*Cjven{`~0x{!=dgY?SxG&)*opU+&^p5g&g4$N>Im7k?e$tJCR=0{G{<_}c(q z12{kTj1HJ?B6Z~-1JmKF1cst-j>4)Fc9fNuFuYvZx=eBPm;C*Y;>8}Og8(sKp!0WKn z{!jq^pbM`8Jc{{uDE{jJpAY!A1Nis5_}c(?zLZYi6@agE;rjuvylZIwJ%IONUeELE z=K@im=qDF(iUasn0s5bF=}!cFJmP_&>~l8Y^8x2}t=s>ho8A7Y0(=MH3j*-VUHCe{ z`v5Nu@W0sQzYXw0#2-V+w;%Ajucp)Y1n7UsrQbvPfWIAp|K5e?!l|`yN~doRz*oEQ ziGUa0i?}WT|G5jF4R{~mSpoS&uKZPiJ6}tuKNo<{bK&a%AODS^@wWj!260qFfd3a= z{`&!61Nc`0@Vi`i58zS6U;GY(*FRr&;kk$x*8t8RCb{tNa96&Ggd=WS9KgTI#h(p$ zC*VbX_^kp~;~((o=5+cbKm2+Rz7Fv5fUoewLrY!y+sGgAhXe4fE_^@WW4?v?FaTEq z(Es!hAMl~(hg`(Foq+QfZEpKRJ6!q`0k1=R`bYr&Jr_P3@aVUPmahu%O@J>8==WMz zzv}>Z5bvG^KjrcdpW*t?ZGewK+#3zR!!CS3`6K>K2I!yd((eJh@S$}2j{*4|SN>eg z!_n`j(+dOmSGf2S0iTa}nJ1B+e6=ooHsCuLKL_aVcIj6EUinBmy)pp5(S@%AydChr z2k8IVrN0gEt=rS-z5x8ME_^@WYkrtce=|V;YcBmBz@v!UZwbI}aN)UFZ&U*QQ~>@% z7d{d2=;P@$KZ5ABKiB0yn{ccLmIm;bxcF6o&jj+e3$=z!k-$Ne-GfB0RLKm{zjL6F4jw9cBIoA0`L|WJ`wOWfDh%rW&_^-BkZIF z@Vj07D!@1G{D}Dva0l?A^tTQ0!XKy8_Xp_T>(bv3_zu8N^}|*8rRIOYI{_a`|G8N2 zjei>L^W%r+x%4LjUJ3XW0r+Jud^X@)0q+XHUvc48#NU-p^Q6VIpHtlaTL<`>)^wU* z;`HFfE_@r{J9cCK571xd(%%nwVOu)=tpNNRF1!cucEJA{fWPO$b8{j8o}uk)BH_$ z9jt$OCg9@NhZ$IFjfL|McSGe#Vz{g`BpeX=f<-&8Z zU$6=AHv;fiUHC-6E3t2|B%uFtSO2pC-+}#u@&J5+3$Fq^ihYEx0DW(KtOL9q@S*1K zZGacPI5hwLfUo&^I$af@e~l}D58$1E*9G7!TzGB_^s%3j3drB>%0ChCDE2oh1Nh2- zjzrmPz~=)#6n+)p;|~mtzYg#^z<&^+zs;3z8{lKGe{x3vewz#55BM6uhg#qE0KVg; zbox-N1KjZu&I^+O<j2;M`*eCy z0Dh$l-v+n?_;mrew|?Ibc;TBv&)+?OZw34WKfZ5$oQwUk9UlRo2zdKPz-I&A3HTTM z^g~sy{8fM#Vt=hV09X4HMJQVb_!__~2tQ|d-j_n>4Igu7xOjMceWZB!_;ndY!wYWD zOb#z>$U1j;V(IY0S;Grv4Ih8j@c3E7$DB1h@2ufb*|$0XI@>`9%bidDeWHO+G%$z; z%0?ulv_Pkv^7yZRD!vHi2%Xfwyo96(CFI|xFC`>BOl9%m0+l~P=dt9Hf4m9Ae^Cvm zzvVvz|J#RZSso21q}+_%H5n?8rMvtq&~SwE^6yVNMQAJk#^@AV=YfBm^5kDzLXwcm zS+bVIyV(cN(&eLdYGozl&6Ia!s=SfAK-a_4O8y!CAL?y}?Ye$i=Z$``{lAO|bsDa) z|L;BXbU*axI8FEOIXW%X>D4;DL8rIt^ea03j!vJ{>2o@LNvD6%>ECslnV%5WpVH}P zbvjL_=jgOlr&sIr2A%eo8~RP3d-mDWXc5Ee{6#5a#-KlcbKa?Ez4*;uFO<+wlp-jZgXU@uCgsQ~JRN`cP86}xY z*evePL|I_*cNr1ucg#aDdKs=A+q94!S}vaVgu?!uUCJ2Hj@^qVcvmacKB#h)-$rNI zF`X;>EoF63Bc#-vcW44ROS&QC&)B6OpxBNr#S^O34QNrhWrt@Fwh=i`vEM+> z%D4#+E}z3y8I5@5PIG8a=Eby%Xcjv-N-VADjPK%|;zlOxZm?>Zv-aR=#N}od{};@( zid9-%9wdaqCdcK3T{?l!*adh(CT+`0RqjS5FAV@{tSrY|Vdt|Za>^`5FlU83K9xXX zNhjN-+y=2{T!|;U@JHZj&(IW=24-lAWkT^xO>zE<@b≫#rv+Mkh$n;*p$PdOn|H z4MnMEa!RVPTK+QOHdb?6Ao7pZ+~#t7%O0n>B^NVytj;CGm_Ey#mBnKUWeibe4B3lN zl1(yEWjWa^ScL`FSMe9I&WBwX#Vf6__>EA@U*NO@fY%E>{1@~*)h+5aB+`Z z4Zj0y$8JCl+N&fFJHH+|D}!TRTR^7r7g=jiq|8PJViszmhn69K#x8w;OkGc*#-R2F)k+}prFf#Y5nofevM!|dNan1J)p!`cK$oBtYP<%= zFy)R^Wo^eRT&GQrfU#-Cl9mgZ<0x2UoBU4l*T zKY;frON>=0e_@RP$%yr#PwFF3636hO0t=2x;AvTZk3j0M$z6vMyL2ptxfWur{8bj; znjnG|-mEc_Qs)HLS?ShUDRnY>bsct@U3xO>+(8KH)m`S#RbMW-O$t^yjV|#H<}%^8 z?~qm0iOu>*xfyqXn!{TFB>kO}|>O#^<37+$sfYJh4ErtQoDekN>sG z&A*>`CurEbY0!{8kyOaLg}F)6n&{kP6t|ba(Jn0}R=&on7WyM~uJU_?jWXOiFz)R` znX|Ih5Y6GCZnkn8IRp&bipN)h6&{)jL6DNF3 zo|W@kyyU!&$FO(s_yR!K!n_tqUg)Aju0(n~xP~sa4ynNVFoG|MS~;wnLxoy@!e7MN z3w@Yj^-ol~V7Ru5u?fI&mljn+1!EI@x4w-(yObWp&f`$0E%Pwa&U*tnD7)&%gpDAK zs;|euutzdyg}TNjm|73u&o14|ddCK69BXL2N7!)z8sim>4WCJngmnV`?9xuwJ5AH5 z6FE*J4L5rF1KzXVWr5PSwHO!?>$8y9G`SBY6Jx5$ZJPQ{z(Zk^Q)ADjG2BYMpg%&fJSV*qERL@TK-8YH(y#d zLerlsj%(zp3O4%;(j29^eO7V%nsECxAu|HpW(2s+Fx-UVne!CID@6X8#6xT5iX;gw zNm3-4MMXsAS(`v=pRrReHV{x9xkduk)sF2FyEjU#z8R} ze;gE1){P#6oQ?#elklF)f+#6x^PrZ~Q$|(x9K3RRitNc!-ZgsxN;peoPByV(2}&Z? z3y{~C*?CaUB_oxYt(u?|cP-!uzI0BR*`-wD$}f?=F|(ClQ8{I1D~E%&Yi3_$O)Ilk z)8Ks)yYwp3hy`fG0yJWWD;nC&#;Ke(GfiKc*#y9>%*`h#iRrrR(&eOodVv1v0s5yK z`eImToTKO~!#b0Au3^p8yp>@k$lJ&s|+_WtgEz)%CO2bePvh+bxs-9 zBGPva>+4{h&HvlpAcplT6dS`LGh4ecd+;9Kg4fTna8!14~-b#Crcq;k~xsA*-BR`v^cajRgxL##@TrKXh1YDJ?`V(d!Nurdm!B#>Cv0{me)NvwQ>CH3-E zy$!k^8->Y+an6x}dPi!R)VTRHWrBp||6u*2S<}ksJt=|2vIw(Fk0gy*0UEOcG|tvE z)YvPMR+?Z`mdclbjt)k%m*Ab|95Rd4EG|;BSK&cBh>TU9K5~?J`iD^*(Vm_Xpx?yP zr}z##$oe5(vYx^t`x!iF2jNSVrw?Bwp8ib~hcC9o(|7Y7c95IJ%2^c4;vynqz2@ug z0ubzsY*&su1gjAH{=4ka;Th}QG z(6X%GaFm8kPV`^83ia$t#?|iRS~;53%p#$ZQ3;2HECed^RIW@G0+PeTHD4AG*OH2r zSv@U5X4V1x*`@rroIOorRZG2Tnwy%urAD4L4cx%r>nN-m^7t<(p@dH|a}6cj052KCQvNNavEmZ7#W?W;BQ*~7^r7HE{QckL0nHS>l3NKIdb7^8%K7R$1@ zn2ElFhw|##+N8%e2YSH8HpoNCVW^X`(wNwr*l(Jz`$)SZ( zYD_9Qv{3dpCzY(v;boYb8M4SBmjzkN@QB`w2Zw#QEL(5qY@Z>!EoXnNn5lsS7~Y|3AHJNjB}}t3s93Br4eeM zRrqZhU*?BOHze7XjE66*j%=1cp;ZInNpn3+IgSv*0pOV1+4483frqe0m-7~K;~ zywsV$SGh{@U^7XBZD5z%3F0Al1v}ZECHgU|S1K|}{h5fLvP6G?g6ya9;OGrqogixCvvi7 z92&)(6_E`z07WZrI((4JC6`()M&=)r~OH)+N^KAAIEWaw6 z$*J%TzH=&6vvqhC@@95oy{KWg3{A01@23*JOk(Ud1~;KEbGr(;N`@PuFVibRkrH5p zHqx`YYW)hmD01^S-G{zPD#*>|GBmVlGs>)CtBMjxEbA=f?9xZctx9vN6K++STQ$S6 zP?e@%#qG8be%dS)D~0|t<}e?glVFO)Fe%CwVm=$@%AarKe~lCcM)|p=78=Q#lwShy zQ937^Z=pk}I>1yo{wc;3*08Q*0ts%(iMD=08s}^ImA1||+(dqv%Rr<2kE}Uc%U||q z=H}>}1csptHMa|80AKVIatm`3i4@|&(8?a0A)%FhR3@Dv`vJj!CUrqdc08JS8{XLl z8=+O0oe^dv6=5XxF$Vf|R^~j%y1Arx$Tqx%tl?^n9^wCCQw33avn_X(sRTQ&<2bPH z#~fr_--i(K9Q0lhY89NHz!N_Sr2&Oa?vE(3OS9l>?D9*A4})XlRSsUhQVx%=CX6!x zyU4zVIV|BWNFcGSg~-{ZhmuBqfJXiTg{5eW4A2;*bL!mxP_Ck^%nh>>Bxv0%6ptmv z69W`a3{adBpmkiWEAK)@aWAOarPE09Le7-Z#tSuu+NPLG47OPIXfGE0=zNsv z^NMIW-g8(mtcGv+3r)_}!7TT@BG&X=Pxt48*WAfU_gz|wqiJ$slUpe=l~AU<3Q(i& zIsEKA_9P_{DMwTxXNAiyN+7{O6>@gzwZyuF5Ettb>3@TD36J5}V=_z6`=`py=ag%g z5DzeQF`!iElG3-A>0E*nvOS+UtbZ;}khNSRvP=2FFncl~uC+*x5)1tTO+)dXLf)Wp zX@VrIZ{p7`Z6J-fp&_k~8~KHXz$m}SF;?U-QN|ZQ&;%Iuc+Xyghg$dq_RF6@vDwz7 zg3Y!jiOII+PP{~S!|^I==%z*Qg*Zs{QxuLN&teJ;+V`3Lr9(S@*Ls@Bpm8_TX z7Ydu)QsnGXIXH}Q83Q%ciD;6`2;bGaK#pPZzYid;T4*BI2pWGGXCFla16qxs9YrFP zT87fmgqeM)tSx+3%ibv8vv&}Rvqill$}WyrJALvW0E0bR{={VoR=3`fZgeAr|6qX{ zHKeF8yYvrW5*m$}vyL-NX!K(=GTolg=xxYhE>mmM!*(EN4YTGakXY8Ikh4qwO8oJx z$JtkCjMp?O8H~7VQ#q`2YtD~k5%!*pH$w<%WUe9O9F(ou`ccR?^>T|eA2T+LyCSPeeUCR!@AG8avL8HL9F+oPuHamCb}RwDX$*Lrx#I zG3O3OX0q;Nff|w4PP|8~(wNr?r-R!arz)x9S0n(ptTK_xvSunp1E9CeW|qb2dE2*m6y9YV|G!3qEF(XrzLT* zI0W@czX({Bg-ZHWn)7fB_-&K!fcH%wrH9WE$Jk)F%l|7r# zMcLda$Yygcwz6e)!grWhP9`g7vI$lx{vy`AJg-Y{g51TY;fMg~hN}{+WTA(xkUwLW zKF;RFE&+f_QPU!G=HyOOzSl>2H&DK%DR*ef*O0P5gRQ%dqr942tl#-4zYLV4rz@Eg z3le~Hu@uB`Gi@SRd}diQU~?XI+SE{R2gf!8Sl7$ zneQp?APBT-AvS9v=ypS@uVl|N;s@BJR+LJdf=ZA;%R}BA7D}ZzAZLZYfJdeTK5DgU zJ%oaY^`MV?4oIDRx>A8vmH^zcy6_ho4L}sPMSNv;>9NAN0dOkf1<9>dxyoPqb7ktP z?biW=P-)qTC`uyMs1cs73c%yo8A{qNE!lLM z=ZUC_m=MjiBYuEgdWMKaB~VvM$$drTDrft1>e6OxGhnzirA5}cxtFr$2&0HIb{78+Rj_v%*TtAu3p8wZ4cqY?AmSy9R8|JyS_my*L55W!;6p5N1bd zmOWWFE0W=d!$$!#6hl9VNcED_B31G?ouL?WIBJ)h8KHdE#FvHe7qKoF>2+rVFmq=r z3G&JltYm!)f1$8HXP15n_3YR(K)msH3vy78T9D=whMc~<+k~8zS%ZfjcA2a29%Vr` z=lZ}Hl|!$Hwc97xz2NtXma9$6^;h79!qYUiJvpL!Ji`ySOCJMBkR=6dJKk9_8u#QAl_8ET!+ZiUi;)(p2pdpI;RQT%F7rLK*(5cInd~ z5{~UfEjE!pARHreS|ELZ%CYllo#A}eWD_|-h2_wNP2_+IkHm%sVaa{WjiQ2(OT5V3 zq0Cv)=kYMj|25vTSrC2;4|Zb2bc3~>IqSQ=#{L>qo;gc3w(IHyFz~@8c8Kz*rl=gn zc4-$X+hVmGa&ojNXGh3Y%Ryl5t6;z;$~>FToE4dSO#+Fz9{vt#%()#9V#zEq=X)xr zjw9x5P&AaMxkyt~2bpt;XJzG8CP+{^74bhQ##zs$7!Od42Plpesj}ir5+orPEcF%h zlZ{l;GLutR%um+z)fMxTHGOr({A5jET`@mJOPu^K$~8^r)D`nng?E^@EW<=H7s?;N zyBco#&UyF|mavNTbNofDfTh z2sJX-9Qgy}peE%IK1~>MWyiAS(L0c{GTW|8Ftrd%fW~2j#E1nNE7g3ZY1D~d&1cTa zdI%5QnyB)s*)-{#7w`yKQ8f~W>4oMsD2!Nbz9x+ao8&pFNmf+?aQvnke<6Pc7k@<> z#6)_lfDr&AB(-8*Oe{SN^c5%TdKOvXPkGuq2Q=>0tO_)%`KX1ZjW36@1mT5N*QrqE zN>Vb*?AQ|Itc*o?==fc44QPg!_!uq%p~$(aZ5uQTOekRJ&*7%sf5wm#ZN&PPkKrm1 zx>hsn&br!VR6K0`_n59b#s(Zszy#$QedB z4yZADBG%(Rk)MVrbxC+eq#Lx5ydxaizAPaqZ{TT{j?ck!P6OV3eREgV&<&OHF%gUzmQ?M5`}hYpXi0vJaaSzW!EQP6D*%b zf+GmS>D^j$q9UC~bKHFZj%&5ZSi*vfsk{pTQtBJm)>UzKz#m z|HMn~Y2qj|~4`-F*vuTvvJL)!aFw(a3t+^4peUCm|2Z zkAx725+)&mM9!-u7}+5i%hKqP$dZsoeuTU#CqN(p2WXpii{q5GJQ~2XOCYur%tC*) zLtES}OPXa1p*0Y?-8R66LYFQ3|9|H@_c3$FmSa)a&QF?q&v(!BJKyVk=R0@!%L0LUfwiv_q>WMJkrR#~Va{eW+IOUv5YPwwazIX3O_mnz)e;Kxwm_iG8;RN(1 z11}vPxl=ymiM01nqz6Ak)mPnMd(eDW9?v~F><^kN+;x^?@hh$m6t)@SMd%OH{Cq?c7B<=k)($%@>!sLy% ztH-o+loF|EqGn@<^i+|x(|VK?S>x8D#1#5%6>m#bWPL_@aPyLIy3R$_-_;&$xjT>N z@ON-bel!KsTe|RGJVi6=)Y6nXwU`Q#MLPqj9@$)O)s)?UZDUSse&fr@>)*q@MXH>6 zk0I6jH$24Y=18ZnL}#vgvqjtfd-8aW2sxjfj;3lh-XxtCw4>8oB=sKTMaQg;ZuwoC zy4w1Pm=n+PvNPPqRK}~Nt>PAHzk&N0+trc$EZgPw<5tA7RQSA509G<_pZOxt@a zrq30)71Q=UU^{nKf#|`h|E1xy4Ph+(H!0!#dLGYhTrzC@NUCPzl#KaqJms`e)YddT zXj6L7|ARE(TBz58Ze zsZQtd9G*%1r}j_haj}V-jqjCCQfu0!*4yxeQo$}aZ)L``p>VbBxl`|)JDlKH7GmW? zsOT@Xy%(nQcn%$gf5ae6=W(?uybM7a1V(h#!zPFyyR?u|+qE6nJa!#XYaRcu$+}=o ztRu2qd=MjCM;PWclo53~PNV020sm?5Pa^%>k9Obo7Hdi5cjuYOBQjIbM9s#-(mluS zc5$nz@gK=EWqxaGHNBJdxI;aZPnmlOu%2E+ZmSjPpQZFafTWkD?B`uNOUeI5g0htR zyleK-R_fPzcQA{$e0hjsuGGJwLpY{GSdCn%XrgB0UrIN(-~lF5%{fi!S>{1JbDh?% zdK7(WuRqeO7MWIqmw+dupi?$chrBb=&6^yD+>FxN(FAIRf5Ue-;ECz`0)xKuiv zNNuHC8#x$#CcEi1O{6_HaYm?3h^v;w#SVG3Bre{iYe`%bi`iNd7w-b%%Gxa6A9RF0 zJ{Mitw#oK*--CH%cdqVes%B%CbeVW04_gM&lnM>S>d>1c=Win?q?%ofv@j=SoOr!j z{{Sgxg=elscD!>2r`xaaejoQ~@3u%^?m>|cYG00NUpP-t z2a#0G#y!%ByIDS9OHGXn0m^nZIyiJ|4Lk80$QdB6l{p=%Y9GXXbOSrP4}chXdK0Jv zo5GQP?nC=G-l8~rZyqI(h7g4juBpET1V%XfdD%5A?~vtEc7iY4YMmO{r3(LjuI5>jXXv82TN& zw>ATMS94}#oADc)=Pzz-scFritxf=2Gx-I6z_cqqY8f4Y9JLn8;{Hvf=3KEUt4Wz;$_bGoT||X>`2N=4TJP z|6c8c_;U2~3+0P)jFS_i$b5zT!HFy9j>@K(D-&m$+R9vzuyG*!SQp|cXZu(mo%cCy zHGX4#J>?P34m3d4T+_zH#YoN`O@w`j&sAazuUwAAM^E_*CJWon+VRJvN-jG7`uOdAlu%d)jA4Tk(IAR-WYB)8G zE1jtTqZp;k^uabV&&h|7)&);)V6dA=@= z_FNq8^_4?pp(?$5rOLUo5ipfXyXau+qJz!F2U{Of*-4qoR-KMkZK73Y;#EiayS%Hv zswiZ?qWwNaxm10EXAyT+TAY{we`Pw7zzOglTPf4vqzq20onvPdr{MzFZfbI1&8 z;>9#_b)=TpXs4*$dWg%21bKd1w0BbWeMOxNF`|-XmXT0Vf7a4QozRAXOJF9nF^k;w ziY3#WO8lNk;?H82Pfs9JcAF?T3GG%)+boksWv7yOBeBuSq8!gj7M|gFoEaR|a@nYs ztBY$nnC?}kd1f66TRx4^oTQRhEWX>>4>!ga?V1O zWy&e6Lz6^)So_TBHc1s){6|)azqIORWM+oLKGn71>5VH+d8e#a=hd7IwT&0gaP6Mh zlS)dGSugXV#0A*N{o7>gQ)w<0N zGiUb%d?7+A8Bwo5+ESr8|VyO}})=G)V(nJiE&vcTBz$r7)kQ!2r?h2hb{ z+o#4##m+v~GFj^HFAj7L;ovSlb-@qk`As#ZIroL#CcWF#?KTaWZd2E7n!C+{X|s61 zEbaD(_L`Kxpv%-|o;CG&T-$9L@!e(GGeahu=`r&%gQhK$Z8d&ogPF6*G$YfTZqtVE zX#`H8mecKhqKq8B**4c^T z_(*SGmFaUo&gVDRm_@nl?@1TW+hbOAo8@~<2K{6A*JZ9Tb1ya7YXIpnxy-e4^)X)! zM@=g-%$FfHWHy-=q!vw^bEi!QU_ZpfZo-sIlM)&am`oQaV}oP@T`cJ~ozrGjx4Gbl zzz{NKkgu^bVplX)MU8l+=LJ~t0mLy8M#*34dLENn$;hQwcqb~SSK}#sl$9X12E*WxM z(qb8<6C^YUlIhMoVp31uW@>h)GC&Al-kJ8mt+Pcj<0Hc*%kllmH12+1kX_H@va2ds z9^Ln)`#q+q+thcPdEKTJMAB)_88Drok8ZR6xOw$}d2P3Ob+_q)Y}jLb$_A4;YW$~6 z?PfQ2kq{WRe-MxvSJ%(#mIT$M{5wIlejUUFD9OwC%Z{5YJ5FjQ6)!vrI_)-@Js|%L zW-e|QcAG2!B=!wKw$xGF+5u&Di=bJKJl*C@a7wpSlsoE()p&kSw#&@PW#478yLX%1 zZZJxZnLofv*(NHh!!4v6go8s@gVYXgnu{)Un)3u*V3UiEo7WDQOS*}%E4uw(ZAl{$8C>UhJLR^ z3JjX=0Xc#Y{q2;yb1Z7fq&d*x4?&G-@0};3$*LSULnfty0_#l<4G)w~#Czm7_v4Ht z+BvyT%S3V-%q^UnMhpt0rMl{(U|tFoP*e?xr~>(7ni{%Hx{Fi+{2B;G|8p6Cs0V_{ zU)CeC`%w{1Up(2UXQX>YOV0*=M0FP?irdEUYq^#D9Fb7&Rt1#%$w(qBoBM*PtyJyc z^DIy_2gn0j!0Pk6%%TCaOgJ1G1iHNu&#BuRfNIi_0UlLLfYw2#iyg5xSoxOAbo;$z z2)_dqwh08-1Ew4jrc7goGLOkEiXoLl3K}*G_CnqGqvc>WgDOW!m2-tEMM_#DU>2oh zX@a&!K(ES3^odDRUZYfj`hVCan%# ztDQ1+hsYX~EKRV#ra83`i_5$G&3l01vrq{vx#gIjMaOAwogtjlgc(=@HNI*9s%nF2 z$_$t#lB$IbksdOs&zkxIdU2dO0?iz((jyU(2Tjcs1nF%s9CD9|h(=FZ2PhqVaG*iu z5K{pRV_7~x)8(8lbH0eOOy&~fqfu6rGLTGXLlvjJ>k?7hxkfDHHJzQbi3dtMy-plf z>Kz^he(|v|D0a-ww&Bs?$)V!NNN5PVAKLW)!K*Q~kT44}C89P5)YjqF?*u|N!N@H^ zML?n5l5N}c9fKbo@;;61p8^_6R&A!T2+QAWYH;zMH>q6qH?xah(us3zxR zz9ZKrNq0fcU5crA;9l703vxe!Dj>s6%Ooy6h`xY$dLS*sF3mq^ma-l++5;NDR3@5) zhJFwchtNwArqIg``nXB^okNe)LYLBQWM6!U<)_h*rBs)r5zk1uF3s+8pjmX^UR@3I z4@rN{fjJ8j2ch?f#v}$$yVBF^S>qwWbgg2%7DK=c;9IEw6Zb;6W^?bt`1fL%A%Yhl z6_Hw(?Ewa?l}y=cNn!}()B3D%uMV^g1MLu=KleBZvx!s)OlfmM8qU(D66ZOsw1=~; z35KONFg(H)g?#E#YtP8b9aj-^Aa*z*W)B*-lisD1&MqCoTz8rJY$w{cPcICgW{HR{ z9eDPZur3gtt1Oaz?jg_>Y%EmPTv=I8DzkK(9X2hwgBT)IJC>nOh)y^InlA0VfSy;b zwUT7Ptmx!ZSbh(WhFCs<@Ns$@lFi*>V8J>a(PPvMhgar#2lx#e`ofP z7AS4!9TbLyKs7x9w)vp#ppYj;2WCeF!8`BWBXU6O<|ti~@G_ibRmg*;@t{dVn^>nn z>v6N_39JMBEp!KTaG~?8kTKeADN$Orf*#sY8ul0ne>qHbSQUVE0EV?9mX)wJMWk#% zH+ztO(6moM8CdB?Qx4h`V`xQ(3AKKRrAX1ng=q(Ya}I_G&F7lROquj{vt*Mr0((2# zlkI>o1A{>3`Xi{zZwI1KJP+WNyg~)RddXn4WSU%tNK)j0aw#GcQDY88kO4iGf(k<~ zXd49>s7D(t%qwT7G4oc_zF8I=w8Og%)-OQRLX_hyVwH?_NIgbGLApWYyFpP*C{~Lo zy$N_iIm?g)`2dB3g@j&poIaMhD0Cil_nK~V9&9*NcmPt;|HFH!Li}%dbhC^fFpK?G zYwpJe{XLBN3&~?n9}0Xzu&`4US7jrng*Oi!Yu9xZhKXLCyN9dAb1~;wdK@qpb(u@2 z&9&3!#%^;h*Fk2>9@CHSZnLq++?*|$OS{b5dra2>^E#36>F&&GnuAz8W;dg5m@u-E zp-MVnR(6?=ubX9J|Ik#CrOaYo%3wNSG1NgaJTDf*x4}BUno?qHsx*sY!u@=$|1*e* zMGzC@I{cj#h>7-tu3qmri-|kNFR*Ih$Oa{A-yjFag%$_=%M5= zN?AFuI0v!}PjSWkE;+<(;PV`^@X;IWBV++n+dMFV$uFsle>;pSf1%L5(1!7T5nR4t zvlv!qpr4>o41lZb&{6}6sj=J9QMx&!!k`hnD_jm$iDfF0z^Q{Q3)nl7#s36&I-BvI z15dL?TBa#~g1p_Fz}wj!|3R6XZ%#^kH_n*3y`kbnv45;@Mk@mMlf8ax4b1rKjQ5PG z&;5&N5g=K$F4)P3T{m|cM7G8(0OiexPOIyrdFrfrdWTvey`T;k9H0WDnLQuV234>W z(v&NL_0Bz+u9huEVYQX??BdR1< z&;+O2#}(hQs?PfJNFX#BHbG&~L56iK(pVpeyxc4PNWM&=QeMv7_(`(AyvbdorQXtT z-=sx}(Hqz7b_;DEa&qNFYYpTGn!YR)I zyYPQn*8rxDI^BP2GxR>xp}_qf03S*4m}17Tw%+8-3h|=KOr^2>Y|Pw3$%mro2Z#WM zGK?RXIR~%`R5M5VXqvNgF}DZQhF%BE!KD!0+|iyU^=STPH76m%XlK>$hQ%-IJ-E~0 zM}P;%x`or7c#h@XQwDy_CXB6ZfQ}(}+@P&jbkURWDzW@vlhE&04{SHVB9o;Ij6}L> zvCMzk5e{)>)B(E1zo*iDwn%xd>}GC@D-0g*qo5vrP{W zWiMQ*bAReF{!Dn7*2wn;XmyagYKd(Yuhn4w^lC1u8{_(PbPM5;MBn zHCl(FT+&(loy##20~i$2DGLdQ$Moi4eFmL$t|$=N^faE9!mY6qS6Jhy@sR6UvdIk> z(;wXno6LuzWS?lZkvh2)N@tF6Ek|DwUCtqua`BYn1FkCe3Raxkm`V|jphK2bL~IkE z+>Eh!rMzxOBP3TW$8uUZh#mt;qef;-qd?msIxR`pa z(CKA8{_XJLX8d`eoo8LoQ<NX~%SSnF}Day3NHx zQ|uI%ym0WMi3aGtfY9HF9nt4N(8H)P`}&zz*@l+5pgBvbJO{&~2LTEQEKM2>DHizJ z*-gorsIMPCs|wU;s|>rZJ;p9K45?wc4ST2`<6=QLAYS6 z1%>&{6^7LCGe8=|X|2*HN>M7Lv57bZJb?c(pA`R}3Q9ZoZu?R6@+8s)t**Dk8WpLiC6KmY260GTn&*v1N?-$g3S)NT zs0H0Np_}M&t=sqRLLcwD#Ug(tT;?wWKcF-#5b1HGi9}oAQlP-4h%Ztx9*6_`c@%s) zxnOzLmrYKxTGfcHC^0I4F^UZQ1qzscq)io2>v-W5G9&w7Rqi^_=V3>l%TOH+^Hz*v zngUq#F04nu8Z!GVb$3D5ZZKy91jqI3P%j3D+*Gws&}~DXPsj!)cN>d~hqFlpPnF${ zq}eN*Gfd_M)g+JmwO|`L@&!;8urh7ZSj(V4#1-@c14y`tpz}7Q(ss6?KM`-ikdGu1tv6Cy2RN(VZ}&vU!VQyNI%kM9<^` zx{SqxNM&eeM-?ufE;=Nd3UbnIZOG1%@t#f+uGPg9l{l#cHWIy))QlJ_bSJ(WGIT`= z1wlbG0toguRb6Zv{i$vr`zaI(pEhaGVat^09PF^RfZj?#G%7~#=mDkr7xr%hVzXeI z#nWclfH@Q1JIXNR`#kwZmS-#A4^Df@%d^=vev3Pceb`VNE8jjVH?PD5ZhnJGgAdkF zk^RIm2v@q?(4uY^8m9#ts9!>fI`|{4s|Rz~en=<|x_m8g+XUjn-Xu&`Xp%*lwW6IM zg=MeG3W{~8#B30e+wGyYfaIe?7* zAJ;%Zk!ob+bx=AB?2|@G30UON^43Lr044KUD_x8=zpvY0ZfD*9V=NpSq0yV|#G{T^ z$+iungW~CiMmsM#-&)DH5c$M^+{FdfY6RtUo7ade zs;KyUDd56Cg4_^WO+Eg*;7e-G`2Xr17ZOF^>;}^U)Gtd0sUJ*rL2~7tQu%!3Cc;;B znR75($ZF9Y8=%W-RW^2d<5S5&x zn?CYmt=WqF1j&X6t~r=|w3QJpG<`3Ks~t4y^l>fXfOf;aFB$A#tQ;^G$wu#7G%jK< z>a(NFX?&KHVHWKrJHA@FDC^YJv*x^85L+i$se^v6-79L}DQXDCQF153QcD$Rd8SN$y{-X1JO ztQ!fPropx(vmN+go!m-Oiw$eW3~)ia#fE#FC9;fo!)87W^R`Y}<8_cli^#m>B~(b{ z(Ykg>hEK#!!H~#D?8fLmr5nDkD8=}E4C4e2$V5}ZPp}BdMD!@Y0w8PAj!}jaXeTlN z34j7$*fcr|@H4*IM)HqufwH%`(OBi~@HjRh{XMMw8E=JaEer%BNc~a`oN5a!w@0s zZ9B0Ki_t96v4Chmch+ykV8uviBF0F^7DgX9wse4JLNa!n^Jg^7H2tmEY|FXLHkqcE zVGC5c;3)QJW7L9zfDWuatmg&>2Z#Wjp=C_UdWx)1{&Epj=<5=R>Oo&A4$@$BMpEOY zYdvB?ZWm5?7YKFM9WgL23)s0DDKjv^A5kl`+*+VB=K4H2N8Du@m_`wY7;QUnc{7GW zYXNdkq>iIywE#&Zfxii~|7w!{PlebjvZtRt3GuHGC2Y~V8AKcR+0Mh%&_#rK06#cV z&H-wL^g>2Z$sP^Xm0UfO()F=$K#*-2c=ya{vwoVw|1}udC6>LJuBlxeBBTT#>XbFZap_5X~`tz_mb`~uz;KVC#VBSdo8;usmyYs zmTfQ^2l^XrIk{brR;V>HnGawDq8wnL!oEkq8N?1&*09D-sq9HIr_hiygT>0WM-JeX zLvz?lJ7=2FU~7f*V1m&5lYvhJQ$p-?`%hwz63gGC9)|xcY-Q7CogmmdLr=5F7MF)P z3^2sZuR(EVuo!KCIe?B*%+AZM5hNil4iL(8YD>`NVu*FRN6x|=VZ~<&g5sMF+T3%l zR*9kIuM?-evq9&ToVRsqc%(EuItkZM-_RHsNR^6rbDoSLYw8>#=0qDKq<(-FZO1fi z7095~(`M}ejXj4646%9I!0kS-+aE;?v=6&3g_r|x7p5F%7@{5quFUC9faeHXMav^g z4AXK8+|)Sj0fZeuNDd8Q&Of8w#JRE3WOFadX2+CR+jh<3!(}1+NaCVM14H$w#Lqls z8a9hkhyQ;bnmGU@4uRJX*d_lau?Vns1R;X9fJ@@p&H!TNQvMDoNgqKGq*kJrDnFIU zUYg1Rp}z?vrM1G((} z&+`~FgN=`)yOctZw^GI`dhBmxKBxt1?w4tAmL>bh344YJMK2%$cf+v7^7zG=B*i$2 zJIBW+7%GiM0)Gr7y!9ozA8lvwXhZIMLOmc;=S#$Lm+VeFBJAZ-anG&kG8fA7or@4Y zsiU{GEXPHlG(NF88dx@PSHPnNWdqsgaVso)yP$|3?&jy@7RD=ZM$?+41%GoL_P5In zMflceUt{M=tU`OtCe0nod51t1p!~h`8_&gxj`>iJ3pb$)xg?Ghc+au;rzk!P6if4& zBtKMfW~#a#Lc9 z<`8$!z}ZiV^K``lk}rPBIAGNUP>GPuNiHV=@KRUEuq%oUl2`*b2*V9+>g0i zl20NC=ccWogT59^MLfw2D-6s68|8IE_z0!R`$4f-P$qnE5(+E zgdq!uCBi*-Y&b&UWj3L7&35s!*x1RF3h$l6dTxO$0{4^e{$dX3X*(baY3$}41g&8> zqzt=)qRhDfeXEDq!Dyh;bo^GZAQp-XSjrpH;drvH`9&^TCx~vf$ZXv9-U&(6%rHf z_v1OWGvmHLhoZ`^H&`4(SrHRfx6A{dErZ6OVa%Gl*r!j9*&zpU z<9-gF4drs5#QZ`Hh({T2@f1Y2vN+_tWpS*KpEPaaAP3oRkVgLrRi!=rw8m`UWVCPF zxShLlq_|&@w@BgU1%;Jtvto5kOAR^-%Ssy*0l(IQlEJ}QSg~+(VL=VsAIG!c(1ZEk zdBCh2Fc)G&fSxkh%kwerG>(G-sf#wto&xM!*m$oN6Bzyvpo1Ygq(S+K#913LPGBXE z*!=*#9Wgxel$~G;7@CaiK-UMjVSEv6G-_v>Xmp6f^I^%PWe+(BmMh$OE#3YwtaKkP zCzE+LzQ9EeUINnI8Y#S!IxlE5@RD66?^+KiltqgL!5xb z1g?f7aGFQ@F79T~Dh=^ka573jCbdl)dp2ir7Y{~aX@XH>3|N`e-oov0$psr7c0GoS z5sGzUwHXK>q)uakF3&?SL9qFXv4bDD-1valBmkf|4j3XUw`lAcWX95`?8ea-F`%?} z+HxYw1CSYgy(1$ocFvld<9&JJP8KY4u+(TlZs6r!~$PJ0km*!53U;p^u9a0pAWK&H1JOD!%N%i<}-ji#{*bFjHb zJ%!ae>_OVCBz?}rtun!o1stanjwDO_gO~pq*g75AEmHop4;Ge9?BvweKnl1s2+-y3 zHdtXCj^GN`J`}bJL4?bwyOX1)C!rpyn@_oUiogTibIl<|pCC8yXk0^%5Ycg>z{y(j z2vAFdtr=^t6yy#{s?Qp-)#4m(iO9yG+wy(~7D{RFv(@o@y4X7fMe8t#F1cIa)l%f` zWA0>HFdKqsABypCF(k@5xVFew;nCxHdT@xZT(HM`VFoS7?O8zE8VMS%#H#ZGA0Re) z5}mH~DEShVX`Do+t5`D8^5ne14QcTWqK20V`8LZ0p$*JHIhns315A4~!A^(F1xGx| zUPUzxg!suxBmw=)*dei+7_J&x_p)ORzSOOf&zbD4qN7sS!o`9Qi?-M)^46n5o3nh1 z{3>aN{swC=K*#H;Oxifq9o8=m0Rk%!2*u{ORSXNd{I~L$_c_#=a!?$hVAR244q*_n^+QRN=wF%(2FnnD~5;LcgyM9lOArTMNH46uq<4FOG?Hb)r96gzuV8VwZm}0 zHQ0{oiFVS4gnCse_B1?qzW=4LTzHNhrVq4Sm2>RNF?g;{(W4WdWB)OzFzu~Kq(xHL zaA~YJv;_9wu0*wj2SE1=joaneaabLXfYRxw(gj>Srj1TZhO4CD^WqVH9A8E1Ok8m) zg{P2`M4Kp(CrlHqTkBDx6=@x9mzvh^!m-e0mI5!>^8*5&FwLE)8jXBg-!nqP7v#GM z%f{RelftoxeI^6nSFCZ zU>X?nLuvq3a7^6H0pv~5IeAoCTz}#g`$merYLAyS*}N@}qRu(|GJLB&v`q0$0#c+> zK2y9?rihUU8e|Lx?PshoAQ)+7rIEseROVt+bDLn}hoUsA;C!%HDvTC)mI`=!8$&OA#t{FCnNB})6EKo+im9B1M6_iVi??f zAy-BGh58B=_-h}L*aTMY96P~j=p)$u05qsQyUs*I!CI_+0Y@%01NoQM27L;Yt%geV zQdwa@*ug3lZeuJNw|FhC6D!~($cVx8C5k0h!>yxb@a2RxAz-&I_Zc)rHwJNqP#^J; za3iNTOp_KoLBx3Wk`;5f`pSyqkG|IXUFkTjA9MeXl(jkDk%n`7OGC4%+3qap#r`uMd~RS&6vl&F`N{_i_6AFNBDXU zd;%L86u^1ivOUk6F#NPE!XbJ@Rm@hzp<+i1VZ40x67~i@2=rrbtgM*bqjDRE*tCk2 zkuknjD6k(bpY9k3CW=YHCFSV9aYvrx)Pbfx3jV-bB_?6%+* z>Moeqhd8g|A3Im(=vQL}h*7~Vg4c7{j>|0r(M5NQ1yexXTmgc*oA1i=MkYO%3l|S= z5eKa&C#*1a^Ge*vg|#Vev~ph}RyyGxz6!7K5R0h(F|>0sr>%2}is=*S8zWmG!CEmD zO%P(@@mz5r5MScZd_RMNnWGs~*C{W^;jiSTz5CE`B^}I;gTtbIAY5ZRWXJI?lH~3@ zI%09X6vtM$!^N-E9TinBehGgUBVj^YP+md!cj)Ep=uMz! zw5ntA*ste_4?#!y3O<3H0vnNc_D|<|BV(L{bG8iPghr~#Oo?cD4<4nx3-Db@h`}1G zzc@1HmK9}7o)@O`C~K?FN%hesPtIDo)CI&Q7F-Njp&6#EhoArwM@`1AEBW)uCt4G$ z?Ksjq7^vT$-!CJhN0PS4_0qLH79C5 zX-R%8(mZ@sj9co$g1jF1{DxF_3%)CHduqnkD~1Hq`vr`Wqck2Wj@DDJVwDAy>6 z1h((yv8Y$vq<|anGSm|HFT}?}>T6}Q=) zYSdUhxMPvQF}R7dD@S;OjZQA5eGDV&;*Y-Y_4D9_YLQ4ZX)ICEpcV!q)2w|UkFGeX z&g$z_W%r1o|I0H2{wPFTYYCTbzZEfE*-oUmwFF0riwjtStR2WYf~<2(xODq-yK(76 z%G7r<;M`@kTV?|)dvWRZ+p+72tdPXDcoY?~da@t?8H)c*A;YvPItL^I^e<1sW zzvu`qC4W%~mmZ{~RxDsKpG2w4+K;SDj`;n^x}=0l4^lF$u&;~Ifo15xR%Bgv1ecP( ztb|JsQe|0LD;H)ywX|ox%B(%@N?SUE{Xia$&Z36~(i=U4`&PsUpjb>n;T?4F3MoX|91s;sCwj+QM0lgx1_iH$8l zun#-L-jKlHO^S5kDb$trW@A-nc>zkZ)VnoVpB#(yJ&nEtpSnna41tJsD{~tg3jKLD zY%ng9ZG2#sQ3+4l6LdE8>Py0&TQG#mDLyqRX*)j^rG|28a^rjRXb70Utj5GBW3hD! z;JsJw)EcLHp?wn%l$C@z;vgAl0OO=tz~c==;tIwV+1XEUNyZoZ(HDT%F(RzhhcOM0 zK-*>u1AwkQ0FVOvpL?8h-^1?Z=$ zrQ6Bi7y`&Ac=a`n4jy#N<=!dJv2Bh%kPF16)(MA)hP1XG3fX-R=Q$O^1&a{@xEy$)8}7ImCRP`(!t+Y9 z2swXeSlzK$bqlW*s52U@l36r{vt|S%i&)hCvk>Sq(zG z$TYlV>(ppzszcsh-+}krPU5s-hkc9v>I5ag5KOCtyeBH9`fV_M;d|v*#VPuMd z!kid<^bNYUwg3|5i@oL+xx%!a898L-jY5Ta6UE7?5nye2aMZoG6$ScA6C-`h`}V2f zlE9gW%`Z17rY4K%&?u~EueZ{)3Eg5ve2EP5j`vPXVwREC{FB(rD2@jSmJSklYjDZyn*!IPqR9eI zKzY6W{e?*c<$Ihe%-dA4uyt4Aj^Zv4i;g&;4>VIM#$l{c>KOt(c_Y0fPWuK1JN0DY z$sN7p%u~1^xMijS$H;4GOx~i-d!F`BXa>j|_mI7a=Cya@V~{x%gzT#AH#0>KeOpXo zm~s$&Y=USQ+X0HRSY`)9>INc9L(CE6jyxOf-B$F*LDEXI(w-L_uSBWQv59RUdUzUG zhka7$9iS`=(_4!JV-rdlIGI@x;XOPs%-IbOqaptw1ZBwC+k2%Fm&I1e-gD@ZTPG?E zc-CV%U_~pQ*K0*Z)`#Z?^kw@+p+m4X!<0%8y|*(Hb&SoyJ3@lc#o*o>g=1i=R%xAhwy$IZ-np2#;9m2pPuXT> zf+H(TuCtf*l1n3(kf*PAw9m>SQO@#IG`ZExqN9;bBT@8@xkk4ZWP-d=>1511gvVi; znUMk>Y(zvfsn5c23Hwmfd>RHhgb5Eos885tn!^Pp*esF~c^3@|m?;$vj*2`5yTC@8 z6p?{@>RL92TPq_p0o^^(8*hsw-d`l64e);*zXa>SCgx1LVhgaP@XoFzps*;AN|21+ z;CNwdU;xtG8wl?BV+;c$V>>7k@L%jjrv?j?z2Hwt6(Hrs)F_mC2cavKTOE{5Mz*RW zDL&CI)2_6V{l zh%M1S24#GwRn3q??jAY@SPpv@2=-VPr+9=sQg3+A1$gjaXL!q%bO0|*jgJ>65j1_BcEa?+2FGov3%B4EXS{ctr2Mts z&P)+Mg3*LlYh;W_*kU{XEx_z~tL_#Cez5#He4*OHXK(R=j$N$@7m+mi%u_OAV4 z61>IBKAHq?^}J`2;B8(u5kA*zPK3|%Uiv~(J?)-%I0-)AJDdn#;QdV^e4&^0@x4V! zV9)m!SAj370$*AIho2KZqaXad{J|UmQeK01xNN=}75-8ge1*c-w&rmceqMvy8ZR6# z+vDdA_^(pL^!#ap!r5 zbYMTgeNumj;3Rk}$|b>9Re@g!xXjCvJZkhjCzf7cCI1^W|BWkb{;x|Z&+AdRx7@<7 zOxXv6Rq82LfsblEYtORv{0`Fm+~we_@{<0M!r!m(V`p3VCltO9*CagfImf&2Je&U! z&Ht3bUpmLaKceuzPc$$0k84qd&iU?)1H2SkEHx_0GD}RXY1dn?JiaL zT7`4pgP-#i{?huqq;J#w`6~6lu?qY;t>?zq*m`QUp3Ms1a?9Y~8v-y9b`P&`* zCJTSev!9h!>N&Rxd~Fr@YqkE4O}73~t-soQy}n94S5|?$`kQaH^*gz-p-TRns=&8Y zfp4n<-&F7{d{PHUB8>+wyfK!jZaM<=U ztNom;lK(pOuscbCH5 zj`Mj6e^}s}h+H1i{Kq!t1v;qDKB{o{^0vDaen{c@x7hqGDks0FaCbud5zYSULX$7dlkNa+QQG2r=Iswg}ZluY*P4V0B^>;d`R)T?zgG+VwZh#?C0?iF`liC0=h^&YnxA$K>D;|b#@SKdckOEY z!P_3{g4=6C0SUeNsi=K3>`7f8RtvrvdwomPAn3%tQ|Vb1f=KYm_SCI9O* z|Juv)lJ83S_PnbU?tX;(O^Sz&Rq7ek{O%PsT!-^B;p#ajFKK57-mUOs?H2x|JoUVX z9sG3`zFXmY74Cjv=LUs;MES_QHqGJxldhioZ9O+@{?7?q6OqeTs=&Xd^|)6G{7B1u zvr7ISXnq%t`sbSe|0>+Q{OpjzbC4%V^SGo6yt4}YI)OKMF1G7$wf@@_?q2URsPJKh zZ@D`!5I4V5RqB6G^SeOfX|3nC6#mk!ww}ET|1jX>$8tIOi7NF!qxJ0Tvh}nnz5SWO z_m5gQ{Wbi24e$=Ri+?pbe$40Pf#cJ^NB)-7eD6q^e0WLge@XK{t<`07$nP};{y>;v z@|h1f`Mp{D^IHl(L*efCzjr9S)8&6dULa#SuGc$wzlA@p`L9uUhw9Cu!Z!(A6Oqd{ zSIGwOh^1IUu4=H@hC3z|ToAT{>A6B?~1=8CT{!xXypYL9x z?S5Y2F7C?l`y%jZGwk^n%kckan%~oT=iy_1zCk#SLF{kIOWN5FAJO@8e%&?l)boC% z^|+|g`xNfg+xc=4n^OvJ7P!k4UYBZq_m;Hp>!ULj?#_A*DZEqR?j3e}6n=4)`WGsF zx}P<;U-Q2S`H7!${dJSp|I*UD&F#dRJaS!JWt`{3U_Z(X;(bFL*ee{-JQOBuflH}wCy^*`5}dS zJr?fjc}(H%aI?en#|5sPh+Lj>^{lb=IRD|76+Yf(;WufSuPWUA?yuwb=N0Z=uD}pBcdsvdLE%4FxI1b18HMK>EMITAAuo_0E8Z3;+`S~?Rhs`S zg}Waza{kOUfKxA&?~h#K>d|?Bht_kY!rh6N)e67a!AJ4}aekHF6y+F*wAsQnyI0Ws z?&Sn`>4Q52?sA3KyEXs*%ku*Kls#vbuM#X-a|a?gDmA`}rW$AG;4 zvBKcU*j5D0^_RvbCJVh&I}ydf_|{UfzjJMJ4sP%dBWPiwcNb#JN)w2Pnn1J`BF46D z+l3;L6r%1BtQO0voB1|I6g|VHEVhngp|j-?vXSuDNC2yrjfAk;sw6zsK8(eo25m8# zKmrXdB#bV#>ETHmz_ksh$t{F&T9H^$G!urBM&mM>FATj*h|P>gV`}_l*oF(JL<4#o zi^7~?*kz}SxpdK!E^M(pRWEkcgPWc<{a6UKm|y zqx$Tx!XR@H?T33}EE4qR0s>vgU^LuM?xXR0C~luu3;J`>dm(}=qW3gt&xYd#(RVh= zPU7b@RL+IMq0KM|P7;w=Hjr^NfGrxYrcr9_vW-8peF}rlqQPd!5(bw=L&{1MkwCIA zUd)Dhb5g>Pupkr+&@jTpwi*OB1j$&iS9y4si{#>5MWeUk=^!#I2&qEL@qi_b96^v0 z9>oHb%A%6+I1)P)2?GLV;?X~mke_&Cjp%|4y|Gw|2H)76 zLEMN_G)S58}2HV#p`}T%5n9yh7;{!A${_+g2@Wtg z86HN!v(Na~VpNU1)!3zwX+dB*-1lEUnwP zQ`|;$SnRY35fY1aN8Yk%f6HQ=-@YCF@irL0>EbM;>gd~T4 z5WCzv5^pdF^G9i*L_=H)g~4rO2pwiIVe0-d>;>5lJ2l^F8`>V=8W$YhEmw-Ks= z)FN0qVhv*^?MO6~)5Y-a=p8QMSVRT#K_WItH+D*6Y`j=T$Gv@h2;__xckJ$!omoI1 z+(4t}lx)8=hBWA>L{nm565b9dZaE;~aTzlWmgrdqQPi(B=tEqVP0Mp>XqcZ%}24j@v~5N``rDfUep{ ztQ1HGT`(ejY~qeMPUA;sY&DS>`rwd3xjY+UpF8_^jiNq#Ma%L;PgKSd1v~?@ z^|FB8jpNK+r^td%lAYJdB_W=Ti2~~^4(TFrs2^or%9gOJL0iJzqvGCe!+mIV40YkF zQyQ?9f&08pEK21VO=o{`>(n3#VGJFY``)cvCyLu$N(e}w5TCQ~S&TZkWQY4eJ|9cv z^(q%{iM<5hy1Wn4D{+UdqoDkkQ+cF3#0ASmei^{t*>82r1)z&?7cKu{DlgAo)bbsY z3ct$BUx`OQ{`t?xT>o8san`qGR%ub^*Ug4i$=&t%hSwzMzl%d=JQF`XS~1+pf+tsg zfjsrRjkq$aYv08yzgrvpXU*p><@mb|4}Ko$zl&?$$p-Op{z2D&*N(g1fjs{fDevN+ z_iOnMR)SA?|1H$>?!*mo>gscG(#N#?TFvO%FCYK?TK)>n7sOL@Qt@$dW-Q;1|MK$h z1B^J)=0g8fGl2MzKBFJ@HTroFiD>x_^?!9}`7LD#S1^3w_Vb~#^3LCXUyFS{?;g#l z7gx?f>DP+3@8Z25eZS2C_f_mu-v51g%JL5XL0tGATkKk;Lz}X5UHtg9 zAGEm+l{HwF^qwp$@8Zm}xsPXmaL%V$#|{knR- ziwDv2-r>B>y5C+7+e`56%DF4$L$tix$2_d%=LRM1jVtHCFXM(V*MH|<{+gDr)_+(2 zUvb0s*E)b+UHP6eIP>!3u0C$uy?tW8&sPWfk_}O4W!|PL<*)vkE%)5Y6PI6FrTp>^ z+pB+~fQ@|0`+AO+FCTxyy*B4|5_ja|%15sO??&>y`(c}7zbeq>c=loZyZLka1KW(j n+(n9e7i$3dUzG_E*RIP;G3Dmo!Fa9Xifd_in == -1 || cmd->fd_out == -1) return (1); pid = fork(); diff --git a/main.c b/main.c index 9b0ce18..f1bea15 100644 --- a/main.c +++ b/main.c @@ -69,8 +69,6 @@ static int ft_minishell(t_data *data, char *line) close(outfile); if (infile > 2) close(infile); - ft_lstclear(cmds, ft_cmddel); - free(cmds); free(line_clean); return (1); } From 5c9be2d56bfe28632eb96d3b95e676282928aab6 Mon Sep 17 00:00:00 2001 From: Camille Chauvet Date: Wed, 8 Mar 2023 18:18:47 +0100 Subject: [PATCH 2/3] fix: change default output from 0 to 1 --- outfile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/outfile.c b/outfile.c index 35938e8..5bf8c83 100644 --- a/outfile.c +++ b/outfile.c @@ -69,7 +69,7 @@ static int ft_get_outfile(t_data *data, const char *line) ft_eprintf("minishell: malloc failed\n"); return (-2); } - fd = 0; + fd = 1; i = 0; while (tab[i + 1] != NULL) { From a18c4cae82ab1065a14dc02ad3df1d02f79e1234 Mon Sep 17 00:00:00 2001 From: Camille Chauvet Date: Wed, 8 Mar 2023 18:19:10 +0100 Subject: [PATCH 3/3] fix: use the bash waitpid implementation --- cmd.c | 2 ++ cmds.c | 4 +--- execution.c | 26 +++++++++++++++----------- main.c | 4 ++-- minishell.h | 1 + 5 files changed, 21 insertions(+), 16 deletions(-) diff --git a/cmd.c b/cmd.c index 2decebf..1bdea0f 100644 --- a/cmd.c +++ b/cmd.c @@ -12,6 +12,7 @@ #include "libftx/libftx.h" #include "minishell.h" +#include void ft_cmddel(void *ptr) { @@ -51,5 +52,6 @@ int ft_cmd_filler(t_data *data, t_list *element, char **args) } content->args = args; content->executable = args[0]; + content->pid = -1; return (0); } diff --git a/cmds.c b/cmds.c index 21f4872..21ac594 100644 --- a/cmds.c +++ b/cmds.c @@ -66,9 +66,7 @@ static int ft_cmds_prep(t_list **cmds, const char *line, int infile, int outfile current = *cmds; cmd = current->content; cmd->fd_in = infile; - while (current->next != NULL) - current = current->next; - cmd = current->content; + cmd = ft_lstlast(*cmds)->content; cmd->fd_out = outfile; return (0); } diff --git a/execution.c b/execution.c index 343a2ea..1600952 100644 --- a/execution.c +++ b/execution.c @@ -12,6 +12,7 @@ #include "libftx/libftx.h" #include "minishell.h" +#include #include static char *ft_get_executable_path(t_data *data, char *executable_name) @@ -71,23 +72,21 @@ static char *ft_get_executable_path(t_data *data, char *executable_name) return (path); } -static int ft_executor(t_data *data, t_cmd *cmd) +static void ft_executor(t_data *data, t_cmd *cmd) { int pid; - int return_value; char **tab; - return_value = -1; if (cmd->fd_in == -1 || cmd->fd_out == -1) - return (1); + return ; pid = fork(); if (pid == -1) - return (1); + return ; if (pid == 0) { tab = env_to_strs(data->env); if (tab == NULL) - return (1); + return ; dup2(cmd->fd_out, 1); dup2(cmd->fd_in, 0); if (cmd->fd_out > 2) @@ -96,10 +95,7 @@ static int ft_executor(t_data *data, t_cmd *cmd) close(cmd->fd_in); execve(cmd->executable, cmd->args, tab); } - else - waitpid(pid, &return_value, 0); - data->exit_code = return_value; - return (return_value); + cmd->pid = pid; } static int ft_own_cmd(t_data *data, t_cmd *cmd) @@ -168,7 +164,7 @@ int ft_cmds_executor(t_data *data, t_list **cmds) content->executable = ft_get_executable_path(data, content->executable); if (content->executable != NULL) - exit_code = ft_executor(data, content); + ft_executor(data, content); } else if (exit_code == -2) return (1); @@ -180,5 +176,13 @@ int ft_cmds_executor(t_data *data, t_list **cmds) close(content->fd_out); current = current->next; } + current = *cmds; + while (current != NULL) + { + content = current->content; + if (content->pid != -1) + waitpid(content->pid, &(data->exit_code), 0); + current = current->next; + } return (0); } diff --git a/main.c b/main.c index f1bea15..fb6bac8 100644 --- a/main.c +++ b/main.c @@ -45,10 +45,10 @@ static int ft_minishell(t_data *data, char *line) int outfile; if (ft_syntatic_verif(data, line)) - return (1); + return (0); line_clean = ft_normalizer(line); if (line_clean == NULL) - return (1); + return (0); outfile = ft_outfile(data, line_clean); if (outfile == -2) { diff --git a/minishell.h b/minishell.h index 0b6ee63..111b044 100644 --- a/minishell.h +++ b/minishell.h @@ -91,6 +91,7 @@ typedef struct s_cmd { int fd_in; int fd_out; + int pid; char *executable; char **args; } t_cmd;