From 38dcee4e20129d5ea98ea4299eac1bcd9018b7f7 Mon Sep 17 00:00:00 2001 From: fanasina Date: Wed, 17 Jan 2024 20:19:37 +0100 Subject: [PATCH] add verbose variable for testing, update tensor and dimension repo --- dimension_t/src/dimension_t/dimension_t.c | 72 ++++-- dimension_t/src/dimension_t/dimension_t.h | 12 +- dimension_t/test/is_good.c | 4 +- tensor_t/Makefile | 12 +- tensor_t/src/tensor_t/tensor_t.c | 239 +++++++++++++++++- tensor_t/src/tensor_t/tensor_t.h | 10 +- ypermutation_t/compile.sh | 4 +- ypermutation_t/src/is_good.c | 2 +- .../src/permutation_t/permutation_t.c | 7 + .../src/permutation_t/permutation_t.h | 1 + ytest_t/include_ytest/include/ftest/ftest.h | 147 ++++++++--- ytest_t/libytest.so | Bin 294944 -> 295000 bytes ytest_t/yftest/include/ftest/ftest.h | 147 ++++++++--- ytest_t/yftest/src/ftest/ftest.c | 28 +- 14 files changed, 583 insertions(+), 102 deletions(-) diff --git a/dimension_t/src/dimension_t/dimension_t.c b/dimension_t/src/dimension_t/dimension_t.c index cf2e339..adf6e7c 100644 --- a/dimension_t/src/dimension_t/dimension_t.c +++ b/dimension_t/src/dimension_t/dimension_t.c @@ -9,27 +9,63 @@ bool isGreatThan(long int a, long int b) { return a > b; } long int incr(long int i) { return i + 1; } long int decr(long int i) { return i - 1; } - - +dimension* init_dim(size_t *t, size_t sz){ + dimension *d = INIT_PERMUTATION_TYPE_SIZE_T(t,sz); + updateRankDim(d); + return d; +} dimension * create_dim(size_t sz){ return CREATE_PERMUTATION_TYPE_SIZE_T(sz); } +void add_dimension(dimension **d, dimension *d0, dimension *d1) { + (*d) = create_dim(d0->size + d1->size); + //printf("d size : %ld\n",(*d)->size); + (*d)->perm = malloc(sizeof(size_t)*((*d)->size)); + for (size_t i = 0; i < d0->size; i++) (*d)->perm[i] = d0->perm[i]; + for (size_t i = 0; i < d1->size; i++) (*d)->perm[d0->size + i] = d1->perm[i]; + updateRankDim(*d); +} + +void min_dimension(dimension **d, dimension *d0, dimension *d1) { + if (d0->size > d1->size) { + *d = d1; + } + else if (d0->size < d1->size) { + *d = d0; + } + else { // d0->size = d1->size + *d = d0; + for (size_t i = 0; i < d0->size; i++) { + if (d0->perm[i] > d1->perm[i]) (*d)->perm[i] = d1->perm[i]; + } + } + updateRankDim(*d); +} + +void printDebug_dimension(dimension *d,char *msg){ + + printf("%s / dim->size = %ld | dim->rank = %ld \n",msg,d->size,d->rank); + for(size_t i=0; isize; ++i) + printf("[%ld: %ld] |", i,d->perm[i]); + printf("\n"); +} + void updateRankDim(dimension *dim){ dim->rank=1; for(size_t i=0; isize; ++i) dim->rank *=dim->perm[i]; } -size_t LineFromCoord(size_t *coo, dimension dim){ +size_t LineFromCoord(size_t *coo, dimension *dim){ long int begin = 0; - long int end = dim.size - 1; + long int end = dim->size - 1; long int (*iter)(long int); iter = &incr; bool (*cond)(long int, long int); cond = &isLessEqThan; if (endian) { - begin = dim.size - 1; end = 0; + begin = dim->size - 1; end = 0; iter = &decr; cond = &isGreatEqThan; } @@ -37,38 +73,40 @@ size_t LineFromCoord(size_t *coo, dimension dim){ long int sm = 0; for (long int i = begin; cond(i, end); i = iter(i)) { sm += (coo[i] * pp); - pp *= dim.perm[i]; + pp *= dim->perm[i]; } return sm; } - -size_t* CoordFromLin(size_t line, dimension dim){ - size_t *ret; - ret=malloc(dim.size*sizeof(size_t)); - long int begin = 0, end = dim.size - 1; +void vCoordFromLin(size_t *ret, size_t line, dimension *dim ){ + + long int begin = 0, end = dim->size - 1; long int (*iter)(long int) = incr; bool (*cond)(long int, long int) = isLessThan; if (endian == false) { //if (endian) { - begin = dim.size - 1; end = 0; + begin = dim->size - 1; end = 0; iter = decr; cond = isGreatThan; } //prlong intf("to coor begin = %d end = %d \n", begin, end); long int sm = line; - long int pp = dim.rank; + long int pp = dim->rank; for (long int i = begin; cond(i, end); i = iter(i)) { //prlong intf(" i: %d ", i); - pp /= dim.perm[i]; + pp /= dim->perm[i]; ret[i] = sm / pp; sm %= pp; //prlong intf("sm[%d] = %d , pp=%d ; ", i, sm, pp); } ret[end] = sm; - - return ret; - +} + +size_t* CoordFromLin(size_t line, dimension *dim){ + size_t *ret; + ret=malloc(dim->size*sizeof(size_t)); + vCoordFromLin(ret,line,dim); + return ret; } diff --git a/dimension_t/src/dimension_t/dimension_t.h b/dimension_t/src/dimension_t/dimension_t.h index cdc9f61..cf80c00 100644 --- a/dimension_t/src/dimension_t/dimension_t.h +++ b/dimension_t/src/dimension_t/dimension_t.h @@ -8,11 +8,17 @@ extern bool endian; typedef struct PERMUTATION_TYPE_SIZE_T dimension ; dimension * create_dim(size_t size); +dimension* init_dim(size_t *t, size_t sz); + +void add_dimension(dimension **d, dimension *d0, dimension *d1); +void min_dimension(dimension **d, dimension *d0, dimension *d1); + +void printDebug_dimension(dimension *d, char *msg); void updateRankDim(dimension *dim); -size_t LineFromCoord(size_t *coo, dimension dim); -size_t* CoordFromLin(size_t line, dimension dim); - +size_t LineFromCoord(size_t *coo, dimension *dim); +size_t* CoordFromLin(size_t line, dimension *dim); +void vCoordFromLin(size_t *ret, size_t line, dimension *dim ); #endif /* __DIMENSION_T__H__ */ diff --git a/dimension_t/test/is_good.c b/dimension_t/test/is_good.c index 46447cd..fa81f44 100644 --- a/dimension_t/test/is_good.c +++ b/dimension_t/test/is_good.c @@ -45,13 +45,13 @@ TEST(Coord_linear){ updateRankDim(D); size_t line=255; - size_t *coord = CoordFromLin(line,*D); + size_t *coord = CoordFromLin(line,D); for(size_t i=0; isize; ++i){ LOG("coo[%ld]=%ld\n",i,coord[i]); } - EXPECT_EQ(line, LineFromCoord(coord, *D)); + EXPECT_EQ(line, LineFromCoord(coord, D)); } int main(int argc, char **argv){ diff --git a/tensor_t/Makefile b/tensor_t/Makefile index 5c154a6..00a350d 100644 --- a/tensor_t/Makefile +++ b/tensor_t/Makefile @@ -5,11 +5,11 @@ PERMDIR=$(PWD)/../ypermutation_t DIMDIR=$(PWD)/../dimension_t - +INCLUDE_TENS=$(PWD)/src INCLUDE_PERMDIR=$(PERMDIR)/src INCLUDE_DIMDIR=$(DIMDIR)/src INCLUDE_TOOLDIR=$(TOOLDIR)/include -CFLAGS=-I$(INCLUDE_TOOLDIR) -I$(INCLUDE_PERMDIR) -I$(INCLUDE_DIMDIR) -I./src +CFLAGS=-I$(INCLUDE_TOOLDIR) -I$(INCLUDE_PERMDIR) -I$(INCLUDE_DIMDIR) -I$(INCLUDE_TENS) #SRC_DIR=$(ROOT_DIR)/src #SRC=$(wildcard */*/*.c) @@ -33,14 +33,14 @@ PERMSRC_O=$(PERMDIR)/src/permutation_t/permutation_t.o OBJ=$(TENSRC_O) TOPTARGETS := all clean -DEP=$(DIMDIR) #$(PERMDIR) +DEP=$(DIMDIR) $(PERMDIR) $(TOPTARGETS): $(DEP) -all: $(DIMSRC_O) +all: $(TENSRC_O) -$(TENSRC_O) : $(TENSRC) $(DIMSRC_O) - $(CC) -o $@ -c $< $(CFLAGS) +$(TENSRC_O) : $(TENSRC) $(DIMSRC_O) $(PERMSRC_O) + $(CC) -o $@ -c $^ $(CFLAGS) #$(DIMSRC_O) : $(DIMSRC) $(PERMSRC_O) # $(CC) -o $@ -c $< $(CFLAGS) diff --git a/tensor_t/src/tensor_t/tensor_t.c b/tensor_t/src/tensor_t/tensor_t.c index 79ef9da..01d3fad 100644 --- a/tensor_t/src/tensor_t/tensor_t.c +++ b/tensor_t/src/tensor_t/tensor_t.c @@ -1,11 +1,238 @@ #include "tensor_t/tensor_t.h" +void subArray(size_t* dst, size_t* src, size_t debDst, size_t finDst, size_t debSrc) { + for (size_t i = debDst; i < finDst; i++) { + dst[i] = src[i + debSrc]; + } +} + + +void concatArray(size_t* dst, size_t* src0, size_t* src1, size_t debDst, size_t debSrc0, size_t finSrc0, size_t debSrc1, size_t finSrc1) { + size_t i = debDst; + for (size_t j = debSrc0; j < finSrc0; j++) { + dst[i++] = src0[j]; + } + for (size_t j = debSrc1; j < finSrc1; j++) { + dst[i++] = src1[j]; + } +} + +void printArraySzt(size_t *a, size_t sz,char *msg){ + printf("======== %s ======= size: %ld\n",msg,sz); + for(size_t i=0; i< sz; ++i) + printf("[%ld : %ld ] ",i,a[i]); + printf("\n"); +} + #define GEN_FUNC_TENSOR(type)\ - struct tensor_##type CREATE_TENSOR_##type(struct dimension_t dim){\ - struct tensor_##type r_tens=malloc(sizeof(tensor_t##type));\ - r_tens->x=malloc(sizeof(type)*dim->size);\ + tensor_##type* CREATE_TENSOR_##type(dimension *dim){\ + tensor_##type *r_tens=malloc(sizeof(tensor_##type));\ + updateRankDim(dim);\ + r_tens->dim = dim;\ + r_tens->x = malloc(sizeof(type)*dim->rank);\ return r_tens;\ - } - - + }\ +\ +void tensorProdNotOpt_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1) { \ + dimension *dd; \ + add_dimension(&dd, M0->dim, M1->dim); \ + (*MM)=CREATE_TENSOR_##type(dd); \ + tensor_##type *M = *MM; \ + size_t* coord; \ + coord = malloc(sizeof(size_t)*(dd->size)); \ + size_t* coord0 , lin0; \ + coord0 = malloc(sizeof(size_t)* M0->dim->size); \ + size_t* coord1 , lin1; \ + coord1 = malloc(sizeof(size_t)* M1->dim->size); \ + for (size_t i = 0; i < dd->rank; i++) { \ + vCoordFromLin(coord, i, M->dim); \ + subArray(coord0, coord, 0, M0->dim->size, 0); \ + subArray(coord1, coord, 0, M1->dim->size, M0->dim->size); \ + \ + lin0=LineFromCoord(coord0, M0->dim); \ + lin1=LineFromCoord(coord1, M1->dim); \ + \ + M->x[i] = M0->x[lin0] * M1->x[lin1]; \ + /*printf(" M->x[%ld] = M0->x[%ld] * M1->x[%ld] ::: %f = %f * %f \n",i,lin0,lin1, M->x[i] , M0->x[lin0] , M1->x[lin1]);*/\ + } \ +} \ +\ +void tensorProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1) { \ + dimension *dd; \ + add_dimension(&dd, M0->dim, M1->dim); \ + (*MM)=CREATE_TENSOR_##type(dd); \ + tensor_##type *M = *MM; \ + size_t m_idx;\ + for(size_t i=0; idim->rank; ++i){\ + for(size_t j=0; jdim->rank; ++j){\ + m_idx= i*M1->dim->rank + j ;\ + M->x[m_idx]=M0->x[i]*M1->x[j];\ + /*printf("[%ld|%ld:(%ld,%ld)]",x_idx++,m_idx,i,j);*/\ + }\ + }\ +} \ +\ +/* M[x0,x1,x3..xn] X M[y0,y1,y3..ym] = M[z0,z1...zp] (deep = l > 0) /exists 1<= l<...=n-l alor p=n+m-2l\ + M[x0,x1,x3..xl x{l+1}...xn] X M[xn,x{n-1},x{n-2}...xl y{l+1} ..ym] = M[x0,x1..xly{l+1}...y{n+m-2l}] (deep = l > 0)\ +M[[i][j]]=sum_{[k]}M0[[i][k]]*M[[k][j]]*/\ +\ +void tensorContractnProd_##type(tensor_##type** MM, tensor_##type *M0, tensor_##type *M1, size_t nestingDepth) {\ + /* if (!checkMatchProdtensor(M0->dim, M1->dim, nestingDepth)) {\ + prsize_tf("Deep = %d\n", nestingDepth);\ + }*/\ +\ + size_t len0 = M0->dim->size - nestingDepth;\ + size_t len1 = M1->dim->size - nestingDepth;\ +\ + size_t* tsub0 = malloc(sizeof(size_t) *len0);\ + size_t* tsub1 = malloc(sizeof(size_t) *len1);\ + size_t* tDk1 = malloc(sizeof(size_t) *nestingDepth);\ + size_t* tDk0 = malloc(sizeof(size_t) *nestingDepth);\ + subArray(tsub0, M0->dim->perm, 0, len0, 0);\ + subArray(tsub1, M1->dim->perm, 0, len1, nestingDepth);\ + subArray(tDk1, M1->dim->perm, 0, nestingDepth, 0);\ + subArray(tDk0, M0->dim->perm, 0, nestingDepth, len0);\ + printArraySzt(tsub0,len0,"tsub0");\ + printArraySzt(tsub1,len1,"tsub1");\ + printArraySzt(tDk0,nestingDepth,"tDk0");\ + printArraySzt(tDk1,nestingDepth,"tDk1");\ + dimension *dSub0 = init_dim(tsub0, len0);\ + dimension *dSub1 = init_dim(tsub1, len1);\ + dimension *dM1 = init_dim(tDk1, nestingDepth);\ + dimension *dM0 = init_dim(tDk0, nestingDepth);\ + printDebug_dimension(dSub0,"dSub0");\ + printDebug_dimension(dSub1,"dSub1");\ + printDebug_dimension(dM0,"dM0");\ + printDebug_dimension(dM1,"dM1");\ + dimension *dM;\ + min_dimension(&dM, dM0, dM1);\ + printDebug_dimension(dM,"dM");\ + \ + dimension *dd;\ + add_dimension(&dd, dSub0, dSub1);\ + printDebug_dimension(dd,"dd");\ + updateRankDim(dd);\ + *MM = CREATE_TENSOR_##type(dd);\ + tensor_##type *M= *MM;\ +\ + size_t* coord;\ + coord = malloc(sizeof(size_t)* M->dim->size);\ +\ + size_t* coord0 , lin0;\ + coord0 = malloc(sizeof(size_t)* len0);\ + size_t* coord1, lin1;\ + coord1 = malloc(sizeof(size_t)* len1);\ +\ + size_t* coordM0 ;\ + coordM0 = malloc(sizeof(size_t)* M0->dim->size);\ + size_t* coordM1 ;\ + coordM1 = malloc(sizeof(size_t)* M1->dim->size);\ +\ + size_t* Koord ;\ + Koord = malloc(sizeof(size_t)* nestingDepth);\ +\ + size_t a0_id, a1_id, n0_id, n1_id;\ + for (size_t i = 0; i < M->dim->rank; i++) {\ + /*vCoordFromLin(coord, i, M->dim);\ + subArray(coord0, coord, 0, len0, 0);\ + subArray(coord1, coord, 0, len1, len0);*/\ + a0_id=i/dSub1->rank;\ + a1_id=i%dSub1->rank;\ + /*printf("i:%ld=> c0: %ld vs %ld \n",i,LineFromCoord(coord0,dSub0),a0_id);\ + printf("i:%ld=> c1: %ld vs %ld \n",i,LineFromCoord(coord1,dSub1),a1_id);*/\ + M->x[i] = 0;\ + for (size_t k = 0; k < dM->rank; k++) {\ + /*vCoordFromLin(Koord, k, dM);\ + concatArray(coordM0, coord0, Koord, 0, 0, len0, 0, nestingDepth);\ + concatArray(coordM1, Koord, coord1, 0, 0, nestingDepth, 0, len1);\ + lin0 = LineFromCoord(coordM0, M0->dim);\ + lin1 = LineFromCoord(coordM1, M1->dim);*/\ + n0_id= a0_id*dM->rank + k;\ + n1_id= a1_id + dSub1->rank * k;\ + /*printf("k:%ld, lin0:%ld, vs n0: %ld\n",k,lin0,n0_id);\ + printf("k:%ld, lin1:%ld, vs n1: %ld\n",k,lin1,n1_id);\ + M->x[i] += M0->x[lin0] * M1->x[lin1];*/\ + M->x[i] += M0->x[n0_id] * M1->x[n1_id];\ + /*printf("M[%ld]:%f += M0[%ld]:%f * M1[%ld]:%f | ",i,M->x[i],lin0,M0->x[lin0],lin1,M1->x[lin1]);*/\ + /*printf("k:%ld |i:%ld |lin0:%ld | lin1:%ld | ",k,i,lin0,lin1);*/\ + }\ + /*printf("\n");*/\ + }\ +}\ +void tensorContractnProdNotOpt_##type(tensor_##type** MM, tensor_##type *M0, tensor_##type *M1, size_t nestingDepth) {\ + /* if (!checkMatchProdtensor(M0->dim, M1->dim, nestingDepth)) {\ + prsize_tf("Deep = %d\n", nestingDepth);\ + }*/\ +\ + size_t len0 = M0->dim->size - nestingDepth;\ + size_t len1 = M1->dim->size - nestingDepth;\ +\ + size_t* tsub0 = malloc(sizeof(size_t) *len0);\ + size_t* tsub1 = malloc(sizeof(size_t) *len1);\ + size_t* tDk1 = malloc(sizeof(size_t) *nestingDepth);\ + size_t* tDk0 = malloc(sizeof(size_t) *nestingDepth);\ + subArray(tsub0, M0->dim->perm, 0, len0, 0);\ + subArray(tsub1, M1->dim->perm, 0, len1, nestingDepth);\ + subArray(tDk1, M1->dim->perm, 0, nestingDepth, 0);\ + subArray(tDk0, M0->dim->perm, 0, nestingDepth, len0);\ + printArraySzt(tsub0,len0,"tsub0");\ + printArraySzt(tsub1,len1,"tsub1");\ + printArraySzt(tDk0,nestingDepth,"tDk0");\ + printArraySzt(tDk1,nestingDepth,"tDk1");\ + dimension *dSub0 = init_dim(tsub0, len0);\ + dimension *dSub1 = init_dim(tsub1, len1);\ + dimension *dM1 = init_dim(tDk1, nestingDepth);\ + dimension *dM0 = init_dim(tDk0, nestingDepth);\ + printDebug_dimension(dSub0,"dSub0");\ + printDebug_dimension(dSub1,"dSub1");\ + printDebug_dimension(dM0,"dM0");\ + printDebug_dimension(dM1,"dM1");\ + dimension *dM;\ + min_dimension(&dM, dM0, dM1);\ + printDebug_dimension(dM,"dM");\ + \ + dimension *dd;\ + add_dimension(&dd, dSub0, dSub1);\ + printDebug_dimension(dd,"dd");\ + updateRankDim(dd);\ + *MM = CREATE_TENSOR_##type(dd);\ + tensor_##type *M= *MM;\ +\ + size_t* coord;\ + coord = malloc(sizeof(size_t)* M->dim->size);\ +\ + size_t* coord0 , lin0;\ + coord0 = malloc(sizeof(size_t)* len0);\ + size_t* coord1, lin1;\ + coord1 = malloc(sizeof(size_t)* len1);\ +\ + size_t* coordM0 ;\ + coordM0 = malloc(sizeof(size_t)* M0->dim->size);\ + size_t* coordM1 ;\ + coordM1 = malloc(sizeof(size_t)* M1->dim->size);\ +\ + size_t* Koord ;\ + Koord = malloc(sizeof(size_t)* nestingDepth);\ +\ + for (size_t i = 0; i < M->dim->rank; i++) {\ + vCoordFromLin(coord, i, M->dim);\ + subArray(coord0, coord, 0, len0, 0);\ + subArray(coord1, coord, 0, len1, len0);\ + M->x[i] = 0;\ + for (size_t k = 0; k < dM->rank; k++) {\ + vCoordFromLin(Koord, k, dM);\ + concatArray(coordM0, coord0, Koord, 0, 0, len0, 0, nestingDepth);\ + concatArray(coordM1, Koord, coord1, 0, 0, nestingDepth, 0, len1);\ + lin0 = LineFromCoord(coordM0, M0->dim);\ + lin1 = LineFromCoord(coordM1, M1->dim);\ + M->x[i] += M0->x[lin0] * M1->x[lin1];\ + /*printf("M[%ld]:%f += M0[%ld]:%f * M1[%ld]:%f | ",i,M->x[i],lin0,M0->x[lin0],lin1,M1->x[lin1]);*/\ + /*printf("k:%ld |i:%ld |lin0:%ld | lin1:%ld | ",k,i,lin0,lin1);*/\ + }\ + /*printf("\n");*/\ + }\ +}\ +\ +GEN_FUNC_TENSOR(TYPE_FLOAT); +GEN_FUNC_TENSOR(TYPE_DOUBLE); diff --git a/tensor_t/src/tensor_t/tensor_t.h b/tensor_t/src/tensor_t/tensor_t.h index d6072de..860ecd7 100644 --- a/tensor_t/src/tensor_t/tensor_t.h +++ b/tensor_t/src/tensor_t/tensor_t.h @@ -5,13 +5,19 @@ #define GENERATE_TENSOR_TYPE(type) \ struct tensor_##type{\ - dimension dim;\ + dimension *dim;\ type *x;\ };\ typedef struct tensor_##type tensor_##type;\ -struct tensor_##type CREATE_TENSOR_##type(struct dimension_t dim); \ +tensor_##type * CREATE_TENSOR_##type(dimension *dim); \ +void tensorProdNotOpt_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1); \ +void tensorProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1); \ +void tensorContractnProd_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t nestingDepth); \ +void tensorContractnProdNotOpt_##type(tensor_##type **MM, tensor_##type *M0, tensor_##type *M1, size_t nestingDepth); \ +GENERATE_TENSOR_TYPE(TYPE_FLOAT); +GENERATE_TENSOR_TYPE(TYPE_DOUBLE); #endif /* __TENSOR_T__H__ */ diff --git a/ypermutation_t/compile.sh b/ypermutation_t/compile.sh index af85642..c0f6e5b 100644 --- a/ypermutation_t/compile.sh +++ b/ypermutation_t/compile.sh @@ -13,10 +13,10 @@ fi -gcc -o launch_is_good_c $1 -L$PWD/../ $2 -lytest -I../include_ytest/include src/permutation_t/permutation_t.c src/set_theoric_t/set_theoric_t.c -I./src +gcc -o launch_is_good_c $1 -L$PWD/../ytest_t/ $2 -lytest -I../include_ytest/include src/permutation_t/permutation_t.c src/set_theoric_t/set_theoric_t.c -I./src #gcc -o launch_is_good_c $1 $2 -lytest -I../include_ytest src/permutation_t/permutation_t.o src/set_theoric_t/set_theoric_t.o -I./src -export LD_LIBRARY_PATH=$PWD/../:LD_LIBRARY_PATH +export LD_LIBRARY_PATH=$PWD/../ytest_t:LD_LIBRARY_PATH #gcc $1 src/ftest/ftest.c src/fmock/fmock.c src/tools_t/tools_t.c src/bar_progress/bar_progress.c src/permutation_t/permutation_t.c src/set_theoric_t/set_theoric_t.c -I./include $2 -o launch_is_good_c -lpthread diff --git a/ypermutation_t/src/is_good.c b/ypermutation_t/src/is_good.c index b62472c..5df1146 100644 --- a/ypermutation_t/src/is_good.c +++ b/ypermutation_t/src/is_good.c @@ -90,7 +90,7 @@ TEST(expect){ int b = 6; EXPECT_EQ(a,b); //SKIP(); - SKIP("on skip eq string\n"); + SKIP("%s","on skip eq string\n"); EXPECT_EQ_TYPE_STRING("hello","hello"); float f1 = 1.00019999, f2=1.00019999; EXPECT_EQ_TYPE_FLOAT(f1,f2); diff --git a/ypermutation_t/src/permutation_t/permutation_t.c b/ypermutation_t/src/permutation_t/permutation_t.c index 95910d2..0bfa231 100644 --- a/ypermutation_t/src/permutation_t/permutation_t.c +++ b/ypermutation_t/src/permutation_t/permutation_t.c @@ -41,6 +41,13 @@ int sign(long int a){ p->perm = malloc(size * sizeof(type));\ return p;\ }\ + PERMUTATION_##type * INIT_PERMUTATION_##type(type *perm, size_t size){\ + if (size == 0) return NULL;\ + PERMUTATION_##type *p = CREATE_PERMUTATION_##type(size);\ + p->perm = malloc(size*sizeof(type));\ + for(size_t i=0;iperm[i] = perm[i];\ + return p;\ + }\ \ PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_##type(const PERMUTATION_##type *p ){\ if (p == NULL) return NULL;\ diff --git a/ypermutation_t/src/permutation_t/permutation_t.h b/ypermutation_t/src/permutation_t/permutation_t.h index 4d52f96..0ea6f12 100644 --- a/ypermutation_t/src/permutation_t/permutation_t.h +++ b/ypermutation_t/src/permutation_t/permutation_t.h @@ -19,6 +19,7 @@ \ typedef struct PERMUTATION_##type PERMUTATION_##type;\ PERMUTATION_##type * CREATE_PERMUTATION_##type(size_t size);\ + PERMUTATION_##type * INIT_PERMUTATION_##type(type *perm, size_t size);\ PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_##type(const PERMUTATION_##type *p );\ bool IS_PERMUTATION_##type(const PERMUTATION_##type *p );\ size_t TabToPlaceAlgo_##type(const PERMUTATION_##type *p);\ diff --git a/ytest_t/include_ytest/include/ftest/ftest.h b/ytest_t/include_ytest/include/ftest/ftest.h index 3b99355..f72a58e 100644 --- a/ytest_t/include_ytest/include/ftest/ftest.h +++ b/ytest_t/include_ytest/include/ftest/ftest.h @@ -57,7 +57,11 @@ #define GE >= #define NE != +#define NORMAL 0 +#define VERB 1 +#define NOVERB 2 +extern long int verb; extern FILE **f_ou_th; extern bool debug; extern bool unicolour; @@ -306,30 +310,59 @@ GEN_EXPECTED_OP_TYPE_FUNC(NE, TYPE_STRING) /* * only expect */ + +#define IFTESTPASS_NAME(OP,type,var1,var2,name_f,msg_call) \ + do{ \ + if(verb==NORMAL){PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ + PRINT_LOC("test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ + }while(0); + + +#define IFTESTFAIL_NAME(OP,type,var1,var2,name_f,msg_call) \ + do{\ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ + }while(0); + #define HANDLE_OP_EXPECT_NAME(OP,type,var1,var2,name_f,msg_call) \ do{ \ if(is_parallel_nb == 0){\ if(expected_##OP##_##type(var1, var2)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call); \ + /*IFTESTPASS_NAME(OP,type,var1,var2,name_f,msg_call);*/ \ + if(verb==NORMAL){PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ + PRINT_LOC("test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ + \ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); */ \ - PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + /*IFTESTFAIL_NAME(OP,type,var1,var2,name_f,msg_call);*/ \ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ - PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ - } \ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ + \ }else { \ if(expected_##OP##_name_##type(var1, var2, name_f)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call); \ - /*PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed %s \n\n",name_f);*/ \ + /*IFTESTPASS_NAME(OP,type,var1,var2,name_f,msg_call);*/ \ + if(verb==NORMAL){PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ + PRINT_LOC("test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP ,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2));*/ \ - PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + /*IFTESTFAIL_NAME(OP,type,var1,var2,name_f,msg_call);*/ \ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ - PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ } \ }\ }while(0); @@ -340,15 +373,42 @@ do{ \ * old combined macros HANDLE_OP_EXPECT_ASSERT for ASSERT and EXPECT * is_assert : 0 for EXPECT and 1 for ASSERT */ + +#define IFTESTPASS_ \ + do{\ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ + }while(0); + + +#define IFTESTFAIL_ \ + do{\ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ + }while(0); + + + #define HANDLE_OP_EXPECT_ASSERT(OP,type,var1,var2,is_assert) \ do{ \ if(is_parallel_nb == 0){\ if(expected_##OP##_##type(var1, var2)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + /*IFTESTPASS_(var1,var2);*/ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ + \ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); */ \ + /*IFTESTFAIL_(var1,var2) ; */ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ @@ -356,15 +416,20 @@ do{ \ } \ }else { \ if(expected_##OP##_name_##type(var1, var2, __func__)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + /*IFTESTPASS_(var1,var2) ; */ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP ,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2));*/ \ + /*IFTESTFAIL_(var1,var2) ; */ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ - if(is_assert) return; \ + if(is_assert) return; \ } \ }\ }while(0); @@ -378,22 +443,32 @@ do{ \ do{ \ if(is_parallel_nb == 0){\ if(expected_##OP##_##type(var1, var2)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + /*IFTESTPASS_ ;*/ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); */ \ + /*IFTESTFAIL_ ;*/ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ } \ }else { \ if(expected_##OP##_name_##type(var1, var2, __func__)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + /*IFTESTPASS_(var1,var2) ; */ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP ,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2));*/ \ + /*IFTESTFAIL_(var1,var2) ; */ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ @@ -405,11 +480,16 @@ do{ \ do{ \ if(is_parallel_nb == 0){\ if(expected_##OP##_##type(var1, var2)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + /*IFTESTPASS_(var1,var2) ; */ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); */ \ + /*IFTESTFAIL_(var1,var2) ; */ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ @@ -417,11 +497,16 @@ do{ \ } \ }else { \ if(expected_##OP##_name_##type(var1, var2, __func__)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + /*IFTESTPASS_(var1,var2) ; */ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP ,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2));*/ \ + /*IFTESTFAIL_(var1,var2) ; */ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ diff --git a/ytest_t/libytest.so b/ytest_t/libytest.so index 6e3602065a340546715958d60ae9ac0a993125d6..fab671842810c6db78baa25a47cf2e647734da0b 100644 GIT binary patch literal 295000 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

-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 z%0A{L>5LK+_H#&A7GiMI&z7!Sn*nl`LY@-`*_n`5KW{qD4xuZqmVO=~*L(eZm%E!v zta--k=XW$U;U``viwCMJM_tPRMOXR;2Krr3xHws(!Nz4Drnt_Tm;;3$efUC9<0 z<|<_IUWCyPHb1 zU@GlYU+9iLz92&3Yr1qAVu{43AMmUs>kB-XCPu zF*?W!=`^Rc$(;WFOQ6w3&Meogs2SvxfMIDhOjDM>`{tG#kWZ+~xG`KnxNmORf0fjY z>T;As#;%TBwItzWd{^&M97|nVXbkASl~_vT9;ND%JyW{x4StxeZigCaSGQ8a-ot!k zP?s9>q^o;cxD^z)9L{*Szaw5-UA7CiBu=}l-=vwU%PEejUN+J|rZ&Y9UtLzUC1UuQ z*JWZ8tuB*!MbbH4Oqkn{x{&Xtt1Wf;^=J+o4SBIbt{0OC$fF2psmr}$XuA4nTrFK) zU0m|I`b2j(mFWGX*VR3kvGi3-9*gZh^Lpk=*=DXv2L_t1M)_>A`;8H{yIm1d7x_M= zH;!T?s!JI!Fndn-RxL$vI-ZBODvqTt%QP_Xuo0FLhKB_+goh2Du=uhX9xD%5kP=B} zOcBFF+Y?`1HohP{+=ee@4DNWveH3Rr9`<7VO zV?NW=Wu@3eOF;>#fb*o7kTjuH%UTR>cxb6hpA3+%G1W<@O&sLCgtU10b74D#`*5}J zaJpRY@$eCMHG&SL8UgwJkx@xK1hTcfejtvY{R*mw=!vmMQM%dnRS&X_| z45TAemsY@Y)#WAlE!7lt`JOIdkay{L()p?oLpSQOj(egmD_paZsE(-1;(*~?HT2b` zRbY^wa(Y!k7ainB3EK?vg+Qay&c&|T3(R;099S7JT&RZsSX~+;pJ8>G(i-9GGqGnR zGBPhxUCzSk_^uwOIF`D6r!kDZx<#wCq;Ua^!`QU zDy)2fTie2YZK~idwbw+`$t7#;k`w|ujMMJw?le<%S@~CCmm=9NQ@_FyzpHy9gX!wB zLu{g@pdqioa~?5aZbRxqzMHPL)MaW0$Zwfyyhl3@@)<%}U0qoWjk-LGtEH>ok;7hB zFLrlRiIPmE-ZK_s#?sZLt9YPmmrGmG8|mtWhwNN6Rik`1Sv6yXZRgS`bt#FX7>Vlg zs=zQ;_MGmi%N(4J=i#x6W2sBW!}N-L`4bBY!^4Lk$I(>QCVm(m_JYUC!!D!*eit6; ziLWk$vC0GPYzy~X#jPjnKlhnfS!TjgmmOQVBf9$tqdJ`cAs$~1N9 zCN|OPGM`r@9r?R5a^DtGm%i}P@X%71QW+p`R>)m{(leGT1X-Do77rg2L&L+9akcQU zsSM%q@N9QCm3U|}Ya?%+9Kj5xuU$TG$)HqS-nc}zb8weaJ2229HOeCorx_z`4{Z^n zF5ki^q%Ki!Zt0D3xyo`4e3nXzvOL1!F~FU4I_Zq&pNsL7Wsv;w7-Y-2)iqnhL~zo- zIbe8|8v4q@Jo|%`l+&vUj@3cNOUOo99uQ~_Qt-R_a^kOH(GO_vpE{SVrU?t(x-2Lgt-lA%4`g7dfC#HOEN%?SIBB{kXIAZ z>gD$i*dbhltEHFw$@N|@cXfADiDeU*L+Ry3nws$QuoJ`s)s&x`GeF5zr@%nlFOn1a zY_GM(2-^#qMQO@197PeRDV+s|xr)@3b~qi+!-a}tX-Y966X*U_SVkDWG#HN{Q(2?< zVKk*Y!crcVVBB~v`ztdS_Qcne8czxj`&zhPjuYH3p0IFNFcX%h%+~_4E;bLx&`dSu zyZvDv77gq&hN(=?@|*hFi}O;Q18Cx9abpb~sCJhU|Bb+M0zEUJ*x;vnBcJT?!T zi=heOeH2P~xLpo=JpA0X zXu$A~ePXz@aG^qlc60+7nP-2HWpWz7r<5*pnh?wruCoOiymcOP%?>i#6t1!XLq`q& zfu?i=a9C4zHE$*kqW1DdO4GX{J@MBmr~F%b`7JC;3~m|4Erl~4?mn=_)|79AQ4*)!%dgW+HKpRu zrf%8pJlPOOe15KMLd5V>uohwyttsPpMbfD%CY+r@n$i|NnO?RuWzSv?8x7e+A=ipY z1mr=)WB2j^F*LpW7YZf4Tt!^+diex*Hy+16Z1*YHlNZQ#4tlwG zV4%rrl+X4WY>cqou~C$!^uSS!L`^x~3oKGo4(-Xr!%m80Y04rE3_P5K#e?C?*JBZ6 zDy!bZjMZIFyakVyhq2t_uB7z z*E>A#de&NJpHn;ml$H!Q6GVidiEJvCVQ_;(i&JjRpmH8Vopf^2sq9OY*4kz({}mN~ zs=p7t1&8CLzmLO5yjwT1aU^3XIQ&XO6FmhxQ!LPZ%CYCr8d=*63k_6Wg^Gy7-_Q1h zaJ}}dG@NoCG=(`O%`dksfo6|YX29xT!vCHIV2H&uJL!D0jgA{u`IL9UDhoWZa>$KL z_;W*oFR5U_Dy>6<+#-)rPddoY;ofe+hG{&2(vM?k#M+H+@<-h!L%K`+< z;uZPK^yzH4?wx;$SHxWGUgdN=PR}c&Rgc9hKdJqw=O3_vC_LOd|9S*bb+d2eA5+ge zk!`K#&4K~vxL8X9URm~})N|6(`_2f_J0DMcy%UKdYp;?N=sC=nUC%uz=AD0SG4ROq zFuD;fK{4D0ET;0x7Lkc3fwS2I=U*bi*hY9|HwHKLZ1Kv33@U$QsB!+4PUTBfY1Q-b zB4~JJ8hT4TFO_D$p5O9rasI_nYCV@_#8P?XX0gCK|7uEW^!)2rJ67kbP%#UvmJ!0W z(SGsMbRotswi>-yh;izF~#rYTi7##M7 z#frn52nn2j#aa^VRqh`vI6TzSd#37bgeSh9@^{u^w?D^IrG>+%M9|={ z26_t)&zB*59G>Cb;{0nUW2om}j9}_spZsGoNP*Mc6MKW9;FNz& zNU)s>2E4Kb^1&eG2YFnaHoP)eRCAD@e^y&AGlSd`66~Ua{}ZpYhUzGT6%9*y*J{CU(c$5iDB=~T9(N~@kf_|bOZGW3>u zzEk@9^?bc|>n7fQm@$-keqBQoJp(&JEKpwAemWf#Ub!|j&`)Q`gJKrg3L}K;*{8+v z%G+o~638ppi5kW#mRH*2ae5riQ9Tx~I07c}N}UM-4$mA2C*AD9{9}0K7`UZ4EK9%f zy9hrpa#2eHUa6H79Da<=iNW{R4~gFOqb$7(7zvA4W@!SM7aNDeDW<%#>H8=S527W& zVLs!T!Yk#(+<0E;A{lT>L=8QP@JbcfWN>Kl%6yTJS9zGK9G6bz2k^(n;dvn!K18Af zhd)WPkHas$TQ|{=p;R26!ic5v%1|cT5PH6UcWe=>DTnew8Ngpu8(VFN6Vvm{fPmq5`1}SjLd1BWhkisj6garRA zrk08UuRIwV^!2<^^;o=;t@fjy?|lk&S4Mf|=KJBkn_a*^rk-2FF0JQg3f0>g zixf)&Ua9h^)N^%9?-8oE44(LUw*WaduY4n@5M(5w^x zLZYOe6JnBI&xd=rZsLXkjG^#KS4J##zcQD}_Rhh^*OTi4)bpXCfm{_TW`XrFLb&d9 zavZPRfL4q|UOCKnES6VxZODYfE~>}kmD%bTaJU7V2!q3~?}L+WcK!bJ)jJ1U0E-oe zuM-kU=K&0riC0z(7aTrm=^d(i2jhvaw>u+Y@k&QcAoF75@HC1kujGFl#o=_c1UPKW zc&6~m8zK`=0tXov{La6K5Ht~9c^`ut99q0`V+NJ4s><`zsl0-r!_6moLb(34P8wcm z3Qb{NN&Cw!d!gH7mgix2z%1)&0tT5+!;{YHuj#sBmL!GDzU(&`-OjucnxC%bV*BK=M4C zu0cys)7^l_RBqWQGVw&vfIX7VyCTBaM$W>vU~p5@7PmZ>LFIaeI_cb&PUQruv}(Gd z2pVpA7QLmW3#Hkw=~uj4H*qLKsWttNh9uGa>ZA)ihGth*kTyGJe-GCH~SO* zF*v*d7Ap=r(eI>FBi52&&vNI(g2OJB-jh}DNqFMxEzL+++_GCD<1jBa4p%Wq$}OjV z8O7nHXbEt*meES#mM$U_&n;8g1M`fCFt!nH=?S{9?SB2`*A z94UeZhexBg;IOd_;p4Ejck3n|yqhr;Zt2H}rS4fiW3s(H%iJ1rU4S*tiJ^gJs!$Pe z=o%qh_c!8JO_ZmBM3u()joxkpqZEzWvRtd$w0OGvP-3Z`(& zfBWT@*090i7CGN;c)Vnd`FM=eNTb9Da^fg^i^;q08P(46R@5g4M@CfCWSMESO z-0VI4V`@5yWNJ+hQMk@!G&1a4Zg@ayda9-OO4Zu|Pkg;ih$M?!>IlljPrIi72FP-i zTe^O3a+ilN5U2go64Z1lil*#ahKWo(x2$Ab@Sc;1Ft!nH84VjvOe zD$k=ztET6zwq0m}-cr-uq`zO&mwC5tVtQ}JP-^-GMlf~XvadRwQf~R~IJsu5E)5N| zR)vaLVueNs*ORJ6xJ7U{9jzFN`<8a1hOvs}mhKRwItw{N&^Ik)h)dr-6ndM_qX)UVk9hXnWzb5UThrp zrI>Qd>XlI(?m$a`!}}S}6mHosGV$EfMl#^67ZG|C;g-^{$>7l9mKhmT{>f0|J=%0C z=fNKvho_04;g+}1TX48mntdF8=-s-B6B$ayVKqi9m0Ru+3v}Poxhk!ZnqBgl9jo># zR74y$HbS^gR7t}v4?)P{7VDQ=UW6)-N_N9cNuE$iV;T*el{B-biUDSpKc06&B}aH- z*B}`}C8a`wJ3ke{fJ&YS4Khz2FDrRf3d_l+GM}&NiE1R)aXqnJ3^4iX$dKRxwMMAq zKmBsc%Lt3b9`cJBzb7OwWRC+JHf7HCPrV++r?!Z&Y9s7%1#B`^Yq7^4A9L7vl`T}| zN)d@sc>w;{RePTZnySr0Z>ic7#U#IKD|)wX;@lUXTo-^n z%7+GeT7`;PRSy~=T;Fg^ggpd@x1kjykv)#`9gAg;gCAwW;Z3T?Vvo1gG2pP%pa6$I zc88O0_L)8Ct9RQ`lpn$i%ZpS;>I&tcVaa5%ySt!3_>A_P9NR%C{J5 z{LWN5mG@DlwTjuk+;(9AdJ7Jpmi|5tM|!tzV$;oxq2TZv4NdgatEpI^>{0b-S|jW+ zA~aA16)GYQcUJO*aJ{Z#8un-bO%{8k|K*l!#MC2`S73EOCO^^u4DkWYPC6Tw(Q!j2 zD|shmvd|MN4?Qx^&kG4oQ^9~tazcajlEl_xfX@g|wP9};|B z1!MLl|NfU-PKRoXS7bH#Oa-{ECtl)5dR}P=1Jm=$Sk+_k$}eg^>iOjdQFliwuT;Jf zQFXI#<{wkfyO3?I=PiN(=Xk~<#gc$mR@^D|+}_gr?hT^%9X#>%P9ln|U5P8ubLgjC z&pj!oys~7efk&Q)(M@Ox>bWiNlvkQBiQ=#;S^^yYKrd5xD^1Jx`L(mdewU! zp7>SWl323XrJ>+V{IsjO48@dPZh7BiFArfLQiq`>sOs{FU@E(e7MXZ<`G#@9zauIl zjBSKnh<8)f7Q396LFGtQSuLH)T&lFHy68RIg-g&|s`@tR?^pFT-mRN><7&oGs(QAD zCi;2G;bMWZ%de&Bpv0<6XrN7H>{71yn$9Ef$Va%s9~&P*`+NW zr^n$e)nlyKHzjio^YA32-=q@l0Wt(qe8ryL6NcI6sOS zdK6)oV_=iPp~WuqL_S_+mZ}_^PGu4Nv2l1#$c4p7l;CiaH2XOG+`DxX4H!zrVO>Tn zm0ccYvORXW*^%o4)a=RycC5OpP!Vx>z7fK8t;5o=%SZ_QOLlRg!(*2}V7Fvb*yS{O zfkBScRM!=Y%*0=Xcfu}?C)Np}6n6Rh9hzyaZ*_6kl@tu&aLywljBSKnh<8)f z7Q1|h^-8)ku~Sv$0uhN(`78XftNLaUG;7AKNR(7{IWftv>c2$_xk+@ok}(u^xttM8 z-Mh?Svb{60$4bdHW3~5fJ66L~sF+38%Lw86(yTak>4a8{M0VLHYUo%jyKKSZ^f+v< zdMtLCs(u28FWeE}WmN~*>Soutg1&lZVz0wu#o=^90`G;#S`x6!`_~H&+gf@DsNVbV z#Mj%Ek+9gMttOCpv2j?NV#+Rq-iqRI5?TTr)?++V*kz{3#8bg8#wF>0{Vbb5nVPEgoO?-MeV<I>p#A!wh&bGMz!Sptl7Id=C{t=~veTX(xeY4Ut&cCX_jO86 zMTZEx#Qk#18_0pjEE8a}WKx*ra}JLI=F;e-^YJ{oZ3tr_?}S-qd1Ct+2u}Jhh6JBd zL14uDmObMf4AMy+FDq%UgM2A2n?aU~YNW(D!xI~C2ALfaoUDRz%rfxb{c_7}D30z} z^8ZGZ^*n66_(X8Ta>|K#oW7Qas2+<`)~WTV1PnA|JA0>i@ zQzoFd)biWX?AP)P@77I}Vkoti_iJdPJC>`&0^PBkv!B*TEx-J_9jk^aRLt@^#t7kh z_g>U8D`oSrLxSHtEwvA7lvAdO8pbM?Q=Z1-^f=rL?a*U!%H?m+D(+bB#Ak5^hYwwX zRyX@2{xLZ028$Jk9qD({IX>2sfKz&3EjUbAdQVclweiH)>o5`)r|go*ILwQU!_OEb z<&*{mQ5?2KOMt^Qj8+P#bP}0(PI-YnlFpeT!q`R#;3n8)aA<%^-b6HB#byJzH(L&rpE$&k;6rTu=SWfvE=B2OY(^ZefDZ|uy)bgU6QOlK-QwlDIlWz6_{xP*Y z7D?1veiW|5lKG58hEuRxu98~5&C+|d>g|jtzTRd;ki{vd2)e{iyOs~3m~zSuubRB& zAq>RlK(qw4TpBn`<&=DpiRYBHj7!q#DI$z*gj2?0a8t_`r<|2RkA#{puKS*bJLkgTwk4!AUp!KK?N{ zEDN_3hXx z-OMNsccCS~;ULB{g;Pq2x$&IRUNYc(Cu-uvaO6nbdP*OK+CyJz(#FHUT*{udEhSiJx{ozd|wZ{A-$l zN1lh#x@ZaNdCqUt7=0(KvB<>p%0TwO`Im^Wo+G?+K5R1eZ1Ku>FLT&lp{*YnLHXx4~ZktnI>a$=HS&wq;)a+B!PlDX0IFGegM1R@37sl;oZ!DO5BukCVO z!1J${>{ty`p<)(TFC&EOOSeUMMR3>&tr&^CvQN~|u~=T&g2(A`*k1KmyfRh&1P)7K zBWrND>U`LW^RE{4)trC9V#VQfLIUSsv6ck9^8TfQ!w_ZVaN`zF2-iz~O~WgvqQk%9m9fZz$1CGuwd7KGWfcv;5Ct?l>8yBxjvKmIz&qiU znV#5QhJsW6l#t*PDj4im8ixkyD34K3I>;B|v>D_>QH?x1r+H#enL%cS1ShHB|HLc# zP#xu!5u4$s&(ywX7|(EUo&5?Ukm{KE5gtQx3L zF$=7M5yJJ(pW}GtAG9I~<{_J;IJz!RvcbVzwx^Wv6ck9(kn-B*vHaaQ}x!s6JKvBM#AEi-z72*^J3%hBL+!% zrQW0{4s*~F;Be(H)HrZeR)vwZaGdDH{|b?b=aot9fpc~dVQeG3(hW8l99q0`;5iN( zuksRA`HhIgs62uyEgTLNL4(61(OYoXKuq#+c)WM(Cizit!fu^cZ5pnpa5yExvAJg#4=Mef=ywVIVc)ZdAR!c60R|e1k3~{w4y3a%g z(Mc_+Mbg(vm`LqT524GEsBf&s651^Hl*{m<$kJEgXqhs0?!$X%iuNpZgL#LhE= zbPNgRsNny^D~%E1D6gFUgJf(yED%3ZW^N1J?A5lTF-;vJS-_-EK)29c%|C~QqPMn5A=3Wy_eyMueUK#WbsNZL74by z*YiFAELVA@%QGf(d0wsdLrYN42kB+Xer1Tr#PiCh?2&Y?7ZDa;gjZbHXzJPGl`}G^ zd_Yx}OQ-T&s^2#NmhOvs}mF9Sy9*2`ukHsrH)iL03EH<+S zhcz3+NjLj0{xLW#h0rJtcM}pxr|4-$E^0}@D-~J_4x3qemp2lA9aRNiBIIO~mrSeLiSfKlrt2WXaS>G%g zXUFPN6)GYQ8yX>8AM;%rUU>jQVO~l5%PlPtRgYPIgx!)&VU`;70)rfoB5q6FK=;A}fmp$h7l-C-yxf zPWsv#vSy1~lfo?j?U!4!q1@sYdBbz{w~{q-%Xi`zakoD1P2*m8oW7=4s2+=3PE=P> z(;M2NrW497?M_Fy-0Wxh$JF%cNT$|w9j$Kxv)D6@aJqxQVGV$EfhduD`Z;A+G8{wA5 zu*uZ4#Vw!1kaTBZHB{vs5s6Xx9sIFty0ZwHnl477q^1u_vtQG{dADw&Ekmg_-I@_g z<(B7|Y>!(8er6w z&_vI|DvJfmEqm6}LE)BLLIdsiN*)vuhii-wuHRmlhFfZ&Lzr9A{&LHcu*>6?k+55` zDcrJ{CSZ^kX?W6E@HkyJlrfuk!Yva$u`LV+r~M~Fg2PpCzW+X0ozNgT@)++=>mVPB z+h&mYq8gcYYItIgm_a6m1V^i23b*{XUv9|m0Ny08F6*9Thx=-i$f)=k#Vi*WdaswkIPgEaw1vfr!6D4JB;b}V zX9^A%;WIv?x1#Dj3Qv5!zcWM@w``KgILwQU!*?jA+)`y!6o=Vp32^v6}6a~>2g%^-J*YGlD#vDia?G2`r2k{9kw zE)rJ=gIMsfVviAOG^%#k`KYcc${urTA_Q)B77l^^>Ut7(Y1QT{Am3pC zGO$OlGo)%8SbDEfy;tLjueUj|VzEa9!IAiBSM6aGQ}(#&5tFVwgn>vLgqEOc%K~w! z?2#0ic=lMwxFnrhMTD`9u*cIF+*GZ_9_M6GIb2mH(y6?NDlPVScZBW2#po?ndyDk< ztG2Uu>n7%$$QVl1&eYIE+2atgK-uHx&*-4Us$*!N4J+kAF{^5k5yJJ$pGMe2a5x98 zNCMg8DpA8&#j-~Z9;e6Qbk$?A$3N;AaJV1aR)fP+Yrsi2djS6!_9zFp6o;kgH+~mk zI3pLeBw&wfrwIk+9ffswR+mv2pki#gsk18WzRjZnOkA9Kv{} zu*acdZv0e#xn#g87B%!J!X6c1lfj|I9t9#Fukvq(8ox7@PUXAs$HrmPkPGjjx8QJt zH2XOG%)50H^%zRUVJ${1l|3F13v_34{U@|WaQN|1J64@ksE9ahW`uBk!pCXYV>pB? z_DKKBEe|559+~_Gt0k90Ca2N|3~_`ex{lam=J^EggiH?g#5zKckjcIwG~5Vo<(+-z zl?)9sTOOmHq|Tf(sLbzMQ&c0*&Lf`KcE+2VA15TZTdj%Nm;C!*Zn+n#Enbn;;Kmh_ zG4hJ|kusb6pQiMKf$8gco$9f8<#e?l^?WHlxh$-zymHNPaNo_I!9S*+n!WNF<$mVl4@HWl>$hVQ)+C1FClbp7?sNWh5+Kxl|L#yx2HA ziDJqtLk321I2kPg4o_h`Q+Q>T$i$PtZpH=QvlbD?Ho_}!V{n5*i&w7Bpzs@DaJWK46Fu>&Efy%R9R4946kfSEG|)f# zpolo!wA2&A_0kX0@XBfE5ayM%zufXW^o=O$%U^C854$Cs!Yr$30tP9d;duY+LAq`T zV*&4kS!Q}-dl?K)`cp!JPpDw9O=%n&q@z5>`(HZ97vi=V)7OgpD}Vo#YtW`zVN zsbC7T{MTP@`3dm^y9~E~xn;-_xUXkkkBetSUhJ-=3LdAg>iboX#V#w=2UK!??~8ciSM>;D$=bE_ z6P!8p)2`~vD5mT(>wW`~JP)ZW&=OR2M?^4{UDk?BJQdVpkEAnKL>Su$yAbcDsx5XI znnC4f40Y1EA)U&{snV+I!$r`r%NX>Qs-7dwepOHLZr#M*qZvb~>YW;zD7&;13v}1g zXfdsks-85!j#WJsDrS+DGeWrDQ50bp`8;JWT9E{@%k!d!v5IAv(RiF5hrg>Hi(T40 zK&yD>H3C~&gTua+(CTI{<{!f@onW!z@KXAnbSlSM60l4669tE-TY8UIy~p8+ulFB% zZ?VfZiHyU%*f{)p?}FPYoNnpmvdmZWK-DX9-4qb zuGCcb?#D2iiN71~gk3K6#3nKrWS0v=f=yL$zW;g38psEO?CPt7Y?JD8?i07oAh(KY zq{aEn6FbWc(mo{EQU(8Kc3HMCm0jwf4S8D+D;kMsgh?#B6vD{#Rb5^6SnSeAeLz*O zJQY=4UD@UN@`#9=y_J7VRS!ZswW|9mV5c!28TKw6t4me)xAb1DdN0BgUvE8P$zqo( zf-~{cuIk?a5rp73grNPsCVP1ZLjjQ58!bUq@1mC}dzbzq6VEP7*aPQ0BEr~4*oAmE zRc*1$Nf}h;smfC6R5qeYtEy+*W4mxBdP`MbA^rWTzR7sxeZ)iN~D3Kc45k}rQ)dYt->IHh=J3{onTh-D# znUS#AWwa)cd9iVLE5(#umgYrq_ybx39Nx)zrm)Knk%^~*=8^$N{#_aID8erLF}T5@ z#V*ffP+7uIC!PC6gh7g^oI#Zq4r_*7cm=%$hbyGn$KgBPt(!Q8p;R1}XT(z3rKeb+ zdzVWJX^qtE+jrZsxbF~&IBCJ%N8rEjK_CwU%os@~@1wB-pVW ztSq(M+S2>S;iC69Jn{9e0cvbcSt5uMKkZt6j$+Cwd+#uL%k%JATzI}bZvRn8WX7?t0`AG?;X5<#<4{0@nd zTK-3x{aW7c-MWc345ilc1&mlKr##DKdz|v{n{r(MPTA7ij#WPuDrR|gHA1*Pe_kA? zv_UIIBByK>HFPYNQ#RmndK|V?Jr<{olhAX=a!l<2hl>w`t!{QjhrW8}VN+qT;_w+l zBI(>5Ye~Q3}tOosG*6ThaD{zD5v~2mktW2bPo-*?G1TQL>#U*Lb!hO^)#Gv zJUaXfPT7UQJx&<~n;K_bGLd<>Im#Ke$_@l8$|(;Pz;WHDj1-@U zw^&Z8gvaS?`Cipyamos{9<|)725RmE<&?j&5K}k%qEZrfJq25bOlvKFDj;zV^kN#K zmIRzK>nN$^3YOmIRqu0n;@9#ZBFNgO+%4#G=%-!FxfD}QdAX;_Tb_r{C1?q1xjk^0 z$|);FCZ1EOvq#c-RYd4fgj2r3;HH)>PI)MU%H<4o(&?H`i;( z((Kprv)-+n*m)4&t#2Fkr#78LFIK%5;fb%e9#LfRN)l{(e1Q=-uM{Yp-9=;~2rzy~_5PbjmybnjzP$=a!*?R;W-h3v9L#!u8nc z5nd4-PDCq4BCoU(HH=j(uQbNv^f-J{^;o>JSseoorzZlu9J@zw*n@uz4tK+1#o;zW z0_R`X8ywn}1ia!LE;zj0()-?S(fh7r;czk|Ve!gnO(64Pha3Auv&5{ymBmkzz}~iqe-WN*kh*rQoIvh*&$chZ$OXm%Fox*a3i>$clHTb z|Ii@M$Ya!#4sx7{o1B0hDHb5l&OM&k*NivG>-Uf~Kd3eT6R)g<>L{;#JXJDAUJ*Z1 zW^v@Ulv3RALI*NMUjZZQQPgGvH_)n?3r})Rzb3G(d>-hvl|7DCtiX{QB z>@OwtJlWE_eW&Q%iYLC_l|YWoEAI=c#811PCs0gzWmi`Nk30{f$6P~GOfgJ)i5jD4 zU?+-9Jg@X-54`6D#p+RnR~o=3Q_mK!d?NDkDyynW{ti{F%JuNauICOSXk7RjiIRHW zE6sjA|LWbkiPj9I*7Ny{SSqiKXRMI9_Ru zR*XbmDG@cC`|R1=$Kh9aoF0eGRgc9hVuiRZBz~Otp3to==!@}WYSgbf4M@Zmz z5n?R~cxCp%Eb6Ud>Fud{d*F$W!#0eB#VcoP0+|;ZhZQNNymDukC=Qco32>NTJX3h( zX_1NNl^+-voU@AvV;kX>sTkbg(BhSgGN>G*Dr==v*?}r8URmDRcHv6&7994G{yq+G z_HNz8g5P``zNw*!o`D@D7AUX$F_{huuiOwCX!8_#P(&PlYJ_n8`txacr7Al7D_$9d z;XPg%4yz@X!Yl9501WXw%}zRRccSBlE@tvhc;#tN>=%ZDQ~u*2!NDpx-~Y`1#LyrY z$Ya!#4zgIBHiOI))yT7RoF_Ka4Dw7!FsXw76R-3~z@ofz?wEqIuT0%9 z_1w$SJ6`oZg(rSJ_a}<1{Yo!Em_tA9dTvEA<&{Yt4LtHZj4nV+P|rEQVk)mJ6Pb7t zIEFov&PyUfk0QLX27{Y=ws@s)29-q&b<(*aoyx&fY1Q+dD{U8sqPNuZ3)0`O=O?^d zH?d`_U(Y{jXrkv}EyM!duhf2y)<`{%4h>XIg^F2V|4j6RaJ}i-I9}O;RwRMEGDg%e zR@CVgn@k%oR6X*Z4%LX{?xkYd|kAKYirVT7s9G*|Vlg{C>mIS=g2|GLJ z-H1)H!S_+B_ek0Ed7s(rV2CVU*(i~5m=_y|^C_mhlDHy@!zO46aJZ21OyQN5A`{Om zNy&h7yofNi5nj0zHW?gRyt1_ehmBWxj;dTCA~7oWz#kijc_L`mH~Ww%!C^Hq$;aUl z-mRPH{;Q9}Zj4y!e&sDD+dBt)_8GY@!1|_iXrQqwR74#1GeWrTIw1|O6hSD=D`|hZ zWduUtG0Um2Te2z4(t{>okc%|c-7aSs&7^-h?}S;-_rzT25oT!`5_-mghv!)bz>d zEj67ZL-;j)mUrtWM*r;BbUq`Px@Y-*Je^W*`EZq-JNewPTg7LPf-3H6w)Uf5xWamL3oa zb4%J^Zutr>dff6E?3Qc_x0In57^H+bO**B-A~Wsp%;iHQ!P&%ih&4ubgj?40kxxP& zsbIh@w}l2t%457gt%DqCA}6O|2Shao>EVfe!iaNg^h3y+wJMmxE&uJ8TUNpYi(BM; zd%+mV8o6b;_(j~sa?2HXoW7>tP(2p6lvP(zduC z>r)<&aEsuu30g4{xn;emAr9>s-CyIZz~l5dY@m89ZW$ukAzt49JHX3p-w9s+<{yK@ z(Xd!?ID(MCzpoT)Nx&_Wu)~AiUY6d@s`o0{`+578vl$7CTk2^7nHL*}Srk)l>2^^R zhYzA9z@fuIGa|y+M!4lk3~q2}aZA$-DhI2|O6gR#qDqTf=C`(8 zxDdSshc`)oABR_Zw{BwA1|NqnYiOe9VFz3~rQGuUV{%O#ULG3gD-|jt4i_3BT)&V^ z!!2dd!QvL{ms`$&%^sBugPD>%p^}9h5jrQ)PJBLhAw4xzGJ|(QCF4D@pXobic{e0D zNCg8bsSz5al{{Wna*htNNW3(IydkQQSf`pNHpC1vAtX3T1%*of(=WF)Mp!KNkYCIg zI12visn;lRg~*C!k7MvSebx3;Jr;X>tVW}{PQejCVI5_UJzq=JUi^(!wO=8pTD2?T zF#?bkYe~Q!vrD9ESMLe*PEozjSx1Hev$?H&tt~$HN&^e#B5Goomyn97UB@)gB^( zhCLobZ>ic@((G65bKb3+*!7iPwL3I4(NnKnu|Rhwr{&WciPbYL?O4@Op<-55X(NQ| zEssXnLvXkYtw;jd<5^L|SjDnO5|7j4aGUC}*rW9YQp&*L3x5T8$y+Zte2;$&dt3pF z6^Cu;H+~l(){=ldZonQ6dfQrhtE%2(Wq0SX$6k7GvBzeKjKjRxI9yCIWsehEL~(dN zS^^v{8%d4Px4+toOgwvxV~?bBvWPIY5%%Z=n+y&u_W0|34jZrXLRGm&L}FAPLX{Q{ z9}q!h+G$-W-EmTny5lW#Ni+# zgzN4j(y+%z5VF`K{V%sHf(ss*oCT{TmqI3aGyp?%&_v&Mo**#Sl`X@yyc05M>xn(X zP>@Vog#^!3!GKIwLp~T}XLB87i`16WSDZFv(o<9;Db6RJSW`2|r6IxdRd7E3ZPqN? z=?@0~`?tRe5n+p0WHnfKxMXZSED%3Z&YAqx-~t$!zMfA|Jr=LrtM;Sre#iE|@FeAx zDPKrEZ|5IV&qI(%t>^x59+u2tEK)29c%{?#QqRv=dUI9p#dzZDJ%uQ;c%_;kO#HO# z`40drS9#^~b4}**yt(pDv;_6Mn_i}zc-=2D@w~E>J(5mm5n=H~cx41^H1%xp%E=j2 z-lHlHO{elqs-i$@)=f-W!x+jp1fFIDQ+Fl54Wm=aD_;zi zYu57xp@BYDp<));93zD5Cx=9MMQ}I?tr&^Ca-pbUtYUek2_C1%;W*V}@yZr;3^=?E zANv{{R{dOX*pq(@4)?-h#o-P@BI(RO$KcSmB;b|O*uOzN-yi;ctEDW<%#?CdBGe?m)u!@C*J6khpVWa3HSe93_GnTRm95nlNRgBu)Lyz+bo zmA^97N$0_IDqo>W3x~Bu(D2Hu=q)(>SekttzU$q(i3CHbIIO^krSi(HVu9{T+6|^P zvc4%i%Z^oR6)GYQ>lqtgxf#kK78U7Hz4Po4+`B^{>NGUQQ_*M zo)sD{>i=5G%)Ye)X7>3#a+8PEt&d5c!!|C$w=at^ln!4F9-v{B-%y4POl`7LaqcOr zFv(IKdr^SW1fs;I(Szu`e;|3N7{ zsPG=_ce1oi?u#%nO_BSfFUbF#k;z|oLH_R-OvzZ=fs^;M7H=t6(u46}lq!r^bl~8@lBTd?Om4E< zo*>AGaYbNZkL07|Npy&Sg;}T%iS@bp{g8ZTxfj?GMg0c7UlmCyIf}ps0P+16K9gn5 zizfWedZB6pX<5ltv?qDOQdw^-D_KiOo60uJa6O6XyL5_x2PdA3DsUt(aLq+Z9 zl$R#wH7`@Tl$*l4{EDezZH1sMN6?C*WrjK4ud2Bm*oD_FDn~tU$R>h#*udhfe$8RZ z2pte?PzN6Z7v8U{ow*+aUHJXePY5z^m%;pL{pQnSe6G@@R2COI&T3rbb_YhAGKuBR z^qSwng)|?@=68+sR3lv(&F})tqqg~b+vfj<0S}X{p*LV{$tdTIWhKY5q>@fU^aWyv z~2nUzjuL#p(shq|UWvR!D5-alR|&)=7u|50xKh%9LuR|bEgptiYVgPQQO z*vkl17=B_ovEvxnA=r>D(j;01lTQ~AImen1$rh=MJVZ(z$v?#IV`!_QVVkE|3veUv zIO&W~i$8?K$Mhau*7Qd(+;R13w>zSdm@kq4h!65}1_Nz_waDZjFOr{0`VRZ{!jW2J z?U%!DH+v%gm?Ap^k=G(SNhhg)I9l=?jN2TxNV(liqx^FF69UqFDJ9t~(HPX;048nNz%lq|^m#zTyV9T9Q@v$^Z5nhPf zcfDJz|4on4Pa*No3Cx~&|`)HFH?v2yz(4DVxl8aiF9J(FSPh4qm z2IZNZ^X{!MV%8xTJPwsjDa~cluz|}Jm7}yHrv6-fMq8M#sC;`V6=XXf(g|-So&X~h zm5(#;NiEi-6f5TN;@o6EOeiSl#U-<0W6#_Q4;NulS=|6HrSotnF$lqti)oBf_Z97u zhauC6T(~ODqv><^6~Hc=H?jFlTnrHDzjBk6{}8J1v5OJzD#9wLzijzFlp~CiKNuc` z?sA6pdkLMhAKGl_E})p6NLPh{I%QbUZGy%Cg$o(BVFTBvK=(WmgL7CFM4>xUGgD1O z2wjNS(9MNq2D3;;ey+qbP_xHXYbSsKsK6FcYw{GH^ z4}9oe#pubd&I6{ue0l|H;FGMn9>15@2D*Dru|qdh?uGp3KYK|X-D99B&Gp_-`$G^zd1`R{H}*3ir>$e{7m>gUC_aK z{unsZ4pU9iS%fIc6kEb@a*90nzA8Wj%b6x!y?Dj`vfZbA*9yYKj1-pYqj3_Hg z!R{xFbJFQ1B19QPZ0tS;OAU65LfAbugVy_0Yw2`a>3;;fv+CKtWJ7^WyH|+{AGWb@rosfZppi0>Rhfl z;-=Y8@f1T(K-?!NOzTKd@VsRcKKV5;?NCGo+0XNjnPwZqM}=uUI*WK{fVb`u1oxjudLr`ZQ^C(~>tkv7vTOgBpeGtK6GMk~E(Hp$Q^R3|Wu z4{BQ}sxzh8hw8K5Eq?#tJ;qa@x=q70 z#Rp=iDc+OTVn+^casG1`Z8A_Ddy*Zx>MAF>ICy6uhi=7pz|_)ZF<8?16Qe8FaWVNC zRY2k>P2NFcnkw^}2IGIE(}q&9+PYUJWNrbhmROHvHg zX|i7<3n3uQhtXxfMh=IN)W|kz_G&~dPc4(pvitJNqz6+bWuopP*jGrVoZF$wtCVB0 z8ZJ4NlKCSBFepi9cx{uXK|#hRqcJF!Q<&vp3)unnk_#PyIN zEmA(0;`Una)=kV?KtM?Oyr!|slh}FnF;4FE`GMZ_cZ9YqE7^Fv+_(@5`rBomM_wQeKEQquN`RHu!a1iU_TmA!-5@PU$s5}d&_sA z+s$_Q$AG;iLZM(kmVRaedp}|VXSs+|O|xz(3p-_j(ufB8>z2#g$4 zB2@$wF?}Ij z%7p1FFqoOZN1R|L@Fob4%+%K~PW}Y`Hw2`)HJ$Y*@El5WFL|0sn+aSUh^})+a_?)_ zIa3)X#kEKyHe)pFGckgV>)R-qKO$Fh<19Ho2G`%AF~Ie$4EeBy?2v-%A4QV57JX4% zpDx*Q-V-U}TBU4UGrtDcGK7um5t-G0#{A;<&oih`QhgZLSt9PQf1pEfJyV)}TtDmG zV*T@`kLzt3yH*lAgKN1{T%RunjnI~5B{goLeFoPftJ_gMT18E=cJ>HFk-IOt%jXl} z^U0P_XPr+D+j=7o)@R^geM8{o4w|yGZ?XnxE_P zJYJY;9>&iN9laj`#A?kHQ!`cJnbyov3>VJ95lWfDJ2R%7 z!kc2QcIunvmbAs6*)K57d@jwhBQ0*{mS40uD@%{wm*dJGaJqz9kKQLrSe49F3 z-uqHS-#%Df%^*Hc_KV5H4zvVtzn}369laN!Aoq(5SN3?dAaeHCMkBmlM1b<>(R*pw z6ghgQ${86{{>k{`^Nw^X=fNLy^iEx;iJ-ysTj(uE?`x%5Fx?XBKJ;$g#EEY(ev;~H zjF=w1Lz92>eveq7NAI0)rZwEiCze#TW7S@Tijj(v#zqL&iJM^Fm8r1mhIWi)9qYYu z9QAQ|k&hFG!lxBh#jgvj&X{Xuc@f4^SiLRzb{KDg)j_)D!;1Np<`SCf!|GSl%;!F= zP(Jt|)<0Z+z~10?Q0L@C=ps#VH}th(bpl27bdLX+j6CXVU^M|P0jz2>JbE;Tg$5o- zIA0PO!YcJ#?l%T2=?oDO!YXnuSAf9{tZ**Z&Qp0s29=Xk)GGftuDV#D$8iU5po22d9if5#x=|iT?<1 z-Bljb`pJh;z<~7u%0}%7OfUTun0`SqedHXNQKW3`j2HO?WKS=eA5DSy~F-`cW z`Vfek<;8c1maHBej^r;Y)|uw*32F8YsDEQK7ZrS-+ud7KyeZ6+95`5xP1@%Fp6fc} zW$)^339ry33}$WTC~mHY0uTPBxEHKJ5&c}{!O8~y*bI4#i^O;|2JorLu!cTYk<~yl zFnlwtDqpolMM^(@ajxaxh)XG@nD4{rUP_)6D1IeBCao zYx$&S`_?j@{R8SlWSi}M1T>EE3Lj?-)s#=fARdGP=B$!yDd`_)yjjVhcu}H9UZ^jjj_;l*~B=A_XkR9A|tBbIfX(I6T z_{YGxCq`E|Uq_cR!MQg~G1G7t1VyIdhZ!Az8t!14d(lOIZ+9D;ISuo9bQ+ce7i%WI zPWIB?OuS43XSTreC05RAXt$9(mQwzC#g?ODkbHOrM#QWV$1rZu^9m0YM~Wnod}ADv zJ4t?=pD~EMK^${laWt$nNT!Yul4ncDwCevtkO8_!GpK(9-bRpIU&M`fbD=|!yjq%l zBro=E-9+^nK9Um*X}+FE7=(_ynw~4i-y#P2=M@)sp?wC)1?BCio~xoJS=B93Ao=f3 z=;_9+B3gH*1@Wy@*ran`dGz7ZH@!lv=|Jgqh`RUz$LHED){~75)ODwRh_#o_pDc-*`qcKWB=MDgR@Y zt;CD$=9iVMx{B8Zb?1hL`#|L+7c(q5q$aml z*E7wJ-qA@ zF`_W_bLfjC=FVCXAqpd(Lmvjq3<|x^p*^iHX3)A_Q#UA`*4N-z1ch}()=Yx4p+Hdh zi8T8tTn#3k3oj~~HN2*SQa0O3pp;erRiP!K*LxNts} z0n1?MnYa?Ptzwfuxnc9aqHR82J59VYg^E_=Y6`F1>_$9=Fz~)meUm-uS(@$3p~%Kr z1&Zitz#XMyaP}w~1DsW2fI{!;c!(GyV#HbMnZUOi#ydrXIE$PK(0_w7?_C{F>$w@U zKB8Kyq|GG)${}6#0h(2Ra}m-n%;A zU(RbY+qDY~_od27F5a=^fU1d?#T*eF4*B4SfbVe+z{%-IoSY7}&jCsr7k!vB8Lx-t z;20w-Yx4xIIB`yivAr~VM_N;IUC@ly#wZMkq|Zkx=j*2n#p*QB`W^Pug)0@UDV@ZH3sWr z4L0R@8SL@btigsbXtF2LLhhqU9~F2fC#9EAjMbNPrXOZNoQJV+QkGbXmH@$*(+<9% zS7D@gq(zz4B18BtPuT&TAjxuG6A{7}BKC&?8!)&z(ps)ZT2%RP29+N%{^0*~Do0V} zP>msV9U_8ef_x0U;yQ-z&#N*oZBA`be6(bT!!Tol!A?`WPq&P zW;q2FhGIry7#>2Kht(5^UKc9~*T?F29E@+t@k>qeLVZ(*Msj976Z>a_)tjCZ_{`xS zgVhV+fMWF=grUM)ohHN2RTl{K{=&z=rf*&Cd#Qa~aJV|Ziq7woYv&jQ*fUgMw}vs% zFRU~=BnrFB&=SCIeLINqD*++cT_ZAtU2zKRrm+V;{}d6z4k9+}dcr0HyW#+Lr8B7P zs49QNIhcNjGNSSrsa`m^P6Vu8+<2inj5K)Z6~fy|a)86hNl;lmQ?z?iCHABY>lJ8AKUKcLkwQ~tSpZw7%6e}FKt1beIP7K*=N~gwR)G!g zleSCBBL?BAk~?Sv@_pl_Z%unI|BZSs1-nv0<&*@5%2YXnB05z%|3ooY2Q2~SW;1pv zQ)NSuiJvMTlxRCgib%{<*&H?*%vn?Aw|{fkc$M{4Wub_~s4Rg$Hs)>=K{HkUibM$J z%8E%o=JtscVxQ>9Fe>KSGh(SzwZ!G6bMg2q&W zbyBHS0PA`6`yIiqBGQT?Sp%9yL{8y1io8zlk%ypjk^I&|K1-0(Ab#&{afP=^jXVSk ziRD;GKzZ|=Rrfr;rPLU7WW7RS6~9rDbWTHv!bO7G|@je1O;FyLDX3{*2FkP2aUoO5fw`qlULMJ;jXZ zE0Q*6NnofH$uJG{Z}6dbuU#bbF)<%NOHd>ukzjc6Td%n|!2Lqw;3;NO`&lFl!p zhKPoUy`DH0Hkl&vzH3L7Z;O1q%0pGa$>=(&e@77J6 z!7ysp>N8^cfj>0)ANUVpGQIEG-EyH^bD+=n*s;1!g(UK=j1aPL(go6C3iP4M_#M#j zt1H7H8|=VPC>>BJDPOymSKXyJqzFFDS(ddKCyE5(wc-hPiWS+6mP$wvpgHWfQp1b- zmPKQ!&6o)IWSN*OL1+j=R$G8h7-$iXIz$i?T z_XgBh|F**LZn{^p-+-FiLeOH(ZDrIG%uhYBuP!`Y4p9@?qoLK!9>zarZaWrn*SYOT zjodEGN&3CWI*6;BLR~`0_(!3~o8~68%0CLtHqCqXbRD_)Wf|g)f?8B&qrbWu^6q)!rtfj_zm53ns(P{A@ z29HdOR5>Ms%B{>o(ixae<*QWbtyih*BoQ=ghu6?sro~UC*`F5Q^KRWlmB$%BDaA^R zm`;n(8j00{op!8pR7fI!iV;E<%AW`GdZ&V`6WTGB^&ZqLK?pbE zWwCQEJVU{?{xOW=W}ocRO7FnC5MwF0=19Js31UhkgsBFU=$F9Wg@*#OALuIaB%igv zX_`M_A0K9)nPxr@U zOMtgh6isfi&D;dS4bEAk5Z;`{$(Xi3r&3ZwqQ3jO{smk){RGvqb7T)Il zZoAL|y#;UGq`!~1%e-4RF&(F<9^PJH1Ua1xp!_q?ea-0hlkV}Auw?&2_VrSB&&rVa=?ktZy$O37+`!Ql)~#ev z5v#){Lw>TXj%s>oQQbtDPmk-9nXsMEg zwBE0h(WZGCjrXf$hH2(=uS(jllmBu8uNYMTU`1Jpg-|J(A8@BElp^POEN#O{P-3T^&^(of8N=0&4Fr#2AZWp68X_a2p#S{ODlz^U;Yn3d?x~-E!~i=c`_Pe}i;OZ+B>hM{V4!sQUn05r% zPsIxWg%>K=3m<`LZg%NMX`x3C&%$8^`xu!R%vf(KdE%g3?C)Ps5SQ@GC4~){xR2LEA zIP(6$C9uqVqUOCn;At({!olOUHdU=lMI=Tm{WqVedFpNxSyLc8vr!=Y;fABdFe#7= zaeJtD>n5%n!FWo6bY}GObEf!#@!ubK6>8wq6vlW=Q(l|U?ZXe~1fd(Qa*~T%Eje^+ z+XSXQ=1|(XQ%5I$@q*z?var$jWJ3784_#o-U?ju)O_5KuBk+6sRN%L@;&<;bXmzvO z496dX->+eb;&&C3Z@xXDg%-wdLqP{8@=p;vnaKZS5dDe#L({y0&iWJiM$^pa{zUG5 z)R;3E-ydrQc=>M@7CdE{*PMY;;0|U`8)%|0f+icdhfz%5jJ;`d3~(PpV-Wqr8S&7Y zu^uKyh!`O@Cgnqo)eLgdxmiRAF^JfQ5MyD20j~FEtf#eM2CWaO)+5ttrT-D&7L?e& zoC^g4+^(X+2ks@_t(%w%R`7s3Ny9YKho%2!?9MakoxT~nt}(9-a4!fA_p!=JF6LNr z#Cs!{>U}pXb&mZUPce<(%8A5&3AVP>1sCE)Q-IWq6seaFfz59AB>pi-Z3IshsVCEo zOi0bfU}mPRg+Rzmo6Cs!GwpGvxiS6oXWAxg=1j}y(V5ozW-k$IO}0&+prPJm`zT{1 znDxKh+gH=N|v<`r9(ApUeCvoz@xD-%a%>Zun!s_2W;rcXvUDyhG@U z7Qr&#hJDz(brb6bG0rjxuh!UkZ^NpQ_S>+v#327|*h3o9J~Qqep>hAxXM#-tdEFU- zC~oJUj$1co+C9hzp|`g>{X%yL=ADxO=8F}~Lmx(~o4tyE44AvaIt6oA`T^eY14n52 zQ_DGc#2LSLOwkTz$?IrPd z_CUQZbs=KUwDn+_nQ3t#&);_Pv@Vq{@medX))&)hrT>wc_F|DWON3QOx6HIVq}iWo zi@jSn(QF{&Dd=p%=;_N{YMcLZS3XhW{m96jr}5fYzwUcGbT_G-cB+(& zGd$h|qIM=82|QO(#z*bVrn!*b`lu~unk7GM7Szg-NCdU@?bDg+jFO^OcIV|Z%O^pd zjoKd>Ks^_^U{efguR~*i+MgMs(5qq|zHSjQ;w$xZdKtwq`>U7hO!K{z^j9za*o==o5`3Q9 z9V1oV*DmRLdr|BUaK0$3mR#4VHVPtU$?^qLWi7KmkTg0QpxrK`Nfgs%_Pz~v8F?=~ zCccACfAXKqz=f9Co>&bLV;Q9`vv1ej?1y>a)(%|{l^aaCTuTnOr__b1?>Llp+Djk>!PpxhJtJ-p3ay%-%6;?rUIp>YCeAzw2unl2&~SRlicC z;??hmw`R@lDa{jc1MGb#d28-!Vx+(3KEk`jzyI17MkuhmG0OS6rZ&j6*W9zA3|`8b z98i6{j@)|V?)l1&>QEKEmGdD)yIZ2Ty{IdF5M^HegVFToT?u*6% z*#{WMG~Y;jKqLu0S*1k3Te*Z?lg?ElMd+!Ny-Xhr!ws_eH1v(M>Y3H|Q1!dk(cF0T zwW!|PO?n6$FX9H-HK9XxlPzT|AK8t(TQ`y4hjErEdl;jf;TvgdfC6|a=Nibsyqa?B zjawr$?hF+*$;!7x(ew5b(KGIA7_aj|=n%TJppEPDrP!zyUZZesng^rZ?4kT);GBS~ z3g>e4Bk8mgA362b#+6LHZQ0~6!<)clX+D#-`%`aIBQ5#ym*K%T(z*_^hJ9W<)o-Ld zp&6S6b@qy(H%0VBdHGrcNb4JEKcF!Hpr%g>qOEAvm3uMs=&1lVa&gEpDrW_-cH&2VR`oSY~hYssP8?&HOkM!p>xzLD18 z1Tn<=A=M#Yau}kpB{p7#*C`5LyA!Q$_TT(tP&gVUC<;diFr4>fM56FHTnXHku*pYZ zC)4~YeeqFv0Cyri&PeMKhJSGJlf5aes-DY6`AEe=UG%e2_!9%7hZYyEi9umEGzOvk zg)s;nT6iezDPlxn>Y>G4cEb6Wh!BO5LyLQ0r9q*0XyIwCm_h4xs&(7vv@b^M@zfed z;aHJ1u&53Ng2HoU6d#2RyjwRh{0`_=6h6#I#(pF13xSY+k!5~$dTLNuJ2c#@Dkr%Z zW61%9eU6g=y(01iP00-uh?@$hQ8aW!@wb`_5Wa(LOX2kj!c%&~bT_*{{}>P+0f!ZY zS%M3vnRG3K+*HApz^VnC{K+l&Mq1U|sfgc5JBnBM0oDgB%?0Y4Y;9lCyexz>HqHi8 zM2{K1#^;#wsIN8K?LuRKvqAJfbj;u(;(&+|XQ{^wmq=8dZ$yNMh#WJ}e}l8|H_~Qg z(E6t)XGA)!^WaznXQzm)!Py&7AUOM6nthxt@owG3@e*8_?T%&i^q4_C_Kz9v5Igj3 zj1JWx<>Ty~m3HVZQaQ;*eM=6gDqA(?452S%tTP0C9}>O$73Jo4ig_;*&EC5aqo6J~ z{O@FxW)oi>;5z~GZbY}$G>&s*^O1mOPle~GThZ!fujd~F&)zUx;dzt5$r*|O2`FbW zQvS^N!)IRe6ZG4k8J{xJ4;pFCjQa0n$N_J^`Tiui!3OV621z&g#jL#_B!JG}(Cz_v z7r3nCU5e@ZYSmzY0ys}lmQ0+DmH@qr7=_ULYU{DUZ7ni{?r$mQx}(_x|GtTc5V{bt z7mSy~Ci7N=_Zlx%{`M({jaPY|s{B+$VpRSOf6QAE)YVr64QLNk0cd-{q!Yv>0c}g% z9_8J-iC(=hwoZ;WF=G0@8Z`OutGxpqaHWJneg0Uv=0N2_1C3K5iTwRW2pzipUwdx? z7)6z}4HsY(Fc4Hw5SKzlgN7J(1ktdx1PzNUiXt{yIwaCb$L!7F;XVi%johUAh2I_mxx#w0_Rk||1qp$OQ|8FTdRcF8Fp1W3c zRktL$x&;i5T)m31Pwk-xQ0bc(XhUCNu3FF6D;gNoGy$~sM8qbTLTge=@cUr8 ztWqDYs7_h8%}xXU5oV2gd4J84F1$SBMthKw;DyrSrwFLr&r`ud?gy73_b*nte{Bdp z*9>}(fX@90qM&j=L}`X~G0dvzeRr~>lL7U}#euuZ8r`@c$0zG=Q*4E`FRw~iGnKXd zD;?I_P|O!UXKF17_ZM6ZDF>i#B`|Fc$QEA}Yz1%0*D)63XAuLmx{wSB9Q;3o^ z&N%V8_NZS}wS|VV>LwB{?VyI&yxl4zy!>lvA-yNP*q zGwuZiJR{3yEB1`6pIp{-yJi-}lbi8X6iu~bt(4h2*6(%!MRu$=rqQ_$UAoKM!-|jV z;&%={RL#83B$iUE45JF@cFRV!x!0aL4%ayI0CBq}|CSO&D(}4vseFk_<%}S_$NS$2 z=nC;!J0K|K(r2`6QcsQz?3Cdd73wF{<`wLX9(x&2Bg3e}HUx?P6RrRck4I9o09#`fmgm2DR6+n?4vWb2oho`EGa9J2wgX z7!tL+={T;K`#{aDc4E}SB+^yW)XeUr^LbNCZW}G6Fse?Pw**R68e9#n&a^&**wpsS z-OnUR>y1Dr(mIFg!?islRk)eiD6Ly=&m6*)m~s!ZP+EJoXWoDdI;~}UMzmhsiq@y7 zVyjao_-Uo`d(!%=I%ioHKmn)qt*pXM>t%9@_y3&_ewEgLRbg76NbB`N8N`05?U^1O z$tT@OFLs&hr1-clzU+|TLt4My9JU@}aH=Rcc27OFG zXK*Eqsthip0<@OF3*m(Bl;^YONjqhVH+RYv6ehbL#&wnQ3Dm2}fajscKHno&!kX1T0Rgf_A%Q@!yWj?7wreVHQi1- zhrpm^1a!kX8u5U8n8J5cZJu`olFoJpB3!y*nH^?fKdRW3 zQ(1MRa^A1syC0R;zF+@AJHC{{p2Z{QuI&X z{D%nYbrSjJyorAhl1&XPX)#CsPXQMBPr%N9ghKM4%Guh$5~rNtsnIc9s-#n+??B?o z&QVkXdumkoxS$UpQG06C0Zh!@q|r1rlJd}wRkGR9m?DS&K?nprQ(gs&pry zwoi{icBynX%MgK+|j8{R9C8> z)4KXQl=`ez)L%gA-KqZCT4(8IKnJJ#C9K6x^*M4`)9twl6lYHLjVgB8R93sY=PO0; z%nsR~%lYSCD!!g;o#(Rq_kB#$mGzv16?J!Sb92k*bh|*rao=L`bBpk^=cV3z5}O0H z7~Kqh@gu%F_y{?_x#1r2ygKD$_5m0yW$68mX;%f?Q8aK_JqZ<*@*FYnEb9r8d>3UB zWf8;#sbs&Qb@VSP15@XQf?r1z|z`L1?y}mUK+TA-rAOU zL&-K_gCcrE2`i#^{z-f}Xt=CSIZGH7Ap}Fv1qrZjZYaX#qJ?*$c-K*Pf%l_;TN*)M z?m(~xsKI`LlD3Dm==c+uIBOZta%i}kyIpX2DP*yXjn1Jpyen7>kPUB0id~z9q z9FL!X(d!Tz+fT;(SfS_HISD@o!M84GV}(ZBV`Q zXWewmVQUTgjqiX-wA(9?L$W*7s|^vDr`^MJiWZw>Yic4%RHyLAYN!z2t*JElr0*Zf z`v=JE8aA6;Wiy4gI;DnLlBnE(^62}Aq-&t72pb{I_YdD^G&j!Eq3#vA#QKLqscNwo zMT~EHQ$g(=sY}=cwIg-m_v8)7;iWasSWQz*yft`=WlXycv&EM3=II)NX2MfH4eR6i@fd7lRx<=g-fnMCnl9jm+W+ zfCDL~m$F+aufgOC2E7RMrq!g&$XQ(1hK(a|SCP9_xDAvtiiq4pmA7P@X|oOIh#Dqe1!jXQ~iQH?J-aI*#Xm;-k# zmwI!<-45K-!grkmcf&(U-=)AUWc(vefA;735S&@fu`J1H4(jc&bErwo(Qz^Cta zbBfoIN|XvKZUkeL?^KbZqQt?Nl*TEFsAE+d6`U<1_ATV7nOu9&{w=F003fAi)d}7A z6ccOJk~+dHeu{wFX;`m9j>-PFK}`0KrrkQ+Upk$@paIzcI!#|d6rV=0@jRf)685K> zRjQZYuXSj+TWL5CEz8z$71g#9pd_hKfxkB4J#Xz!Ag-z<+sV`Fl>6`13x>-f$_2vr zFM&*~8OC#@pCW<8gIB`2l{smx&-%P;{ewxgI^}NW!sw~2x*oiG74GP@KAYeNuSESt zt*d`T)z6q#)R&X`8##w{={~;4S-J>x@LK;`)?%;qFPF=jZaYq+7<2o5UBzw-$4>OE z;44Kxh8FnHeY3$73;OsUK6cZ$XdgUZ_Rd4d&}k2m6SF()f!_bn_+*}Vp))2<$a zw>x8i4!B6Zs$1?xg{#4Q z4)*7heb~KQX9vAEbG_tmk(Jr}VTnY>8r_ld||O9Ts|(C*69Y4B6Z;K!suq zM;7Ux(x1=J)RVmz^yAMc#J0JmhHj~MKzlJxDBTqsk1{~NBTbb zuO9CnR;#O{9MRcd6q=wk)-lUgQ#4D70jsb7avWTLyvc##wP6TnUm$RrrXj}D1O|Z zUP;lbqC6r^_T$|kq-~tm2zU47)O0$F zrD-!rwVl^EcU3zGu#?mF==Y8X_P9K9YJQNa0L=-n)z_N8;_DCcBV0siQd*29ocd}d3(@2%Q8RrJzfPM&lOuK=n}XYKB?1colZTHwX5R zSG!JS;lymAo@WcxIil6ulaU6RjM%D|{GCb?*n>F;xP}LIM4xbte>8@Qn;4?2XwFkl zC(l%E@3UoT05>ZvX-|lr_X|-{|NejP%I>r-oPmH{($cr= zPP^bmoTiMLWEi{C&U=RX`DQ{40wV3?K=a%lxMEbN;~DkLTxowDgpg79Zz^{{%j~Bv zhO%Eb2t#)`A2de*OczmkFgb}2$hzCuZGp0X5^;;&E=8c6mK;&LF0P?SA$ z5630rI>i(&Q5K>6=(0ExRhLDhs4P&|77qN_vg}MpJnDC*fAHzfz6}!$90qXF#M<>^yPjPhC#zYvd0YMFdPrl!b?@7(4C8AL2J3J(~IM77HR}+6c2Orb{ z3ge0MV`|qy)-`}8#^1#Y8*FbTYai?(6%Vz@9EpNJ0~NW2{*1@vbmdZeU@;8<#gU%% z(dUTSW%cI{$^Gw9NG|)2Lb3p|F6VxpkaSZn{ntYB*1P|CmXz%LUkS-5<+QFHk$6Q=E&mtfSHoYpr}_!`^@q29k$9c1 z9Q}Fos~F7~GaD@WF~ic6p@8ZX?2k`N4~9iK&p?WhAE>y)TXJDttu(p%us?&b!P|*l z{N_&#nqzvaJ23}J&z7D*-TdrH_MZf;A3Ji{PYc?qZ~P)bTY|d56z{*EY45QkKQYq| zc>Na%T9)$lzaO;wkR+(RpO$H_Z~sMt_5pceqM z*^~KrEQn^__8u&_wkLGC2GG^Cv&A=%oS&;Y`Q@J&IPG8S%YgN$pPw(=eoEjn*^|qD za^Svw=@$vy<*1+km5jq?9(ELQTdGCI=?Rc$!gjB!LLE2<*Y<=icgE5FV}tx=%e}3& z{zd*VS6Q8F@t1rf$A1Z`eQ@NS1EptgjU2+CYYFPey+pC~oL4tm?S&_V`KmI1o)A`S z{pCXVz_$Nc7G`4y72&U_Yq^8E#i-ctoiBFfq2t=JGkxd6dgR{@-aQ>j9U&fYlHJ=a zs>7?7^}-7%E_#r|S}<)_TGa0dpkO$jLt3}9lyA}{db$JN-_bC7%a3ZZvvi99RJSLy zVRTQzGdtZ}`^w_yQOZxB8Qi1Ln}2~&?S>KmzO7}be$?L3 zf3mDPlLPh>R|p?J|D!_oQ+u=9IcPsuZzgwL{*$0}Q?>WgCcA5%`$d9Q@kPFjt0e) zHUs&#-KMY7ra!~uAU*Bjy0iE{HbrV59>8jS&EBHuKeySllA5if($-N4apJnwD9=vf z`|y?YfPjIg!SD=MCumVW=;Nm@8u}sya;j7Qq}1d(;ll^+|Y)ePs5Yxjt4Iqu7$FvX?$sT4rlgryEQ4lr$^ZFd$=QrRtZgbI_(9) z@$+Yez$q7_KyOYdh8cSDr#j^>6rl(e*>E;|cNn9mfvXm7sH#|xWLZJ$UE@RWWQ0`t~<4qi^x zGf$ij>l?`hxcWgq3d!b%eQ<$){L%0c&K57+V9f8ZIe_;~;C|#m)qxGe1M3%bz*Dpo zoxlbp>Kc;j4nvFUj=@hi5x<%%IDRJuwpRt-gb04xHK(rd=I<7+$FE-1b=vB{n+ow> zb>Kbv?bk|DlSg60W1-c7H&1e)&s69Ju;vtOPunm053O0V9~f1=kE zy{N~RD`1ayHa9m6+e9(gRx`<}PB|QEPuX4{BXI!2L}pb z?KV(!_0r$)0<||n({roFBF<2ovxlIZn)Fwx|2B?4XfdrN~aY#LvoZu z6pf2)#!w%q?IvK)Phe*%>>gUo;(>(s<{n6AYJhF6u7C46dJKO z@KGD!h6frKeB_}SErs^5P^J=UI4RJ0O5mdfAKG$?3^(EY?z9YQBeO5#Fw~Ueetk;Y zxQb!*!X~Q%_rf|=BYJ1!CDnMMc`#0qVPD}X=;11+D#Ok|-N?_Ro{ia=kVW}HOL&C$ zxD9-cfd=gp=Z-EA4t%nZ9RTgN@41JAdq;gwc@3@YpH-Ri>)&4^@M{Eqjli!F_o^ghE( zGp`)%g~4!1EFR3yi-m%$8B#`GGXB1FnBibSMKl^JiwEcCMa{BE+?+5iH#fs9h?K>F z9R_i;IB#yqj7QA8!a`hjG>AiKblN9nPF=+5q-+1!t6)6Bj#Aml!(b4XWuc&9=7-FJ zyl@yl4DTH-G~*?up_mgHDJuvW>?a%oZ>TadsfWj4* zl+EsCmc&npnPs8bdGV6Dp}_-X|jDbP7*9b~Jj< z$SRe9I?Gp3970*RKt&a01@V$d8AXrl%E@;k4s*)XkyAaqy<;5p!V;21O~=f5FdQn1 zlY<#%Nm+^WvM8?vAqrBYh^`ZY9EVN*GYqkzqT?FkadTc?OqbD)teICI$2$Z=aG*f<=ks=fMQj(V+4#muQ#i24VIV>bmF|1>U4hB15A}pxdVGa$P zX2f8}m5acCe$H~}mV=iKEYgFL*-%-c~@bD`4kb)rk0!!}CgF#p-=835S2W{tVl||BikXK@!@jKdIlS8RB)eFB6?0Cn?%GnoUtewKHTaBGJ)E zUOFIq@vPo-uMWBf+S}enVBcgFQP)9%!4SO@ih&i&U}bPN<-Z7 zoAaU(q(p@JD)fkj!J=rSG#Cqoi?~Cgl>3jy-Lkw=jJ4^#V|`|zz0Nd8n7s=+V$8*u z7L>ZGh~>==aVIxp;-snLCQg_#)0}bY$jM`;oHo(-xQ6TWoCjQwJo^Z*W5D8)6NFB6&x_JP9M*{P5nc)-pb=eLVW=n%FLB{Fy_82Iv!j@=MDxnf z0L@tF;)=Yocu8K^gg%p8$sj*UiojhG6UR-Q#X_LayJBn&6=lp1rZRKFDA1^F#xfxt zP%nm|YqPupdMnDogn0_on~@6Ti5{!8U7k4155?_iLk2X_7%0;SjFTB=1$>2@aD&C+ zSE#f+KA*-8#4~Q5T7j{cBSf>4#ASShn z=OBDR1dWmEK{sIJx0FAOvW*-c-~a$}1OV+2P}`LdxY!T`7A!mMKZpf-dh&)9XPV>U z#?jUF&FwxR0Vl?$Qp>KFZ#tAS&&C$dKk+U)~2=qs9?+UpDVm`3&8>_jgfhkkd zS)xw{p9^4V6$I5z^UYI7O~ODjg)=ZeFB;^|lfvjAP|PdN63 zK9nY5s#=67kGc~&ldg+c!4-6IVYLQXG+Iso$Yg3^N0&nmkfH%-Ls|JxMaksO5JHZ1}C~kDvfl-iUExWo?;P;WZ+6crCl<@c2%*H`EZ2B zJ{oMPwowG`WkF{LQFOR94`f$*s*94WCFoj3OT)BZ%xMT#) zF6~Y?9h`Y{BPEz#Q};+N=)Q`VfHtFQkfFO4%8HTw1~4CPnMmbrkr8gtGcoqSW_##qINr9w&B+`KTNkr$m^QHlg}iP`hP5i}c| zFmdwuk-5e>fytwA&cJB{dPbzfbRTr@PCPAT{Aj=ju{ar#o=&DrY`tI$Cp?1ZpqzA` z^4k1KxScjpnt~C%Q7t%`YnN5mZLlmqi2UGay5l6tOLOaJC?3SPK{H|6yKpI*mxm66 zk{eju3{gi(8HQ<2Pt1XpBC0n`ZbQ*>XhZs7_o8p_0$T533`|x&5d)oDF@}1Ykl?j~ zD0oGP)N$QnV<_K{(byGhkN*fQ`H#}L+^4w{O_K~XH@l}bbR*Q|amEvk=8{k}BE=eU zY46xV6(MCoUE4P3vZLW_b_OCDtAIruPQ4C)QTIt>?c!I{7c@#tZ+?ud*PfC`uaXxn z=-banMG0pPW|dr^l9T$OMWLn8U`%BQ8Hrk=Ixj1$poEuA3dbpyGc*IBX`Cdq;^Gy0 zUQ8#BGaln6jGi1AADA$eW)1OR?-(zM?IjttYuf2DsBM`399{Q$zOy;0vRwTSCo~}{6bAa zbj*6wh9w)-bXysQpceYEG|LpPF*?Na!m3a9G!NZq@WUAGs6VxH&imvbQx8=U zEu%(L=;?B4g2kC*a^_N&kX`!E9eUnKpe<^(CS_Y5J}QP93z5xyp?Rr+%SIFML2O0< z81qh2=6vlrT7;R{XThl=j2kn8yIdVEt;bFUUXr_8mM0CAsJG_){?21qZF{Q(P8w)O`{MS|qW(PnV~bv0D`=5#E&D(2FZ~q!2zl;5 z{pB6;rTa6k_|om1AoUA8Aux$9j`KK;J-C9Ba?Hk*5Vd68pj+HQk`cmLpS*mAB3@Wx zz>BI8Pqrj5YL!<+vGSq~XICCjwW8mM6luHmtuVs~RmN%UMU${#u*l%;N9kHzz{$ts zdyw|(Ft40nnjZ;=f+b}%#l&bMQkoxk@0``;ux7Kw~(~3pjCc zFN^Ywc$|m6xe|;=E3n7Pm5`KPlozHOo?Zr9K5#aZ)O3Gz&dAA1OLF?Opyo(U$5KR` zNKT&?)Evp_x&MYfEvPw?%d6!IxsaTGM()Is%ERRJF%zea$_@C-=LR)La``ECecJTg zsjbJ?MNbl67hOlsQ9c(vNqk*&9X)?}&5_*yB=L3WPZD1jT}RK)ev!R!EIm+jvC&^zIJxP3B^d#|h(UZj2MNbl67d=UQa|8b-f1UIs z@pZ{3iLZ;EB)%?slK8slN#g6GCyB3%o+Q35dXo6M=t<)1q9=*(SZDln@9NASCp}4g zUGhod>!K%#uZx}}zAk!__`2vx;_IR(iLZ;EB)%?slK8slN#Z-f8NVd)bcRNqk-OB=L38lf>6WPsBGrG#gVOnOFsB9w-C90D9gk z8MT<6Ac$6!Y3^7&FCHXj2aaeZF`8mIr&9LN%Azgl_Ed}MdcI{ZTGc&mx@0>0fqNA8 z9ZYuQ;{B#%34ZSo{P*hTe*{bavO(FS~ zJ5QNeO79dw*UK-D>|KBj&EdTZi;Ug{M(;wScZGr3I{pD>_R9h~b3j&Df!rcI53pe) zo^)GuI{rP)4&(PCb907_Qs+&;)6t}9bg}4b^OJRbv+2|@R=jW(4I5;jqEw&OlIZB|Ax_)zP-nYiFl|y9s9fpHE)>E zQ*K@k+$>4&gZ-YKGh#idq**!Xy$kx7J!cHa8a{AH=_I*VFwC6Mdq83D-ZSY@Hgg8K zFtC4VZ^+=JpE@a>iG?HcoeW-Z;x`OQ^bQ$5Fw0-BGE0gFFe95tqPgdcf&GUMupg^) z*wGXp*VV#L)RK?j@28*6+cK(6&vwICwKt5e_~lI9)y>uxoG)6|Y&8Ma0=CB!XB}>6 zwoJehz%hVpf7fgk0`9%F*}4kw%sZN`djR(VJ_lG@+iZOVSaxT#wI9}jUje2A?!-&} zCjmC#;}CQg{kq-F){THaeA{fT1$^suK{;i%~sa~4PzQU_&5;oOne1% zDqwqjRXh$D>bloj3Hbihz1Dib!-IRR9e_Uo?g2bAwAbpMY8Y8Xd##~>SIyaLO$WR* zyw|D({M*Hl2Ye?AdBE&S$O8_T4|%{FFN1t1!}!hRkOyqI3i5#OFM&K@b~WSy2Q7m< z;L7VE4_NbC$OAUr1o_T}@sE{|2h6=4@_?i7fIQ&+_dp)-+It}n_{oEi2i*A(EfGfU) zJm8*hArJV^?;sC&&R)nLY#8JBK^|~zyM5Ml!29;wXH^2W@3_xe3HSrxdcX_1?6Y61f4%=r91x!5>@_=oQf;?d1v5*IxaUA3U>-s<*@Uasi4|qft z}dv%!EAP3;B@8yU(92fIQ$)C6EW~b`j(OFNr`N@ZxgF z1HN4WdB6>GArIJf0pt%u`&$Tk!0?rj2P{|&dB7K!LLTs$D#!z-Uk7=>p35N*xL^h3 zyBkL2caR6%ekJOFvX9e;v+55stMHRJ&Yu7f<_ zNsmGvaQTyv2b{YB@_?^A19`w_H$fioczlbb`{B^P74m>ry#jf_OJ9XN;NRYaJm6bz zK^}1MPRIlHc@Oe{*L(;@#$OE4IPsjuQ_G`!kR(%6` zz%RasJbuCW@ehy(JhP2uO$W?sYgv_mOAoNDm4FM|Th@BO`c9U$1Mu9=mbC|PA7J+* z5$`URbt>RhfENHhagb##0*rOFtXjZB`dC&SV4qCOst3$H4PUD{3iUhMvW^417az{b z0es~w%PIyOGv2b60`{0-S@#2;ImNQJ09Kx3S&e|V6k1m5(Re3p+_EwNubF3AxqzdV zTUHpb_l=gd4DdU^HGsFRw5&G)r`E!6z=3zcZ__aT05}xz3&81sCHJD-fOi6}1pEPT zJ>axIpxl6~0QUg4yASfc&>jJY0wrT67d!@e zz_#ll54Z|&C1C%@ArJT=;10mqPe2~<&?g~(0_qiTDBxKeAP@K&U?t$9ryviw|3=6I zt^?cwIQ(hI1AYeBJso?Ab&v-<_8G_nJ^)w=c)=#f1O5$gJ>VVBLLRX9bC4%IVD~!=%h>Koi(}#k71?X)66Y_hQZUQwO`23qNpL5Dn8Rs$!$9DmEHi75Ui4GkTu5DMd z-?Eg&`?q_2B3Mb+J>XmXk7lcr(-!HnlrHjj3us|{Zs9(hC;Yjc8HnBh`fkv}u6PvK z@o3-HFiyu8TwZm_zhKL!gZ>5R4>)~jSKEddNPiCK^S)@dD))ETZx`8L)9GVtuYTQ( z&-*#(ZS!pXOF{4PO|$il%fCk3zx&Dl9(*p762z|Wb?r%k3Dg$Qm*E@OGY@dka~8L2 zmwSM1qY*sMx5r#7+riT=lC6DAh3zB9?X^a9bkYZQ)btF{hfUdQeF(DcL)#s;{#?+1 z0DYn>C(p2Rl45`2d3&u-T=MVR^26lCPd)?mS#$PUyIuA_v+d`CJ^*WhJeU3Hw*4^Z@r(WCmw`SO zYX?91RiH1Ox7Yf{Wxvt3zYX-6SaTG(?4NJjZv?$|p}%}8TzP-vn{>wnW@0z_<2++>2b{E+GuL8dDI)C|Xpg+6ZU%nCa_P_Jbzf`o{S3sZc zvOm$bp8@**x3yA!(079F7ymHmN8RP`|1!|O0o^bER)K!%{r>XXKtJRGfB8nx&;OHu z{-vVt=)2lK|1v-?Tk9{M3;M`){_ei`Ubz2Psv3iP(`_~-97(6@l@ zm%ojm8-H!3{2j1%0^KivGeGbDvA_Shp#Kwezx)k@J{W6#zy5a_=$#t<}B}LuL6Bl2Y>l(pkL9^U%nCa=hF81#y=H%T(@@F=iC2gfL`CtUp^P~#}4(E4};#^ zbD#hC5BjDfuqOBEe^-J2eXmx^5BjUev{HW14^H>@KNWj)pMvg}zZsxsW%|qKf_}is z{_l@yh`H+B5v+ zb3rc{>n|S${SUeR^2p8@)} z7y9RKF6bMA{`ngQ{p-S3$`AV1P%GsJJ#~)1|Jy+SJLrD-+X(uJ7yHYnVvn~?)L%XW z^qhJA`IifN&r1LN3xj?E_8$HE-({eme3`%eD$vWZSLxUPZUa4Vm4EyiL0^i!O+Wcm z>`~9W#$P@I^xEtE<#R!=z+S0e{~ZQ>{R;p1F9ZEL?5+CFe?foqR)6_zpg)AYSU>qj z(3|e`&)-z+u|JAET)+M|1N1NMYo+|4KYM>G;e0Z|DeAQx?ldT0{ytP{_@*E z{{eJA`9{!3J>j2!skleb?MeUq%K-hHI)C|G(EB{&FCPZ|q8I$*w+!^tH~YtL73f!P z^OxTS`nfOr%Qu34%j^E~sfS?x{D!}L2Ivp(@Q;5k=vD9d=U*7~S3dBUUk3WUfAyDN z1^Q5qFC zk7K_lv5sETmbB1b)z_fE^zA;Y7BE4-sjH@U?S^^4ftGcsYaZ6gUIz~ZePkEQIu`v& zLjLeBByR#W74$KtWo0_$shlROV4h0wOz3S{CwX~}R6OM8ZQz-9qGk2LzD>f8Y43?` z0R6(gmNnNIi*}_P2$Fvf^tG9m^%l-;`L^3Qm_%;|z2s!e>gV*KT{=5pf_?<)x!PsisXxF2&j^!-SuMSw&7+0)@bF9dRMW8=8&9YXx>gsO0 zu4+LaJRSSm-JSYZch~ysK!2s&vi|P$vE94upb3$B(65hM*6TR8{iD6p=Qs>p7yBKC zey75+?se**a^9rMNqW-3Q&$N;u!gqvoVl#s;{Dp)OFN8ImR#^mU4(m9uKM_kT_0i4 zyIyHoQSjP2+Lo{*B)<&wBG7Z3^vji>L|+B^wV+?>idEE()i%&Sy$bgTobr)`d?V;> zmRQ#LPI}w3ZTqQ+@$gpY8K75yey&S?f-Rp5`l?pwVbK2$`gtz-Nw)kl(2uy9XHX@?p^PK@U6WZ3}Gs%Rv7V=%bwU`3e22K;I5}u9Mz&v@O34^k&e9 zI_b{(2fgc3fB970BhChWxKlowu%7|?4AA}JlMDLqKu>qd2NUvP&~I-=ei`WRfIiwO ze@Q}q73j^N&veq;PEC{_^i!(PUpeWagnT3DV?pVyx^Mo2-nZJneWfBvi$MRq%l?hF z{S46m4*Fadz0{`Xf_};}fB7)zkAm(ezYO%$8h`m!pjUzJC%+B!zqTUZ2>J!r`pc){ zS%Zf`f6!IFJMHpifPU(AmUXp@zR;%Uf_@k1e)3_^GnV_yF9ZFzp!>|5czr3%Z~DHqiUr>@VL4`UcSbJ-8e4ND%Or4Aj(7WAfS(rv9{KF~5HV3pW zpq=BSwH!reUm+Rz9019y_Q9`?AT0Ez7guz zIl6>39iiI681EQyt|Bbdt-VPtYb7)|qm> z{3JZ|ghRv(+J>V8OJP20h0fzDFf`87fk(b01e<8Q#z9+zeDqgff4N*LhC9l28&QN? z&3tHm$}6C14xVEGcDaBrZTzgW)wPHjYs4@fZQw)O+h-~N zy9mD}*E)_(a@}@Q8 z1l9@MF0fu;lR)EQWx0z$Q(%_BY=M&m&JtKIaFM{}0&4}X5m+a1yTE#ZO#%(xd`G_` z&=i;@Fk9dxfwKgb3tS{{xxiY1YXsH_+%B+QV3R;2Cgm4s3d|CiEpU>+Spv%iE)uw0 zV6DJ40_y~B7g#T_NgzLb4;Q+`l^>?SEP>eqCkdP-P``k0kz6kqSSxUiz&e531=b5} z5@=LN`30H+vjk=foFs6Tz;c0$1TGg?D{zg#I)U2-Dr=6v1Jw9K;{c68G%gW_#ic1U@YA zDS=xAz9Fz);O7Fr7kI#C<$qU!y#!_o)a4jEdh{?eeOf-=^HgE>>z6q&GpldE3cl=j zS^xf-Sp)kB+U0(W3ySG}#+R0tK=YTjMrUKqrEUt{MkIW_2j5HZ-uclG;M-uflRYp| zucUD_G{)k7px|c< zUeDXU5&R;-pD6s4=A>th;Exo1C&6#`;Cl$ZN$^yEbo3Uy@xJo&AcZ#i3EmXEF7F7z zXA54JYn}nSn$SQmH#>p zUkct7y!Lai;IlpW4(KG=f5GcGbQAm{!Rt8m5`3*kPhY{;dH7Eee7)dx90Gzj>XrXm z|Ji~!1+U{UQ}Edy{u05@61h2R$nUdQ1I!Pk25HG;1bypF@og0C06_VZrB8y_nF zwf;W~-W0s%e@gJ#g4c1_D)?C*{jbak@GrsF3tsz~0=KE& zjla45KS=PV;B_316nwVeb-C!-70w@zoGV4?i75j;I-X93ck*x=W)T; zd-!Si;P`)p6C64YuL<51yw*?M7x8BcUdQ26!O!yW)9>tvf05vI9NJ(QC48;mbsRbg zzRrX1A^3X1>p1ilyzwy%;n05e6TB&St$&2zvpxLd1V2mgIu6qWzsSR%$M_yb`=L0& zq4x<&g}+w#4`Hfd%olu};Pp7QMDRNVulEFBpydDQ%68s{;A1waAE%;gw|A&IF6TGfp`VAb_Z@u8P-QPnW;f;SN|24m! z&zOSO{^b$0!jBOA6v0muyq>=miT)!z`Y}8v^)t%+2ODp8)t-m}AO1ybH_g!d zbej8W)`P5(^@+yc!1!*4ciny)@P=`aF^d|w<5(?v(q%rZNl!8!rIh_QjeiaJwgxuQ z^!i)~e*yj=#Q()Xs$5ilI{pUy!HDzt`xSH z-zEH)O;-MBJ&z0i)*F?c8N&av;NSmJ@$<9opnb-8VRC>UfIkSks6!p=Od_|(B9h{8 zV$^Nd6#Ss4-SHVF`0x1#?0B9OO_PqPg8%1x>N+gdUm*C8Xh6ro&&L8r1b^lOit%cu z;yD`NDL&a!zdAlcx!$`Qr+ECoL-g!^MCq9)dY%w`>RoRAZwP+=5QXPwOd<2B;D_&2 z3TRzHN3-C!E>PF}yMLS>(q6@F-E~UOxr%HY%XqnPfYXG3hVY*+w6g{O(7kRy!#;X8 zia+@@pyPN@^b}x#ptubktnv!td|d9MXQ0H>l=i6kr!jwLqxl}CpPw0krW=4al}gv& z)xhhq$w{F1`cPioe2daU{Wu+)Sid@V{(Xz}bT{gyezS#G&-|T@u~(`J;onez)-3qz zcDVDu2L?p4d;Wcjf4At#1fJWS#3xuNgaJzW%s!zB)iioGPk*GaoWc=<>Lp7exPDu054KUVM;{9fVb3ZC9k z!0~^=ZTB3(XATm6F`UnM5q5w}h5zM0D}LQStPuP^ij@N0Z~qy1DwpZW|BEpJAbf+T zT#t*MQ5#jfwYz6xW{)kyhKmRreq#VJII8DWe-x&e?d5l-G z&cF2APtyO&H41x`5ElymFV`!7biFSZ{M}2He%&7bDEPBJRSGT=J?{#BHZ8Pq=(yd6 zDFwx$*b}$!g#W@lil2Xz0lAKtu#ulHSFsxGdn#x$UY$Gt4iNqc(!NFsajf9GVs=4? zZWprzKWc_jtm~^%@EuNY`+o!QJ|P~ z1&k9UpP#-><%90e=VHNRcj3&e1>4RU1jYo=Sdr!Mq3x2{I5@+3SzbJlo-0ZHe z4+TG0#xLD(eD7oT2=w!$e~YIc`!c?}ah#{W9l+y4XJfhKRj$M*NATaRb=P~L;IIF! zikptfJi#xmRQ0I)pJjp{98~yEME@TcFBc9#?-QhYpL@FE*ZKUa;1~38>-kjh&!sB7 z&O-wmv!v&*FDbmv+s$27d}ev(2}cP36Gyx44ix~4>7;U6dMRFBKoivCHSxZN)NtL{*GbbDDR`1PM zW0zTKYdu^dBYjK)o)D$^87*`&B$wi)fJT_AqKa{drvU z{JNd45&VMN-SxOx?AA&9)&1uiNLtFDEq_w{dcHyL z^(1^se}(U(fblisTgKr4(Np}bqVapKaC)5JYw5-Z4qY#&2>!uSm16!4ALwTRPw}sn z_-j9B34b?*-;<h!^=Lr67+VIDr^QwaJjB@>{68_IGReE$@{Q-E>#i=gV34hl`>YCqohtrn@ zU%cC0?;i>N9_c?bm6-9p;Q#bTH~&58Pbd$!%l^P4!hevAM@v2J^a$XI|CYbF<2F$6 zgJt~H?R1>rr^`l;9tVShKkY(QkNo>j*uGToOK3wL$LstTzv~nHC}~GJKkpa(eCZ!X z3;$EVQ~x&5lb_3d<|ofGe-C4kr~U2}{TIr7I3oK0A^6W`DL?u5si3t%zfJKu{09}E z#}zQ>H^t;ns>h$hh5zK6lpZ~wKUwhK%6^n?r(*;^xmr2G?+(Q2d91&OG0Rh5bA_ZH_zXKj`8nlbrAPa7{r<{sj>qnG&_n(dd+>LP{vMwGYQ5lZ$X9mt zyyA7iKR7|*KN0``F8KT3RCwJFx5fIG@;PgXJFj}ky7*PkxO1%V7tsxO9N&rl;ev0v zN9oaarwRUb&wMp3_>v-b{Z;`_{XmANANZ~GCrju?A&#fS?sdZ7#lydn@#wF_f89Ua zc#JA&K*?%}s?Cuc!ee^&A4xOLh2)_Nb?)cv&^Qg8mzkN{j zyd?9Y`#tNLG%Pi#US>)EHeC3Rk@ac0Cr|nb|ESlL|2hxP6ns47#^(z@@Ug<{c5%7j zucjOEICTB40G{%*yVzBw!@F07zq!_(4;uu3z!wUy^Yd-N-!oXn|1BxkN1}g+)R*2@ z{6hFUv{C-(IA6!}{O(4!r~gcq^+@#{?sB~+_g~)ln=;7nVZ~`5;or1Q`NO}z0{(Qt zA1nLDbH&ed1;61T#jnSOa>0Kz)g6bc885;PP%He;3{ZaR_&g!_Ioa;=zAgBR@#)l)@~7o-JmWhXTd!6A4;7Zaf-jRi*YnuZ1^>I}ls~(L{~W;|e7wTz zJfYukQ{L{rQ^i4#3st~V{=Da@-|K|`$xcd-&clZUzkH(7!|!~B?Pml(=?Zt8={@XZ zchegRult{Gdnvowp7!#&>}zFt@L!3Z<||Zu_B;Q#!+va91i zSnzFSA3*0xAu5IZEV@tW(c{7-;V;i{$Fo@QpS`H?x?Nu`_;sHuN4`<&j0Xfi;Ul-6 zXBaO|JHQ*lZ@jDg*ZOw}zGQ)7o+UDSfv5g?mbAMp!S65aagwJ!9xC(a_iB}cIu0ib zzNh>i18VsgDR^s@n|}uD$NfsrcoY%-hwI$_|AzUy8#x|-Rtmno;B`M!D|!|`=(hVf z^Y<{edhBi#{tYruI8Xe4UHD(|@V_Vg=U%4t%WXEJN${_o=g$95vJa5%$2gv`fpDRB#|NDa9HpiW}y9NJjSmAYl()nnmr|Nly*Zt>-g0GmO z@H!4>2!7&|%C2sw+hzTmE%#aGNj(-azg###rRdp74_M;R{v0m#*kAHokMB1K|BlmD zz4Lp3Aoqaam+w-3>U!MbW48wTIn;lqOJ3>q!aJg;SIixsZ+-N1Fjd@Mz1$tQ-oTUo zMV@@i6#hLj?=6Mzbc``oKhV|Fj?My}>UYTNO23YC3Gn#8#j#fQd0vTZ;f(KWEPPn$(fKe)@CBa!VXWZ0%DhhR+g~X7+ISl_qW%1s*W;ay&9V;Fr$~V0)v<7(Ux6?iK^(gbVEZ1A2XSM0p{}t=OI@+^;*!~z*FJHZ{ z_;tM;4LtsDaSRjwOXn+o-F^eojz&rU|CC5hW&RdwjF{;8M#e84hvkB=mwCP(cODXa z)nO_=$6{Vi$9lmZ*0n8P>wI`i@Neu@cz!1uI6e{lqo1^4eqG*uz$2ww90wh%;`82R zN{{aM(gklGqVQUeQ4o#C;uS?jnFU5+D2lJ%;cH{jV7xR~5XN_hV@5Do7zxe}NAmHx zwZeEL8VlxCR2uXN_HZa3D$LAE&Jn~1+Dhd6cA>I(biPp(rSGd3R+N^`hlt|}AHpk% zyID&k1#{pK*ysby!OQ`P)BcImeu>j8qli8M=af0c!Fh^<^%U}0^bS46aX!>>KE!c8 z*l|9{aX!#-?r?CZ!|qUr-JuShut9#yF(myhdAsG zcGw;4ushgccd*0mV29no4!eULb_YA`4tCfb?65n?VRw+j?jVQVK@Piv9Cime><)6+ z9ptb($YFPo!|p(b-GL6f108k;I_wT~*d6GwJJ4Zwpu_G!huwh=y8|3{2RQ5waM&H- zusgtEcYwq00EgWH4!Z*!b_Y1@_IKFr@37n7VYk1-Zhwc}{tmnS9d`RW?Dluq?eDPL z&tbQp!*0JJMiD+=m=`Z8$n58^+s|RQpTllHhuwY-yZsz?`#J17%sQ+(3hS`xFgehO zMh2p_^C1r(?dBNgP$?Rf$vOE$EIz^a0@u^0T zjJ*6vH10+fR78W(NJW|IF3*@ea(o~dm@p<7G`OEcM^YGz1dH>^3d12IIOec0c>Ac{`$&*K(r?6BY+rwlZbuEg9 zLfK<;$Bh~t?4Q{`bC3~^%ueDczPHPcO1YA&BxC+xK()WkT2YFT#>gu#rw_pLH)Kan z9vd7#Zi3Ts`Q|N^eReR6;TQQuU$mz&&?qb^DhkF+N<*>oP(iS?Bn*a7L8PoOW+YLi z>M8lBU$qx`CHROa+tH4BZF2EZ!r;`2L3|L`h`{||X{a<7kB0I}T_JQtN^`SYBd0q{ zsK5Ff4V6aby6XTs%L+=%T}p%Frj8FL<|0UVnu$!!%SYRY#S0@9aThyO6qL_*p=Jl; zdHKQOIS9U8e}S_d-}zQ4WYgT~qCT{16Y+s|9T9^Qv?3bCjD|Bkq2BeGW?f)!j;hZi z+nQZ2wWP6C`J(aYiQ^}YoE!*Fa3!bnW49>nc-tgA4TUoku3z9$DfYIPl|79FHv4B1vdZ6B3k`#n%KT^?J?^I|bs(Il+s zEE4xH@K=-v=jKIAsN0DJ^F#E}W&Ywf5;}yhGgFwjOV^bWkGMYPt$PuKvH;^5tz$xk zC0H>9rv|1>RbT6-W}-;^-EQjaU5$jI9SzY0#4ZS-62qj*mLLxmcIN2Ds6vvY^{Nn- z$BWUQ7Y3m%REho;H63wxqp?V72u+PrZC*4|Hrqf{$4qF^O}G;P))OsGS>l9HO}j;! z>-uvI-^dA;v0GPBc||ylca97dlDiIlp*&BWt)yi zD=@Hgd<>c}mCIMT<$L8cOKkZ?c=r@QkN&f%(S}Rrgc2!?h9XVR6$y=2W%Bm%y2mbw z6vPwFg|f`{S~m?llx&4+UDu}9ah>~^vrxk8I@Y$5bo|onR2R$*lsnNR$?Gbc)+_@V zrAdJ+O^~sZrX-5uN={GSI))Lu=$@G_*@i~UiHb0uxf8NwV2L}?RJl-|8Ldmb9p2>D zrHDyl=eAR%djr++a9iXKz9{z2= z(I|6yJv;@`{%A^?a7hps9%r)_gc^Rb~= z#=|B?88y`DoKZcXP9RFrq-z=pnWqe@GecXPa+afwsockkJywid;B7@38iNG}Ex`1o zl*eM*ic^RfK6N8MQ|l)Mu!Gs)0rA0N53$o0RUR-4le0GMdLH zPg&$gB4zcs>gazs;yg)l`h#?KPStf9dd6PQ^v~T;)qrZ0q7#a^JN}}ga7C;*xw|N6 z!d+cjZ~yHb>s>>KDkE(mu%aTYsi}V`R5NS1a+xP;2A-Mr+p1Ggy|ND7tPU-ZhkK9zj04cH#876=%itDGe}72T=p>QoUv0JH|DTkVCNSP2JVExB4oB>!^7o@if@wY^=7*+ zxi?pJpp+s#@5JWAkKNAD3M4O!XnWFCS&87gmu)CA`a{*jQVD|?qr-GVv&bGUV|jB! z)a4}^l2yfeT0x{d8LN1vmd`Y=2_m6*DU_%!T`kfh>G7JD{}r@>KPNbLav(4vnR->h z#i4My9&R|6Iwc`a<*JCvtqJE0E9h{**^P?FDmH2=W=GLA0NYt)lU=zidTgSuD@hJ_ zzeZbYEjAO97?AGN)3Wqv<;^=}D-Q>*Eb*Fr#Kd2{|oc@+1@#^RQH_V zsN87*9}o55!n^wV`2yFTzFjiiWr$jR$ATx;*j=M(08b)q0bSR+FG6`WB1p+0**91~Fx1V&@%qn*ifc1&j4rStK6H zoLyFtiG9BEP&7W@$h1-U6(!-qz9oeQGZg2=ijB;|`DIY1U_7cQxG@vM{Rh`Y5VUA0 zoJRt3RvwNUnSAFr6Q`M&uNZuSX^)YK{aswr13BQ16z0YAjLcB6Jc3hP2yOaG=}?=H zNYBc@M z4v#R(+Yay@dXd-gIL#-Vl}xU!?-)N)??XMv1YI@tF0d)YOt z6bJA#0fV0C((?E@2Om@Lm!25Y_Kp4uuc3agyI@&|J|{Q>|L7g-TE6WBMb)sQdK?Y! z&=R}{7UP=U*{Z0g1&!w?=>1#?|Mh#~HPr8k*Y>^Tze40ki9-F}c@6b@ z>Ph}E{PW7w&+#a(`{N%U8b{CXIps}}*RYNX?l|PJK6+ytAJ^lrQ@*}J z;WaeXrTtgSX?P1LPI*KBAVlDre`Eh{kGy`buZF)lO%gyn&~~*$4|wGD`_VMSW1_CZ z8$Wt(l>FEEW7LT~fwTI!#0}GZX*`B&r@Vfznue=%g^Qfm{_`IBE?+788g4npZP266 zcok&4GJ@M6aq9OFFYl==dE=$!HQWiAG>5!??{Tfj>vm4M>Ckc-{sTD5U0qB1eRJzY zzK()}L#Kh3(|)Z0jaamNWnblY<&g?5wJV0Sw6xy@oKxO@Po1gcbw9|$N#y_Km6zv$ zjboL3y7;fz#q>Lp%kWRfU)O5~;5;s}{L-n)|LkM=(*C3EY6Lygn@oPoJSE@BBjC9-{tpsZ B7$yJ! literal 294944 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 ksWI@ zEEZ+Lu7@W-`X5b26DH{jC~I7v7M%%K+Cw(AtLXCQ6(!W^3?Pz@+^lnetxlKCE}e;u z#3CLxG0Lc+PRESOfU@qA449;4#AU8JsAPt|IO$BIkEz(lu3$7DvB2AjG&K5iELwQ! zNhy!TwiWd)v@nCt9O<6ssNuq8hVpMteh`IlNx^wJD(PWol-92*m2u=)^;f&9BP8k4 zI#)X;`!c{t9I8Got2okaPU*0Pn-?ev#hgg(02Z|!U^krZQaVjLCkQ1)G>=anvWSmF zlW=)9DVupEOfnTnORxm z&*4rj-FX&oQkZ5YT2I-^R;fa?+iiA7rQL>T?;Dmox*Yiv*UoCVI2(p8lel^&7z54IJ|bve~f<2d9qAJbl=dEF(4?67_1}7`4RG zdOg=)7@d`DyyY4sN#q`Z&+IzY>mcXVeJ5Y9PsQJ@G*akX1! z>vPmmVo;kw4edxBv%<0Py!onkb3N*XnQlMV_^)#+*U~QA5tGuGi2uy964iAykjr(_ zu{rl7By=phm{FEvytZ&d4*LameDPr53>YjzW*HkE4pWqWlQeI=d?~%a9jn?=N|By- zV)NmbZf9r(5|??jE$L`1)6FU~sE&v#BOj^^OEvUkj1JL_%shLzj0WZeDdi;@l2yaH zdO^528LL>Pmd{wGMg0gUUJ4~zOE-&TBt2f!^1p;O?q~Z)P0Y+3mrT8C;QU~ySPwVs zOC6FBr+Sq{n0NaVubaJ9!iXNM&+e(7Nnb&A*t=?ur zk^<~Na`bvVTDjv6(aMdUl-b!09Vx&`g5il;)$h{@TK(RZpy|9C{l(LLHp0H4VE0j4 zw3t3k6k)ilz+=Rw6JnVmA9zV-HCzj@(?H`^sCDX$~?F8P< z*UuF=_VVqT>0~Kt^_>cySYu&I(*T}C+5)<*buLNFM-m=#HIO5jvAcEBzaU(Y$Rp;+ zbViB{O0%P%nQ)HNq*?UqY$$S6fREdyq67*VNk3~Qg`h$yI(lEgQG!p{&B7L z5}~OhM%o9rk%EzkXSKMUUAPB0S1{RhW|AGAm?6d(aPD-Ol1biU)8 zj?;9^S1dlkw8u)v{w^-*K^$<0a|5w}l^)EOM{n|Tp-o>Y9cmL&N$7JF6(}r#GN>la zu#)x6j7F_=JOxxp`wzdtfybWteXZ*0CwxyzPBiqn%FxdxYBc>`1&=P`ok;4~DkmBq zFL({~^SJtY7*4*&yTi5oUOCZl1)kreL(93#KNB>(%E2yQzfWDm(P9989$?XvTv{GK z>BF#u`6z+L!T3zjz4-gx|Y}PL)WmGdJN6BU-N004|#gmy1v%$ zTi0*`6@tTUzrtF0Moald%j@^MYpCDv?)IOq|D_^7Tomf}#cQbFFHiDE;?M2Ba^T3X z&G5%Zu@h2!nTNJRGuh* z?x;#~`%BAfxC^qa4SD_k;VlZmY;wk#lh9Fwk<^u9ct> zifp2OP(j_CLB@ji6_FlgY1`tK{|j)-=Cc{{I6J6~X8L diff --git a/ytest_t/yftest/include/ftest/ftest.h b/ytest_t/yftest/include/ftest/ftest.h index 3b99355..f72a58e 100644 --- a/ytest_t/yftest/include/ftest/ftest.h +++ b/ytest_t/yftest/include/ftest/ftest.h @@ -57,7 +57,11 @@ #define GE >= #define NE != +#define NORMAL 0 +#define VERB 1 +#define NOVERB 2 +extern long int verb; extern FILE **f_ou_th; extern bool debug; extern bool unicolour; @@ -306,30 +310,59 @@ GEN_EXPECTED_OP_TYPE_FUNC(NE, TYPE_STRING) /* * only expect */ + +#define IFTESTPASS_NAME(OP,type,var1,var2,name_f,msg_call) \ + do{ \ + if(verb==NORMAL){PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ + PRINT_LOC("test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ + }while(0); + + +#define IFTESTFAIL_NAME(OP,type,var1,var2,name_f,msg_call) \ + do{\ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ + }while(0); + #define HANDLE_OP_EXPECT_NAME(OP,type,var1,var2,name_f,msg_call) \ do{ \ if(is_parallel_nb == 0){\ if(expected_##OP##_##type(var1, var2)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call); \ + /*IFTESTPASS_NAME(OP,type,var1,var2,name_f,msg_call);*/ \ + if(verb==NORMAL){PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ + PRINT_LOC("test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ + \ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); */ \ - PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + /*IFTESTFAIL_NAME(OP,type,var1,var2,name_f,msg_call);*/ \ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ - PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ - } \ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ + \ }else { \ if(expected_##OP##_name_##type(var1, var2, name_f)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call); \ - /*PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed %s \n\n",name_f);*/ \ + /*IFTESTPASS_NAME(OP,type,var1,var2,name_f,msg_call);*/ \ + if(verb==NORMAL){PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 %s passed %s \n\n",name_f,msg_call);\ + PRINT_LOC("test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP ,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2));*/ \ - PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + /*IFTESTFAIL_NAME(OP,type,var1,var2,name_f,msg_call);*/ \ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ - PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 %s failed %s \n",name_f,msg_call); \ } \ }\ }while(0); @@ -340,15 +373,42 @@ do{ \ * old combined macros HANDLE_OP_EXPECT_ASSERT for ASSERT and EXPECT * is_assert : 0 for EXPECT and 1 for ASSERT */ + +#define IFTESTPASS_ \ + do{\ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ + }while(0); + + +#define IFTESTFAIL_ \ + do{\ + PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ + }while(0); + + + #define HANDLE_OP_EXPECT_ASSERT(OP,type,var1,var2,is_assert) \ do{ \ if(is_parallel_nb == 0){\ if(expected_##OP##_##type(var1, var2)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + /*IFTESTPASS_(var1,var2);*/ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ + \ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); */ \ + /*IFTESTFAIL_(var1,var2) ; */ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ @@ -356,15 +416,20 @@ do{ \ } \ }else { \ if(expected_##OP##_name_##type(var1, var2, __func__)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + /*IFTESTPASS_(var1,var2) ; */ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP ,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2));*/ \ + /*IFTESTFAIL_(var1,var2) ; */ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ - if(is_assert) return; \ + if(is_assert) return; \ } \ }\ }while(0); @@ -378,22 +443,32 @@ do{ \ do{ \ if(is_parallel_nb == 0){\ if(expected_##OP##_##type(var1, var2)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + /*IFTESTPASS_ ;*/ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); */ \ + /*IFTESTFAIL_ ;*/ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ } \ }else { \ if(expected_##OP##_name_##type(var1, var2, __func__)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + /*IFTESTPASS_(var1,var2) ; */ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP ,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2));*/ \ + /*IFTESTFAIL_(var1,var2) ; */ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ @@ -405,11 +480,16 @@ do{ \ do{ \ if(is_parallel_nb == 0){\ if(expected_##OP##_##type(var1, var2)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + /*IFTESTPASS_(var1,var2) ; */ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); */ \ + /*IFTESTFAIL_(var1,var2) ; */ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ @@ -417,11 +497,16 @@ do{ \ } \ }else { \ if(expected_##OP##_name_##type(var1, var2, __func__)){ \ - PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + /*IFTESTPASS_(var1,var2) ; */ \ + if(verb==NORMAL){ PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__);} \ + else if(verb==VERB){\ + PRINT_HK_C(colors_f[k_GREEN],tab_hk_f[hk_TR]," 1 test passed from %s \n\n",__func__); \ + PRINT_LOC(" test passed : (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ + ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ + }\ } \ else{ \ - /*PRINT_LOC("Failure\nExpected %s of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ - ,DESCRIPTION_##OP ,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2));*/ \ + /*IFTESTFAIL_(var1,var2) ; */ \ PRINT_LOC("Failure\nExpected: (%s) %s (%s) :\n Value of %s: %s \n Value of %s: %s\n\n"\ ,#var1,STRFY(OP),#var2,#var1, type##_TO_STR(var1), #var2, type##_TO_STR(var2)); \ PRINT_HK_C(colors_f[k_RED],tab_hk_f[hk_TR]," 1 test failed from %s \n",__func__); \ diff --git a/ytest_t/yftest/src/ftest/ftest.c b/ytest_t/yftest/src/ftest/ftest.c index 7078001..5a2cfab 100644 --- a/ytest_t/yftest/src/ftest/ftest.c +++ b/ytest_t/yftest/src/ftest/ftest.c @@ -40,6 +40,7 @@ struct failed_lists{ #define default_removelog 0 //#define default_parallel_nb 1 #define default_parallel_nb_opt 1 +#define default_verb NORMAL /* @@ -49,6 +50,7 @@ struct failed_lists{ /* * begin variable option */ +long int verb=NORMAL; bool some_thing_wrong = 0; @@ -96,6 +98,7 @@ size_t parallel_nb_opt = 0; /* to solve debug option */ bool is_parallel_nb = 0; bool is_parallel_nb_opt = 0; +bool is_verb = 0; bool log_parallel = true; bool progress = true; // false; @@ -335,6 +338,10 @@ void usage(int argc, char **argv){ "\t\tto print debug by using PRINT_DEBUG, by default PRINT_DEBUG is not print unless -d is set\n" /*"\t\t-d need to be set at the end of all options if -p is use, to avoid sigfault because the parallel env is not yet set for debug print parallel\n\n"*/ ); + printf( "\t -v, --verb = integer or macro: NORMAL or VERB or NOVERB \n" + "\t\tto chage test result printing: NORMAL=0, VERB=1, NOVERB=2 or integers not equal to 0 or 1 \n" + ); + if(array_TYPE_SIZE_T){ for(int i=0; i< cur_array_TYPE_SIZE_T; ++i){ @@ -365,13 +372,31 @@ const char* extract_string_after_equal_symbole_in_string(const char * in_str){ return NULL; // check for '\0' or ' ' return ! } + + +#define COMPARE_STR_TO_DEFS(defined,in_str)\ + /*LOG(" ===================== ======== %s vs %s =========== \n",in_str,#defined);*/\ + if(strcmp(in_str, #defined)==0){\ + return defined;\ + } + long int extract_num_after_equal_symbole_in_string(char * in_str){ + size_t len=strlen(in_str); long int val=0, p=1; int added=0; for(long i=len-1; i>=0; --i){ PRINT_DEBUG("(%s)[%ld]=%c\n",in_str,i,in_str[i]); - if(in_str[i]=='=') return val; + if(in_str[i]=='=') { + if(added) return val; + + COMPARE_STR_TO_DEFS(NORMAL,in_str+i+1); + COMPARE_STR_TO_DEFS(VERB,in_str+i+1); + COMPARE_STR_TO_DEFS(NOVERB,in_str+i+1); + + return -1; + + } if(in_str[i] >= '0' && in_str[i] <= '9' ){ val += p * (in_str[i]-'0'); p *= 10; @@ -603,6 +628,7 @@ void parse_options(int argc, char **argv){ IF_OPTION_NO_ARG(gtestlike) //IF_OPTION_WITH_ARG_NUM(parallel_nb) IF_OPTION_WITH_ARG_NUM(parallel_nb_opt) + IF_OPTION_WITH_ARG_NUM(verb) IF_OPTION_WITH_ARG_STR(savelog) IF_OPTION_WITH_ARG_STR(timeunit) IF_OPTION_WITH_ARG_STR(bar_progress)