From 56b5a0590c83740b9359e2994f0b286038c588fb Mon Sep 17 00:00:00 2001 From: txiong000 Date: Mon, 25 Feb 2019 13:18:56 -0600 Subject: [PATCH 1/4] init commit Array Toua --- arrays/arrays.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arrays/arrays.c b/arrays/arrays.c index 48c23e7..946bde6 100644 --- a/arrays/arrays.c +++ b/arrays/arrays.c @@ -21,11 +21,14 @@ typedef struct Array { *****/ Array *create_array (int capacity) { // Allocate memory for the Array struct - + Array *arr = malloc(sizeof(Array)); // Set initial values for capacity and count - + arr->capacity = capacity; + arr->count = 0; // Allocate memory for elements + arr->elements = malloc(capacity * sizeof(char *)); + return arr; } @@ -35,8 +38,9 @@ Array *create_array (int capacity) { void destroy_array(Array *arr) { // Free all elements - + free(stack->elements); // Free array + free(arr); } From 501fc3080f0d6e29844b0070c96c4a0e0ede400c Mon Sep 17 00:00:00 2001 From: txiong000 Date: Mon, 25 Feb 2019 14:45:54 -0600 Subject: [PATCH 2/4] create, resize, read, complete --- arrays/arrays.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/arrays/arrays.c b/arrays/arrays.c index 946bde6..a330778 100644 --- a/arrays/arrays.c +++ b/arrays/arrays.c @@ -38,7 +38,7 @@ Array *create_array (int capacity) { void destroy_array(Array *arr) { // Free all elements - free(stack->elements); + free(arr->elements); // Free array free(arr); @@ -51,11 +51,10 @@ void destroy_array(Array *arr) { void resize_array(Array *arr) { // Create a new element storage with double capacity - + arr->capacity = capacity * 2; + arr->new_elements = realloc(arr->elements, arr->capacity * sizeof(char *)); // Copy elements into the new storage - // Free the old elements array (but NOT the strings they point to) - // Update the elements and capacity to new values } @@ -76,8 +75,12 @@ void resize_array(Array *arr) { char *arr_read(Array *arr, int index) { // Throw an error if the index is greater than the current count - + if (index > arr->count){ + printf("Error index is out of range"); + return NULL; + } // Otherwise, return the element at the given index + return arr->elements[index]; } From 60f4b4a7a46d90a29d812f391a9063da2fe22ed8 Mon Sep 17 00:00:00 2001 From: txiong000 Date: Mon, 25 Feb 2019 15:23:07 -0600 Subject: [PATCH 3/4] insert complete --- arrays/arrays.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/arrays/arrays.c b/arrays/arrays.c index a330778..0dca1ee 100644 --- a/arrays/arrays.c +++ b/arrays/arrays.c @@ -51,8 +51,8 @@ void destroy_array(Array *arr) { void resize_array(Array *arr) { // Create a new element storage with double capacity - arr->capacity = capacity * 2; - arr->new_elements = realloc(arr->elements, arr->capacity * sizeof(char *)); + arr->capacity *= 2; + arr->elements = realloc(arr->elements, arr->capacity * sizeof(char *)); // Copy elements into the new storage // Free the old elements array (but NOT the strings they point to) // Update the elements and capacity to new values @@ -76,7 +76,7 @@ char *arr_read(Array *arr, int index) { // Throw an error if the index is greater than the current count if (index > arr->count){ - printf("Error index is out of range"); + fprintf(stderr, "IndexError: Index %d out of range\n", index); return NULL; } // Otherwise, return the element at the given index @@ -90,22 +90,29 @@ char *arr_read(Array *arr, int index) { void arr_insert(Array *arr, char *element, int index) { // Throw an error if the index is greater than the current count - + if (index > arr->count) { + fprintf(stderr, "IndexError: Index %d out of range\n", index); + return; + } // Resize the array if the number of elements is over capacity - + if (arr->count >= arr->capacity) { + resize_array(arr); + } // Move every element after the insert index to the right one position - + for (int i = index; index < arr->count; index++) { + arr->elements[index + 1] = arr->elements[i]; + } // Copy the element and add it to the array - + arr->elements[index] = element; // Increment count by 1 - + arr->count++; } /***** * Append an element to the end of the array *****/ void arr_append(Array *arr, char *element) { - + // Resize the array if the number of elements is over capacity // or throw an error if resize isn't implemented yet. @@ -155,11 +162,11 @@ int main(void) Array *arr = create_array(1); arr_insert(arr, "STRING1", 0); - arr_append(arr, "STRING4"); + // arr_append(arr, "STRING4"); arr_insert(arr, "STRING2", 0); arr_insert(arr, "STRING3", 1); arr_print(arr); - arr_remove(arr, "STRING3"); + // arr_remove(arr, "STRING3"); arr_print(arr); destroy_array(arr); From 1aad686092440b870796b862c66f6f804b68c37b Mon Sep 17 00:00:00 2001 From: txiong000 Date: Tue, 26 Feb 2019 15:06:16 -0600 Subject: [PATCH 4/4] complete day2 mvp --- arrays/arrays.c | 31 ++++++++++++++++++++++++------- arrays/arrays.exe | Bin 0 -> 135588 bytes 2 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 arrays/arrays.exe diff --git a/arrays/arrays.c b/arrays/arrays.c index 0dca1ee..11df1e4 100644 --- a/arrays/arrays.c +++ b/arrays/arrays.c @@ -99,8 +99,8 @@ void arr_insert(Array *arr, char *element, int index) { resize_array(arr); } // Move every element after the insert index to the right one position - for (int i = index; index < arr->count; index++) { - arr->elements[index + 1] = arr->elements[i]; + for (int i = arr->count; i > index; i--) { + arr->elements[i] = arr->elements[i-1]; } // Copy the element and add it to the array arr->elements[index] = element; @@ -114,11 +114,18 @@ void arr_insert(Array *arr, char *element, int index) { void arr_append(Array *arr, char *element) { // Resize the array if the number of elements is over capacity + if (arr->capacity == arr->count) { + resize_array(arr); + } // or throw an error if resize isn't implemented yet. // Copy the element and add it to the end of the array - + char *new_str = strdup(element); + // arr->elements[arr->count] = new_str; + // char *new_element = element; + arr->elements[arr->count] = new_str; // Increment count by 1 + arr->count++; } @@ -131,11 +138,19 @@ void arr_append(Array *arr, char *element) { void arr_remove(Array *arr, char *element) { // Search for the first occurence of the element and remove it. + for (int i=0; i < arr->count; i++) { + if (arr->elements[i] == element) { + arr->elements[i] = NULL; + free(arr->elements[i]); + for (int j = i; j < arr->count; j++) { + arr->elements[j] = arr->elements[j + 1]; + } + } + } // Don't forget to free its memory! - // Shift over every element after the removed element to the left one position - // Decrement count by 1 + arr->count--; } @@ -162,11 +177,13 @@ int main(void) Array *arr = create_array(1); arr_insert(arr, "STRING1", 0); - // arr_append(arr, "STRING4"); + arr_append(arr, "STRING4"); + printf("TESTING READ: %s\n", arr_read(arr, 0)); + printf("TESTING READ: %s\n", arr_read(arr, 1)); arr_insert(arr, "STRING2", 0); arr_insert(arr, "STRING3", 1); arr_print(arr); - // arr_remove(arr, "STRING3"); + arr_remove(arr, "STRING3"); arr_print(arr); destroy_array(arr); diff --git a/arrays/arrays.exe b/arrays/arrays.exe new file mode 100644 index 0000000000000000000000000000000000000000..14a7af6c6ddea03c7516d820afe12ae1de50863d GIT binary patch literal 135588 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 z z8M56xg*3F9*dWH3jWr$sOzpCe;^XoHa4|j)ue}q*amqaW3$2w)1S+(`TLu9tC4&^K zl0nB=tCa__W(a4U;r8;Wq_OIYVDUAx@n^j^iKKpo0zkzQx7J(mYN4n)FQ{gM1a8n) zAQ&Jr8#SIVD2W%7Kw@$^n4wB+@@A!s_1=sU2baMN;WA`<&+&SW5PObXZm4;(p@wzy z5QZ{}n@zrk3k4Kt9&CY*_E;*cVT=(XiLlTUMe0~%Sw(DFRO@jb>l@E%oS>-+k@;+V zBIkyWF(fXZN;D@Mk2OVltYR+;33aM2S}BN_nC1maNuT2f!AOP_y;tVOTT4;rYLN<2 z=dq}b3WTUfc`3>&-z{B2zNrM&vcMCCWJgPZ+*Ll6n$Q@JJPYj-m6K80PuS<$Lm>BluOw+owKhwL^2}^$H%3 z=B@gW71Eujka)=Sy3~2n0Kzk3$deu<>>n|V;t>Oe4&3pH0fe{iqg6z7iepq~D@Ybj z@kwl~?COh5S#Sb8t{BhbiV5Cv!$j}6VUn(pP|Rdijv5Wn5JPwKJj4+Fy078;n%6XA zHPow}s{KQtflKX5r+hQ5icB z)|rWa#M<_E- z>sFv)v6Baz&9Yeu0iM0v)s`@oLm1M%*yzFvqZGhKQ2SJeml~ENIEo#e!;SjkUxQd5=mL}VIG$uQ>Q{#)yo{63Bp;#NYYHiK+qrjb1v^DJY2)C0h- z<>YF%$F{j6FjOR0b4~GhUDA|`nWp6k=d&YRkU3R4UrzNF3NHwbE?{@KNb*A!S8v=;}2ZK;EyU@7fAIlvnz7HYRjk6V2 z&CV7EC!8&;+B5bN<64Xkh3V@hlhHi(8e^IfjlBxJEpRNiz#?ve?Cj;nqUcobK0*&$wp5@>OdkYno{q0!3#T z+o5O#Q4jKLwq>%1Ii6;AuCe#I2&(0b^BCQ%-_R-sOnSad!3vHHph-}X=NszMxndbd zwGoerU7!sSKr-ezJ&2R79OM zTqKEEb=G2LoYvwNZ9a9=_O%W4>mSgwBM7r2kc+>%ANS7SU?ViN_qd?Z ze%~`hH*WI57=(*LX)p+{fy>TqylLWCBsRjr8UiA!J;OSTF{zO{K8=&cB*yg^%5ler zep@C?lX_NNm~X)*!+59z_qYynJ07)DSMEv8oX};O&}`Y~&5@R*ybW2?T#toocS8m_ zPdb44-jd*MJY->f9)CmL4*fXuC_Byz{L+hFplOROdPtWrrVAsPliG|GOpdTfAZsbe=+A8VLLe^P~VC z)QIA5{}32_86jWyS+N{neJt5)ee1ELv!}JIzb&yO+1IuUJG}HQ#hK+GME=C&Opc^c zgd7KF(j@lMgTL2Q~Mh9nuK`{B}k zZ8Cyma_}jL4C4q_v9pa2Oj?qi5{A!8=&&{%)rB+6`ZO3Xk5Mr?zK1TbRg}S3B83lY zQ2=(%yIay7vM8L}+LDsNRzjCSeB=XqGOUQn2*z1Krzk26(*2zia7VosaDN(Df1SIp zr2V<)zUJP2!;5|G?H>*QG#uOJj(XJXO1r-Zyx9LlxcRH@oi~IJ{geBnK>DbA-wnZY z16S+|SG_mh`U7$L!1rx}SFs!F_%6`qvQtNbY)sf3>f~-J4!| z7XTm3y$OI<_TA*>H@W?3x1i+MeMdic^DB>U4R>sNeA~Z%4JWSzA94#`bo)_U_{0@8 zH}CmdI*ldwwcJkkhfX?t`Nfy@hvz)^T+Ny<-u(gh?`}-Tznf?em$r4>Jn$JH2Hah* zxzU$%EdIWua&p8+ zWcajf*!r3loKbnIZt|QcI7f9S2I_vgH1^Y*5Qn%*=^lZ|nGmIXfc=MQdkBS+k}6AxW;;6TTg z(oedhOWgi&$+GUtAL{SNHP++8O-Cx8>;LVgYdYKs!4&~_blUANxo*JSbHvS0fBMty z&xO~xiKb5niy-~8Y~*pg7pJamgT$Rzg`Pk2j*A_~?m_IzSoLUT7@>P~LvFHkW)ytG zZ0`sJV(!#K;YHirkKg#8Lpb98+YK*2aUJyv;nLT`?{oiv7gz(~vNiYDt#PkC;+7n_s>40!wKZ;g_(+F4 zIXr%iyDxmC?||Fabd_85=oSk0P?+~{iexYM+>-yKWvLvHbl0&DxD-*Uh0G`Ss3KmC9^sl-hXcE^9XTW@k# zH@O>{UU7G&UvVqKmTuj(6c&pEQy?RfdI>)mV97qnNxZ0@^k7(qhd>~(UFi4ucU-^b8UZjc66Ya(42{gB zzB2s+A0JM-yY;K#qy42H_*-}HdbgnIyYGQ7*ty3oI^w3nt6#Zv&C(^cU)_`Ht7~84 zrf+hKZrbinJK}bROTM;yn_Cbrp+$tErmwpFFCUEK&$`Rqg-}!HYwkrax>uZVBQJjD z@hdjJKlSMWxA#S8&~0yWryg;4rh^M1->s1BSsYE9GmEKlwu-{9K1<4TydIuU7$!2` z6gKkMSt4`BV;e^w_d7xp(aTO~+SFC>;bs^SVl=RO@vRqp#(j55u{$aqzIDp(57hkr zu^X$KmwY2#;Wj?#E>61*CGMKEn|#nMf(?Y5>VOiSQ@uTW#pVCvK7Qj)_Z!ZO;g-5J zmtK|#pN9t6#G}4eE1FbFE{LTZwaK`Ki*K{-Wo`UXSIjtxvv3u7l6M6@bB@vFTB2X&82I$ZaV-E z;f{IP{m~6Kxt~J9o)QF0+nm+tB)_mjp+{ zF!w+tL1$w&rJl*zGM+NvKn#;AJYIvamGx>HNZQSwS!>o+>OYd%AEz z*)xTavS$m6%bzbSD*rn1Aq!^uCnrV)V2+{(ey;|3htr)&+0zG;&vKL#LEU*pm5$b; zr>wB(K#(eTM}A=um;)m*8Ib8jkMhOT(&SVLcEC>~@iQ1b%7@EQ9bVEDFP;O2d`Zej z{80KaRqke0F8DbZEGsNN;DV{%{K8`JR0M&AYovgP9_1@i>n<#h!T2C}G1@dQb@9i4 zL*Z8gU$0Xsz6QhZLONYx$Ll~ZDty?(?NpCj$R2JcdpJn;a3Hs`Fxj0C8+Zyf@HA}T z8C3CE*ue9J;fjJ_{~$?K$~=TU6TQ+IQ9+4320f75Eky4i(L0b+LAQm_GZ^1(9_?X$!3NS2;tH>MW|X2%r}!)A89gODda5Y!YK_fW@ImxWs&Z7b8I(WL z>q#K->Oz^KTUpqAJ=-0nm(Gfcl+h}EHGT;mRq!_z+-p~d03jSM^HQrZ&u}a;o1D!T;zHQNJ)j?qRR2sCkEJd zg?CEf?LZr$XK24vS$HVm1_DF)B{sZ9ltp~R=0p*4oIeD`kF-1Zy*u3U!pL9elou|z zo$UN(@_PsK$_k?g!m!2q{HMyEE_*VxbJI((e4vr;;a_`PSX1u^P~79*E{KVh;|vfZivRW9C@j{ z%nJjd2lAh#!9B`!ZImY}wC+w1x8s|s9UmmWaUfJ#7zalW>Epf;a;$_i>SAe9BdZGIfOl0lZAc|qZ9$ap&tgx=7sH3|zbbh`t!hcbLEK6LfP$4f) z5am*_j!YBRVPv_&L#Ejbq>yQ}zuX*)H}FTw4Or)N!tTpEK0m9RBM(`1+Q5&-D-bZfV??*qdr|vfN)G z>L!HB8W4~{Zu;^VpTo*36Q&+*Y?Ws?+^x>-M zK3I{s98z3Txi_uqg_~n}ecH(^nhHr{8>-)-8<53?)s3Cq3D{Wzc7?-^lN%b<+4~jP zy2qW?xZ|u37iso6Nn>nVI#cQXmM*16r<04yY!Cmx#lNd6T&%`}0Vj5$3T`r>OsV{P zMlRP$77t|R6Tr-zf5?_I6X`38@-u2s9CS(tIJ{8J6u{^O7(dhVg!&~k2{C`UsBd_R z;_!DBEa24tNCn?8AP)XffkMt+XX*TbGa>ql;y*`a&BoXt6wdjYVj~y5Qq?CQc5+Q! z5aL`HcuMB*HCi&8XR8vp!~kwzRG`%!VR88Vn&9RmD#$WLP9Fn^aP2sk>x4@OI3FGT zLyrK;p!xgj47osuCQ*i1WL!9jF0<@x;^cg9Pn>I%$XH(ajvLt@6`TyP1h_`tv`ntK zoS9mX+cUEV^ir43%nCb4=h|%Nvc%81b}HUU8XUeyn?M7X^sFj8o6xRQ=$sw;;NW!4 z)0WJVfW?KfYy!>}T`Lv%D^>O=Oo&ga6<|R1y8d#qnYg z_~PK5rYsIJnJnBNQ`nE_T=g7$PJtw=Dx!bb%C6KIV;sCngBq?^!GjtUu>DV9@%#Xq=o zD8@lk_EuSv{dcYcq4jZai2`M}UoL{N1I{K6dNXdaWMF4(%9gRo%2=v$)~jEz%E4~4d|!4LZoRYd>TtZd50%BBIEl}*`L*)(9YvMC!Ywm5B8nzFId zl!cY1Y^*e8VWlY>E4G5{%GPJ2P;Y6LGqMnZ&ay#qxWs@n2>V(|D!>`uqvCLK96Y2z zaE5yaCD^WzFdAt(8WoWNhH(K|9H+|V%uxYYD+hUnEa;@nYMDYCy0LLiG&T;Fc{1A8 z!CWwQz-i?mXUubcoAbK~e;=>}VCQYins;KByfKyeD)o!nb8x!?Wv^+oO65)z89Df- zFC)k31t5BWCf-lsqrWR*zuPpgu|_l-nYNM@m?{!6NQFQ{LLmV-Z4phBlF$0LvdhX358 zU++z4_-nezdKO}-u1!5lDPce?hLizukR_AJ3ybM~ljV68q%B-}vKY%1P!e^AAv)p1j6DP}R7^8R$ zF_RKEVYbGgv(%!LiIYV0Hkz;1@yPkt9RW~F{ z#N2e~?wag$#B_<%v=AXi5sa_po*gsL+~C9cwVIVC4tgusq$~G#29bkY9b%4Ykwhq{p+nTL% zTLt(Lb@orcq*Dn}lP!>t-ts_XUz4O=?EVb&Fmr8vyXM^qk%xi*By;dd!* z5FUqnwT5CGR=?=I?^VGE4TyseYtW|e ztKe@nD8`zZXV`C0!FB`U8uc5{wJJzg($WJaxIRY=NT!*;thsDj`WuBtRp#)08n#qx ziCHE*4)c_fM9pS3ln5VHEWWCKsjN3uc$pgU5RAiz6)Z~!z$kSZCDx&W^kybKS%z0U zUpQf8#X;UA!>$CgWXNxkC7QoS6%F3+L$|`g3956$=z)X$elmHN`T>qD(}?vPT&qD1 z9IV!$dJfhokSva4JqD43f2%wxTv!^MiO>x_C!tK*mg z5+a9L9s-dgVMUY>Im~PeM2=kULF6!VE)Y4=;6dat%Ud9xN#!!lir8b@X!q2O!)y`M zcsWe>MAJigxw^~s^{SQ6i8Y> z$Cx!VL=OIk&byg|KlA0~*l!G?3h5u4k4@S5*fhX=a4(L569<2)i*Mv0Q>Hp>8sM1W zgC(Q+ctC}o&}GFq_=*NKa6!M)pcn^D+18xqw8G}aLx_-rS7|@lz(HOHl;Y>u-xx$y zn*N!klK4#zvLg=jco@>+l6L8mHt}K`7oN=mxd-JEQ4$9)(CT{O88df31SQ*PsRt{#k>p4G}JYQM2?oY=?O&fVRTH zSqdZ@6(jO*L@2ehE;y)iWfM)QN~_c**K@E= zfh5-)+hPzoxI=>)IoRjRtGL%c$5krbl1UHr!NH$sPy+|~)jY`u$9|>}>p8emd((zX zRPYJ|lBCSvH&g+uG)g1qVlR|s;K#Wpsa)A)dPt>xLYG|6!A~oYtP97!Xb?I0qy{x| z@D*QPQxO^Zx=Q_y&KUc#3jVtRW#&4qlJeES8k*oBPevdF4o+5Bl6#JwYw~jNRt;*r zO$GnnfHIk=Q%N!Pn~N8G`kXlf9OpOs;7d8kleH{ug=e9Rnx$c^RD>!tPn$TnPJzPU zA?eIH_fUW#%*_xUJ+or}6aVj#z(hs1N&TKwzY*2sFI2yq)Ndx2>|@5MdGBoXOW$hJ zb5#BEo1zkG{_}7 z^RG~RRI1;r)$b*W{&Dr2xzWM9d70%sukxQ%zZWa{@T=I3Dt@*4<=r>l#LFzNNYQ5x zGhM~!sNZ?&m$&9J^YcFJPZVC}ZdxY(_Y@xE^Y+(o6+9C^r0T(|E3;I5f%@f5E#4c; z%>N#RcToL)Nd2;1-KXL#|IGZu=_wQc{R@YF59Q_}oA9_@422CXtE%aRuPT z<%d+9SJk=wy_A_z#aAf)c;wNb;ykC%%yzR%zg_*_p?>dDzem;Y{pvR}|351@*YDdZ z&Vvwc|Gyd}{}v@TZZ~li->H6+>X%n~GwI*0(m$ep2h=Z*5`tL3I6o;1uDX zz!CU&;qP&@P!g^i2#Yk4fIqA-+B-Tq49-u0b7~lzFt|E449@w$NrIW7_@PxK@-9Q+ zB!EM;$;CgyL#co`!{oXRIH!l9PVKOHm~v>5<>)ZwQ2UGwgOdvtGy~7*YXTtDb5otN z=_}E*J4v-I#y?qiI*pbf5ig{bAPY2vV*HVkk=R9`6&r#UN=_xx(xOZ*^2f(~JnsPH ztm{ECNdvl)S$iC_?q5 z_PtmnD(o38#jb$Bc>p*^8OLE;Efo;rnH(=!fO*(fNe_ZnmXg_4NdwYWO@0ost#$wa za-hZAgN)%gY^&7(k(k`TT>Kqn5D+R!8GDv;p5sgB2qPYS~9e0sEeRLdnNihFPRR$TT-~AqwNQegMc44ME9qy3FHx4WV2=2hNXtkk1_EJ|u{n=hRsq-C<+LA9*LqBIv$IyLuRa3T1`&EL*ZxDg@4L3D~6 zvYcZeBxzAAF^JSMaC!jl)4&J>u21TMB`-^+nmz|SYWe0l+mb(xqNU`E3=tJ#$IwJ~$;*bxgHb|VnuX<8UkbF34c_<%F z{+Yb8^v?@G%O*#b5Cg5jEP*JJ?~Nd<^u0+y0PsBQ0lo{Ev=$slNewE)1zZL?N!GH> zijyo^x$5GjrJ~-#X9^m`-7(H3AUgml9m1mGIDwK{a}k7W+WU=^3;CfI)Rt{b@;Pfq(E9pkicW%?J-?W3-YaZR{_=w#ku=CBe^dHg*VE zrH$Q+a!60+VH^7;K+?uM_oyf|)@iBGJJrkN=Md{O0)VhFF&E}k`O7+uA}XvUOF4u| zx|qG3b+H6BB>V6`q>Cp}h}6YR{zMfcIUhn;$~l6NO_16$ZYorA{+Y_@|DmxKjj-fc z%eFDXCS4pFLKiIOKLc0F*>i`CBKLOWOf62zS!MS8*m4GQSss#e>|&Pl!@wX*@;@Z! zN;F?7=Y{@66(czxLwGnjhoCQM&(~xvhh%u{3}i?z{74zn?P2mJ8*hQPp$uuOk?gjr z=0wJxiF3bguss_&gSm`{eNnyBzm*=HQwz9bIG(6)EhdlY33 z*S?y8BlV6z#>4ZA>1Uw#$Pjv`Vo9gJzKnJH5ryq1NbNKXRm*nD?=kvuNT;Nt;dI&z z+mP+_-7TxWnm`R`sP$eb*~#iXR4@*bq7;MDiI){7QZK?VVusoB+;# z{0@clOW>5E;%02~7nMtBnTm17BDfz=1DS*1A*6_2SdV`s&tzl&iW<%odHK)Vv9bNg zBxnWh0agFQHb(YCiEbd`M?j3nKlJtqsb7wfs6_Md>_*ojP=rL5oWUbIye-OhxDTrJ z&)Nu+?C^4Jhx~o3DT6{ZMtTS=5EVCY3Y_8pjE8Ks6yV`(^_$vOsaLSep}w151(ALC z)C?*zN7p47OI<_&w&hHH!7rfq z;rjQ|A>_<5q#a5rLw)xbvm$<1q6{g+NLCpV(pum&3pq!WC2t0#2m+8=CNE)XL6VNg z_qN4bu$qi8rMePwEy~dl1e`9Eb5fUV>-1y5@i*1C)81n!9si?V)H?hRxA!O*m+jpi zi*kFX-BYsAZ1WvCmZ+_)M!KkJ#=aF%RX7#Vp>WjN*HPePlPbWfoXTy@2pd|IVjfAW zvP?@p+uQ-BKsh4#hovOcYXSaJ4b7u?-WCIBXj-*ptA@e>t-0H_37#b_D$W0t5KdWH z89@ibp)_iPU(jvvU!mIb3G92Q4PK(#;GNK%{gBVR18hj2xfSBJ(Wss72Uxb#QWQdV z?SH79R)b;LPERAzE{A+3?LtYP$*-aM%ORghwkq{L_}Vh9CrF=p6a|oFn}^%`SHOa7 z@19HY6dJd$Q)kI%HiHG?BCGEeW9*7;B;%p&r=pD58ycr(8);w|oHA;`gW(VjvY$iv zqD!uQeGZcH%aCx$e!c+&>BF}Y$a=^&XjgGKAHE6*!};(eSQt$2tkY9kr|Rm!4374q z45?H2XW(Xg?f{O~mq0iSNGZ%xj?nl*l&FT-)glkcb{g5a5 z4-`UH?gr@7M1OBZImlX0BKL5fOQ=eG_YWGQd*Hw8`kb{}Ng7d>(XSLui?Bo&ruY<7h3*TqIR{_h4jNwx!M^ zwEbGkYOkSkhQQ&T zNY;X^?t2i$LSjKbZ^!C1huP)@ss}j@HYLw?kII&LD{!R$p%JkEVaud(0_iQ=+<|hC zWtJt_GXDv$GHmx3gcw<7Jz8u#`hMUH!ERBu1z>rTU3q?`vI_tLRRvK736LdYV`!>ynJ zw4|@|T%xMb*nVOlL7Zl51#icG4zY!2S$`&yq|@LY*6C-6B7uDm=`;-?57(z0LcL_4 z5$11y(w8?{p*!@Rltg_0(vWL_W${u#)R5Ie2Qu{B5^r~6mT-i`*3Ge3djl1agr{KKvL zID{=*cf^ybaMUit3%~&*Sz9-+1X2~H8K|)^bE!3x9d(MU4yMLak6hd#uRyBv>?LJ>I4%_M}s7TuC zB0mDrQnvaAaG(>Ra3$|eZhwN}vgzfMy zzd}`sWQV7Qu|w*KXpK?!M9nIv|A)Na1|Uf9*9?AamdFlcXJCgk>XvpGK_RHV=V3d1 z$ZLn)cx%sNhphJqUVbAkve}`ncQBXn@QU;)wmQ2?A_wW~xw}|jgZDCDf=3yymmxV1 z*ULPFk)D+E)fpViD9JfFgq&H1f`2uKVauj${Xz)p|)AWHx_<%5(1lElWH$yE=?F(0HC zkRmLQ`n{-WP4s0dP&^N}rZcgG)5t13f0ow7UUW31D!pj4hl&ic7hM1xvJp417k^QK zjE5}hx(~5MrO;+}WMD`yT7aHfw#s^xXg}mdkD$|#Efl;%xC_2%S7lfaQ) zlx8FLLtZqcE%Q6TvC*i38p1Q4>`V?$UkWfDC;aHOZD(XD?4fxX0^kRmO7 zXUndHO^)RJt533=KLrE;G9GHVS7Sjy%GpncQK|0h(7I)-ybfT0-Pt1@7nVtSU&dMW z@7c0LDv)%#e;A#T44a{JDZ^^y@|zILa16?kGBg)#Gt*ozCn9S+RB!d4ZC^x_^mWez ztgjk~8-R?5^!0A7ul|fw85JW~EuRR0eti)Z>GVmh)6WseddOB!4q>Y-!(8A=8Ok*@ zb8k3CR{T9k6izr2a?z{c*#}up z9@__5aXq36qNs->N;_|h`d*9r%NF$aSYV8!hS!Mnt{CqW-i+{bh@Ktwp_bMAX|X z>W^F0e_&BBx2Ufg5%p$^`ok7=TJca?maTHdDvNq_MAWxi)ah$LAFbujThvP|>eVBn z-eggyBN6@7pSGyawW!BNM7`0Xe%PY^xJ7-MMZIZ6)MFO)J1y!DThzx})SE{{z1E_B zyG8v$i+b3i-Z3KT)fRR7autP}erNf87Ii{UILg;0M?}5SqJF(a{jf#-_n64|sqY;T z^{7QXZBf6|qW)`(`u-77Uu{wEvZ&MUtxp##Ubd*;IwI<;Eb46*^@A4m?_1Oljfnbk zi~4qp`t=rd+A;L&{hkp~FSV#QTGZ1Pby~ysQ$IQ)>WeJuwHEa*i~8dh_4`LeeSt;2 z(xTpGQUBaoqCVH6zS^R`-J*WKMg7=_>K?JEFSn>STGao}qW;K;s86@3FS4lDTGVN; z&2M!hqh4%LpKDRCw5ZcJyngD(M^yKT7WL^C_0<;jcUja=jEH)XMSY@0eYr(_n??QP zh^UXYsE@X&FS4lDTGU?}5q0{GLupXWB6BS2b1mx8vqU||qW)&)oN@Vdi+ZU={nUu+ zPMaA1y1#BwpJ-91Z!r8e|FaQMe-nlHslRGbA8k?3H`LYl-E*>1pdqq#U!tK-s_G$pyCXya0$ZTa_aqZ+IXtS;gx-lC4-pk)ohA_{O=iX6 z6J5YF1e_g5`k!UA4lUY+cz2GZU>>#7wcPNm*SQ49ZgE;WdPR{8Rp^4(4_E%o@<=~mo*8HPn;_`(S}XpD z2B;v)T8i0P-WK(jE$S~=)L*x#|IDHu84>kU7WL;X>aSYVpSP$l7!ma!Sk#}ksK0Dc zf5M_(IwI;XS=1l5sQL)Df^d6B<8p|KIsBf{TH;st;(-!qRE$Ra_o^YN7hvE{po@7Iiw)%3t?eM@0QWi+YZ>j4Z}J?(;aTLL z!Ow8BNK+2aB0aQJe{qUy5dhJQ=WNd+sd%BmA!d<=XP!lRcviE>0`$3q)t&pncd%Z| zb09leuPiGbsz-a7wLHWu@>RBt0KLKDe^~ExblqFcIh;6gmS5_<5HrX_$O>{|wF0Mc z03xLk$v($_CoLiKl*=sApn5lGo>7YcB3a&;Y5|x=DG&&7Y{^qON#HyJ95fc-jHbT? z_B}TO=MCKos2sZ~&|5>a14X&Bt^eTch}JkxiYP)ll@N52{b@R!$|;S=)j86KTM7fYSj8(E$!VKA{t- zn-Md*$bo|?)pACXGYya;pO)tXLaVc;dUnOkmZ0FiNyi&^V|!_eqXNl0z!}E zr#sQzn%w6&(TG=Ke@i&9X`{ghsT{2fv@dZU$O2!ke*{jDAI@?> z4*NLV1W2)udNUwNpPYLEX+lxPe%=Gf^}ccr1G2z}^8g?}i;yL7%l!%<$9(*J4-lRq z%6h#D$Z@UrmL0t*nzif|S@sd90AR*%QD!FA-)eUR;d zwE1drEg(D=mHhk-ATi{kn1nn?xqNc|G9XX;AWs8Q>Z|Fu0Rh(@etrT-k*^l70n+5t zMb0>60@T!E8X$8OFF~hOS$HzyZE?$h1Axa%tR{%B7Y@=y;la)agsX+fjh@Bn@4OL=tpX`KUhvoI^hOJO>Ebm$9*z0J#Sc;zjcF z3LuAl{JaLpXxBGC9DI4XOTgtFP-XX?M^!3h_~bx;7s)C zA`QsnJ`QgKq|paC3W#4{p8=%VSJQt1q!is}09?vi`~{E~G%cKNF5G&=$4>#oUhAVZ zhZKRww4I9pIq1V_0OSX{WWsI+qUWqLLGn+W=YZ%XJSR&ubhpwn1wmZzClZr(q2F=OV9< zqAvv>)VZkS?*VeuC)Lw{Z1>Un3n2IS>OKZL!2a>`Ie=7a9MQU4GTY!H;2iSRv>cG* z5wCVO0rIeq!>a*FdP{DlQ7%2kHd4Tu>*M)-fKcU)ZQKip>AxuTVL*^c;ly`#_qHX# zp>FSl^CWPNMZ6q-9gzJ<0h3B!zX0TEAJ14avte1cf;+9QeyV zTH^p|_StHLoID<*1`z(XOG<1DAPamF>jEU~gWLkhA)gHI2IQEA#Cv{eA1W$$aEiMB_K^& z&T)0zGxe}kx}>!cI1l@BZ3m=COBFt|E71c;gtddL&Mx3YH4Z_p1tfxU@V_c~0FaYf zK7{iHK<)%tGb;ExAVxlf^BX|q6T!)5a5O@i43od^G|V_6%ul?(N6ex3YY1VD1% zmY()RA4fZTcJ^|(Wyg+GVmHUSI(rfv-kGAeSX2oRKL=@ArJ$-<+$bPUdFt%h-O|lDK%sN|f$CgDf$XjH|97Gp(*>!@4WuH5(cl%W7-ml~v`N*Tw6~8mp`7>m4C` zaGOo~>;o~(Ye}W0Rrm!TZ|mg)?y*jhri&vmXKo;L3}7<(h~v_M&fPe#Nv6vsrQwi( z3?JLk(id-SP4~jeGB}90LEp6eK{bfeq-RG9R;nyCX-d6aZHc|D$#k6Gy|eIy99vqu z+q!z}LPVmVgd61SWU)MGl?Z4{7F?P}*tng*y|S~XE<=*)F0nl@s3Aq%-qRmP1ry11 zXK&A-l~kXKs$*L#%F0xzhC(h??n`po5}?t$PsMOdVCS`*MAsg5 z_VgvNT0lXxMQU^MGNkU_-3bvC(^W?qiR>aRFnxHC7g8)@rvFa+7zfywDzXj2vEg_lLZv( z#dJO)tEn0sRhw$cO1cEL%(bL~eoi#N_9Da~$N$o?w*p1Pbq}!fI!|=pFDGrO3BPC-GLnrH2GgJ|1 zR6`^WN}DtxT(vZCzcY@@zM1?e$k1Sbn(M1>D|$h#05KaDBRK zOD9G%EnS;?_Q159hD3UEk8Fr-+F`Ek?1FPt9FZ}jk3^klSR$k$9D*Fu#xqAja)1+$ z8$06Bui{4aIH-PYOJ5r95$=g(u@7BjcO%?ZSs&;pD5PwNyafi#W{istARSNk3HPR0 zQp}3=a7BUXN-I)@kb9SdZhBuC+Zj9jZTNgGL#m_xmL6r#xj+qRwlYI zo2Wpu>xAfa%a;^~Hg>LYJnrq9mBKgmCsO+~)lN;-WD<3f<8iKFcV9aOV3^4;x1DN1 zDePO7Abky84dH|UCD~>wpuaeQu86*U7FGc?}&sn#l*`R^-6AGM9M`q zcF?_$H8c~+GVwBYWOBq(y{&MU$kN!=2QWNwf5K@*UyVkWPN-y53Ev-R$tfYlE8>00 zL~G~H&Q{~tgt~Y?eMo;G{SO*uEe1gS$+fUA>dmWq(n4Kqj2(%Vq|X+m3o&ho>*}Ax zkWR()StolYYO(@@kXB}cs;4o&P)$+K1lb;v8PcdtwCv7eywVbqWF-({7J)H)rm^yT zRV%l#vvrs3ycn4+%rXdrFt|NQxtn^(g<4T0T5NBhuc?w42Xj);R3c@y*P&*qvPu}? z)4I5fh^=A6Hg;uNM2c@}u3WAfg+gx?Ey*;7ziQ}<41IDa7{?H!y@v+N!qKRSDz*wm zLqy}~>+O+E730x1XV4xXn>K378kG-_oU5(yGwJfcF~%iq;f*w`&`ng&&XuXOCfQm< zcgNZh_AD1F{a#Kog9%qc%-eCT76w0PG;P_sQtEK(dfWQD5^~XodS7bUk_xNA)ZV{b zgUrSjGiY@8?Iy2I%2QI`-P+m(XO6+Rl)7^Jt%}%?GT|~r57D2LOANB6*{x2l9AHtv z(C57P#mWQQd#k72%KlO=&&a}2L*+`1V`KsQrgo%`EM8JI7s_k~qP|XvW$d4Dc@{kO zBwBWr#MkeR*Q?ocMORB-U!t#MkU2GxR6B#Z4w)+UjT$gjg)}Ie=ow>)6vhQu;A%y4 z!U$Q9f6z>6DORGY_bk})aM#w;(9ydGy_@oqNpU5JG3~)7FZ60)MpGqzYTza1T-x#~ z{)x5E)B7u1_8OLKS-}8IG{`Xe6xBzeiU7{ zcQ7aid})uM%)k)Cn-`5RcSe(R{x_(rYc>D? literal 0 HcmV?d00001