From d51823ba7853fb6f6cea753e11e70a3efb6fe700 Mon Sep 17 00:00:00 2001 From: Joachim Bach <joachim.bach@etu.hesge.ch> Date: Tue, 24 Jan 2023 15:55:59 +0100 Subject: [PATCH] finished exa --- exo1/exo1.c | 202 ++++++++++++++++++++++++++++++++++++++++++++++++++++ exo3/exo3 | Bin 27936 -> 0 bytes 2 files changed, 202 insertions(+) delete mode 100755 exo3/exo3 diff --git a/exo1/exo1.c b/exo1/exo1.c index fd212ce..10f2f2b 100644 --- a/exo1/exo1.c +++ b/exo1/exo1.c @@ -5,9 +5,211 @@ #include <stdlib.h> #include <stdbool.h> #include <time.h> +#include <malloc.h> + +typedef struct _element +{ + int data; + struct _element *next; +}element; + +typedef struct _list +{ + element *head; + element *pos; +}list; + + +void list_destroy(list *list) +{ + list->pos = list->head; + while(list->pos->next != NULL) + { + element *tmp = list->pos; + list->pos = list->pos->next; + free(tmp); + } + + free(list->pos); +} + +int array_pop(element *array) +{ + element *tmp = array; + array = array->next; + int value = tmp->data; + + return value; +} + +void print_list(list *list) +{ + list->pos = list->head; + while (list->pos->next != NULL) + { + printf("%i ", list->pos->data); + list->pos = list->pos->next; + } + + printf("%i ", list->pos->data); +} + +int read_list(list *list) +{ + list->pos = list->head; + if (list->pos->next != NULL) + { + list->pos = list->pos->next; + } + + return list->pos->data; +} + int main() { + printf("Entrez la liste \n"); + + int list_length1; + scanf("%i", &list_length1); + + list list1; + + for(int i = 0; i < list_length1; i++) + { + element *elem = malloc(sizeof(*elem)); + if(list1.head != NULL) + { + elem->next = list1.head; + + } + else + { + elem->next = NULL; + } + + + int value; + scanf("%i", &value); + + elem->data = value; + list1.head = elem; + } + + printf("Entrez la liste \n"); + + int list_length2; + scanf("%i", &list_length2); + + list list2; + + for(int i = 0; i < list_length2; i++) + { + element *elem = malloc(sizeof(*elem)); + if(list2.head != NULL) + { + elem->next = list2.head; + + } + else + { + elem->next = NULL; + } + + + int value; + scanf("%i", &value); + + elem->data = value; + list2.head = elem; + } + + int values[list_length1+list_length2]; + + for (int i = 0; i < list_length1; i++) + { + values[i] = read_list(&list1); + } + + for (int i = list_length1; i < list_length2 + list_length1; i++) + { + values[i] = read_list(&list2); + } + + + printf("intersection : \n"); + for(int i = 0; i< list_length1 + list_length2; i++) + { + printf("%i", values[i]); + } + + printf("\n"); + + + // list sorted_list_intersection; + + // list1.pos = list1.head; + // for(int i = 0; i < list_length1; i++) + // { + // int value = list1.pos->data; + + // if(list1.pos->next != NULL) + // { + // list1.pos = list1.pos->next; + // } + + + // element *elem = malloc(sizeof(*elem)); + // if(sorted_list_intersection.head != NULL) + // { + // sorted_list_intersection.pos = sorted_list_intersection.head; + + // while(sorted_list_intersection.pos->next != NULL && value > sorted_list_intersection.pos->data) + // { + // sorted_list_intersection.pos = sorted_list_intersection.pos->next; + // } + + // if(sorted_list_intersection.pos->next != NULL) + // { + // element *tmp = sorted_list_intersection.pos->next; + // sorted_list_intersection.pos->next = elem; + // elem->next = tmp; + // } + // else + // { + // sorted_list_intersection.pos->next = elem; + // } + + // } + // else + // { + // elem->next = NULL; + // sorted_list_intersection.head = elem; + // } + + // elem->data = value; + + // } + + print_list(&list1); + + print_list(&list2); + + // print_list(&sorted_list_intersection); + + list_destroy(&list1); + list_destroy(&list2); + // list_destroy(&sorted_list_intersection); + // for(int i = 0; i < array_length1; i++) + // { + // printf("%i", array_pop(array1)); + // } + + // printf("%i", array_length1); + + // free_array(array1); } + + diff --git a/exo3/exo3 b/exo3/exo3 deleted file mode 100755 index 0d88bfeeaf312d91642873bfed9acdf5fa6b9111..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27936 zcmb<-^>JfjWMqH=W(GS35Kln}BH{p{7#1W$84L^z4h$9yybKNuY7D9jYzzzxEMPH+ zJWM@|zQF_$htV7mE(0@Ep9F}(z`%e`%Rtq^XpoygLLeGsABc?&U*Lv_!e|Bo2p^=6 z6~u({Vd5~_6siwK!^A=Q!1gJCG&3+TpwTf<_rqvpeW0-UpaaqO!3LE!02|7{U;(9J z`ar=2(kGz{Q7>VON*jO_FfcH{XjpiHi~(T_sC&?91BfvUFdAK722>w9?E=*Yqd|6n zgo2-zq=4Ay_Q3csdtfxoz5uAc21Sr53=HUW3PhLzMuY4C2?ahaNdbimh)oQJMRO3; zK3wr20QEPF2E{kXeEpovBr_BJoD|)h%)HVH-3kjcT{9EC;(R?LkTf{WgOUO$O}YDp zGB7bP900i$Y8(So1B4GV4<skTzyMD7AoYUA$;s0UwC}%s8M)hdwx`aw6Z6|aYC!G= z=>e$$Sp+f<8s#7^$Q}leIUqHl@MvIc1dD^jL>U+uE~cK#Wfz(#3>L&fxG^v=K(jWA zY&s5ckUa`0Dj}ThIMi3;5TAxa9OPeY=7X{gHt~Nr%t>Ix?ytEx)Cb`Z=fz=;2M+N~ zILztCAzp~XoS!(<tK(4L%*eo?1c?e1@+<=bgCK)6gMuSO7?h^KtoZo!-2A-w;*!Lo zlK6Orc+U{u_>|P5)bz~alGLIQU+0|syws4yq?}ZU9Cn%b#Nx!f_{_Y_5{7sPyC}6F zzo;a>xFo+Q)dEd0CqFR-o0thhK~ZL2Ng6|LVopweGMX;1Q6>y&MX9MUnc|Yf<m`Be z>Ucw#XnsLSW`16LN@_`JGROrWHKoO=@rh|AsYUTcsU@XFc?<=mCB+Q!@tMW>$(EM! z#mR|zX)yhzc`#4Lr|0A+CFXz>f<0K4T2u@&IybX8H?br+BR)AJH90%J49PQ)a6{4v zabt2uc6?f5W)4Gqd`@OkGBmt%6EpJ|;^UJm664b{^AdA1t5O+qGLt}dfr=Ch5GNPJ zG6S)aAuM+vPbcSiBRyji1{f2;GSV|;U|?XxfXpZ&EMOiJm}F*H$;be!W*D|ioW=&K zxi>?_L^3mZL8a3^D8E!HlaqmgiQxpO0AOHX_yMiIVCDFKDR8P{V1U+7FmVQG$-{vr z{t&8O08RV=v@qg;HW*;$!1xMi;tQaKf(4p*0<=DHKod`ciYK6nKY*H3fhL{{Ro{Rn z4l`!~nz#Z~{SGwoVyO55G;x?Y575LFpzisBCSD0OhXI<OVc`Qa2iC3tMH2`^V};>{ zJ%k0SBS3WsgvY?}07;x3Cdk0R@B&F3W(P?61CltXjsb~*@DC($L686x!^#~{y$Gt0 zpu!9ZQ1u`?k=>brB#vCq6(EVj%P<B8h6*HckR34d8<507eujy6Ac=Fr1Q{3@CLoD( zA&JjG5{EVk!LkdG#CgCX5Ml+AI4?v9Om09D=L3sCh#g4c{1729c>qZqR40N385kH& zAc;e>3Rvm_k~lQWfyGCO(GVC7fzc2kHUvKN%l-0be#7C>&3aOwfx)BoKnc_T3m(l! zI1Yo2_;0GE&%p5MzpA!A0|UQ214w-aNaoYahyVZop8)2A3iMAeFT(ktg8b9VgK$2m z0{ZlFBb*N^&_BIg2<L+e@=q@(!ug;A{L{-uI3HALe0o_3=YuM!PcIYUd{Dvu>180C z4=T_<y>x{0K?V7zmxgdYr~v=;QW4Gv72Ka*3c~rI0{hcTMi~Fof7PRUAm6(%fc^jJ zzp5%4UlxroipJ+f<Flgi|LUTe{}qk@7LETDjei%7e-({?7L9)tjlUO-zZIEp_|~)Y zVw^|kBah}M9|A&L4G$Qe^yszKU}IqTFS=Qmf#FM<9>07GC{-|c^xB@(V_@*;WjzF< zEPs@UdUUgv=|Ykg=l=)%@(mz`hoQ7bukB2b!d}x!AWHL}N9PBRgYWD;4*p>FU_9n= z@n4CEM>nf2)BukE57PMMT^JZ(`a$Wh!8THlfq|h^JJh4uRthw5;?eoEgvX=XR!x_I z;f3YD|Nmd4{Qv*|7^|Tk0|R61VSafO{V&V^|Njp%DAc3#sYml00gukwA0FMVKRh}Q zc^rJj?9q6Lq2Yf$|2CnPOC=m0oyT94{rmqPtl&7vFAQL2^8pT=>fPY#9YAT9VZzD7 zB-uCZFVwzn0fb!#Jr2HP_Gml^aT{mLNr>BS!PIsJaJ;<0z(Ck_7BC&%4qz{IUi9cZ zh3;_&{;9_relhdUJEZst5)9{G$p8KSznh`+m`5+`6>bIwkIv&eK;iLXI?O<PVRGmX z%ufy+9=!n^9-SAldFc9!nP7zh9AKY!LTP*^XMi=h{_p_#2cOCIV1*7G9<2xXTd%_6 z2&Aj?5Xd>ig@WWCcqp9XLJEb6fByeRjcA3=+BY7Zr4RN?fLh!ifB*mQ(Ft;<>kp6S z0|Gcx4+q$pu0K4EJAj*p9^I}Fa4OCQnF><S%>eRN%K=CVc;G=q(wPs@`@;hg$`3rc z8Suu;|6iaegoIy92izk3nohwq^#%xl0vSspzWzcK?2=HBO9WmUf@2<Ej6VaL2@WA} z{sL<N#o+~ygD;ppSRq-2q2&Po)Ppw6{PPYdo@hA$$}ZPm%!X?14t>)J%3QcZwh^N8 zfk!vUT>@xP>(N>J!lT>ug$F)&p8E+3FxMC0l-YWKzvUqV1H<bgg8HT*>w_d2h#B}& zcOqC5IKRAr#^?`F;q?+MPQaxqFh!u;fX|lSKR{lBq=8oB{~!+3f1Sr))cySb|1~30 zNI8Z%hB}4>do;e8z`(%Z)4Md`|NsBKozI$WCuuM+Fq8=GPXJ|&Z6HHi50o%_b{_HU zZBYSL86KU7J&&`fZ0_3X=+Vo%gq?xGv(rU|!=smV{{R2~L2Lov&ZnLS-!eNMZv{p8 z$B!RBIv#IjY4~5y@`>e><MCFGhX3^p44*%zcyzO<g6#9?biHACz@wLSDmysizIY3= zxYv1s2e?q%4-thFYC#aG1E3&04+<TyvO^x7gwxpf@BjaIJ1+p6xf<EbydVGnA8(EM z|NlRz+<XbDLOpt&Hy{%2F$NZ}09dO5vev`j|Nn<b5#@vuuoE_T^adaB=)Bf>{6#7# zhoRZ^qZ#ZLMi1h>CIdEifhAZYe~%p~0rWb914#-JNMQD*KmY%OgR%3FujR86Jy1;Y znLTjz*zpw#JUhXW28|_<pl7#>O2sh-hSy@AkO&2Z5mX+;^yqfIk>a5ZiOCYy7YD!n z|KEARqwxqRX+=B6IL120#lq{^eV|6CM=z_kDkP>4fBXL*A^Sq*+yDPB{(t-bAEu5O zs%|w{9k|^GZYRTA#vmt*;?WQo4S~@R7`h?A2%b^I?S9ov=)g2?C3t0w6^xA(OcV@F z6>>6*OX71<^U_N)46Q5;6ih4>OcX2?$`W%*Q>_dQ3>3^v6b#K2EWip4tt^ef=DOyU z6s1-v<RpTHQ%QD=Y9`nivI&TT6>Jq$GZjF?3ZxpOrRU>p#E@E%Z>*Qh0OA;fNfR(> zz`(#L&1?;t>jn)`EO__-{|p8Oh6V5c{|7bOH@yG<{|1Qv;s1Y73#jws|NkEt7#Mzj z{QqBok%8gS=l}l=7#SG$e*OPHfRTaW`M3Z73m6#~Kn=ecj0_C*KmY&V0UDcOU;xh< zgWS$o6~w?;A;2ij!_F~*5h4y+V<GY3|9>@*0vC30A47$Kfx!gCfA{}CctHrCfE%BL z7e9A7M+1Ysl$DmT3V8YvG$#<lz`$_h-T(h!jUYWx`$`xX7%senxEU(U0J5uxfq`M- zhyVWzK!UD(0&PsrylhPAJnS3{VEHu+3=9uH{Qv(F<aU@m^8-eZ0+9YQ3=9mbKK=iH z8%6#ST>cFM14HVU|Npg6<Q2j4Ab;^NGBD(S{r|rTG)@IG->;9km!*fbnT<J_iHDs7 zWRD3W1H-}Z|NqM&yE7Ez3Wz&H7#SG$fB*j<)RJU?nG+9@2Wc6_qaiRF0;3@?8Umvs zFd71*Aut*OgC_*w>zAO5Ct&N7VC#`UO-GPxCqWrdieWyK0j0oeszB;MQ;HxOw!jKB zr3m6{NP|ekvSHYI9oVuS@NhK)1A`<)8GM};R2$4V2I%rB2H3hPQ2P|51=i;N`tN@} zh`#|e*UG@a0Gd(-@n1k0pea=l{{~bZ)|a^g^$4i{0g?yJOn_+QwL2g_R2zc_blnN4 z=?oIjfa(YJ13-MxR4s@W2N4Vm3>i?1VB#834?`&i2dF`yDO`{inEl{3Hv<C$Ox^GQ z5dSekh5kYLFQ5khhw`D$VfX;$?}5tygz}NsDuL{y7KW|UMmNs@8bOem8wQ2|C_e#8 z7eMI-C_Mp6FM!e;p!5MKeE~{8fYKkJGy~LQ0#F*=9fbI>^>*m$VC(H*#zL2;F~HW_ z!PcRn>x1!O>+E3Z2c{pk&W@0N*!nuqlsw2xn10y$I)eJ4BL<++Uu6BTb#;XFyE{8u zDQJWymFAU{Di|8+8R;458kd5(hMG_TaHkcLj$z3aWEBE~7Be$3eBy$pT?S5Qp(BS~ zIm0_HPzGiM%gSo7Fff2i3&?;71B2XLRt5&fcJ3~A1_t?%%oGO3wT!%=<(V8>phd)` z#zqYD#XyoAAVJYAJ_ZKHb&UMx3=9na|NsB5P{hc<z_=bFz@S*k&cML932Hz#0|SF_ zAxLC1BYy?R14>;W)&1hjI2jl?x<Td_8yhh!7MTU&&jImE%}f{;$Q%OkK^=FN9)1P} zCN-Yvpv=p1oRxurNgd2_V9{q|U|`aOaKtJ=%S*Mv90mctByI)<CS3@Rfx&^#6QoZc z%4cLyZU?D0<_4`g2f2!Yfk8mzIx7RiQ^s4&3=FK{+zbpa7&*Q(GBCI>GBEgq-29P~ zfq@z1Vg}a5{0t257&)4l85oio85lBQ(hO|eoD2-_8QCT=F))1NWMF7yWMJrl$wD-P zm3(I8(cocV_|3_{u!NC;VLeC*0~g%<Gt3MO-x)d1vN13mW@KPE2a*O`57NNEc9EHZ z;XfnWDh7xp&lnjP-oTVFu<m1JU|?qA_y#JdnHU(@m>3usL7ExZ!q^xX*qJy!GBGfK z{2|B0z@P$>1=-BN*2vDlz{SL4!pFeS$;rTA!^FVggeuF+#CD&7f#D4&149%O149Bx z7Gkm?Xq7J$$7D8$$rVft40Rw`u*s|e><kQoOdQc{3=E)vnG2Eu>4O9aYX}<ygBTNs zFBb#DMkWS^J!sPITnr3yOdRRF3=9{T7#Oa>q#4+hco-PunK=3x85o*485rI%F)(}q z$%1WV+sntmpvc4{!w>Nf4>JRU5HkY<BSKb%iETYQ#6Mch3=9S!S&+LJ#8dN97}S|~ z%D5qVJ(w97{6Ml`y<k}_Cblv@h~6}228JAvELbn=Ds~12Jthu*E(V4MW(J0Cm<%&3 zsOnMy4XiPlGI8wSVqjRn%)qc3E)R+m2L6>C3=ED;Y@k49;IHQZMFKdVaPYUWGcY(a zfjI&aAq;(>Dvm=HH0EZ^#J~{3beV;LK^4SjU}Q~VWnc(nVs-}A+$;<X+$;<Xj9ei5 z)j%>#;Y{H61*0Mh1A`7s4jLVatPBj%Ow5X$3=9q|3=G~dX+}^MWsn5vk7b(1$-ofD z!oZLTlVt|^mqF?X2LnSK(?cEx1`&||Sr{0)QB{ET$1_QAFfhzxVPIGZmz4y$4y-?c zDVQIkAG8DJG^z@?$L}*UFo;ayU|>jQn$OC>zzSlfGBMBPWnlQu!octsq)i@VCYvfZ z14B9!$1z4o;uK|NV2}otcq$-SR#5WFVB+9pXJF80WneG`$$<5-s)OQ{iKCo>fdN!} zgu-N)LD@qcl3{Y0_>XZy5=kyA14A)L4cJ_8cFJSobmxF1l5SQ8hKV3qu-W{<ybKJ5 zOfn!(Ffef3U}0bojbLJ6V7kI204nG}<&iKCsNmyd1{Yca!cRfcTu`0{H>i9QVBucQ zz`#&1R?W!3z$`B04l2qRHLXCIky(qQoSlI|`WQ0<gEoIS$g9$z{IA0fD#SUoN)po< zn03J%9swUF1_pf{ZU%;hpfn{=%E7>3P|6D7G73cVGB6nWazeOF0<Me<3`X5N5N-+& z$Tkz^BTNhod29>}C2R}~j4>eFz!Ij+d$}1H+SwQwro$wdL2h9NIf4PK#Ef|>4+Fz0 zHU@_Mm`b4Pl6V*xtT=L*7#J?GF)-W!sY?Xg!OY3PV8?NakAdMe8w0~Pm;^I8khMXw z%q|>)ypV|JV`pHH1Jy+!z09Bt21)TUtGO8%-1wRJAjOC|I|BnVs61iNna0n+!0gB0 z%>^+)CW4)T!C&kpH-wu2QV7npx*0qS49o%i=QtoT5OWzg-m)?<u!w=`jpf3iXcb`K zW??U7W?*3QVPIfjiUkq13=9mMhxr&7wll8cU|?Y1!3b)q3bNRMHGkz~U|^ZV4T_gv zEFZWS7+5BQIe%H6^D;27OaXH~vP3X4FtAJob3U>7Gcz!-OapU1v;1XeU|^XJ=6q%8 z0dZ!4Ip0{`ft1YzbH20afjG0koIflgAk$`pIX_sgfn?@@IX_uI4G)&NV9q}lJJ5!Y zd0@^Omh&Lz%m;IJv#jS}U|?AQ=A2>?VqsulSqSEw=CcMVTMP~i(83Eo3y_PJfcc>5 zdj`%HE(V5OjC(;Lu^Su`44j~T$X><^AfbIwAy9dCfblU%=pa<+77wVh{00&_0u}ng z&cJYtQGk<yf&DmGi2Wv*V&FW%%fN7wQ5ht23M$0R&A@Pm(F`PX7Ao|Rn}OjxqbEq{ z0#qoPhk@Y|V+=^>GF0d(I|IX2#(a>_HK<S%KLf*UMo=1JzXK8CW@PH;U|`^y%E`dM z&B)fq!@$4+D!}zvSTplV7&t&>D>nyw0W$*wHwP=IG0x4%QOm=?z|F+IiVq~no()Pj zdq7F%B#5{MA|8W?k064Pk%56pkdc9b3uG)8s2bn}v3Nl?a)BB(ydW_yP>I6}swsFu zEPW0T$ptEZxIm>S(-KfSX)B003?eSFGB60TN`Ml%Agd&(IVQ*|1<Jcj_gNVjxIk%| z3zSZ|KxGY64Lbva0arE`0|V1eb_NEfV<6%(h<E@Z-hzl<AObWo!z9ANz`&#kBJ@Cn zHHh#45uqR=2}I<Bh#C;l2_j~4FfbUh@e3|sXJ9Z|$;!aMCeD?^#lXPH4C@6O?*g^n z<kc9iGC^9r#mo#0yo>@246;p(3=Fo63>a<YaL~3VNLVvM!kQ71M;Rf}!N|x~&%?mL z$i(_pfPsMz5?_pvIO6AEgv6x)XbCgt22g>0O&nC|GIFrq7GPjt<N!w-Gbjl&3b24? zw76dLGcZVSp91Yy1~s{OIU_*DHp_N?1_nMckT3_!O92K3elS~rfq53FfOx~tz`!WL z1Y&cY=4W6K5CTo2u^bX$U=ZO0F&P94@{1W5MZp{n2IljirgTb94g;eY(``^I{3$;J z1It!Mo;&;u3?LhI85tN@`xqD)xEVyQ2{14)JMh|rgwjB+5#<(SU|?3~193t@qM)fa z2C;Vn3=AwOj65LyxgcSPe({SSuZFRLgwvrNZtz?fC}`)rWn^Gr`@+w_5C!%rbMb<D zHX%U<hFDHkP?{}vU~hsBR$K&G&A`CGlgW_83o?v(;+Z=3iBMTkK?zd8c9friAq65| zyrCY{Ex5qXz~E{N9U=hF(t&NZ09Bc*L2}|?=EMm0R;Z#PkVzn`N^%Pr{J??9G%<sL zff?i`jy?Pg40=h>Aq()VAlSSXka-~6^@KsLW11Ml1TtMu9%6a`+a>`91_N*mfDGd} zF2KMbUkUA-fhQlq#;gY!1JWoj3elLsAh8`3f|6{ojvRO<6Ra3)gQOTtAp;{TgQu{G zBm)DJ34^;Z$iWPr!VC;7CJfAcR@~OymfW7gHj*;j3=FJ#jP{bud{&A~)~uG?d3;8S zj5d-f!i>TU3~Xppp2A3y>{bj`ij3B*mWqNB!VC-?YG4aEEg3;(fyKE&W^nN{a4T|v z?B-Ts;O4gDX69pH;DH&;401^xAIw5t0hnSwG>5V=F!1w&+zxT3r?3S#1A_oqks`<t zMUgx{PhopWh@S*G7{H!X6ahI+NQ{A*1LRh)uNfGG!P>Y%-h~B%2oobSAGe|eBoq|c zK`s|XQ^uAf$-p266$Be)BPqkmz#tCx3<pFjH^>=Cp(LTtzzp`iBv=(Rm=&3!;oQXt z4QeSAX>qtIa0Sv3--G<h4e`AUObb{Hq{BuM<Zf9(MpZsxZf1FDc>!?-203tyfTJ8F zD-R9~sOK3N6rlcLg(V1(Cl$p&Aq`if1m%ML%)p=w)dJ?)NXoD?FsMMC0@i|vPE{EO zkW-Dg85q=1RTy#GNG3zQt_~^+G@ypU+`-GhpeYQB6K-%sf|HUKFDM?tJ^>laz@QB` zlpB<CL6HebxH@_a;4}?Z3kewp23<_m3=DeEM9IOxpzp-M%?(PZ2A~{mXaz|^+@KU> z1a%$Q%l48?5)2H+$X3{Z${t3jQG5&xOst>)RAdCDZcky5a%OloV1Yy=R1TDkSwVS~ zfq@Nd39=@3Zbm^yA$A4^4ye<?l8S8Vk|1FRi5hTxbD~BM7c|%)Y6U=X&J7A-9urXL zfkn9?ZsJ8G6p(qK#KH&l0|x^GKR*Mg_aFet*MjI_56M*E00xDbFw}+66re5%iVTq5 zB5(<AOKx>ZND>uA6@;l3gA22Q)WU=z84O-*f!qr7y98VZ*mRf_0|P@as7uSh!Qc%l z9vK;b^YJn;GJ;w^pjwcTkx`x*G_D1z78ZirMe<Di?4Xq;jG!8k=_N?)4~P&3jhHBd z2(WAis5)cd0B?(B#A+<4@zBZ0z_1BaYca|*@w0-O6bxWuKgb-=)@G)QAX!#M22Lhe zS<WoU$SUxem7hsRn3a*qP}rVT6vWdIV&!Ji6=s!=X60nk6=IcS@)Ty31F?jeRE1at z>R3fV92pQtd^#&@6DuQ=r>H%vD2G0)zztR&CPQIXb|wuWR;fv>A|<Q>AhX0uSh+#! z1t+nJm$0gUm?BKt608DDhN4UsAnSF6?OAy~v$BJX=9<bXWWXv3GDxn86>KYKGb{f# zRuPb_G)Ole*kVrRvU#kG%-jlwOnr<(tgKI;b1dA$%FE;-!pb_2m6w5ug*l3q6GU+c zgUR`9OzJ`)Ruii_h+^aT!z#wW#KKqtm0)aQWo2XLe6oj?kvWS)k6E0_laWbHh~os4 z1_L8we3YM|VSIdXVqRuRW>spDp@nB&NorAEVvcWaVnJAHa!G!XXR@oaiEA!HwqtQ( z9!%OJHL<`qF+DSxfp{az7~<no(ux!FF!UH1z|0L!&M!z!2`(wh%u6>*EGS6LOK}bG zPOie#Vgl2GaH(IuGsL|nNr}nXu4N=@N=Yn9bS;DUGZ=JiL1=NRV_HdS5!g`>-zFy( zBqnE;R5E}SgcKzvr!s^%y2m?*28a0jG6bbUjzs{66<CRHW=c?MN>zSdD#U<n-^9#3 z(9mx-SQ>1CZ(;>QX+cR5$i3bu@nM9|m!_$?1tpabZ=z|#9-fdDaS#o}TVrV82}&K{ zqYqqj88Cz0COIRq$POF~p?=<e{^5QM*)FMRiKRIuZkai$zKIpVpi>j#qx?`^X=s25 z0@DD{u@a;@EwjQk7ZhkHo<TO&*#s1!AQz;j`z7Y4f)t}V0&fVL6lYeYx|T6O5+WpJ zIOpe;WTuzqmllIqiJ5t+MgIOy(8vX45wNF%GSf3kP$E7jKQCPYOqAvoXQt<+rYL~= zqv+WOuY1g0Qj1H9^1*QqIl}{do<|8d85WclXT*aNKE$2w;BzrhoB&Rhp~b010r{E5 z`FW`+zNxwSMU@b@$H(V@vL;xKBj{|8M6e$qlJ0(?3eMWvh9=N?69wJe;*8>wYz5ui zlG40X+w|1D)S}E}1>M}lqT~!)$dNk=y6FnK{zeMA#U&}W>3OAK{kmxZp3VxoX?gj& zNu`-NC7F2;PHIJRD)>;4VhF#eq$E>8H!VLmvqU$oC^0uxw;(?gR5mH-rj_QEXXd5o zmVk~t0VyxbEY3{I%*iaNw9Uv&NlAqonOTsio0*)ZpqrMQrdv>y4?1fkGe6HZtu!Y` zK{qY2xH2y}qbNTwzqD8v-AM3}ATUk&MY^D1&r4U(O@l}z=Oh+qz@#(t^BA&Si;D7# zd{c{y6Vp?jO4HI(i@=G#4l}!e(jd+RYY8e$9DRKJon0A_%4N`*B>BmSIgm&%C`tv# zdqI8yG{VF4i&8-LdFDA~mK0;jqmZHzno~(ia~3dLKsm`dF*zgECo?Y<WEmu#ITjTq zRyybBXJ<l7xS~{0uEFpn{)AnWTAW%`mI}$vB;-&FSb<Dx(P0VCF0Mh|n6()88p$*{ zCpEDM6c9nFC7DH_iYhTV+YOXFA^8OA4F>nrl7OPrvdsL_V$ZzdlA_XN(0Mlj$qd<^ zd1Z+?nJM5x!qbHTROc{&!YdvUn((4F5v0MtC?&NBVsdeLVgYGkYMPXqo|y*<mw0f- zf#xrU`1p)+(D5}83&9Qn*K$Frpi_4swxOpG-0cGYV8eJ!cVVr6OhBG>Edy5+;3Uof zi@f-x%97OLc!s3>{2X}V1=qUJrT{pcpg{yFoP1K#N+52{FGwv)EXgmj#c&34O<-i; zo?7CUT2X=$AFjC!;EE?Cp8;k}bSwiTM!`v($bfJG)iW4sk?J=?Lr}(caRvL^l_A?V zu_7R`B*O>1sGcF)wF1)W3UGD;ozFyct1QSH8vJNk25<O-i+E524ittc6$H8u@a9<) zP?B^F0yzMjEii%~uWmC)F#*c(@hPB+2i<Pu$TKu@Pc3mSEh<XQD+x#jC26z}!fTZ| zv{eRc!-Bl-R+I`YuHxg1lS@<b8M1>?b5awFQ$zCogTaM%Sz?Y~YFTO#1Ekr6;XM=w zf}<DO`f+7|=i*dwOowC?r6xkMJS<V6#TUM2o-wEmT*eTdnUfP*oa&ZXToMYd|L{7< z*~B%#J2#6VKE5=GQ0N+&;3}?Ma~Z&GOpsM1xERtbi?1k3tb}AQP<e=v_ZZ;qAW-`e zWChMz(a->tdmwFWSG+2r{swtG7puRqcW@GeU2$Y3<XAR`mKCl6$+-;K(DVo{K#{6| zByi;)4=&}P`5nW>c#|u<l0nZA*y|*46E{A-1ms(A&i2eJDN6KD%1TX!H9(O{dV*OV z*}sP77>Uj`3FH|P(gLi|hgE!_t`COCh)Dj$8Tmye3h*QYYC41KH|U9Qn65(h2qNPA zg5$9VBdAQyPbtkw4Gr~lAtRR}YFo6T2}jkL80-qEI^%Owa|?>{(-^X0jW|$lfhMki zWCm!Hp8>Q93(`_3VaQ9ZC}Bv+$%zLwVi?Lm`>+_|K~oSQu@p!j0psMn)ST4Z)Vva~ zLGh3>&5!}yus1YEH0ud8=Rw_f@KAwmVoFL;YB8w!4I4eM%}GtnrgFm?z46Wf@&(xI z$wjG&C8-P<sfj6IKKNWh2Jmrx;PVH;T`e#HN-G6Lsb#RE3n57fBnp;J$u9*Rod`Li z5F9#&40?L{a8z8Bte=w!Dn-E_FVY7!p1?#rv>~pSTu{KE59-dO=%*(q>lzyAhFW-= z1eU>gkkw~U6%`g{@n$B_!%5TgN-+&5Y(0Jzum~xNPtMQH&Cg>%2!LCHd5JmkDXD42 zdKpME5Tz(W;JyyHbE%iX0P;1YA(@w$gThZsOio3X(a*@wP1VoJPfX6p%++_vPc8+e zyJCIk{L-RgBLgENT_Xb{V}19`5`EXQ#GLqmqWtvu;MC-Jqj;yp<P3e#mOI$KJN?q) zB2WN<LQ)?i<P44UGxL&jN>fr9zzSiU;*yk<)HJ;e=qZ&TPnD!(=Iepx4x!Ugm=tLJ zDGS3#@P2+|S<pfaMg|s!9_T_y=(0rcaf#T}gBBGqF$gdOARqb$J$@J@-hd_!8bk$& z!`3gu?Dhl=yD~^Ks6fvT1i23+7YY^^XMml@2oeL~8qioPXw@-v8Vn=`!l2VV7#YOi z=RJbNKp3>31)KXpoBgqg?}wTXTW<~WC&-+0P;uD0Z1A2s&^#z;-W5xD-UYi~gdsv1 zq#G4uv-dSvi7@=UVKA40fdO=$EF*&?d|fk49JHo_kwJn1eO>QoM$lSrDbOL<Fr{Ex z7JN>t0DQU{HY2D36-S?)1T9q*Vh~_}owE(zd&$7S09u)c7PVmWL8IB&!~?<Z0V_cv z62SJN2!T0eAaN!^2H3iEupk2iLk&nA#zCS%dqlC>JDm}<Mo^RiHj@uttIEK@um*>F zK!fdqpp%E82_Lo|_c{*sA3=+vK&#$i3x1()`p1a<+*?T|2CV1ax`M=+q~Pb_LXBYv zWCEQREWm(13mpqpkG>u{3#uM{dbk8E4l@-&H#33GT1A}03zO-`p?(z(@%=c&uRzV$ zfaYtM`8RQ>|BOSN8??+4rWuI_orf*JfEjM$IMmDG5Vyu5?tnu)5iBmifW9ul9F#sm zs~}<P-C=GGPA)1j)XN98;F2=qLCfTli%N=1O4HKxk{J*O9LJaB#wUZ0I4%awALPeF z4*ZQzDakJ?j!!JDU`Wo-EyzhNNlno+z^(#xa&KmQB50s0J~gkTsFDFZq8Oi2nwwk6 z5Fd}k10Rr#q7+>3Ay@RE>Pat|A-=dYDc&XCz`(%LGTs2f^@MUk=N!8QIr_TByZX6+ zj%<#1_X~}8^@xWEdbk8J#Jl_WJ30Eq`@6XXyN1MvI6C>b#xumbMEW`UdOCw!G|(0f zs7(iM=RuEc1`qu~+0Y}LVW%~to)ZljECg5LNCz;dW#(mqf*f=jG?I1`XkCeYq!Is_ z)Bf?rB`KMC@ukJ7DR_^d1`Pl~&Q(S`QrQ7^Ofu+jWT@YWIwLwhKE&4<8p@!6LNtC; ziu2<$67y1WQo(@<X&z#nCY@AV40jMDq>`b>K*OD6f)-lPL$0B&ga#p4(1IZzw450# zgZqqXjI*o34c7QnQ1HMSsThY)!`)+S0y`NSoHTJCcnxj~Gw2mp=9VNTG3XVS6hY_= z7z^AOEMU;f%P&dQOV2CSD<}euf|XPv34vR+x|u0ZAx9@qT~JO1E6+$Q&S20>smv>` z%!SY;MGRmWsH0Fg@kI=JMX5Q7APrDfK~4#S9ymSg737rYrRSG0fEmT9$qafWpiYh+ zIJxQ-<%7dUFEs<2Su;|K7~nhxJ!t-fWL$`mFgC~l7(1mhFEKYWnL!U?T2gT_gC3~e z3+fi>rKBd6rpG51CFZ547BfJ(nR#jXFm_^65~vpemC4D>ONGf4gZvHA4-$?C@nNML z*)(V$8K}(%*`9*?o(-4<Ahj?yhz2#UKwGF_`YoXCR~QYu-vOi+gkkLf5F3Qe7#J9k z^`qY}0XmNXqz;B*?E)Ad)P6<Q4{JZeXlQc+rW|}P1DwOazyMk<`0fAye3<)T`{Q6V ztepwlABXP#MDU6`&`IbJQ(^n(V6*_#V2~R@VF%MM0a4BXI(`HcWKd-cu>E*28n*uq zsvNW^0>%W>g^*o4aQDOZv%zT43SW>ynEPS&!00+q8yCs{u>Eo{8rHl*cR$EX5bg!H zzY+e2?camZu>E^5`_cUmT5<}CQzwvNNc#a{`vNmSfyTf9zDEYMcn4koLU21DA`dnK zR{uk3Q2GXoLkW;wP$rlHZBYVQ0dt=MR3D5+4{)e7s0Rer59;5b=!b5EQ-IPi^<c%I zZ2(XPOnd{H`wgJ_U^M7F7pN961=9zkccSTs^%r0?JE&s`)(IhC`XD?822g(s+5NC~ zKa7U$Q-!HV55J>O`(fz`{r;PJkl`@R(EceBmjQGi1xN`@Kd$>;V0zH)2d#xg*8c*$ z6^?-cMwfsjVVXf}OOe<h=2K{#fbt-S59_bM?t_7)H;^0%!}u`z3j+fKXzw9RKkOca zAJB}49^Np0FdCG;K<B)}^uzY=a)6Ghg}M!7FAT%<!D!G~HK4Q$(+}&9!tMux-2(*5 zzaTSU`e5!_4UIpTe%St94}Fko1_n?+9m0Z;F#RxE6tq$bdT$L_1+2h;7W@im;g4P( zOG7v8!t96L51?QOHVwYN7s3PenP4mk4Kg2O1=Ko-ASj(d^{c`~APkUN5DP|YLfsD% zL&mO9{Q<~=(6B-lvcRE#Dpdbzv<w8Z7iI=%J0iLmNDg)%0wZYKA4mX-(bWdwus;!c zA=6_t4QO13IH-Q~@N)rO1O&Qw3tApQtp_DnFcW4Dc&{YrzA3OMf`|cCtPBhcH(?5) zQZOzu4a@sbC1A=T5==34K>ZJD2Y{A)!qOeA{sa|ou(Siw0U-~>LFhCzNtnG5S<sjO U=vEUL4?(LXLD-dO8ql~507uNbJOBUy -- GitLab