From e06c7602e0dade3bd0d2e88e88cacaab8de6f9ea Mon Sep 17 00:00:00 2001 From: "quentin.perret" Date: Fri, 17 Jun 2022 17:38:53 +0200 Subject: [PATCH] add timeFile + ignore last values --- Code-C/Makefile | 2 +- Code-C/average.c | 1 + Code-C/getArray.c | 2 +- Code-C/initialParameters.h | 4 +- Code-C/main | Bin 42008 -> 46784 bytes Code-C/main.c | 6 ++- Code-C/simulateFlux.c | 74 +++++++++++++++++++++---------------- 7 files changed, 54 insertions(+), 35 deletions(-) diff --git a/Code-C/Makefile b/Code-C/Makefile index 44a0a3d..d9cfeda 100644 --- a/Code-C/Makefile +++ b/Code-C/Makefile @@ -1,5 +1,5 @@ CC = gcc all: - $(CC) -g fileGestion.c getArray.c average.c growthRate.c power.c queue.c simulateFlux.c main.c -lm -lpthread -o main + $(CC) -g -Wall fileGestion.c getArray.c average.c growthRate.c power.c queue.c simulateFlux.c main.c -lm -lpthread -o main ./main < ../02400031.TXT \ No newline at end of file diff --git a/Code-C/average.c b/Code-C/average.c index 8fef657..317acd9 100644 --- a/Code-C/average.c +++ b/Code-C/average.c @@ -17,6 +17,7 @@ void averageCalculation(long **p, double averageArray[]){ averageArray[i] += p[i][j]; j++; } + //printf("%f , %f\n", averageArray[i] , averageArray[i] / nRowRawData); averageArray[i] /= nRowRawData; } } diff --git a/Code-C/getArray.c b/Code-C/getArray.c index f8c05ef..bdc7a79 100644 --- a/Code-C/getArray.c +++ b/Code-C/getArray.c @@ -53,7 +53,7 @@ void printArrayData(long** p, int N, int M) { for(i = 0 ; i < N ; i++){ printf("line n°%d : " , i); for(int j = 0 ; j < M ; j++){ - printf("%d , " , p[i][j]); + printf("%ld , " , p[i][j]); if(j==(M-1)) printf("\n"); } } diff --git a/Code-C/initialParameters.h b/Code-C/initialParameters.h index 5403af0..12d1e41 100644 --- a/Code-C/initialParameters.h +++ b/Code-C/initialParameters.h @@ -6,9 +6,11 @@ extern int nRowRawData; extern int nRowGR; extern int nCol; extern double freqEch; +extern int nbRowBinFile; +extern int nbRowIgnore; extern int cptFile; - +extern int cptValue; extern double period; extern double invTimeBandWidth; diff --git a/Code-C/main b/Code-C/main index d9efec68aa3e2c7f0b12ca0fa5ab95076d77fd20..e87cfdbeb8ec346c128f09a750fee30663244d1b 100755 GIT binary patch delta 14879 zcmai533wD$wyvs9bt=82JNrV&!j=Fb0c1&#U;+dhhCql!00JcAR*MuryH((e)rQSEP^*^pq&|_wjv>K zTiBacnFQZ1D7#CJjL=m(bk&Z9tl*(o)+)Qw>L&{AV7iae!?lkMR*DV#o=|MBGClf^ z@uzH-`5lEP4$u1gcMmRJx$fd1rP-_0ni496u_lOg7BoUikjg8X_nK!ZZaob{+!-nK z+Jo=|IxYpdGx(0h!j48GR5ba$GXOVSkie_sZZe4Fs^WGjz#ugM?+(Dz0`Po2Ar)A^ z0K7Z^?;n82mkWlHlqJdS7o`RW6hA6S83DLHom@IR0Oz%%+vEh`l$3Ghmx~q!rcR3s z@m=MjNdjXU2q`Y7yBN+e(d75Ca>0k@Ua%9IpT2iwN5oS_ceQf<9pX*IAL9HQ#8U-#9pHQm@op;Ju6ho;;B-*@;Sekc|8Pgg7FrxQpH;s zakH>4R#2sN)pKAZDbOy}Rm1rq#8bs}t>=6{;;GWQ$~m7%JXKg%G3O(Rr^4#W=e&h@ zDyXjEoL6Q_(z1H+{2KA?wAvNN7rAQBx^|qqR6J)!ojN}Sje}W@dZg+Kz%cJgxoJuIn*Xc;9A6fTaFV%_L>X0octq{+Ib z=IdO>9U6)?c}JipZOSfn?Z}$~Ey-2;Rkh9K$(sn=I}C&GU4h$C^?{k}y~wPTVdOQ> z1me95J#*C-UP2UKCWn8@WC>B5qQQ7Sy#`_3=q*C9B$GWBl_zJi&ZsH!P?jD&S{~ZG zFnWS44`EF)cjBHLd$T;4ZH=9X`>U}RQ>RIiN4*jE+D~eadEX~*wT0atyNd)d`YP>+n+G7FU^ogy=kf>)fM|(p2EYf+N0>>9fQz~E37@CPfqv0Nh8^>alo~sRdabT zR-~9miZA{Mm6#urP!ZMC1ckaY&@pIE8*rZ71^mbJ%+D-~1Np~Q40X9_!=xHbQk zLOo(pCv4hXwI7ht{BG*%nR=IJVfWi_mSQ?wwcEU|+D)CcrDtl3I*t`y<4eEM==-X~ z!tUz}&)m_l0}@Z+wd)Hz9Qzhv&g$zIvfKLH8TnLy)Se@wZJEolw$&SQ#plByWw7!j zGus|-v;Q)Q51nJ*YSJ)_m!%}(^~KeYL>m}=LKZQatQ6s(C6@ZCb2 zE$ZoBSYycVBPWAdTJq$?D`>W$97&oZq9(wcZB+eD$A5yt-H;DJH?-6Fl zwhj^E0n!>LwB8q5r%0=Uv^<4gPwBZ@r>F3otMN6Nv@lP%eb3aCCHWC#i6W!$qlM)- zvV8jz_kT(FKM$w{l}lO2t%NJ&p@A@NN@`~lwx@=kzwZ@I*}Qu-zACvk-k z-z~)VlXwstkeZgbl%!QcS|+3mNqXTTTb!DfIhYc`(&-t`bTZf~46MSyMh1^uWY47D zkoY;;Eq4j=3t~I^D~NZ>MYgKn05&)+&7SfdAC_(!hbT5TZRqN`Wb}YA>LZL&$>=#l z)03}}_UqsFST>_wub23a3#q)!cWm>D5sM{r`lIt z*acjkn2R|y=7p`U+T$%$@~_dujZ&N9g?v}5V<)}(c+@{b&tv}+?t|NE-|(nEqm}!H zWB*i0QS1v6h~$-lcrTD8o)?GVN%H>8hv^MuMGuh432yFQ$aat>2@o$7ZGpaHSnP69 zj&-AB$a(ECA)Q4wNVtWL0TBK>o(sLpzw!BYwQh2wPf0l>DLmls6IVryTcP7dr#AI- zdDJ-4sy)JY9I@K#^4@|o?{-8upTh^G&K1dH(V0l!w>!V)@ejD_N?ToZ(>0L?9uT!3 zdf$TVFzYG(U#l5 z)gJi`M}FZO5V{&`@7Yxjm#(^diEs$@tGMKLS6xvJGITBZ$aUl_fOkAnt%5n3h!Yj6 zVK<2PBO0&T!cN$s`?-Y|HZAwK$*pJdu9~`fABGE6=6d5uw^oZPG3I8vmd_CIqXx_2yn&#NA zpa4ATvC)!*DXmpsL&KxKqO*}|Gg^mfy`2x`1#_OI42f}{!r=mA)eV>3=u)u=<^2Oi z!Gb!!-4nBnJMxaA)wgM_v3L%h^ZAacQy`!lCgC^M4g$ zWKf7k!TUq-2;2BxDz=@gXL}-Cr6Y+R;j`-~g8SX;^iC``I`OJ;ZlO6sy8VAE!k&xV zEAJH#`7g0C^PO&8K*)7^$Vbtsxrnv1b%j})Zf$aRSsN!^yp%-;mA0?*!OEFFa z?bo4pK<5YH+0+S_9r}alf_M;7c^J^V?^wyO?e1+OP=~bYFWs>hMu8fy@e@KXKSQ~n zLW*|}wrm>RZ+f!2TZc{x2$7C?w{`Z+-ZrWmY$dyvW9eZyD@I6cQdWlhyWz%OTkY_u zZQ%IIc%2$zxrS~(aa0XQs`6!r)BY?3plU4QU3M%wa@i4~S|IeOJ0V%-xcK&E$B;JC zxWYB(@wOLlsfPAB;NmfG^;@4CC9b{<1P=^60jcVa;|UOnB}6sPds+S8NWBijQ-{uT z@kpGl{o+!HUngDf&FJs4EJw;t;-vb5xijkWp2MqG!A;X@KPf1kR(rKzPC@OpQdixu z1AuRwG5Fu1t{oRN@0*{q)!Fwpuea5kdfjSFcMmU+t60JC*ygg~O>$htP^o(5n#w6F zt17dW+G4^R;qvB z=j%Yb{6jpAP_FAip8#Ll?(@ZiA9dX4%K`lvvps6VMczmU~7c>Xdf;CtMS`WGfbT?K~BWMlI#D~Ms=tM)(*xBm_DXs4_%cv~n z(7SBhs6mNkm=ik67#DrOXl-H<;Ad0wD=3m4PSrc3cySnomMN#yT$U^-|bl~h1Eke8li zV{((t3(%ClWLtBSmC`TS{M5kVK;RrqE6tb^A^ei`eI-mmCtU&u-( zxaIQZk0xZxGJZQ!Vp)8CS9*mIQw`pSCZ*-S^4H}*{jy!cvshxO1y9Q*?E5>T=sR-) z6}cjL@oiSb8KZ{@3DWq{W@wC~-r?F{Xe0_Be+oA=p2k}>UCk;br-zskZHN~Q5aJSc z=O1_yx`TsoERr}x9&we1kb~wE6K8})FwECXbm|vWZ{;WKWO>)6g2c}2L@0p(UIjOEObKy<1x^$tkut&K-7#%_V6n3opvaSV&Eq z*$BqB2RM@cyVl8Mq#7P_9TEsCAr4GCS^N=dfc=c1)FRE1yD6Ftpkkgk&Ca9z5B zFgsReh%^b2H2G2Rwtt~XUG&d^!ags`G(QAb31`lkbKG@kn$P1V_c2%N1;RHHn9EK1 zunk3ieG;fe`E9Jc6>R?*oGlKW2__pyU&v;J7J(Tn7?-wNcXkLuy28+vB)gDSX?N>V z_dP-?g`qEfbuslt)uteXs_o=$+H5TcDa#o1%X&TWEfKif^awPqf92AC)K(f?*1;GG zIp#VK6qJU1TPsOpZGVE))KF}OW9or@DxQ)23>h`m%GgYQhE*XE%>aVrz<%BN926;e;!tq1Zk>i8U1`DK{mt zmg0c}La7+LIK-5k|Er zX-+tmomN@}nzoH35q27Crxf-UaVO2z0i=j?pCA}M2O?WC$na#cn3gi@>!kdNjo9f* z!wM;ECjoDnALuX4Hu|k;lr3EStpvk*4k`bgTXSQXoWEdhXIUk&^6RXyB(wiYsGNpr zn5nHm__A`V7Y!@x{p_BS0eNG{)j^Fs*Yp#L#s1hMF)t$a!BjoAog7aD9%edJz^;~L z=1wIKjpl6KdbZzskKej6QCP3w){WfyKmnV7V_)}FN_{tv-dJR_Uo}P|TLVMzcLAm7onD{L`M3x?6m56|q(X@nO+(21uNuW7a8Wva_ z%r>X*Z0f0qRHH|dobUWs*HbF9 z&^ceuNf%>2$Kv3|d7EK`ZH)UDy&kUnkNlXmm!>StCcR9vLl0sEmzyg6K{AbQix`=D zjHLliQw_VQvy?_3K9o-`#+CPEsT7`1`){{TF+PgFg%=_h6_K57xQ zQ=p?IM(;%1q^YrR5lV+AXP8ARL}_YIV&uYXwwEE7wAI8oV~$Z9>Y=P{Ubs60>K2Rj z7nn*Kje^C>8Ce@cjEysj_6sp~&X^?S8REiCGZ4bQ04Z3UHtM^*i0}yBR%q|F%5g2w zF>CZ(vC!UYZ$uKd5c_ceCRzD~mClcK+xx)I7AAarLv4#_)BBpu&f8Y9pr?XEvVTHw zgxx{@G7#Pt<#-lS=U(9QfzYW)<%^-X;rdVzEaAtY9Wf5t@_|&+Kq*G@C+cHv>j}=U zh%6@Y<5rpwrJ+1(fPTVSt2+_$XQPC?3=!8;#1&@BEhj^0@gp;ua?^e2Y6N$=B8f~) z4TrZ!UIi$xw2;iyaL65bw~Ci)d6nfqIZ*G8TuKV7?Jsfu()P#?DMVHHQO>t-kNk<` zYwUYz02|)h9@U`7rJoAuid;pV*r+F29=U+*w@1+YU;~VLaxmADEHvS`qE||8*&Qpy zRZ;D_m_D1+6{(W9J$*!%`SZg{XEjRKmWxJ$#Cb}W^AVEuYq+L#IUg!nEy(PX9zMoO z8O>EGbAzgtJM=5!n6?Pec|3V&d z@mC*ExoIBTupoNKTck3H2QAW7%1IBG+;kMeh(vT*o)mMGJ-490vN)ZcTreQ_b)+rl zaVuH3njwr}l^Y7HSIKW4U-}qc;Uur$Q8r>>wBkr-Qx_(?-ytW1L#fC<7$~f-(}!1X zdKykd9S+gU&=t9d42J4#e&i1nB9pTyA$Q~<5|6NuWk|ylZgb?VXvrgWg#&IeBd-HY zpcxtzf;uxx&RfaM%F{5mw)OrrTpF`1N|u+h!Hbe3%@i=k;?k(Z^39Qwnax`?WC*R_ z5UB-z^_}tuG-;>oc@q)6dy@TSQHgy2-HYQV(C(l(ZS*JzrQJb^;B7hsqACXlkfvTM5@3&E%Rk5H(ETw1KD=(WVVV zwTm{rA*kU(|18o{9lRa(864aUzZNN!HWoF)UJNdjHWoF?(L%>*>v7z0fX1V~0xewD zbGXSiHO!bnc@v3nve+Sq#8&nA(21^a0KzK%L$5x z*%n=iCmn@yw@pNhP{~dmkYmjzKw+i~UCT;uB62)j)fmVDLK1)sH;_!SOa!viKynC4 zLbN@E@cvIGs4t*;T`9Z+!y~WZhn?8rP{Vam5UdOtL+$vCYlMqazzjzerb}Lvv>!@% zdvV4S`+LXlIa}^bCw808mPHKIU5*j)u|%-q*BNh(_;b4&ay~V*66UE{A};^NfTrBk zMB({XKXo8!(5i91NER+z3wWHYoqX$`W?jx%m-7vh{w|y>@k;1?pV%3kb>sbmqR-^- z2};A#h@@;7;i8eDEAnbqvSA?I~=GxG~UkSCKpzX=y+yYFNebd9Kt@!?=LEg20n%R zGnR3WKk_vg;*?&_QhPf~Gn}zsDr4E3OWe)HODv}A?w^<-N1--V95u#Sueat}r$s6F z0HIms2sskH2pbh7v9Jxx<8sN!3Zw8qBO7#k0d`rQ7DcMzY0|W)Z1{D+I+}G>s%$`I zb#vbG|1c$Tkrju8QPR|?KzHG6&5FKkRNI;mgznNeNLFvfDQ#g;?s<@$AyNoKO`@#Uzbm>sLp!N$a!ZF>K@d?JhOIO226BFKS=yIW_ie)n2U* znx_s}rbe}?Lw2Z{^=ig=wO_S5WO+|JbGe$)0&uySew#YDUL81I&3#xcC{riZtL_^( zGb>A-SEiP>sIwkcQ>xXBm(?UKOO3(5%xpD5Tdu|}Q^(I!6YA9)l%Y{XuUCe|5S^g& zF-k_XI*>-jw6;aHi?MNM*TnX)eG0u!#-a7RBPX+1Z3`3Fh^c8&|Gd%0}E5 z9l8`h$;?=}oNd}REdJI_YbLF$D%iNO;&y5I#&w&kSCmv#p%;RLSPl49(=yY0KBH+gK?rgT~BFYi_CBD6LykU0FR!s__5( z!>#LU=4!@IMeOUEZ<|lviP31(15eO# z;{`Ze*U#2*<3-!R3w6A_Kq$HmNBpsj0PA&ufp5?aYINML2e?be>x1xzbo@XN-mK$? zbX@PSReD<&v=y+#yA~-2r?ahhWgGvAK@TQHC%Qxh!G_c>c2x)^Jf!$V zAD>A%`1NiTaQfdG{KNuHLw|#=KZYHz%}z8vN{-ZH)9;v0#2Qt>68B~$27l)|!JWoS zwhDI3-fXv?3Ldfix~jWw?tP)AvyPM()3u z)8mW?e&latBRnZeRvIhuOi}JgWe<9?<^_LDeo+rx)mQksLGS&WIv)ISt{r#;MnxPy z>BujxGi-KkT*6PfRq$6D3o?n5ljuH;KIG821~2OIz-gA&>qDt0A{7CrAq##nD`U^^ zi%X!dKO}vizsSS*fVzQVCG66rms5q*_*ix?i>QlpAEbzM>d+$!9Z7ngaAabfr;U1f zQ}-79OUVhYk21~|9*i+L%kg+g)BPLxcfybRS04g@(F1s*g`+ikM)XchoecghC0WNG z!s?=HsvuI9jyv_$B=%?g3eIs|Nn&gFTN38#s=?>vwX9-)oO~zlsm`F`8O<8@$GPu; zAr(SuQ0E@yc!FfS3mAjl=8BoH0?ZjM=%W>j$66%{Z0PB#3Va*tcft18HXw^>HKUV;hMhQU$zPmk!hM z;NJ%(kX6ELT^jt(y^N&tW`6f@&4+c(pVNioJl+4ZBprPOQYz(~ph2Nm6)I)p_08zy zC%{wj%V1Q+CA28-;IFr|OA;RZQ6fRdgMT#`qT|2QYq3PnZxoXo;#B%t(2wGcSfcA0 zzsW4s^{RnWrsYA?cNeQ@h?DPYzP;g_5Np68i7md*>!`S`a%08v$|;-HE~#F*ZY`T~ ze_2-o=RNSUs%%JMKRujfF?QMN5p3imW1abWYC5fF zw?C2{VH}zax{v)0sBvU6=pOdtBg4b=b=OwJMjjYzaP38GV-MF+#9jcWABZ|;vCH7f z^}xk!$qcmzZd*RUuVWVaXSvosziek3M1}HbrW+NY)VEKnW z4Y_G->tkcWqN|18d+cwIjScI(LvSy$AHm)05nMjYeSEB?g9$Fj$+kW|Cd_$IuzzNM QgYd7<2yUv(TK<^)ztxY4{{R30 delta 13908 zcma)D3tUxIy5D;r_IYs5;he+a{RTx*5zxd}qM(vTLj#Q>Q-c(IKL>m?)ltzBkpfp! zW>}cc&72-4)is+Mt#0C6E2_B;H8qiA1^Gg&xlCEy|F_oOhYd5o`Q7#Vxxe-Ozvo)( zTWdc!p17p!X;JFal#(YJhW^$6e4@mgP9?YCWso51W(mGOEesa8PK|bEh+1-lyk%xz zy2vE>RzcZ=a;QgBZPQfSX0pTbg5=VXLbE^JMya7~V?&fe-L^Lj+o{Y5yJ<)81$kK4 zhClE4=v>?4Z=dWeOgq!uq12e7i-fUN5a}GKM~aq8i<)gP`9+inqdG!qul<=1utuDc*XhlcyfAcCukOP9eQ$$)no@MHs?t0klYOEKW327G`4 zk17-lC5d_U2SiB*ff7I^Db0XuOUb2K2AtQ8W;51+Q&M`%HQ+R8(GcHf5a`Q5!a@UX z)6|KS7;vp7xwO=P+YS0l47kI9uOXbqPgCJE2sRoFLJat31MV{5I}EtnfY%#vj{)Cf z!2Mo>pvfQzGvJ2|c(?&SV!$H}_%Q<>Wx!7u@MwXH^=~lM6E*~>lI`_{TUF?X3y})A8wb2`Y|3+|C}3t#_*TjFqJ74tZRD_r0|&IVw_x>8)egi&5#p84!)j zzwX-QVP8dMII2a;Ew$>!F)T5qCO6EGed3xjvf7Q4#FDs1RkrX!d-}U?qDr zI~#M)fY-9M05jWR)9R~vpNwwrrcr%X@2j2PeVUDn+u~k{8m(}pwN&_At4?&B`kr~> zquKkh9u^YkF{vj8FPvUd~>O{pBk=EskAoc@td4Tdyw6niRuSJc59`VHnU*ccs? z|IXfzjoapEr|J(rXcT}0wCAubl;xg_pn-y|h3 z9!$~|LK-WiNhE!-3mMercl&B{t*75E#+LF`UregG@1n1!s{IdijC5Qi6;yQZynYMI z@8j&la6SO(xVww3PM#FApTrLeag`9?Lti<}p6bHQx3;eh;1M=CL0KwJ2|NvUdj0QCfzu=(Iup zBQ$L_ZDK=y-E1f|TPNh(Pq?-%#}j~WU#ky&B}+hJhE#5=$QHjc?tteFa8d zTYSByRX!oNR-aIOdt9$hRUuf(dWM7tqqB-`X4_Y@grN~}t*$puoNTw&octFitZ-0wO71^=l3hgq=E><*Y!W5%lQyKZ$oL^tSK zwQ4Z#jwj?Abp<-dXfiLTe2xPrQz zJ|txOL5z#szDbGGP*%|m1V92YL%!k+GCkE%LDs1Lqpnv~&mh(?JZgSVYX1-!{X#q< z_^v)7CeeAP&D_i9dm~(>+pQL%F_j|tcj^)Df&owCHT|Bf@rnN`!Zy0W7)SNm#omw^ zhLFp(koz&H2*lcUqUwC_ROXgpE^)xAL0THM>h6I!SKs{uy>N7_qRotDsa5Yapd|ur zKb8MI&1q*Hs!mV-XS&nVjZaH{;diViBX!}c{Ek%I4!BJ_H#@~4*?}rZRK?2tR!kc~ z@fx(7ZVQ8O9(p9T6aJ=w$Qb%k?%l#j}t9}Ar zzUFc}H=zTnzJzzQYpw++uem(x{{X91Z^5;~b>;Lm*U%Qy_ygCxgZHZq+AjhZ8}{eR zJ$}rm`T!7|sCXEs?f4;%$b_GIdIBXq=}Tl@SB!ySyj(mHPl5q)62yO?rRo@TuBS)5 zBIMm(P?zIRkfglZrq`U!E1q8SL*A`MU7XFS$eI~3N=ZXEHO-MM+; zi;~ilq_Xwp>&h0FPc5q~%UJlU^-}X~xlhV+Dzi@>WlmibENvLZ?wXwKrw?A42zlc3 zo}O0p>%Zvf=>}~AZ35li-qYh&BxwXWKx>fh~~Dm?@s61OY*ZZ{qE&;_~!#gl~9zX+NO zIvf>H3VIoIGw2o1b`b+R_&m_!`28gOVVGlBhx{LVqX`4?gU){+6KA{G#rQ4bD(eG)I0;)fcJ%1fi9g4V=O?60#Uk5L1c87ivrHb- z0UZRM`8W1sen!f4to3$40X1bak2?_1_fUJ`JezS-%m~t;RO3(g=Zu3S64_{)JeKF=e=$^gALZ-)5xL%P%=^2=9jzJL(>!d6VQDeJHHBWKvh{27}q>f{WtP^A)kU1Gpz6m6y{AxXoylg;^2>$IAI-{?<(Vu`iC|HMor%0|#BO~QYLslC z<*v?UX+^)2i<##UFDq1n*o7i@@HoxoM46m~(vhG@bMe|ILT-p8s1Q#NB60IyW*68zkD~}@A-D6|7wBR(cHSJB zv0d}ZzhySm<@g*r!AuSHe(M@ZPH;qW?wH?pJ4q8+#Qd@D zWz=<;b+>l5V18uOd=3uvKwoJn4C&Hh{>19$$4~f7Bqv#yNpgtuc5q6=62ewNJxH1Y zTdTYuyyF16l(S*JzMh|M{$Id~gGDX4)z8p1AHhWqH}e-tn7u~6(B#G+akX6L(iG|| z4L-{d)U_ObLoH`>t#6Yw!eK@fQ$wLyQmwRrs&yLVHo8QE4W5gRsiDLy+21F9yIIS~ zFKvf}n%rnP&qb*sP>F?mwvQusm;*6zTn|AnNOEHLX@ma- z?r88Ew0c}i8xn07idvDav}qJ}^SoTXhGT7JSjs8pXX99H>E_!KiF2BDTYkHMf!s(7 z=}d^=NtIZ_xLTT9cBturnnbfO0k1JrlB<>HEN65 z;j+8^J0Vr%NIG_dtov}a)B=f;L#!Wxu^s>;yKJ=nk~J8XvfExxed`92c$~CEZprp0 zaep%V29P2SLP0PT7a|9zkl~*a#B!F{UnAwS4r0rws%-ZY@Q(RxiZJ6xFuHPM0ayn>s5g>DGW>?Z{f)%hiewHZX~{Ur@nqmO(~%LZabdbGk38%#uSjMeE)0+5 zsqcvq+Do`LJxkh5O(U4RDBhn(6Y~I%_diJ@9<2m5xluxGiFgmh8RH2L_1Zu@l`By# zJ9-B~3G9dx2Bnhw1L8OG5X+OeXNlj0Da4${g%o2PWw9|@Z1Q=*HqK^jfCl!2XI1$I zN#3OUH;iGkmVx9BC5z?Oa#&=tu0;`I+{+V<<35H+Hq)9BEV(>>_8dy8RHcYNB;tZL zUJ#61fl!RQR2#RLIpLu+5cLu{Ddr=4Es@oiho|%DE{->b6{}vT8`*wGM$^o*64{64 z;Wu)FX|b9?Ft3SeL$tZ$LlyS90sC1r)UoEe1eRP8p2zLSY5_}vpC;#H2aAckRZQgA z95InT?oNy$OLG?*$~IIa+J=zNbaO!hd#WPb&wZxrgAhK`HJ^(NPLlMTyq{6nSUwT@ zCSMeoO|gD)eb!G@tfV`TdhoO!Bq_N2TIGcOFm>!ipAL=Qdzf%o$BGtb-!KPK)1b)d zz)Xrd6BVu4;KDQ{>^?whkh*kLrKEgKT0DM&BCcT|oT~>c@m_L*HaoBjCa^ z0+8DlY|Tf>Sr1@xZ4SrlkW1EbV%*`Us1J1uTfHpA9}e~4VEZpHm8@~Z*f}Fx2N2`n zjAA`YjFU4aNqL;O5K{p{I8%{ku-idncaA6A!}|)It#&!`ICRX`6SxM`+3MVlBpgA` z4*{5DFn}wpNr$j#MIDof9Mr}@{(YZDGj-ybQ_eH1{Z;t8k+o}3y5Fl zEaUuUe`qrWSRS&L{z`0WXum)7ds0~8+=+;$hR^Qz9?`iO8jjbhGc~{>*@F>!i>_di!c_`* zyGky{YRTlFPfc$82#O-55}Ov(J7q8%u`*%aWU{-(b`Ac&9VGN;2?9HM{SI5T8V74p zcsv4PJ*3D(WHE(D+NoKT1}xS>=!wB7s7*GeGvXZzHpD^|Wl!Zg zeu=-#pf5Mxh5{2sH&iP+U+7k{7^bngq5n;}q;uBPaLgZin8YK3$ug+nkl!471A6jE zO`*vz7Hk>7Xj;Iah9mfqk9#Fq*?Aga`U%C~yLcMkS(tfs!ieGI$)zpJtzl*B)=6?$ zZ)Axw2@n1bTBe3vbLfvMD_%Wx*l6sdAgKT@dy*gaJ zon2oY<)>3XaXaYnx6mn|cz9n43Zmy<#Tv8-5;L6%L2~4~=&RNqN>zowcKBA!qMwIkREy~UH{n)SGtB%Jdg4|coUuGj0w?d=$mtju1xpq> zT2z-a9h`-Z7S-cA4ypY^T=2k*`*RU`X!i5C$PU$Jvg$||AxO*T`K?)wq)9S+}{b)<=q2q0-X z5=NF$@Vx_wh@V7IG@yD-$+ZVFAur{R8aHRa1sZ=71(h5B0~77u$2CI4UAw^jF=yi* zf&z{(PaCltT)*aQsplJFH)(81=v>X^Xc1qMyx1|zwf80L7*{UoPqCE4yeu6TH2$Ux ziX#*&=H`d?lvL87E#avmi>VG;7o2b&eu(GW7jxF<*-FxBA!MmElz6C6WgoGA+RYSw z27g*t8Wx4l9}XilJ~g1;O_F@4_Lx_S#kWqQim_7lxQ>&fY@X*|h5S^g~W+{oW=EZ7T+9P`HX4zdJB7TW9WcUk||`o{YLvZ`*g1oh1!$l>0a53 zZIUca_htgIvwa&P@j~dZ%N{ut;qfA9vi91r+iKzpOO*wsz(;q41#<%t2!!4KXl`$wx*>tNMlJ+Imt zRHu^WRUOt!)qAt*2IRRzNeQz)uSQ#6R6|dzwn{bS4mGJlb+xF2s@1f5b>IXwp;8^R zxVN9SSRHsA;9_;adNs9PO`f1;KdI)FsFUi|8+rfc47IpKEjq5={G=K?xl$eYx*BE8 zP(An;o~3##)UkJ{;q~emWq3HzWIhY)lwq=J6SLqjg+BSU>fWHr#Ls0jY9`4l+gbC7 zU9TonjLZslCbJnkuc$85GHXV2UhOfHnzwFU*(P@Nq1donm#ix}!;o@Vl6f8;ppq?+tuRGfGWT7(SwLL_arlgK$azk#S#x2uc6NZeKhSUp$S7 z?k7s>{+D>Pr2ha{XtJ9g{Yn4HG0t_~rr;{`6xrOzGVy_L=VQp8!u7Yj5KTW*!}YgE9naVBQZ24ucXX#FSfdGae65CW)^Mj5 z;6V+q?}zWx@TPuvvxXnhaF6g~m*`Umji6-&8~^wMrC>bU`*^1Qb8Ib`6hExOJN);g-85pSqpU8~q|6Pr~ zK)Mkty@-u(%!pZ$EQ~cD(#PCsl;kL4TN^X|8jOcC-hR+r_y5dff&!(epCbA_DO|(* zzc($U@hdK=|JF|B`dTm$mbK6A>3`#_U`6{9mE}on-M*U?eDgTIFC(x22h~@!z|Z32 zJGDvL%)hPS{l7D{vb9e{Mqk#X1^A0AwLC$jUq~vu5jWC50Bc3_*MIY70jJf_pB=S; z61@b{)bxLuDbVn*LPd}-v{-j&c>m9U^wJJhcKbe0{3cB&Gf5at&}?gfC*eD~*S`ln z58Z_Ib=5R}OE|LBpF{PU`A?3cWV3`KCW5zjIUXfh`xOFz<-@4@f44dZeT+6#x`No$ zW@z)!&8|Kb8BMQ|G#P+WxQqq~kjqv2`&X5vNQZum*p@WAcj zby_J5z8MpC(iUsrHVzoyy$bHKwSji)y+s=q94Fj{cw1>n3w z%UU%1I&H6=)KutAgNCcUSqEOMuWESzFVYI;l}{&*VrsJmksNHxfk-t8(iGYeBW~36 z`hOcN08VvKs$~k6x4YPv2O{NF&Hp&?O%S_y=o|L8XNQGpzqaV}48$CV_pp}^M>n56 zY?0YJ=9r_;HL1$}c=q&58NvDicQBKE`qCJ;w!8FQR?3o(W_tAJ6`gKlWkB_(6`d|& z`;TVX#3Kp*XB7MN=op=A&0#Uk0j@2F%>{Rh7)IM9wijHXHmY3qY4aGj#&zckbQDW| zIm@PvKRu7leR-k+vKM4d9{cp=iNPOF7MkBCvXoaw+upcau+OowSH{?uYNd5E+Yj#L pO+qHIFJBoGd~A#0+FUH<)zP;42EqDS*{fr0uDybr#`eFM_