From 16e128821dbee796be6a83cfaa1dd06536165192 Mon Sep 17 00:00:00 2001 From: JunkJumper Date: Sat, 2 May 2020 00:01:03 +0200 Subject: [PATCH] "depot M311" --- S3T_TP_00_REVISIONS/Demo_make/bonjour.c | 9 -- S3T_TP_00_REVISIONS/Demo_make/util_afficher.c | 9 -- S3T_TP_00_REVISIONS/Demo_make/util_afficher.h | 5 - .../_DOC_Bash_Configuration.JPG | Bin 58915 -> 0 bytes S3T_TP_00_REVISIONS/crash.c | 18 --- S3T_TP_00_REVISIONS/hello.c | 11 -- S3T_TP_00_REVISIONS/processus_1.c | 15 -- S3T_TP_00_REVISIONS/processus_2.c | 18 --- S3T_TP_01_SGF-1/Makefile | 10 -- S3T_TP_01_SGF-1/demo.c | 19 --- S3T_TP_01_SGF-1/myls.c | 8 -- .../_DOC_ps_Exemples.JPG | Bin 124832 -> 0 bytes .../Demonstrations/Makefile | 16 --- .../Demonstrations/demo_base.c | 21 --- .../Demonstrations/demo_exec_arg.c | 25 ---- .../Demonstrations/demo_exec_scan.c | 22 --- .../Demonstrations/demo_exit.c | 18 --- .../Demonstrations/demo_fork.c | 13 -- .../Demonstrations/demo_sleep.c | 23 --- .../Demonstrations/demo_strtok.c | 20 --- .../Demonstrations/p_fichier.c | 23 --- .../Demonstrations/p_fork.c | 19 --- .../Demonstrations/p_fork_exec.c | 41 ------ .../Demonstrations/p_fork_wait.c | 20 --- .../Demonstrations/p_fork_wait_exit.c | 26 ---- .../Demonstrations/p_system.c | 31 ----- .../Demonstrations/Makefile | 13 -- .../Demonstrations/demo_dup2.c | 20 --- .../Demonstrations/demo_fork_fork.c | 35 ----- .../Demonstrations/demo_pipe.c | 16 --- .../Demonstrations/demo_pipe_fork.c | 51 ------- S3T_TP_04_PROCESSUS-3-SGF-2/Makefile | 11 -- .../POPEN_sources/m311_popen_demo.c | 47 ------- .../POPEN_sources/m311_puiss.c | 17 --- .../POPEN_sources/m311_somme_puiss.c | 22 --- S3T_TP_04_PROCESSUS-3-SGF-2/p_pipe.c | 51 ------- S3T_TP_04_PROCESSUS-3-SGF-2/p_pipe_arg.c | 69 --------- .../.vscode/settings.json | 7 - .../Demonstrations/M311.lnk | Bin 2329 -> 0 bytes .../Demonstrations/demoAlarm | Bin 17008 -> 0 bytes .../Demonstrations/demoKill | Bin 16816 -> 0 bytes .../Demonstrations/demo_alarm.c | 25 ---- .../Demonstrations/demo_kill.c | 19 --- .../Demonstrations/demo_kill_grp_1.c | 28 ---- .../Demonstrations/demo_kill_grp_2.c | 32 ----- S3T_TP_05_PROCESSUS-4-SIGNAUX/bash_trap.sh | 17 --- S3T_TP_05_PROCESSUS-4-SIGNAUX/bash_trap.txt | 17 --- S3T_TP_05_PROCESSUS-4-SIGNAUX/pForkSignal | Bin 17008 -> 0 bytes S3T_TP_05_PROCESSUS-4-SIGNAUX/pSignal | Bin 16944 -> 0 bytes S3T_TP_05_PROCESSUS-4-SIGNAUX/p_fork_signal.c | 59 -------- S3T_TP_05_PROCESSUS-4-SIGNAUX/p_multi_fork.c | 53 ------- S3T_TP_05_PROCESSUS-4-SIGNAUX/p_signal.c | 72 ---------- S3T_TP_06_IPC/.vscode/settings.json | 5 - S3T_TP_06_IPC/Demonstrations/demoShm | Bin 17136 -> 0 bytes S3T_TP_06_IPC/Demonstrations/demo_sem.c | 75 ---------- S3T_TP_06_IPC/Demonstrations/demo_shm.c | 80 ----------- S3T_TP_06_IPC/Squelettes/imprimer.c | 35 ----- S3T_TP_06_IPC/Squelettes/s_critique.c | 37 ----- S3T_TP_06_IPC/Squelettes/shm_add.c | 28 ---- S3T_TP_06_IPC/Squelettes/shm_create.c | 41 ------ S3T_TP_06_IPC/Squelettes/shm_excl.c | 28 ---- S3T_TP_06_IPC/Squelettes/shm_sem11.c | 43 ------ S3T_TP_06_IPC/instructionsGCCLRT.txt | 2 - S3T_TP_06_IPC/~$11_TP_06-SIGNAUX.docx | Bin 162 -> 0 bytes S3T_TP_07_THREADS/18_19_M311_S3T_IE.PDF | Bin 235616 -> 0 bytes S3T_TP_07_THREADS/Demonstrations/demo_mutex | Bin 21040 -> 0 bytes S3T_TP_07_THREADS/Demonstrations/demo_mutex.c | 57 -------- S3T_TP_07_THREADS/Demonstrations/demo_pthread | Bin 19968 -> 0 bytes .../Demonstrations/demo_pthread.c | 38 ----- S3T_TP_07_THREADS/Demonstrations/demo_system | Bin 19744 -> 0 bytes .../Demonstrations/demo_system.c | 22 --- S3T_TP_07_THREADS/Demonstrations/ds_pthread.c | 34 ----- S3T_TP_07_THREADS/Demonstrations/makefile | 13 -- S3T_TP_07_THREADS/Demonstrations/pthread10 | Bin 20032 -> 0 bytes S3T_TP_07_THREADS/Demonstrations/pthread10.c | 38 ----- S3T_TP_07_THREADS/Demonstrations/pthread4 | Bin 16960 -> 0 bytes S3T_TP_07_THREADS/Demonstrations/pthread4.c | 41 ------ S3T_TP_07_THREADS/thread_somme_tab_SOLUTION.c | 131 ------------------ S3T_TP_08_TCP-IP/DEMOS/client_tcp.c | 62 --------- S3T_TP_08_TCP-IP/DEMOS/demo_dialogue.c | 13 -- S3T_TP_08_TCP-IP/DEMOS/demo_echange.c | 13 -- S3T_TP_08_TCP-IP/DEMOS/demo_serveur_tcp.c | 75 ---------- S3T_TP_08_TCP-IP/DEMOS/demo_wait3.c | 13 -- 83 files changed, 2045 deletions(-) delete mode 100755 S3T_TP_00_REVISIONS/Demo_make/bonjour.c delete mode 100755 S3T_TP_00_REVISIONS/Demo_make/util_afficher.c delete mode 100755 S3T_TP_00_REVISIONS/Demo_make/util_afficher.h delete mode 100755 S3T_TP_00_REVISIONS/_DOC_Bash_Configuration.JPG delete mode 100755 S3T_TP_00_REVISIONS/crash.c delete mode 100755 S3T_TP_00_REVISIONS/hello.c delete mode 100755 S3T_TP_00_REVISIONS/processus_1.c delete mode 100755 S3T_TP_00_REVISIONS/processus_2.c delete mode 100755 S3T_TP_01_SGF-1/Makefile delete mode 100755 S3T_TP_01_SGF-1/demo.c delete mode 100755 S3T_TP_01_SGF-1/myls.c delete mode 100755 S3T_TP_02_PROCESSUS-1-BASES/_DOC_ps_Exemples.JPG delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/Makefile delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_base.c delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_exec_arg.c delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_exec_scan.c delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_exit.c delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_fork.c delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_sleep.c delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_strtok.c delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fichier.c delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork.c delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork_exec.c delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork_wait.c delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork_wait_exit.c delete mode 100755 S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_system.c delete mode 100755 S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/Makefile delete mode 100755 S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_dup2.c delete mode 100755 S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_fork_fork.c delete mode 100755 S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_pipe.c delete mode 100755 S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_pipe_fork.c delete mode 100755 S3T_TP_04_PROCESSUS-3-SGF-2/Makefile delete mode 100755 S3T_TP_04_PROCESSUS-3-SGF-2/POPEN_sources/m311_popen_demo.c delete mode 100755 S3T_TP_04_PROCESSUS-3-SGF-2/POPEN_sources/m311_puiss.c delete mode 100755 S3T_TP_04_PROCESSUS-3-SGF-2/POPEN_sources/m311_somme_puiss.c delete mode 100755 S3T_TP_04_PROCESSUS-3-SGF-2/p_pipe.c delete mode 100755 S3T_TP_04_PROCESSUS-3-SGF-2/p_pipe_arg.c delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/.vscode/settings.json delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/M311.lnk delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demoAlarm delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demoKill delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_alarm.c delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_kill.c delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_kill_grp_1.c delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_kill_grp_2.c delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/bash_trap.sh delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/bash_trap.txt delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/pForkSignal delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/pSignal delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/p_fork_signal.c delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/p_multi_fork.c delete mode 100755 S3T_TP_05_PROCESSUS-4-SIGNAUX/p_signal.c delete mode 100644 S3T_TP_06_IPC/.vscode/settings.json delete mode 100755 S3T_TP_06_IPC/Demonstrations/demoShm delete mode 100644 S3T_TP_06_IPC/Demonstrations/demo_sem.c delete mode 100644 S3T_TP_06_IPC/Demonstrations/demo_shm.c delete mode 100644 S3T_TP_06_IPC/Squelettes/imprimer.c delete mode 100644 S3T_TP_06_IPC/Squelettes/s_critique.c delete mode 100644 S3T_TP_06_IPC/Squelettes/shm_add.c delete mode 100644 S3T_TP_06_IPC/Squelettes/shm_create.c delete mode 100644 S3T_TP_06_IPC/Squelettes/shm_excl.c delete mode 100644 S3T_TP_06_IPC/Squelettes/shm_sem11.c delete mode 100644 S3T_TP_06_IPC/instructionsGCCLRT.txt delete mode 100644 S3T_TP_06_IPC/~$11_TP_06-SIGNAUX.docx delete mode 100644 S3T_TP_07_THREADS/18_19_M311_S3T_IE.PDF delete mode 100755 S3T_TP_07_THREADS/Demonstrations/demo_mutex delete mode 100644 S3T_TP_07_THREADS/Demonstrations/demo_mutex.c delete mode 100755 S3T_TP_07_THREADS/Demonstrations/demo_pthread delete mode 100644 S3T_TP_07_THREADS/Demonstrations/demo_pthread.c delete mode 100755 S3T_TP_07_THREADS/Demonstrations/demo_system delete mode 100644 S3T_TP_07_THREADS/Demonstrations/demo_system.c delete mode 100644 S3T_TP_07_THREADS/Demonstrations/ds_pthread.c delete mode 100644 S3T_TP_07_THREADS/Demonstrations/makefile delete mode 100755 S3T_TP_07_THREADS/Demonstrations/pthread10 delete mode 100644 S3T_TP_07_THREADS/Demonstrations/pthread10.c delete mode 100755 S3T_TP_07_THREADS/Demonstrations/pthread4 delete mode 100644 S3T_TP_07_THREADS/Demonstrations/pthread4.c delete mode 100644 S3T_TP_07_THREADS/thread_somme_tab_SOLUTION.c delete mode 100644 S3T_TP_08_TCP-IP/DEMOS/client_tcp.c delete mode 100644 S3T_TP_08_TCP-IP/DEMOS/demo_dialogue.c delete mode 100644 S3T_TP_08_TCP-IP/DEMOS/demo_echange.c delete mode 100644 S3T_TP_08_TCP-IP/DEMOS/demo_serveur_tcp.c delete mode 100644 S3T_TP_08_TCP-IP/DEMOS/demo_wait3.c diff --git a/S3T_TP_00_REVISIONS/Demo_make/bonjour.c b/S3T_TP_00_REVISIONS/Demo_make/bonjour.c deleted file mode 100755 index 6abe501..0000000 --- a/S3T_TP_00_REVISIONS/Demo_make/bonjour.c +++ /dev/null @@ -1,9 +0,0 @@ -#include -#include -#include "util_afficher.h" - int main (int argc, char * argv[], char * envp[]) -{ - if (argc != 2) {fprintf (stderr, "\nSyntaxe : %s \n\n"); exit (1); } - afficher_chaine(argv[1]); -} - diff --git a/S3T_TP_00_REVISIONS/Demo_make/util_afficher.c b/S3T_TP_00_REVISIONS/Demo_make/util_afficher.c deleted file mode 100755 index 51d0d0b..0000000 --- a/S3T_TP_00_REVISIONS/Demo_make/util_afficher.c +++ /dev/null @@ -1,9 +0,0 @@ -/*********************************/ -/* Specification afficher_chaine */ -/*********************************/ -#include -#include "util_afficher.h" -void afficher_chaine (char * chaine) { - printf ("\n\n*** %s ! ***\n\n", chaine); -} - diff --git a/S3T_TP_00_REVISIONS/Demo_make/util_afficher.h b/S3T_TP_00_REVISIONS/Demo_make/util_afficher.h deleted file mode 100755 index 55ed136..0000000 --- a/S3T_TP_00_REVISIONS/Demo_make/util_afficher.h +++ /dev/null @@ -1,5 +0,0 @@ -/*********************************/ -/* Specification afficher_chaine */ -/*********************************/ -void afficher_chaine (char * chaine); - diff --git a/S3T_TP_00_REVISIONS/_DOC_Bash_Configuration.JPG b/S3T_TP_00_REVISIONS/_DOC_Bash_Configuration.JPG deleted file mode 100755 index 6b949df40d9c7ebcb6ce382f960097308b5d50bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58915 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 diff --git a/S3T_TP_00_REVISIONS/crash.c b/S3T_TP_00_REVISIONS/crash.c deleted file mode 100755 index b6b7e2b..0000000 --- a/S3T_TP_00_REVISIONS/crash.c +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include -#include - -int main (int argc, char * argv[], char * envp[]) -{ - FILE *leFichier ; - int n; - // assert (argc == 2); - if (argc != 2) {fprintf (stderr, "\nSyntaxe : %s \n\n", argv[0]); exit (1); } - leFichier = fopen (argv[1], "w"); - n = fwrite ("OK !\13\10\10\10\10", strlen ("OK !\13\10\10\10\10"), 1, leFichier); - fclose ( leFichier); - - printf ("\nhello %s\n\n", argc); - printf ("\n\n\n Fin normale du programme\n\n"); -} - diff --git a/S3T_TP_00_REVISIONS/hello.c b/S3T_TP_00_REVISIONS/hello.c deleted file mode 100755 index 15a71ec..0000000 --- a/S3T_TP_00_REVISIONS/hello.c +++ /dev/null @@ -1,11 +0,0 @@ -#include -#include -#include -int main (int argc, char * argv[], char * envp[]) -{ - assert (argc == 2); - //if (argc != 2) {fprintf (stderr, "\nSyntaxe : %s \n\n", argv[0]); exit (1); } - - printf ("\nhello %s\n\n", argv[1]); -} - diff --git a/S3T_TP_00_REVISIONS/processus_1.c b/S3T_TP_00_REVISIONS/processus_1.c deleted file mode 100755 index ed869bb..0000000 --- a/S3T_TP_00_REVISIONS/processus_1.c +++ /dev/null @@ -1,15 +0,0 @@ -/* - gcc processus_1.c - Exemple : ./a.out un deux trois -*/ -#include -#include - -int main(int argc, char * argv[]){ - int i; - for (i=1; i< argc; i++) { - printf("argument %d: %s\n",i,argv[i]); - } - printf("\nPID = %d - PPID = %d \n\n",getpid(), getppid()); - return 0; -} diff --git a/S3T_TP_00_REVISIONS/processus_2.c b/S3T_TP_00_REVISIONS/processus_2.c deleted file mode 100755 index 37e637b..0000000 --- a/S3T_TP_00_REVISIONS/processus_2.c +++ /dev/null @@ -1,18 +0,0 @@ -/* - gcc processus_2.c - Exemple : ./a.out PATH -*/ -#include -#include - -int main(int argc, char* argv[]) -{ - if (argc != 2) - { - fprintf (stderr, "Syntaxe : %s \n", argv[0]); - exit (1); - } - printf ("\n%s\n\n", getenv (argv[1])); - return EXIT_SUCCESS; -} - diff --git a/S3T_TP_01_SGF-1/Makefile b/S3T_TP_01_SGF-1/Makefile deleted file mode 100755 index b536515..0000000 --- a/S3T_TP_01_SGF-1/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -CFLAGS = -Wall -std=gnu99 -g - -EXECUTABLES = demo \ - myls - -all : ${EXECUTABLES} - -clean : - @rm -f core *.o *.out *~ - @rm -f ${EXECUTABLES} diff --git a/S3T_TP_01_SGF-1/demo.c b/S3T_TP_01_SGF-1/demo.c deleted file mode 100755 index bc48add..0000000 --- a/S3T_TP_01_SGF-1/demo.c +++ /dev/null @@ -1,19 +0,0 @@ -/// M311 - Demonstration de base - -#include -#include -#include -#include -#include - -int main (int argc, char* argv[]) -{ - int resultat; - if (argc != 2) - { fprintf (stderr, "Syntaxe : %s \n\n", argv[0]); exit (1); } - - if ((resultat = mkdir (argv[1], 0777)) == -1) - { perror ("Echec mkdir"); exit (2); } - - /// ... -} diff --git a/S3T_TP_01_SGF-1/myls.c b/S3T_TP_01_SGF-1/myls.c deleted file mode 100755 index 2110ebc..0000000 --- a/S3T_TP_01_SGF-1/myls.c +++ /dev/null @@ -1,8 +0,0 @@ -/// M311 - myls - -#include - -int main (int argc, char* argv[]) -{ - /// ... -} diff --git a/S3T_TP_02_PROCESSUS-1-BASES/_DOC_ps_Exemples.JPG b/S3T_TP_02_PROCESSUS-1-BASES/_DOC_ps_Exemples.JPG deleted file mode 100755 index b41046355649cbe8697e4dbd2c67aeb5747244fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124832 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 nJ3G8rXG<|H?=gwer7g-Kpv)s{Y=l0!_oD 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%0AZRIFGl9v`{h--Pi1FRB*e%Q`Sc^=H|L|m zLE`!)x7eJSKKtgxF%NxWBl-&d(RrUClx~V4EBHFHqEq@QbH-c713*Ik7jT7Vv6GhMFBzFP0 z7P0hp&O_r2^8~P5P|?i%ACTj;QM3z>2PslLzNGmnovyoB*ZNc%bh{A<mr_ zpNL!TW;}NRX44u67;Wg@xm!Z-i(Jg-RzQ>tIaj+RqybqWWTmn1P>*rpAy};tHZVlh ze6H{bjcb0v)vv&M@LYjwTJPXzg$_*I8l4Je!Ik!$zi3XaEWFGayPLOq@mMSN1Iex4V=lNCN*b&GHn(4Y z1QMQyWJwvp%l1Yk;ln;F>c?mK>vNTDx6`(b6^5x}Tu!X#XlJ}GOCHRLC_%VLfibH; z$*DB1RP0lJ4F9`-MzH*MJpXSOu>KDwt7p%^Kc|K2D0)`?ANe(+alktw;2W&_3Ycrv zC@6&GER%WU56G~iV#n)b)1;3^XKHz@>u(jy|Fi$Uwe$bqYtWYg_C+AHct+XIuH?*B zF_a5h+w1*xLsVY^F+Z>A<0UxK -#include -#include -#include -#include - -int main (int argc, char* argv[], char* envp[]) -// argc = compteur d'arguments -// argv et envp = tableau de pointeurs de chaines -{ - if (argc != 2){ - fprintf(stdout, "\nSyntaxe : %s nom-de-variable\n\n", argv[0]); - exit (1); - } - printf ("\nProcessus %d (pere : %d) - 2eme mot ='%s'\n", getpid (), getppid (), - getenv(argv[1])); - return 0; -} diff --git a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_exec_arg.c b/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_exec_arg.c deleted file mode 100755 index 137634d..0000000 --- a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_exec_arg.c +++ /dev/null @@ -1,25 +0,0 @@ -/*************************************************************/ -/* demo_exec_arg : */ -/* - Reservation de la place max des arguments */ -/* (20 car.), */ -/* - 1er paramètre = la commande a executer, */ -/* - 2ème paramètre et suivant = paramètres de */ -/* la commande */ -/* - execution (avec prise en compte de la */ -/* variable PATH). */ -/*************************************************************/ -#include -#include -int main (int argc, char* argv[]) -{ - char* argv2[argc]; - int i; - printf(" argc=%i \n", argc); - for (i= 1; i <= argc; i++) - { - argv2[i-1] = argv[i]; - printf(" argv[%i] = %s\n", i, argv2[i-1]); - } - execvp (argv2[0],argv2); - printf ("\nERREUR : execvp impossible\n"); -} diff --git a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_exec_scan.c b/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_exec_scan.c deleted file mode 100755 index 669f334..0000000 --- a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_exec_scan.c +++ /dev/null @@ -1,22 +0,0 @@ -/***************************************************************/ -/* demo_exec_scan : */ -/* - Reservation de la place max des arguments */ -/* (30 car.), */ -/* - lecture du nom de la commande a executer, */ -/* - lecture d'un param. obligatoire, */ -/* - execution (avec prise en compte de la */ -/* variable PATH). */ -/***************************************************************/ -#include -#include -#include - -int main () -{ char *argv[3]; - argv[0] = (char*) malloc(30); argv[1] = (char*)malloc(30); - printf ("Nom de la commande a executer : "); scanf ("%s", argv[0]); - printf ("Un argument (obligatoire) : "); scanf ("%s", argv[1]); - argv[2] = (char*)0; - execvp (argv[0],argv); - printf ("\nERREUR : execvp impossible\n"); -} diff --git a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_exit.c b/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_exit.c deleted file mode 100755 index 6edd0fd..0000000 --- a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_exit.c +++ /dev/null @@ -1,18 +0,0 @@ -/*************************************************/ -/* demo_exit : envoi d'un code de retour */ -/*************************************************/ -#include -#include -int main (int argc, char *argv[]) -{ - if (argc != 2) {fprintf (stderr, "Syntaxe : %s code-de-retour \n", argv[0]); exit(-1);} - exit (atoi (argv[1])); -} - -/// Par exemple, tester en bash avec : - -/// if ./demo_exit 3 ; then echo OK ; else echo KO ; fi - -/// Puis avec .\demo_exit 0 ... - - diff --git a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_fork.c b/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_fork.c deleted file mode 100755 index 7e9c2cf..0000000 --- a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_fork.c +++ /dev/null @@ -1,13 +0,0 @@ -/******************************************************/ -/* demo_fork : Ce programme illustre le mecanisme de */ -/* duplication d'images de LINUX. */ -/******************************************************/ -#include -#include -#include -int main() -{ int res; - res = fork(); - if (res == -1) {perror ("demo_fork - fork"); exit (1);} - printf ("\nProcessus %d (pere : %d) - res ='%d'\n", getpid (), getppid (), res); -} diff --git a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_sleep.c b/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_sleep.c deleted file mode 100755 index 01fa7bd..0000000 --- a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_sleep.c +++ /dev/null @@ -1,23 +0,0 @@ -/*************************************************/ -/* demo_sleep : Utilisation de "sleep" */ -/*************************************************/ -#include -#include -#include -#include - -int main (int argc, char* argv[]) - /* argc : compteur d'arguments */ - /* argv : tableau de pointeurs de chaines */ -{ - if (argc != 2) - { - fprintf (stderr, "Syntaxe : %s duree-du-sleep\n", argv[0]); - exit (1); - } - printf("\n%s (Pid = %d): Regardez-moi avec ps ... Je m'endors %s secondes.\n", - argv[0], getpid(),argv[1]); - sleep (atoi(argv[1])); - printf("%s (Pid = %d): Je me reveille après %s secondes.\n\n", - argv[0], getpid(), argv[1]); -} diff --git a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_strtok.c b/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_strtok.c deleted file mode 100755 index a3e8600..0000000 --- a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/demo_strtok.c +++ /dev/null @@ -1,20 +0,0 @@ -/// M311 - demonstration : gets, strtok -#include -#include -#include -#include - -int main() -{ - char *mot; - char *ligne = malloc (80); - ligne = fgets (ligne, 80, stdin); - printf("===%s===\n", ligne); - mot = strtok (ligne, " "); - while (mot != NULL) - { - printf("%s\n", mot); - mot = strtok (NULL, " "); - } - return 0; -} diff --git a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fichier.c b/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fichier.c deleted file mode 100755 index 3b8831d..0000000 --- a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fichier.c +++ /dev/null @@ -1,23 +0,0 @@ -/*******************************************************/ -/* p_fichier: Ce programme crée un nouveau */ -/* processus avec fork */ -/* - Le processus pere ouvre un nouveau fichier en */ -/* création de nom donné en argument */ -/* - Le processus fils écrit une chaine donnee en */ -/* argument dans le fichier puis meurt */ -/* - Le processus pere affiche le fichier puis meurt */ -/* */ -/* syntaxe : p_fichier fichier chaine */ -/*******************************************************/ - -#include - -int main (int argc, char* argv[]) { - -if (argc != 3) fprintf (stderr, "\nSyntaxe: %s \n\n", argv[0]); - -/**********************/ -/* PARTIE A COMPLETER */ -/**********************/ - -} diff --git a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork.c b/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork.c deleted file mode 100755 index a71a528..0000000 --- a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork.c +++ /dev/null @@ -1,19 +0,0 @@ -/*******************************************************/ /* */ -/* p_fork : Ce programme illustre le mecanisme de */ -/* duplication de processus de LINUX. */ -/* Le processus pere affiche N etoiles, alors */ -/* que le processus fils affiche N slashs. */ -/* La valeur de N est transmise en premier argument */ -/* de la commande. */ -/* */ -/*******************************************************/ - -#include - -int main (int argc, char* argv[]) { - -/**********************/ -/* PARTIE A COMPLETER */ -/**********************/ - -} \ No newline at end of file diff --git a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork_exec.c b/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork_exec.c deleted file mode 100755 index b88ce0a..0000000 --- a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork_exec.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************/ -/* */ -/* p_fork_exec : Prototype extremement simplifie d' une */ -/* boucle de SHELL : */ -/* - Le pere lit une commande a executer (fait) */ -/* - Le pere se duplique et attend la fin du fils */ -/* - Le pere affiche OK si le fils s'est "bien" fini */ -/* (exit avec 0) et KO sinon. */ -/* et KO sinon. */ -/* - Le fils execute la commande lue par le pere */ -/* (avec utilisation de la variable PATH). */ -/* */ -/*********************************************************/ - -#include -#include - -int main () - -{ char *arguments[3]; - - arguments[0] = (char*) malloc(30); - arguments[1] = (char*) malloc(30); - -printf ("\n=============================\n"); -printf (" BIENVENUE SOUS p_fork_exec \n"); -printf ("=============================\n\n"); - -printf ("? Nom de la commande a executer : "); scanf ("%s", arguments[0]); -printf ("? Un argument (obligatoire) : "); scanf ("%s", arguments[1]); - -arguments[2] = (char*)0; - -/**********************/ -/* PARTIE A COMPLETER */ -/**********************/ - -printf ("\n==============================\n"); -printf (" p_fork_exec: FIN DE SESSION \n"); -printf ("==============================\n\n"); -} diff --git a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork_wait.c b/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork_wait.c deleted file mode 100755 index 0a3cc26..0000000 --- a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork_wait.c +++ /dev/null @@ -1,20 +0,0 @@ -/*******************************************************/ /* */ -/* p_fork_wait : Ce programme illustre le mecanisme */ -/* de duplication de processus de LINUX. */ -/* Le processus fils affiche N slashs,pendant */ -/* que le père attend la fin du fils pour afficher */ -/* un message de fin. */ -/* La valeur de N est transmise en premier argument */ -/* de la commande. */ -/* */ -/*******************************************************/ - -#include - -int main (int argc, char* argv[]) { - -/**********************/ -/* PARTIE A COMPLETER */ -/**********************/ - -} diff --git a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork_wait_exit.c b/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork_wait_exit.c deleted file mode 100755 index 053fbc0..0000000 --- a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_fork_wait_exit.c +++ /dev/null @@ -1,26 +0,0 @@ -/*******************************************************/ /* */ -/* p_fork_wait_exit : Ce programme illustre le */ -/* mecanisme de duplication de processus */ -/* de LINUX. */ -/* Le processus pere attend le fils. */ -/* Le processus fils dort quelques secondes puis ... */ -/* Le processus fils affiche un message puis retourne */ -/* un code de retour pris dans argv[1]. */ -/* Le pere affiche "Operation reussie" si le fils */ -/* s'est bien terminé, et "Echec d'operation" sinon. */ -/* */ -/* Convention : "bien terminé" == (code de retour == 0)*/ -/* */ -/* Technique : Utiliser wait (adresse) et WEXITSTATUS */ -/* */ -/*******************************************************/ - -#include - -int main (int argc, char* argv[]) { - -/**********************/ -/* PARTIE A COMPLETER */ -/**********************/ - -} diff --git a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_system.c b/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_system.c deleted file mode 100755 index bbca12d..0000000 --- a/S3T_TP_03_PROCESSUS-2-PROG/Demonstrations/p_system.c +++ /dev/null @@ -1,31 +0,0 @@ -/*******************************************************/ /* */ -/* p_system : Ce programme définit une fonction */ -/* "p_system" qui reproduit le fonctionnement */ -/* de la routine system(3). */ -/* */ -/*******************************************************/ - -#include -#include -#include - -int p_system (char* commande){ - printf ("Execution de p_system avec : %s\n", commande); - - /**********************/ - /* PARTIE A COMPLETER */ - /**********************/ - return 0; // A modifier ... -} - -int main(int argc, char * argv[]){ - int res; - if (argc != 2) { - fprintf (stderr, "\nSyntaxe : %s \"une ligne de commande\"\n\n", argv[0]); exit (1);} - - res = p_system (argv[1]); - - printf ("Code de retour : %d\n", res); - -} - diff --git a/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/Makefile b/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/Makefile deleted file mode 100755 index 0f1e246..0000000 --- a/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -CFLAGS = -Wall -std=gnu99 - -EXECUTABLES = demo_dup2 \ - demo_pipe \ - demo_pipe_fork - - - -all : ${EXECUTABLES} - -clean : - @rm -f core *.o *.out *~ - @rm -f ${EXECUTABLES} diff --git a/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_dup2.c b/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_dup2.c deleted file mode 100755 index f4c4a61..0000000 --- a/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_dup2.c +++ /dev/null @@ -1,20 +0,0 @@ -///********************/ -///* demo_dup2 : ... */ -///********************/ -# include -# include -# include - -# define ENTREE_STANDARD 0 -int main() -{ int descr_group; - char c; - descr_group = open ("/etc/passwd", O_RDONLY); - dup2 (descr_group, ENTREE_STANDARD);/// retour a tester ... - c = getchar(); - while (c != EOF) - { - putchar(c); c = getchar(); - } - return 0; -} diff --git a/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_fork_fork.c b/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_fork_fork.c deleted file mode 100755 index 92a6f7b..0000000 --- a/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_fork_fork.c +++ /dev/null @@ -1,35 +0,0 @@ -/********************/ -/* demo_dup2 : ... */ -/********************/ -# include -# include -# include -#include - -int main() -{ int res; - int tp[2]; - pipe (tp); - if ((res = fork()) ==-1) {perror ("fork1"); exit (1); } - else if (res != 0) // Pere - { - if ((res = res = fork()) ==-1) {perror ("fork2"); exit (1); } - else if (res != 0) - { // pere - execlp ("who", "who", NULL); - } - else // Fils2 - { - close (tp[0]); - dup2 (tp[1], 1); - execlp ("ls", "ls", "-la", NULL); - } - } - else // Fils1 - { - close (tp[1]); - dup2 (tp[0], 0); - execlp ("wc", "wc", "-l", NULL); - } - return 0; -} diff --git a/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_pipe.c b/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_pipe.c deleted file mode 100755 index 4f71b62..0000000 --- a/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_pipe.c +++ /dev/null @@ -1,16 +0,0 @@ -///********************/ -///* demo_pipe : ... */ -///********************/ -# include -# include - -char string[] = "hello"; -int main() -{ char buf[70]; - int fds[2]; - pipe (fds); - write(fds[1], string, 6); - read (fds[0], buf, 6); - printf ("Chaine provenant du pipe-line : %s \n", buf); - return 0; -} diff --git a/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_pipe_fork.c b/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_pipe_fork.c deleted file mode 100755 index b680a6b..0000000 --- a/S3T_TP_04_PROCESSUS-3-SGF-2/Demonstrations/demo_pipe_fork.c +++ /dev/null @@ -1,51 +0,0 @@ - -/// demo_pipe_fork : ... -/// - Demande de descripteurs de pipe line, -/// - demande de fork, -/// - PERE : lit des car. au clavier, ecrit dans le pipe-line -/// (apres fermeture du descr. inutile), -/// - FILS : lit dans le pipe-line, ecrit les car. recus -/// (apres fermeture du descr. inutile), - -#include -#include - -# define READ 0 -# define WRITE 1 -int main () -{ int pid , tabpipe[2]; - FILE *stream; - char c; - char * type; - pipe (tabpipe); /// Retour à tester - pid = fork(); - if (pid < 0) printf ("ERREUR FORK"); - else - if (pid == 0) - { /// FILS : LIT DANS LE PIPE-LINE - type = "r"; - stream = fdopen (tabpipe[0], type); - close (tabpipe[WRITE]); - /// Lecture dans le pipe-line, ecriture sur stdout - c = fgetc(stream); - while ( c != EOF) - { printf("Car. recu : %c \n",c); fflush (stdout); - c = fgetc(stream); - } - } - else - { /// PERE : ECRIT DANS LE PIPE-LINE - printf ("Message a envoyer (ctrl.D pour finir) : "); - close ( tabpipe[READ] ); - type ="w"; - stream = fdopen (tabpipe[1], type); - /// Lecture sur stdin, ecriture dans le pipe-line - c=getchar(); - while ( c != EOF) - { fputc(c, stream); fflush (stream); - c=getchar(); - } - /// Production de la fin de fichier - fclose (stream); } - return 0; -} diff --git a/S3T_TP_04_PROCESSUS-3-SGF-2/Makefile b/S3T_TP_04_PROCESSUS-3-SGF-2/Makefile deleted file mode 100755 index a340a89..0000000 --- a/S3T_TP_04_PROCESSUS-3-SGF-2/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -CFLAGS = -Wall -std=gnu99 - -EXECUTABLES = p_pipe\ - p_pipe_arg - - -all : ${EXECUTABLES} - -clean : - @rm -f core *.o *.out *~ - @rm -f ${EXECUTABLES} diff --git a/S3T_TP_04_PROCESSUS-3-SGF-2/POPEN_sources/m311_popen_demo.c b/S3T_TP_04_PROCESSUS-3-SGF-2/POPEN_sources/m311_popen_demo.c deleted file mode 100755 index 59f27a4..0000000 --- a/S3T_TP_04_PROCESSUS-3-SGF-2/POPEN_sources/m311_popen_demo.c +++ /dev/null @@ -1,47 +0,0 @@ -/** -Auteur : RC (inspiration MS) -Squelette du programme popen_somme -Cf. algorithme dans la fonction main - -NB : La fonction popen() engendre un processus en créant un tube -(pipe), executant un fork(), et en invoquant le shell avec la -commande donnée dans l'argument no 1. -Comme un tube est unidirectionnel par definition, -l'argument no 2 doit indiquer seulement une lecture -ou une écriture, et non pas les deux. -Le flux correspondant sera donc ouvert en lecture seule -ou écriture seule. -Cf. man ... -*/ -#include -#include -#include -#include -#define MAX_COMMANDE 100 - -int main (int argc, char *argv[]) -{ - assert (argc == 3); - /// Syntaxe : ./a.out - /// Exemple : ./a.out 2 10 - /// Resultat : 2047 - int x; - int n; - FILE *fPin; - char commande[MAX_COMMANDE]; - int somme; - int l; - char unResultat[10]; - - /// "n" boucles "for" avec le compteur l - { - /// Preparation de la commande pour popen(avec sprintf) - /// Creation du fils et du pipeline et test d'erreur... - /// Avec fscanf, lecture de la valeur x^l produite par ... - /// Fermeture avec pclose - /// Incrementation de la somme - } - /// affichage du resultat - return 0; -} - diff --git a/S3T_TP_04_PROCESSUS-3-SGF-2/POPEN_sources/m311_puiss.c b/S3T_TP_04_PROCESSUS-3-SGF-2/POPEN_sources/m311_puiss.c deleted file mode 100755 index fa011e3..0000000 --- a/S3T_TP_04_PROCESSUS-3-SGF-2/POPEN_sources/m311_puiss.c +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -#include -#include - -int main(int argc, char* argv[]) -{ -/// Syntaxe ./argv[0] x n -/// Resultat sur stdout : x^n - assert (argc == 3); - int x = atoi (argv[1]); - int n = atoi (argv[2]); - - printf ("%.0f\n",pow (x, n)); - return 0; -} - diff --git a/S3T_TP_04_PROCESSUS-3-SGF-2/POPEN_sources/m311_somme_puiss.c b/S3T_TP_04_PROCESSUS-3-SGF-2/POPEN_sources/m311_somme_puiss.c deleted file mode 100755 index 82a8653..0000000 --- a/S3T_TP_04_PROCESSUS-3-SGF-2/POPEN_sources/m311_somme_puiss.c +++ /dev/null @@ -1,22 +0,0 @@ -#include -#include -#include -#include - -int main(int argc, char* argv[]) -{ -/// Syntaxe ./argv[0] x n -/// Resultat sur stdout : somme x^i avec i entre 0 et n - assert (argc == 3); - int x = atoi (argv[1]); - int n = atoi (argv[2]); - int somme = 0; - int i; - for (i = 0; i<=n ; i++) - { - somme+=pow(x,i); - printf ("... %d\n", somme);/// Mise au point - } - printf ("%d\n", somme); - return 0; -} diff --git a/S3T_TP_04_PROCESSUS-3-SGF-2/p_pipe.c b/S3T_TP_04_PROCESSUS-3-SGF-2/p_pipe.c deleted file mode 100755 index 16753d3..0000000 --- a/S3T_TP_04_PROCESSUS-3-SGF-2/p_pipe.c +++ /dev/null @@ -1,51 +0,0 @@ -///***************************************************************/ -///* */ -///* p_pipe : - Demande de descripteurs de pipeline, */ -///* - Demande de fork, */ -///* - PERE : execute la commande wc-l depuis le pipeline */ -///* (apres avoir ferme le descripteur inutile), */ -///* - FILS : execute la commande ls -ls vers le pipeline */ -///* (apres avoir ferme le descripteur inutile). */ -///* */ -///***************************************************************/ -///* - Version 1 : utiliser dup2 et execlp */ -///* - Version 2 : utiliser dup et execlp */ -///* - Version 3 : utiliser dup2 et execl ET */ -///* Le comportement du pere (ci-dessus) est */ -///* est fait dans un deuxieme fils */ -///* */ -///* Ne pas utiliser d'initialisation dynamique de tableau */ -///***************************************************************/ - -# include -# include -# include -# include - -# define READ 0 -# define WRITE 1 -# define ENTREE 0 -# define SORTIE 1 - -int main () -{ int res; - - ///******************** PERE ***********************/ - ///* PARTIE A COMPLETER */ - ///*************************************************/ - - res = fork(); - - if (res < 0) { perror ("ERREUR FORK"); exit (2);} - else - if (res == 0) - { ///******************** FILS ***********************/ - ///* PARTIE A COMPLETER */ - ///*************************************************/ - } - else - { ///******************** PERE ***********************/ - ///* PARTIE A COMPLETER */ - ///*************************************************/ - } -} diff --git a/S3T_TP_04_PROCESSUS-3-SGF-2/p_pipe_arg.c b/S3T_TP_04_PROCESSUS-3-SGF-2/p_pipe_arg.c deleted file mode 100755 index 8fd41ba..0000000 --- a/S3T_TP_04_PROCESSUS-3-SGF-2/p_pipe_arg.c +++ /dev/null @@ -1,69 +0,0 @@ -///************************************************************/ -///* */ -///* p_pipe_arg : - Demande de descripteurs de pipe-line, */ -///* - Demande de fork, */ -///* - PERE : recupere en parametres du main */ -///* les N mots qui correspondent a la */ -///* commande qui doit s'executer en lisant */ -///* dans le pipe-line, */ -///* - FILS : recupere en parametres du main */ -///* les M mots suivants qui correspondent */ -///* a la commande qui doit s'executer en */ -///* lisant dans le pipe-line */ -///* s'executer vers le pipe-line. */ -///* EXEMPLE : p_pipe_arg who wc <====> who | wc */ -///************************************************************/ -///* - Version 1 : N = 1 et M = 1 (equivalent ls | wc) */ -///* - Version 2 : N = 1 et M = 1 ET */ -///* Le comportement du pere (ci-dessus) est */ -///* est fait dans un deuxieme fils. */ -///* - Version 3 : N = 2 et M = 2 ET */ -///* Le comportement du pere (ci-dessus) est */ -///* est fait dans un petit-fils. */ -///* */ -///* Ne pas utiliser d'initialisation dynamique de tableau */ -///************************************************************/ - -# include -# include -# include - -# define READ 0 -# define WRITE 1 -# define ENTREE 0 -# define SORTIE 1 - -int main (int argc, char* argv[]) - -{ - int resultat ; - - if (argc != 3) - fprintf (stderr, "SYNTAXE : %s commande1 commande2\n", argv[0]); - - { - ///**************** PERE ******************/ - ///* PARTIE A COMPLETER */ - ///****************************************/ - - resultat = fork(); - if (resultat < 0) - { - perror("ERREUR FORK"); - exit (2) ; - } - else if (resultat == 0) - { - ///**************** FILS ******************/ - ///* PARTIE A COMPLETER */ - ///****************************************/ - } - else - { - /**************** PERE ******************/ - /* PARTIE A COMPLETER */ - /****************************************/ - - } - } -} diff --git a/S3T_TP_05_PROCESSUS-4-SIGNAUX/.vscode/settings.json b/S3T_TP_05_PROCESSUS-4-SIGNAUX/.vscode/settings.json deleted file mode 100755 index ce95e61..0000000 --- a/S3T_TP_05_PROCESSUS-4-SIGNAUX/.vscode/settings.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "files.associations": { - "signal.h": "c", - "stdio.h": "c", - "stdlib.h": "c" - } -} \ No newline at end of file diff --git a/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/M311.lnk b/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/M311.lnk deleted file mode 100755 index 456caced55e1eb0f9cdf719f55ac396c13ecacaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2329 zcmd^9OK1~O6uqfR)rCeHi@(}v3HVDoHJ~*bNX_3&W^`db-)t+pE_S z3FsR&%?MRNuNwSeK!U|8YjY~+#X+l)!m_7E^eW^U)^KKdg*8?!WY*Cdy={lUCqtnI z`{t7n6@y*BgGFImCs^$jm^y|zPi5K9oLBrm;=EJ444igwFpCM;2FwAtH27N%aN7zL z0poyyZ23MeFIgcJ#?Za1`ZYympI1?WvLty$RnKKrwAvf?O4Vxa(5k*o7unF&5##7$ zQ2*!>)n6uG9hEko>qj=D_#D{5I+TP2B^j22d5T(rG{q=^$ffYaVbxO;JS{*9dv2g+ z^g2ByM{Dur7T?~OTyC!vtb%?mXU+|LdfKsP&BZ|7u9cIc3Ru%%!kmI zzTV%hm!S&qXpSBRcZCvBJ_=U`+|=$r`L(~OE7drEKl}|W%+IS57+E1^T97;9zeucB zrqJvJcyq#_rRTGMma%)Vpe}Rd{h1Q@Cj;8%_<;`Poqf}Rscg7-xNd*WKdKcl$Mc+z z!{z9qB(j}C{yFnzoHd5A5%bNoCFe~cj@hOF8r#tCj_2I~@9o6a%?q5_d($pGqCWY_ zjQ)1`=W+lmtpxN+_!nvVdHu0IH$FCR@+M=d3+rCtdC+eGGEwPlXp}AR)AIqZ! Z&-eS&jiPvxc*d5$deUP#KmXI&z5(=JG)e#f diff --git a/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demoAlarm b/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demoAlarm deleted file mode 100755 index 2d0b17c5ee3ed8506e65ce0660b64e30d3ad39ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17008 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 -#include -#include -#include -#include - -void rep_SIGALRM () -{ printf ("\n*** Processus %d : Signal SIGALRM recu\n\n", getpid()); - exit(0); -} - -int main (int argc, char* argv[]) -{ - int res; - assert (argc == 2); - signal (SIGALRM, rep_SIGALRM); - printf ("\n*** Processus %d : Je m' endors ......\n", getpid()); - res = alarm (atoi(argv[1])); - for (;;); -} diff --git a/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_kill.c b/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_kill.c deleted file mode 100755 index 915ad3f..0000000 --- a/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_kill.c +++ /dev/null @@ -1,19 +0,0 @@ -/************************************************/ -/* */ -/* demo_kill.c : Utilisation de la routine kill */ -/* */ -/************************************************/ -# include -# include -# include -# include - -int main () -{ - printf ("\nJe commence et j'attends 3 secondes...\n"); - sleep (3); - printf ("\n... puis je me suicide par kill - %d - \n", getpid()); - kill (getpid(), SIGKILL); - printf ("\n... je suis mort\n"); - return 0; -} diff --git a/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_kill_grp_1.c b/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_kill_grp_1.c deleted file mode 100755 index 73e6bce..0000000 --- a/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_kill_grp_1.c +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************/ -/* DUT INFORMATIQUE - M311 - R. CHIGNOLI */ -/* demo_kill_grp_1.c : Utilisation de la routine kill */ -/******************************************************/ -# include -# include -#include -#include - -int main () -{ int res; -res = fork (); -if (res != 0) - { - printf ("\nPERE No %d ( GRPID = %d ) : j'attends 5 secondes...\n", - getpid(), getpgrp()); - sleep (5); - printf ("\nPERE No %d ( GRPID = %d ) : ... puis je me suicide par kill\n\n", getpid(), getpgrp()); - kill (0, SIGKILL); - printf ("\nPERE No %d ( GRPID = %d ) : ... je suis mort\n\n", getpid(), getpgrp()); - } -else - { - printf ("\nFILS No %d ( GRPID = %d ) : Je boucle indefiniment ...\n", - getpid(), getpgrp()); - for(;;); - } -} diff --git a/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_kill_grp_2.c b/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_kill_grp_2.c deleted file mode 100755 index a0ff8ca..0000000 --- a/S3T_TP_05_PROCESSUS-4-SIGNAUX/Demonstrations/demo_kill_grp_2.c +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************/ -/* DUT INFORMATIQUE - M311 - R. CHIGNOLI */ -/* demo_kill_grp_2.c : Utilisation de la routine kill */ -/******************************************************/ -# include -# include -#include -#include - -int main () { - int res; - res = fork (); - if (res != 0){ - printf ("\nPERE No %d ( GRPID = %d ) : j'attends 3 secondes...\n", getpid(), getpgrp()); - sleep (3); - printf ("\nPERE No %d ( GRPID = %d ) : ... puis je me suicide par kill\n", getpid(), getpgrp()); - kill (0, SIGKILL); - printf ("\nPERE No %d ( GRPID = %d ) : ... je suis mort\n", getpid(), getpgrp()); - } -else - { - if (setpgid (0, getpid()) != 0){ - perror ("setgpid"); exit (1); - } - printf ("\nFILS No %d ( GRPID = %d ) : nouveau groupe ...\n", getpid(), getpgrp()); - printf ("\nFILS No %d ( GRPID = %d ) : J'attends 5 secondes\n", getpid()); - sleep (5); - printf ("\nFILS No %d ( GRPID = %d ) : Et je meurs naturellement !\n\n", - getpid()); - exit (0); - } -} diff --git a/S3T_TP_05_PROCESSUS-4-SIGNAUX/bash_trap.sh b/S3T_TP_05_PROCESSUS-4-SIGNAUX/bash_trap.sh deleted file mode 100755 index 3c6e29e..0000000 --- a/S3T_TP_05_PROCESSUS-4-SIGNAUX/bash_trap.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/bash -##################################### -# M311 - CHIGNOLI # -# bash-trap.sh : demonstration de # -# de la gestion de signaux en bash # -##################################### -trap 'echo Ignore signal SIGINT' SIGINT -trap 'echo Ignore signal SIGSTOP' SIGSTOP -trap 'echo Ignore signal SIGUSR1' SIGUSR1 -trap 'echo FIN ! ; exit' SIGUSR2 -trap -while true -do - echo Je boucle ... - sleep 1 -done - diff --git a/S3T_TP_05_PROCESSUS-4-SIGNAUX/bash_trap.txt b/S3T_TP_05_PROCESSUS-4-SIGNAUX/bash_trap.txt deleted file mode 100755 index f198941..0000000 --- a/S3T_TP_05_PROCESSUS-4-SIGNAUX/bash_trap.txt +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -################################################ -# DUT INFORMATIQUE - M311 - R. CHIGNOLI # -# bash_trap : traitement des signaux en bash # -################################################ - -echo '*******************************************' -echo '* J'ignore les signaux SIGQUIT et SIGTERM *' -echo '*******************************************' -trap 'echo Ignore signal SIGINT' SIGINT -trap 'echo Ignore signal SIGTERM' SIGTERM -while true - do - echo je boucle - sleep 1 -done - diff --git a/S3T_TP_05_PROCESSUS-4-SIGNAUX/pForkSignal b/S3T_TP_05_PROCESSUS-4-SIGNAUX/pForkSignal deleted file mode 100755 index 825efd5c6b63579c773a619a8a7ad6932dd36275..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17008 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 diff --git a/S3T_TP_05_PROCESSUS-4-SIGNAUX/p_fork_signal.c b/S3T_TP_05_PROCESSUS-4-SIGNAUX/p_fork_signal.c deleted file mode 100755 index 97a9664..0000000 --- a/S3T_TP_05_PROCESSUS-4-SIGNAUX/p_fork_signal.c +++ /dev/null @@ -1,59 +0,0 @@ -/**********************************************************/ -/* DUT INFORMATIQUE - M311 - R. CHIGNOLI */ -/* p_fork_signal : Apr�s fork, */ -/* - PERE : Affiche son pid et ppid, */ -/* Ignore le signal SIGINT et le montre */ -/* S'arrete � la reception du signal SIGUSR1, */ -/* se met en boucle infinie. */ -/* - FILS : Affiche son pid et son ppid, */ -/* Envoie trois signaux SIGINT au pere, */ -/* Attend un signal SIGTERM de l'utilisateur */ -/* Se met en boucle infinie. */ -/* Envoie le signal SIGUSR1 a son pere a */ -/* l'interception du signal SIGTERM puis */ -/* meurt. */ -/**********************************************************/ -# include -# include -# include -# include - -void repSIGINT() { - printf ("\nJ'ignore le signal SIGINT ()\n"); -} - -int main () { - int res; - res = fork(); - - if (res < 0){ - printf ("ERREUR FORK\n"); - } - else { - if (res == 0) - { /************************** FILS ***********************/ - printf("Je suis le fils : "); - printf("pid : %d\n", getpid()); - printf("ppid : %d\n",getppid()); - for (int i = 0; i < 5; i++) - { - kill(getppid(), SIGINT); - sleep(1); - } - - } - else - { /************************** PERE ***********************/ - printf("Je suis le père : "); - printf("pid : %d\n", getpid()); - printf("ppid : %d\n",getppid()); - - signal(SIGINT, repSIGINT); - - - } - } -for(;;); - -return 0; -} diff --git a/S3T_TP_05_PROCESSUS-4-SIGNAUX/p_multi_fork.c b/S3T_TP_05_PROCESSUS-4-SIGNAUX/p_multi_fork.c deleted file mode 100755 index 00541bc..0000000 --- a/S3T_TP_05_PROCESSUS-4-SIGNAUX/p_multi_fork.c +++ /dev/null @@ -1,53 +0,0 @@ -/**********************************************************/ -/* DUT INFORMATIQUE - M311 - R. CHIGNOLI */ -/* p_multi_fork_signal : Après fork, */ -/* - PERE : Affiche son pid et ppid, */ -/* Ignore le signal SIGINT */ -/* S'arrete à la reception du signal SIGUSR1, */ -/* Se met en boucle infinie. */ -/* - FILS : Affiche son pid et son ppid, */ -/* Cree 3 (sous)fils */ -/* Attend un signal SIGTERM de l'un des fils */ -/* Envoie un signal SIGINT a son pere, */ -/* Se met en boucle infinie. */ -/* Envoie le signal SIGUSR1 a son pere a */ -/* l'interception du signal SIGTERM puis */ -/* meurt. */ -/* - Chaque sous-FILS : Affiche son pid et son ppid, */ -/* Se desolidarise de son pere, */ -/* Attend un signal SIGUSR1 de l'utilisateur, */ -/* Se met en boucle infinie. */ -/* Envoie le signal SIGTERM vers son pere */ -/* a l'interception du signal SIGUSR1. */ -/* Se termine en recevant le signal SIGUSR2 */ -/* de la part de l'utilisateur. */ -/* NB : à la fin du scenario, il ne reste que les trois */ -/* sous-fils arretable par envoi de signaux SIGUSR2 */ -/**********************************************************/ - -# include -# include -/**********************/ -/* PARTIE A COMPLETER */ -/**********************/ -main () -{ int res; - /**********************/ - /* PARTIE A COMPLETER */ - /**********************/ - res = fork(); - if (res < 0) printf ("ERREUR FORK"); - else - if (res == 0) - { // FILS - /**********************/ - /* PARTIE A COMPLETER */ - /**********************/ - } - else - { // PERE - /**********************/ - /* PARTIE A COMPLETER */ - /**********************/ - } -} diff --git a/S3T_TP_05_PROCESSUS-4-SIGNAUX/p_signal.c b/S3T_TP_05_PROCESSUS-4-SIGNAUX/p_signal.c deleted file mode 100755 index bcce387..0000000 --- a/S3T_TP_05_PROCESSUS-4-SIGNAUX/p_signal.c +++ /dev/null @@ -1,72 +0,0 @@ -/**********************************************************/ -/* DUT INFORMATIQUE - M311 - R. CHIGNOLI */ -/* p_signal : Modification des actions associees */ -/* aux signaux SIGINT, SIGSEGV et SIGQUIT. */ -/**********************************************************/ -#include -#include -#include -#include - -/* - -SIGINT 2 Term Interruption depuis le clavier. -SIGQUIT 3 Core Demande « Quitter » depuis le clavier. -SIGILL 4 Core Instruction illégale. -SIGABRT 6 Core Signal d'arrêt depuis abort(3). -SIGFPE 8 Core Erreur mathématique virgule flottante. -SIGKILL 9 Term Signal « KILL ». -SIGSEGV 11 Core Référence mémoire invalide. -SIGPIPE 13 Term Écriture dans un tube sans lecteur. -SIGALRM 14 Term Temporisation alarm(2) écoulée. -SIGTERM 15 Term Signal de fin. -SIGUSR1 30,10,16 Term Signal utilisateur 1. -SIGUSR2 31,12,17 Term Signal utilisateur 2. -SIGCHLD 20,17,18 Ign Fils arrêté ou terminé. -SIGCONT 19,18,25 Cont Continuer si arrêté. -SIGSTOP 17,19,23 Stop Arrêt du processus. -SIGTSTP 18,20,24 Stop Stop invoqué depuis tty. -SIGTTIN 21,21,26 Stop Lecture sur tty en arrière-plan. -SIGTTOU 22,22,27 Stop Écriture sur tty en arrière-plan. - -SIG_DFL = action par defaut pour le signal - -*/ - -int stop = 1; - -void repSIGQUIT() { - printf ("\nJ'ignore le signal SIGQUIT ()\n"); -} - -void repSIGINT() { - if(stop == 0) { - kill (getpid(), SIGKILL); - } else { - stop--; - printf ("Je m'arrete au 2eme signal d'interruption ()\n"); - } -} - -void repSIGSEGV() { - printf ("Je m'arrete au premier signal SIGSEGV\n\n"); - kill (getpid(), SIGKILL); -} - -int main(){ - //printf ("\nJ'ignore le signal SIGQUIT ()\n"); - //printf ("Je m'arrete au 2eme signal d'interruption ()\n"); - //printf ("Je m'arrete au premier signal SIGSEGV\n\n"); - printf("%d\n", getpid()); - - signal(SIGQUIT, repSIGQUIT); - signal(SIGINT, repSIGINT); - signal(SIGSEGV, repSIGSEGV); - - /**********************/ - /* PARTIE A COMPLETER */ - /**********************/ - - /* boucle de temporisation */ - for (;;); -} diff --git a/S3T_TP_06_IPC/.vscode/settings.json b/S3T_TP_06_IPC/.vscode/settings.json deleted file mode 100644 index 1992e5c..0000000 --- a/S3T_TP_06_IPC/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "files.associations": { - "unistd.h": "c" - } -} \ No newline at end of file diff --git a/S3T_TP_06_IPC/Demonstrations/demoShm b/S3T_TP_06_IPC/Demonstrations/demoShm deleted file mode 100755 index d829d7b46c970261055e7ee6b3f09cd236daa574..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17136 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 VE3`N_F76+_Mp)pw&q@xF{R_p593KDx diff --git a/S3T_TP_06_IPC/Demonstrations/demo_sem.c b/S3T_TP_06_IPC/Demonstrations/demo_sem.c deleted file mode 100644 index a4cd110..0000000 --- a/S3T_TP_06_IPC/Demonstrations/demo_sem.c +++ /dev/null @@ -1,75 +0,0 @@ -///*****************************************************************/ -///* IUT NICE-COTE D'AZUR - Departement INFORMATIQUE - R. CHIGNOLI */ -///* Module DUT M311 Theme IPC POSIX */ -///*****************************************************************/ -/// demo_sem.c : Demonstration d'utilisation d'un sémaphore -/// usage : commande [-creation] cle -/// premier acces : utiliser l'option "-create" -/// Depuis bash, utiliser la commande ls -l /dev/shm -/// Depuis bash, utiliser la commande rm /dev/shm/* - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, char *argv[]) { - char reponse; - int mode, encore = 1; - sem_t *sem; - - if (argc < 3) { - fprintf(stderr, "Usage: %s [ -create | -use ] nom_sem\n", - argv[0]); - exit(1); - } - if ((argc == 3) && (strcmp (argv[1], "-create") == 0)) { - mode = O_RDWR | O_CREAT | O_EXCL; - printf ("\nMode creation\n\n"); - } else if ((argc == 3) && (strcmp (argv[1], "-use") == 0)) { - mode = O_RDWR; - printf ("\nMode utilisation\n\n"); - } else { - fprintf(stderr, "Usage: %s [ -create | -use ] nom\n", argv[0]); - exit(2); - } - - sem = sem_open(argv[2], mode, 0600, 1); - if (sem == SEM_FAILED) { - perror ("open"); - exit (3); - } - while (encore) { - printf("W,P,X,Q ? "); - reponse = getchar(); - __fpurge(stdin); ///... pour bonne gestion du buffer clavier ... - switch (reponse) { - case 'P': - sem_wait (sem); - printf("... W OK.\n"); - break; - case 'V': - sem_post (sem); - printf("... P OK.\n"); - break; - case 'X': - sem_close (sem); - chdir ("/dev/shm"); - sem_unlink (argv[2]); - printf("\n... Semaphore /dev/shm/sem.%s detruit\n", argv[2]); - encore = 0; - break; - case 'Q': - encore = 0; - break; - default: - printf("... Commande incorrecte\n"); - } - } - printf("\n... Bye\n\n"); -} diff --git a/S3T_TP_06_IPC/Demonstrations/demo_shm.c b/S3T_TP_06_IPC/Demonstrations/demo_shm.c deleted file mode 100644 index adb7b17..0000000 --- a/S3T_TP_06_IPC/Demonstrations/demo_shm.c +++ /dev/null @@ -1,80 +0,0 @@ -///******************************************************************/ -///* IUT NICE-COTE D'AZUR - Departement INFORMATIQUE - R. CHIGNOLI */ -///* Module M311 Theme IPC POSIX */ -///******************************************************************/ -///* demo_shm.c : Demonstration d'utilisation d'un segment */ -///* de memoire partagee */ -///* UTILISATION : commande ( -create | -use ) */ -///* Utiliser ls, etc ... pour gerer les ressources */ -///******************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/// Type de la zone mémoire -typedef struct memoire -{ - int valeur; - int date; -} Memoire; - -int main(int argc, char * argv[]) -{ - struct memoire *zone; - int mem_fd; - - if (argc != 2) - { - fprintf (stderr, "\nSyntaxe : %s ( -create | -use )\n\n", argv[0]); - exit (1); - } - mem_fd = shm_open ("demo_mem", O_CREAT |O_RDWR, 0777); - if (mem_fd == -1) - { - perror("shm_open"); - exit (1); - } - if (ftruncate(mem_fd, sizeof(struct memoire)) != 0) - { - perror("ftruncate"); - exit(2); - } - zone = mmap (NULL, 100, PROT_READ | PROT_WRITE, MAP_SHARED, mem_fd, 0); - if (zone == (void *) -1) - { - perror("mmap"); - exit (3); - } - if ((strcmp (argv[1], "-create")!= 0) && (strcmp (argv[1], "-use")!= 0)) - { - fprintf (stderr, "\nSyntaxe : %s ( -create | -use )\n\n", argv[0]); - exit (2); - } - if (strcmp (argv[1], "-create")== 0) - { - zone->valeur = 0; - zone->date =time(NULL); - printf("\nCREATE : VALEURS en memoire : valeur = %d - date = %s\n", - zone->valeur, ctime ((time_t*)&zone->date)); - } - else /// -use - { - printf("\nUSE : ANCIENNES VALEURS en memoire : valeur = %d - date = %s \n", - zone->valeur, ctime ((time_t*)&zone->date)); - zone->valeur++; - zone->date =time(NULL); - printf("USE : NOUVELLES VALEURS en memoire : valeur = %d - date = %s \n", - zone->valeur, ctime ((time_t*)&zone->date)); - } - - - close(mem_fd); - return 0; -} diff --git a/S3T_TP_06_IPC/Squelettes/imprimer.c b/S3T_TP_06_IPC/Squelettes/imprimer.c deleted file mode 100644 index 50d39d8..0000000 --- a/S3T_TP_06_IPC/Squelettes/imprimer.c +++ /dev/null @@ -1,35 +0,0 @@ -///************************************************/ -///* imprimer : Ce programme illustre le principe */ -///* du partage de temps de LINUX ... */ -/**************************************************/ -#include -#include -#include -#include -void imprimer (int unNombre, char unCar) -{ - int i; - for (i=0; i -#include -#include -#include -void imprimer (int unNombre, char unCar) -{ - int i; - for (i=0; i -#include -#include -#include -#include -#include - -int main (int argc, char * argv[]) { - int fd; - int * compteur; - - if (argc != 2) { - fprintf(stderr, "Syntaxe : %s nom_segment\n", argv[0]); - exit(EXIT_FAILURE); - } - /// - /// A TERMINER ... - /// - return EXIT_SUCCESS; -} diff --git a/S3T_TP_06_IPC/Squelettes/shm_create.c b/S3T_TP_06_IPC/Squelettes/shm_create.c deleted file mode 100644 index 78ee9c5..0000000 --- a/S3T_TP_06_IPC/Squelettes/shm_create.c +++ /dev/null @@ -1,41 +0,0 @@ -//******************************************************************/ -///* IUT NICE-COTE D'AZUR - Departement INFORMATIQUE - R. CHIGNOLI */ -///* Module M311 Theme IPC POSIX */ -///******************************************************************/ -///* shm_create.c : creation d'un nouveau segment de memoire de la */ -///* taille d'un entier et initialisation a zero */ -///* UTILISATION : commande nom_segment */ -///* Utiliser ls -l /dev/shm et rm /dev/shm/... */ -///******************************************************************/ -#include -#include -#include -#include -#include -#include - -int main (int argc, char * argv[]) -{ - int fd; - int * compteur; - - if (argc != 2) { - fprintf(stderr, "Syntaxe : %s nom_segment\n", argv[0]); - exit(EXIT_FAILURE); - } - - fd = shm_open("applejack", O_CREAT | O_RDWR, 0777); - - if(fd == -1) { - perror("shm_open"); - exit(1); - } - - - - - /// - /// A TERMINER - /// - return EXIT_SUCCESS; -} diff --git a/S3T_TP_06_IPC/Squelettes/shm_excl.c b/S3T_TP_06_IPC/Squelettes/shm_excl.c deleted file mode 100644 index 357e81f..0000000 --- a/S3T_TP_06_IPC/Squelettes/shm_excl.c +++ /dev/null @@ -1,28 +0,0 @@ -//******************************************************************/ -///* IUT NICE-COTE D'AZUR - Departement INFORMATIQUE - R. CHIGNOLI */ -///* Module M311 Theme IPC POSIX */ -///******************************************************************/ -///* shm_excl.c : voir enonce */ -///* UTILISATION : commande nom_segment */ -///* Utiliser ls -l /dev/shm et rm /dev/shm/... */ -///******************************************************************/ -#include -#include -#include -#include -#include -#include - -int main (int argc, char * argv[]) { - int fd; - int * compteur; - - if (argc != 2) { - fprintf(stderr, "Syntaxe : %s nom_segment\n", argv[0]); - exit(EXIT_FAILURE); - } - /// - /// A TERMINER - /// - return EXIT_SUCCESS; -} diff --git a/S3T_TP_06_IPC/Squelettes/shm_sem11.c b/S3T_TP_06_IPC/Squelettes/shm_sem11.c deleted file mode 100644 index 30ad6e4..0000000 --- a/S3T_TP_06_IPC/Squelettes/shm_sem11.c +++ /dev/null @@ -1,43 +0,0 @@ -///*************************************************************/ -///* shm_sem : memoire partagee et semaphores */ -///* SYNTAXE shm_sem */ -///* */ -///* a) le père crée un fils avec fork */ -///* b) le fils crée une nouvelle mémoire partagée pouvant */ -///* contenir 10 caractères */ -///* c) le père écrit « BONJOUR » dans cette mémoire partagée */ -///* d) le fils affiche le contenu de la mémoire partagée */ -///* */ -///* Version initiale : avec shm mais sans sem */ */ -///* Version finale : avec shm et avec sem */ -///* */ -///* NOTE : POUR SIMPLIFIER, le choix des noms pour les IPC */ -///* est libre ...Les conflits eventuels doivent être détectes */ -///* et donne lieu à un message et l'arret du programme */ -///*************************************************************/ -#include -#include -#include -#include -int main(int argc) -{ - /// FINIR /// - int res; - assert (argc == 1); - res = fork(); - if (res == -1) - { - perror ("fork"); - exit (1); - } - if (res == 0) - { - /// FINIR /// - return 0; - } - else - { - /// FINIR /// - return 0; - } -} diff --git a/S3T_TP_06_IPC/instructionsGCCLRT.txt b/S3T_TP_06_IPC/instructionsGCCLRT.txt deleted file mode 100644 index 5cfac28..0000000 --- a/S3T_TP_06_IPC/instructionsGCCLRT.txt +++ /dev/null @@ -1,2 +0,0 @@ -gcc -c ./demo_shm.c -o ./demo_shm.o -gcc ./demo_shm.o -o ./demoShm -lrt \ No newline at end of file diff --git a/S3T_TP_06_IPC/~$11_TP_06-SIGNAUX.docx b/S3T_TP_06_IPC/~$11_TP_06-SIGNAUX.docx deleted file mode 100644 index 23d48d74b655934f567978384aef5c0c7be44e85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmd-`&d5y9%g@PVAO&zRBr{|%WHO{PFNtEx!lg+*x?Xju_Rw|6FH5MbGv7y$GDJ3~tZZf-hh3tJNdM+=~dF@S+i z8oVxkiPFtD+)v9r<10$Ayk|NO_m!bT?!&;qb9GXa?BnRIx05ln22 z{|p8A_ut1Htn~jqhp>r}ow13$fuoJn$BaUD)-E=-P5>4_ zg|)MZBb}(VfwRd!Sm-2#wYXW>nVA`dnM8ybI2h>#@m{}R*#%fx1O*w{>4jMZ8R!|=d3ER{Y>iFawf<<%!uF?UYWJbx z9}yMlq)lwioXr6Y9}0g6m%#y8|v#fg2lok0OF2_LU&(4O*6H!)hE`dMz+Y#%XyVT+z9dGo9>`ibaKerveky6cgSD9Y z?P~xQZ+$JS6Mkd$FEKC4Mq^!lgI%78r<#zz1jOFV9(?XO_5v8LiBEWt)l_4e09vMKdwjWbf{puD*H%F@YKx|7*Te}m;WuTVWV&FQA8f7WxX`iZllRKb8Hz6O3-CJ%0uP`T$^#S9UiaIPz~$AF zrnRqSai+gCFzXD3$!0e;L&dBkP@cQ5~a#nUUG5IU%SpE^1f5n>6#~{{rX8#Se4`BYA zyXCW=J|g>%6BR!Kmi-@B=D)@OurvR``p13dzXJK=%KXp%Uvhl(S^xBP=!6{Y z>;>)IwdiR-7(W^d2MaCZA9h-Hoeyn{Ee!sj|9$}bLx%rSM$yE{&c)Hl%**nRaU^U$1Y-HitGpk-k1X;> z6~G5j{&Mj@Oy%^^S2i$oqEq@uKKT<2|L)*F)BQ8R{sxJn7LHEN07gcZ|3V`J2h&H2 zX8g#}f3nkuTuRP1|BlI192+}aw)3jPonWGgqgMzlNRp*mQ}Y>KmljO4S9>Yjic5A^ zgI4wXbHX^X%z}~3OzpdA8$SUlGDTF)f8*dHQjB^opI?3UEbPjpbIW-R{}z z7Cox7*)mCMyMwc0gU@2$Zo?+Eq4uf8LP0FN_1IdWbB(^BtZvTnn`7}iREFBY3Xq|bQ@2Bh`MX-3jng&Hb(;<#j=1jR@%hYB=M`%qyP*huJNU~`SK9`4 zmFmLv-pX;vB}VYU z9qSz{ZLRdsY9G)E2tg`RCcNP`7m05 z@L*1&z|_)k@KEJ^v4j2I24(llk-3Y8{0^Q#x2D$#h&lJU~y|9+e%T5W;HTRGBI53wq zG8!wl)HS{J?=O1V4mtXgp_dV|T0HJE7NN7ya2Oc5@OV2HDn(Lrz{}mEM<2QwFD910 z$!9u_6G@X}8BQ6m4Dz{wmG)($(buY?FDU^*uNx-KTk6x$U@#q6lAd19AmmOW=81V1gxaywL+>=w zU&libzSZ|Q<3YUttnTkR@Rk|j!8gk*^t-N}VJ1V^;-5LiXBk^moQaz70Y1JAklct> z5UeR}MFnOQJNDMe&9>>zi-m%zF0H9tqp5*6XHc9&-O}(#oRG0EK$(cDPjfUmG#@#a z;S%=1!7I8F#T`kc!0t4zA}%}9!-YyUY6tZ;a-SwvhX~hSb(x&+>Rtl*g->in>Vcga zNNyOkL@=6LR}~gNxne0JznT5cIOA|l0*B94>UWwU5S!j5QJ)d55|ywAr{+Mwv89eg zsZ_`dmW+SS4k|)DcZ2XR)>%Qc1?=^4%yB~l6iUPqvOkq=g37me%{xnN&oO>Ilnv!6 z^d9W`$uL}Gu=v~zvRVVp6U5v+h?FuFcNe{IUnkp#i?%a*+J+T@xE zqC;KqE-aYIH6(kmJEk%UD=9kcm}qvnDWQO>tYo#>&=lo=%*vgTGB9IagwJDw(riWK! zN1T?CP0aI8f=N3A2CXtj_&AK|PwdQLv{!pB3#MJ~XNnIRn)pf&kKLd3!;vARj}Wie zXuSZ1*9%-QPaHRuGhI}a#`Am3%?TnySn-;Ka<}upZuZZmgb#BZ* zWqLJimLZz3>T`tVRpUG-zl|UF0@uqg3oJ~Hji{J;H+7D3tlO0f63=8fhsJ>n{o|Tw zw_@&rVh?PB76v9320|E$oD9|m0VH_r8F5b=Gd;YM>3bm^5=%yAguAoATXSo|EffNS z+8P=@5b7C-Y4}1ofHc3hB<2k-2%a>i^!w_BoH&{^Ytanv)ibywI2tjIlCUTiPZ+@a zC!T=Vk3HyR0LBK0soq26R~SR?m0u|{ao`^6Vn6zfCH&E{58&Ngc8R=eLJ9~&i)PFm zJ*t2B>@9fHLgAXPT&czZyj@knZ|=oWg)v&Mab!{ZLb%9aPQl{Ahu0`1CMQ5h9+>06 zmkhp>!rX=XNTaS=%I(Cdymo#9`(z`$f%&&Z^`CO||6TL^^Bawsk^aBy8u2jg_%+*Y zdgP$gfohe1n6CV||w+c%3}By-!nubht~ycxmyl`>By z5epRSV>2zdQEwa)8%764gyZ{16Z;p|)4eu$oiF_%L&l~JjG25#qIP2sWzFvK<0f>^ zvJ1~gZ@DadVH@{T>4x6p6f=mKol!C;MxV!dOPJbK3%%#85+5dCf7%k73@APS43p3S zWS9Vz)??THuSu^=WXHQ9nm;A)qH4!dUHG@jHFX>F~BAE>hb+|EM3L(3v%mrB9h4e}7sO-bgEgYpZQ)YzoHL3x1wMtYby zDYp6LG%;K4N^%}kf$MH8$1aK&k@x>@vV*y8UFRaIzRCTg9IHu!zj(PgPY`-9+)uFJ zGIg(coX%)O@qc>s9dPsp-gf)E!~HT~)(n!nlKc1?&7T}2{aaW6si6O7SF^DFr>h0* z^61e5&tG5(SA-yl?wr2lhzI5?BHE~>uMzThNyOstBXaC++#@Kt6o`QO3}zi*yUUin zx^B3|OZfEXa0Cuzv~)ynajqJE9%aaA<<;0NJWD%zw((|721+ZU6aHSH(7t=M5D)Lk z?{vB1>~HlTU)jPUh`-@!ByxRS;(n<>jQ+~A`ssaN~{boN+j+Xg@DX zBG$+u=_tF6)GjeOBGpBHe2BwcLf4;W$)9H_K+3ViT4NwLs$gEws-$63Q_OYK?25@< zMAwhX5#l2*HZg01Y4GaUjU84O4D`g_5#R86*xl`KHaEMc0s^4Oj1@5EQD#vrAvAMT zv(f*$n9_8HZKgvz!8pQvw4vZO5T-mp-i03YTM&H}pz2RE(~WM+!scNFKHXd#9nJI> z70Ds}$l~Sk1Ol%w8U-`CwYpX$2aA=a&0v1uUO{RzNCn+;)gqd=og)gt9ZN9qy{@eq z&dz5=&#cZI?pGr5k=f#j=25N=C4WG_8fJU&Z{y+LmLLA+bLXGXXX9Z0_jvfOBBQiI zkJk3A)|Tg7y-hY$%iK#JA2?YEM&z3fHS8BWIgJesF%#{xai74>t`Cbjl2kDFyCZS- zWMg4L4YLlXu@U&%(vjlzL$61}uDbZ7A0gu&GN7N3eMT1>!6V1hpc_q;V^Sa|4`d)( z@1)bs>F|sea{Oz3H)-kx zlSwv)p9$m=X`r+fe5lF=cTp7O{9C5@^SJcJ<=7MM=*mIo*-covDLcO zza%v_K)+O+PF%AnXpIYen*x)tQZ}TNGU*qSc<)!YG@J@i!*dL(ZERQdp=q`zNzRO$ zf>3FR+#^$tmQ>Iw7N-n70@2#+%NpgmlxWZDD@Qn*uafXFPhZkuoe3}06=f2ukc>Qo zjf$U$OnY(RV6`bNmA0x96l?z4a>EzOo@5^C#l3YdDeNvKIyu~UkwkQG>oC^mimSEx zYZT4L)s`BJN6y4HwCgYw275a>eeTDg52(syspFgoS5O9F_xPbq$Du_Jx6n1hioJIxSj?K@}Yx*|;buJA*vFXAJz_%beNkxrVFgiA&Gt(}Ag{`#lKdz~{5OzrbDcjgux$ z_JOSHlj%$0cNdCPcP43NS7osnil&pM8aQqI|3(jUy&7y@9u@OuH2RzRkO{{zamoCzPZNT z;(T9AZur`ZtB^Po!e8ye@Ms&4aH0f{AVXft+UYtLdQUmxD(scHcNmcY=6Bw;9m>6J zYa#8`M;yxtYv6;Z4oD_ zDbk%`b#+I#r;fD#?0oN>2d$0$+i~{KS$=Y7rnP2I=_#w0f;diy2e1v=?Uh`{rlF&s zTGrAKo_}yMd#}H<OAdKTa%4i5iZ8O!G1pNw9snw2%ad5#RpM$$zJc6y_*9)J4+g=(^Zw!k9K6XZw}6X4Z9zuu#2vS-q+xg-z4bhkvsd6Vo2V$m z02XWX-I1;n{qX8a0WpPvG|a(6G?pJlbFA*p;m5w4SIA=tLuXgw72ifu*C)4F0t)Ze zDfJ!zaYLG`Wy4p7EXstHqe@5gUsH~6c~2WF1r0leVJc5*4^XvF7tDAK`#_HA+E8M@ zOzG~k3`NjL#FF{ai9{jM&dvFEcT`h>BB}D4^j=XVPqf_{E;neibQo6h&!&>;ZItn^ zFlrGk@s| zeF*gdh5rPiSrPxYi1@QW_dgI zAcBUA;t`)y?KjUB_Hf1|abaE{+@@4$T2~2?2Iy%^UkHlcb}?PBdy!wgfPL#_b)8W; z#kefrU#~8cI-j-JFilW@WZm~~L~Svm+msCxT3mPZ6#_btG0`-9?#+~woW=fYiZ7M!gBnlH4x#_w_CW++!Suf%tQwhzRJo9nIkaa z7&D)mOpZ(z`N{QmKzboOET1~1Iqnih5`l-$mWa5#031~r2>2VSF$ zilr#TD6soHNJ*P6QxH`ZHA({({+QWF?iG(1}FjsJDy2L|s#u|+9lr(N18 z3%6bE1n0!$pTbA1B4C~&PpIAKSN&$TcZN9Ll5^ecf!84+Lt$A=m0kxJ`>WB#4>sp4 z(?sP5G#?18PpD6)On(<6e=VT@k1_JG8TId3Gec!Wc7-2p?V0MgV__WB1XmKWq91i} zU!K0|qzI1xF6AUS_~kQ?+b`FQ{9;8+_Uoo-r{B#^L_lP@+Hz&IP7{qXz<%w`HV~`r4OW6#LTr zdu&4~M>oTfB!nd*ck5!az=CP<_R#Q$=Mdxibp@Q|F<$Pe6c57lMM^{AyhLIYtZH)5%*CcT zYaJ}UQmV!Rf~OdsZ-4@mu1j!T}lFgK*)3*<8S-utQ?BtEqML30L$;!%3IJhjMjn3a#E7h4- z$amBVX1C3{C^N|0%jP_%V^;H-bpyt6v!v1L0P?7rc=L*_ z>rpga3G>rE9^H|Cw1#%Sp+}IQWR?qJx2tfnWj zoF#K2#!UL`*@D`^i|vbj1`pJL*+taux?Db3pQTA#HDRyCbB*IdDE%AO|UBcAJbI^j?UA_4*`rx#yF!oLc0zS0P9PkSFD@a1oGsxgKK02WCw)yw zpDHp!m^Hsi;Ju^OQyr;D94sYQb@$Ysy%j{9Db@t`7$I;7S2jU0Mxb3r)w+VQcV?Jp zM-KWe?=8;Q7V}KM>qKv;RyN6PAx3*{Xq$kR7Q=1fCmR4=TUU2YpBwCu&8D{43I_Ff zKv*(%Z}5}Ai*lkM6}<^je$W#sOcQuZhW{~i_)usQ39Us+yMiK88L??j&@hZsf5#=W znOGL(ynX+Z8gR{__wMXey*Z|Nq5HEz+%M?_N7UC{LWoGk!=VAUriw*B$8!pk2)^Xb zkmh`=g7V(m!+YjJvZl|PwAR??r7NE=0HQl58suj-Atr1cj+%fU5TkxPjQ z@qx|usG7N({hl=#(nQB;8zl=w575Y5z+y}rISm%4i~9Nx~6;=2f~2aHZUcZZgY2QzO{?4^lv z*f6lQRfE2*WDt9XSktq8+3p=)-vr!Aa z0Tp=j`V$ZC#KYjFFi!XMrxRBf?f9|R3L*~t!M$#*iTYxJVgh8g&k!wnXtNTqczUs^ z#LUv?px!14g;<%uV>1f~);7Sj&<5Mu>|`i6ifnXJ2u9wB$Jk(TdE{_bn()pOLOHe~ zjeO91_TXJe;o9#Oidc_lH(Z%j^TPo2=1A@Pf$Da4r=iL6hOt0=?z@Sv_NKCtq=6<( zr>opv;_67=Mpgv*38w2Ec}U+gq$F%W?L2xjX9iKY>`2(`*mZ68mcbrP*AGXbyqq!) zH@`~<_ePbK^cvCBBHy52^jz|R+ybc*?&~_$AE>%MCHpn5{Vl})Y-;|G?=&{1kJA|c zI@BN@_FY-ZDV-j<lbcy*lYo4dzPt-VukKvKe!u z5BJ65e&yW2H-cJ;pJ)Xf#TX)`Y6B2^Im=rK=EyVR4Y?n46Cz(2wgK9TE{dh#_Su5^ z^bES$QjR<3mO23|9zEF^gHmx+kdlG4L4$)*F-;`~EaiUsdFSX3>ppr(?WO0=Iopi{89lF51clQ4GVeqPv$<)sqcY3nO%=Hpe(@RE@RdEa z(u5jsHTieamK}p zVBjKxIrH6x1&7DzBGS%iGSxJ3XiHGUh3BDI8p(=?OEUZ&74FoHK*0(UoMIQ8-|)$d zPT1O%qUb+c8j`%e{+u`&(5Xo85xC}mQC2AQf|A$t%8V8GZ2YUWP9zY^|sFj0}A#+^ejsh^k_vFEsNqFb;D1j{r7E*+v z5^a|98v#}hTI+0GyY;0fsZMZBT7(HS)bT}TS`6qg#=gC?g zepp#d3!>2ckhWL&N=^&$O+u_|Hdn>DiH0*X@%7hY+>D%)j}7=pwki}__p^#YNBZ`x z^VX*092er8P196UJj<0xK?-r+L5?wRzqxp9x+aXFbhg89--71U=E{jIY{y?WeO-gm zhEd^NZziQqbXP!#!VJ=vV>*8%BlN$lJ!snao{h{7C8=b@R8 z@%gxJR!bFiYSAeZ&=yf(Z-2fHbN?as^^0<>$XB7!0}<{GhI7#K)O$bDI(ScGUdYOn zvaWI!@QUqGX&9=Z$HACrV;b!G-6Rj(lm_ETPJH5cB2ya1t(|+qU{v{{O$9x#>nus! z6>KY<(j_fV=ha9=a!TpTj}%q7pPc`<_W%DMe)#8VAS?ZUtOnMrj6|jLBez|ndpRQ# z?00vKnl>oDu&WPChK){Pg4V%=fxy+(Ufo*|5OhgdSLLq8=;$cT&CP&q2Iqi6Zbb+Y zad%TcBfmNCC&&*IefRsEgT1L2#`K(+Pg?$SMJ^pj=%mw(KKNM}(i`d>`ZBs)+*grP zqrqF(f5+QzKt%j@9^)8vm#V z=HX425Jxf+u9RBJ>1lqnfqi%B&NGD7VL|nk@2ocEUOQd7pIP=?=MlPZhicG34E)?| zMZtQIZy&RExyC(uIj^|6G35fNI_#G2fGcr>w6-Lj3#?I3ixgk{FwUW`D~{e#tLk}K zVmmzTT6Rvjv5%17KCyC0vE8w>g}h_s_%!1>kTQzaTf62?XvNc$uM_01&Qm#fmCa5k z7t@#Er`9r8?diFBuB^<@$-1MJGD=b@E$1z4$+y(b{DgiM&2c^M&LEb19;yd4C4uj` zGZ2lA3o+rfczbI8$l0OjVei0ep*74R!OOcvOZeqs(Z8AV`#>c2<@Yy>jZ`+`7a%UE z8kTmM!8(o58c%GplyzzPAjxyt{vH1FSr=>Kl7ise7wqKQ1wI1I?a&#&l8>*(-IJ9aQcd%WRj zWCe>?rO2{Gu*u{vJ`}8{{kjzkvS6W5&mLx{_@92W-tR;ka7BS&{rc%Q362E5^K%RF z>#nW2kT?lFfp2U=n)l6-y}L>#~XJ~*)(`-@BPl>O@~~%yr#>_`Qsi+ z@PWgkx8IuW^VP#6OnuPn+ZKiQJN;L}85t~k^+kC!9lkIzQh=xdyhGM@f2Od!6>{0+ zz-}>*p5E4kgZoJjfN=6KhQIJvf5YDNyK($#FZ=Vwz8#;hq3&ma)@X+xGM%=29@?D=fo_eqtGngRcFR*c^dcl zc!*eSge+1!!R`R_uLoAIohBVx3$g;THEBAt$F2&>?&EsYUa}@Dbvvcge@+xvZYTi3 zsk~2Sj2cvZ3df#Y7VHE$2f{blNji@w>W|oTI$e(dRNgkIdOW`0SIG2RVG_D6KNU=C zt6T9GjzKy@0U{*HG%n$GfbZ|!h3#A~?1*-yx_pI(FLWzE99m!3E(e5f`FuAIuHQAk zyrAoU+R(}P+r5jwPS5=>3abBDNXk%=k;7#`ZhuxAWe^zd+aN^U=Fdh?G?%JVM6yAm z0ml&*lnQ)!_G)BXq9MvZ?k>Mvyf$4=Pes;&!(`TyjCCOyVvSS8+EeLC}x*5GFa?;+80(jT>poabF z8C1TT%V?t!qVmoUYC@v(69M(WqF+^A*=FYD+~_T@{ki%hW>>pGft#P(FSYJ5UVF1m zYuptI){c-fMZ&haH&R>&r10HR{H zQkD0S%^7)w4xFNk#~>HJgbYZj)5>asYSZ4>+E7&lRrTmS=8YjTw`%OuP9wR!o6@#o zy5zmRHqgPy)~6=k(U`|e8IDYJHgt2{yQS{v`8~_e>uoMsJQo*Q*Rq2dWxw91i01Z> zIodg0cvRjoQ17t?6j?aa8Q*!V5(~dQRW+*GE~x-7SChXPourno+U>JNBh|?|btrn$ZRaHc#xCRxu`-d8+0H>K;WialIuEjdIM;tf04 z!x5rPi)rZD7~||nN9ziXHV>i$EmGg29exS!8&3f+=k%aM^Y_dZKOk|ohi?|VDmNT_ z#m9@}1|Q!dAUyRAZO@4Bg_c2MhE%GpN5;q}3o!7zLA~ne4KoNK;X$pR+U)D=gOov5 zHpaagnlRhN8d>I~u*r@UP$0EnR=>6OpIQc}Hfk37s+Tfhwli3Tj4!dM9ivzJpEgZH z%bML9zp1OGOqwgI&GIcC-(_=QTp1OAE}#X2JpN*wIG<*OH>et3IF(=ATzTESn`OZ! z7Z^unB)Au+hF2$)&SxUoMi_OoDdeP?hM?ne>C?o6ocF`en)A-2(Rv_h^afxUMycp5 zC9mwq)r;j(Ornf+Ou)ww)Mjxjb|dz&=WA@54*1)Y`M=uZ`*ZYI7QpcDmDR^l>Wrbow&17OW8A$mkREU~tn@CuGs&_NdadZ{~I>~EDSRjfqETNz; zS}{pgDVxal_rFqN9bv~FIud^(rzR?&AljriMB|D^7V_Pl&SfNzj~zlK90= z_qQhcU+vN`GBdIL>liizfc4`%{(q#F*@SP}sv51u*A@?{*vpABFt1Q!ZSV3E;A}xYin)Bh4ZzRrt33}^=NI#>*r~-%;#`P zUcAps@AnxK8L4LbsRyHWrdf2*z6g)V;-^Wo%)h&jXvkb9D0JeK>XaNi(>06W_$z!j zu}h4u%4H%XqdJWhB zYkTY5wvXM?d#5l-Z*xEC>MZKI-ZYwWhFQ-8Y2Ls|MaI&9h>^Q92D@;#e460Ud^avQ zv2h=C_fs_AxQOQ)w{?5t?R($iYQ~gD9-Px}P^hPtUru5Ldx#t6%9h{S5D7mK85Kjr zW?A|HHOoTFEBg(k**0N%^{|79f`}%%iY)^WR5-(}_+ny=HO#@3RT(G+NC~7OpD@f* zt)#70yem78@WH-Y`UILw{roOoy%l*(Kli1RC%+xRZKUhnyVMLery-)ku)>-sy#LuS zE`=I)?>aXbi}Wd!+Cf7bMXjI3L1z`2t)Iq0YZaxvpQ^UPQ=#!Qj3EjMC`usxtdJKo zKXqCzspb|$y$Dxd9@|qcA*3NRBR!4>Ry0fs^_56v3h{mzjB^nDRnaHdB5_Ocu-Rxx z`L8Ali0z_AhX}wB(`jnT+@ShY*O`O*kh^IR1%PO1iD8FsC#EM#xVW=0ajirgK!l)g zSEgZ*IQ|q(B)}X%I-`#x7jJ>OrvxICQ&At(IOWQqRgQYn2gxATM!Tz305@1a3bQ!GJ8Pu;l2$FU*Vm@@r};c3V7xF&8xVbSf{;j%$lKqhtJ&St!$Jb5HZS zN0-N-M^5+dV)im?wiyS#}#1tv+w+{H~iU>O07`OR37^47W4daNY>$KxehMuIpb)TUlP2 zzGY~2S%EF>q#bD#NhT~kSd@J&Ty)=At@+Kj<*_FB=DkoVW^@1A z_G+nm-SozHkd1t48(x7?Ir_uMJ+#1C-FQ$IcsqiSu1>lV@w^SPmcY}e%`jz7{d)=} zmcq!y2%D_MQnzM5x+uNyEv*P8t+>!sp$-RQZqD;;dtZT#WO)8COqwmRmI1}9SY1iY z@^|gms-K01G-Em=GV6Y6?X*{-=6ABwH)9LCG%+^jErsW*m_A2RX*sEfGFcZybPus~ z{uIbWXo1UU{+ejtIh8TDl#vj_MbS7=WNx?eA*%=df@kp~i=l9oPz{U8vU1-%9(Z+C$FmSA;>SUL8? zf&6@ze!bttoh{`0Ks&i}6Zj$*wTYTP?U_Gg7`5wDGxTk7yWRT0>vWTjBmCZp*{5HY zx9j%N%C-xtnTT*()H5aeLV;Jb_krD~Hue3 zVTc0?1?sXrCW+0lg&`{Z=LK+A`du5=tld_6@9NvF?N$cF9#tDV@%5pW1zfA~4MUa< zT$>^rzw~&+J@-a|+leh<;aZ8UFu0aS)?Ko8e_bX?w^p(~elOEIulPi{%$#mJuyo1V zD_fn)I%2vK#yTKNEJGy7h!#UiEGC^52&+g$DJ@b=j-I!z>@TTEL5Y8-v{+@(DFh8G z0ge`;xtWie;74iTBbm<}kAX^BQBYBz9EFT=jCV|&nP2C836-DjoJ=sS1eCBl`m!~x z_9OvO40l`52_NIfC=NM-j7`~V+$1~#jg5`-IUJ5OFpfmj(4_u*Yz->mFuX~K<8EbJ zaK)7 zLwVwDtpe+a>JlxNanWf~d+m=9dCCF>&Qo8RY6zTOR&!XIY;@<44tiW10d`^j&!K^) zlX#kfX!U-LlZeYgP>0Z&*-XxUm6HfSLApZ(uWXhZU+NUl8U3&2!P0}lcq!oV29&#k z1f#wj^qBkIo`WGl)mTYgjOwr>1`y?bF4Y9AUDWCj5&ERo`3z`sLKavEMGgt#@#f$r z^3*0u%#lU0%zlRCBLk1hgy%D!{&M$W-WhUNJ6^RD7Zl#0r1Gc*lfpRsMifz^N{9&g z3JDTJ%%PAo$n4-DTiB-oNL!E@flBr`htHICJaIU=si*Qhz06f1ud-$kc zY<4KjO=9ifGJAx|UYRC{^In}MD5OmyZvTM`@T?xF3lz_Cbq^JJbj5yU7!}P#1rrqx z6%7@YITZvIsX2vPWv@AT7F8MLe9O|bGK|uKaK#E`t2xmIr85-?6-gKQAQi1S{ttE) zQWcpwWqcKM72TjRQ}19sSh`s*??SzOv&TInDZ0ya&&n47-|)m$#KiRsN7~P8XzygPE5yaB@C$P9Xd`#B zfh$^qu~rZG^R1e;Hx5M2rKJy4Uv6;>t zZ+A)EF;@48II(r_LA$Z%;Te5!?KOS?)#gihCFtE3v2JO>z_&&El8}4_)%KllckczI zYBSn{ly67nB}45RPPg~Rg{Jq=$pd=Tft&}J&oA6Zr}e%n4gA05p`Jz{xu~o#az-Ljv{iX5WX;_HpOz-AdMpWs1P)Y3EiQsBoMoh zQI=kXenz>US_z>}#wEktQa`FhL*H;Q5|qP$4Ne-dH8NhBCd1lt2Tcj8D6J*M>UfJ; ziSSw)EW;KjO|-BEh7F}KENph^iHAqwe3k>4oR#l(G6amy%Dq1>0sa`Dd%k7%;y*YF z0JiYvn;rH73wd+Rj`DzwyoCpcJHSfboP(oyU<448w*;u zVC^z|)G@fOYIY0JH;Avoon?ev_J{Rw8IHe#G73C3rQs|nXtGJ`Lz9|oEB&d?DVrTD ziO&kX>XQ*C36{@GThc09%FargH7kS5ghGzk@eAUe17#-}IQKMLSSu5)4sx}%7M2@| zzTJcpOnz>Wi#{Uaaaq%$TbQ|Z;L)}NivE~{1By%>72qBQw{+V!;qC@E6Vax1I6Ke| zkv5@Wp2z9rN)>cY{rpfSr|OXFDY(OJJhp6`vK3fad2-6x>|I$E;le<>R?sY1nL@QK z+0;|nM0G4VjkC;uV*a_JAhJG-wKbTwhs8CvGS+IlM@NZMEcp;rC+FHZm3I1Fy=r=s zJc{bYw8%{@ZQV5ai}2l71J<3yg2SFI)LLqqZ-@MNE%Z!+p*j`9!YckIhz?lR*wz7< zpQ~ZU4M4{sB)&V)^#QiPPD#d(!0k(4dL_^kV+c!NNumPci3QRZcv=M&mtKa)$48$# z?w@YCfGwpHQ{F9pm3d${0xhwXMd|hT4JXS`%boQ;=7g5-vu`qF3Zm!Px|;kvH?n8g zXBIY{jdEO@7WdTmvmO}0Wph%RqHA;P%qsi^-AP$1Ix92o2yU6I{`y$fNoa%_AkLh3 zQG1@wG%YX*nB<;j5$8ISSRdaw&6<|2v;3ohYWYV!pQX=5Jy4T7(izUn*S65=NcHS~ z`P=eFz18vt4?-5um5s`<|J12GFtL_Vb)0fh+7&6Q%Cu(bl>M86&cJ>#?ktE4Q~Chq z9HL9m^4NZv&M_s+Q0c7KvG*;JtG{v$PDAQkDPe6rQ0O)KN$<9hGuIRvIfy+}GSo4Z zJuIS0f?$XYC#O#cD^<9yPwZj#kI3FI3XrA|NE+tX)H&6#waPeF>9(Ar9{mM%)QsHw_)5~ zAF+-xx`qI!IGKjTvP5J{BsFQoq9dwl(!v(a#rjtJ%*nm?@Uz9aSsPPZ3tN|L4Q=gr zZRhXaQ|< zSAD-J@DyrzY!pGPqARr-l*={eH1W&28zF&*#qMGtPW|SRD}-~8WT+76HD;0abKrvr z_m|2w|sg zRo>=?w;a7Na{*r&Qq?8kj?oc(vdzKH?Dtx_+X)h~1zm}q!xcJ;LIHDDc7f3bPqsw%dCJmdmU_as;iNYJ7kW;(m7M%6} z4!EfG5+uDdLTvP;`hts}@VH?(pt|R3T}cq~OL?CoERZ?&mHkoU;j6dbMo&?3X-r3C zEe(F`mHOL7@!2)14^#)-Mz1bjyy9;gCNTwG$c+KJ=a36fyn&M>Zq?civQ3dC4nzxf zn4(Rw#i1E{$Y2s5t~IgCqS}`s1yii?9;zlm-H_|1nYJ*sC=Y~YCyhI@xVp>q3!}cC zVNtv83Hy*I(id27gwCKJ#7~i)Z+KG>P2lHUt*}Bz#4iv(*tYzyVWs^cK8@F@9|%oC z=;SE-uRJVMd7dzzH_6+^cM8v2;4FuX3R8nG}cw zb+>+>7$;9*T{ ziX}Rpjxcnrxoz$ziJ;QW$;miVSab}N8cHXJ;IM9xUcp%{h*)h7w^ci-!buJgUJC-D z#Qjr@IlN?Gzk*Q=z5RScO(x`_TTm{#F=l>oIzP(^7U%YDM>S1mOjz*NNSi}CrA=)) zd;w^pN0_~Xc|mwqYtd2lACLGTzZWkwYhsx7MQ7K zdl5%Tl%trKGk63|O%!1ptbBsexzU$NrwB0)xwJq*yfk)2s|pnn(FRhZM=yiG>WM~h zz}GP*&(yiRmuS%AQlmiqAm}bc`=w|)VafaD_j&hivnJas2tjSNXOh94X0B9lG^XCK zBTz?C4p^sj{Y)l|)YbrxmZOWZq(cl;AU^MRdlpL1MOqjUvEI3sk_RHQ;5uWPK<05I zP!=o;WJ(qINahDH)vmX-uOvRKU(I3;A}{xZ44J=v%Zf%AYs3ISKdD(iO!+jx;bICl z3Vc3f$Ir!B3Ud(7GB*>FEr7fn5gGThB_VB5&vr7Om&seGhSwI#F;&|AYDx3FGHc4* z;G9ysvZON2i@5Y8iR%EJ%?X8vq8;Eu`lhW#TAA#Q#wsn(wm%D`oG`bPf;kYKCpvt9 zFqp3F`PG*-Oi_0^Q{KBaRxE|pB3C6v8q655R^m*aa2(zLTpEa!S3_n}pE~D_ZB^F1 z)~O=R0+E(bcxSIc@tbF>KIha{A|zqW27kXAiGO3wHp`hjN}Sue;9M}1qZ}-d08lG&QG5aS2NrEoPsgOiKHzHL$kXE&b0<2W!#= zBAWEML}k0*7X~xsx8I0fRHZ`&qABx@*}mK$&9k1-?67f)S0qU~Cyw~0iD;onITmpe5uCJ+Yg2$H5D|c=wM~tjoMlbh zk>iVp6GLs&b+e=ips1`@QjVFMvPTtwplg@zzGq^$V6h#IN1|-HCh6eA@>~>DWv(@D z`AxRvP_gA*aoU!tw~ZocSl7+wulAdSj!hzS^kHg&_&Zc)YJ~Cv?mPb8D%N(ZbMPez zO)@e?B+9Fg{L)ao)g-bJeIrg(pp&TLMkDTsRTi%rwv}CTja9bI#$p~qI2{zEkwn9< z8cfRoD+@xjffsL0ipAzO;d|ZBMHIO}qsi`VFIvAc`hWdQlGRdVFjGkgv15 zWbSR&z1Mld*<=3_s4VGB zG%QkBC1}%pwmbxj`EvUH@fxmvGkRa4-2K%jFh3C8WN#>^5Wb#oU8!p*d5>za#wO|0{F0E{O{)sYGbLnyC(3X zZn=F4E!3(eyXFP9CRnAQ8*LYA6jDIa^$Axx?X%2{b?#%x1kWIW{F!bIc7Uku zo}pfIyCRC|ytTSwrSC@+;J~uQ5GPaYqlpF-OK7b=un;OTHErC2Lu>)-i6Dof?E{=Q zS&8MsKPu>4UQ8t$-y0h_GD$*L!N2rdu2fYKT{qEljed$=rD{cI#j3Erne3yIIirz+ zO}Y^>;w$uFp550IlCAQx z1KG_mZ}0Rv*oK9V^87$|z)y^S&j_v)BP*rW-T1qGwHuAGV@UV3>A=7eD-cbtO;0dj zMjM)`?pK!%AS~`8Q45sD@An)a2^F#pA2J;}m@r7SR*{^@uHM%h+YKBf*z_;gR_vSp zR1wpjUf9lnbxKV2c>KszoL6}uOFAuV`D!)DnH~1Q?zzlJAo(C0TjDg_PB}A#Q%I_RsR#*45C(Lz{k8T?%5K=lx*mkv+e9sh`jHE$%}D?L&`^&5OK! zpO?c)>CMY=11gZ@92E)M7mwshc&`&}nw?wET(+*MY)y0Ns`|pU_0L4-O671WCnuqe zfnHnw_l$MqAfO!~SUuY$O=cwTTlj95^qoJQ%P;QK*6?`Y6xf+V52 zja%=NFbeS#+wQD3En{`lD>I^`akasmQbyZWMon!(G*D!!OUO=L;&csBv$XyYMrzwD zF~TDXAaj9~#p@B_czRV&`)MCLo7H|E1JemN zQp#Ogm)&|NnDA&PGC<(sv?ecvA;IC{kKQpYhTL&xd>6)Dl(m1907#t|5}y0Q&w(8H zcH*7PaN(?W-2sYHfYO_EnkZ5uuI#_tUhnoJ{4I16;f7o9cS(=Se?IL=@-R7}MV^6Y zU{?HTcoEXMNN6p{wMQL2G}&^z+28PU1BCmr*!uMWUaFP;}(rvjhx7^CtpZq z^mi&R7!1-ej`4mO!;=0dgd`EPf*_Nnii0BLOJ2diim$m)!0~^jaH^$iP^}PFc{F=-YwiCB~ZsYjHPyzk*brH-Tr<*Sq zGYz8O)|&kYA`NOQ?B5kNT6n@$7#W+56q`Md-DEKhsd5BgDLRm#q``@-e?^q@Kq|=R*$lg;YX(eSVl)<5vL_(({Vq$|{ zBJdMEw#V&jItitTi!&Jk9Z& zJZx2sup-SsR2XIHAz|ke1Ix2QbA+4ae`_z_`+^g=^6yJboI?&11Z-NFOVmxIqP8{% z<8klqm>;=;86@L=Bj{??hHNO<84`#yacRwTJn@2YIX66y;{Bgw@0XSOP##~*e{Nuq zMOT;6R!ump%i`EJX0oV^BMruHTF?i5R#*D@rV=|PJa%XUBmC_G9`xiocSQk?`9qPn zZ!;DWgxIoYHtHJ#%-JYkNefA}G=`adAMcRJeS=emq8E7W_G$ zs11>W;B*?krpTXksP8GiEhkY5l{*4|YIqdbuS7INN>&%@Cq@lXvUYMpXKm))+yC5k zYCrdcPby{NXwn#~jGj38`6z>hyPQEu=EyK7_MNrazZG*16$rJ-bC?!u1NATSglf;8 z8B}NTbc0Ct5V13jGqDZh7 z(Ljue0kb`F-Mr0WHXP1qlkcO$R-n3j=r z;Yk}u4_%=LI*p43#dv1c?bam^)6ssGMbdaP&=eNUeGOeVX70YR!rU*n7t#K_T{CK` z>Xrx8_=fochx*-2>>Tvqp#gcxS1tmFPO9E$vZ5r8lJ};qiDL24D^x--$O8wW3gOU3 z$iSq%qQ`uNa&pFM@UYZ=^z8n66e2*{!&$7+dT~QR9>B+CYj4m+7i3 zSYw`A(c~qH2%Vd#stX{bN1I|rPT%x;MGouh{j`tc>0P75^gh-%*cs*MF|Z8I{^=8t z{s%@VYVy6S)Mvd0=6t&Uynnl9LfM_+@#$GXY!oid%#7fP+>O<@g7VQgMZx4<5A||F(T*g966Tkd>wZYLz)s zDL?=jt)Xzqqkj?Nv&v+o4xMl$T$x!REDy1ZaOe5dJghW0G$fMg(jv+%refh}@$m^Y zS9h#V7XR(-`&Ik#!MrnHc1;lt{W;x_b8}q%E@tG0(OE5dL3g5bjy{*~>3gcDBe{>@ z%&d+z4Y37PJ`VuiVqSrCAu44w?w?o#J`MR${-G-zw<^TjmtaY1jE8~zcM~)GD|YC6 zG%#1yBbG>+G=Uw|xj1GEdQC$phzrzI8tvI7`p$?ENI%t>EWA6pT#%8`?$(@GmC#`S z*r+0#J1#<`5vh|20U*%VsrHLk;>I3fu<%w}c79Gfa=B|kzs#MxZVAdehE&Vdt%bVv z>|&S}C7bhjRws*2{#V2c(&0-%INGYcWckrq3pXJ;=sM;o7qKb1b*qTbij!kDkG}Bf zE=FRgi@+r}bWmGS73CdR7p3*kyaK=eWEikl1?g4-L6=fKYk5f(+JBr4(<%07RFCH@ z_DpnSdt{CJt9B`LR$l9{vYv4-4~yUBEZh3(P{F|YtTXV^EChPk3A5n=87f~KSOzcl zm6Qe zoun0=5j`>%)A-ilk0=lcq$_HpHSGDvkp9y>a|&iyAHgTQqZ%ai*A0|?AlxGr$uP3v zp}UeRg_Ibc$+BG7w8^+g*rQ1Vu`w%lsRV=FjUL=|w0A1z3pE4eX(+~tY(3dk2;K#_ zj@)^eoJ6La!Rcp!ks-BCGYS}sMdr3Nndg=kTtRn;F!?b_j10U4bmseCNa+^&3MM7n z&&R*HlzaS4Ut7jhcgH~aBHIsm`S)>ygAcAgN@tV$ABozu&(HObx|G(wdIwP3XbbON zMjooxn{0f*ECJHie>AfqKc7&)fOWwlzuzb=0wYGL^%~^Wm;AJT-fDJ#x>3qbG<1Kb zr|R@rX3?)hw#h7IhhE6CHo9hfZ|q9Y(?F<4j!byt$u#pa;^lubgR z+^8O_&wUxz&Z(_oc;u+{C_JDq!pV|8@e)dlzukvs|Mk}AUmp?m&LaG=I`dc?cyO{3 zX|6TWs*@lHnKDN!FaTdILBMF7_?>`dEK)_1tw#G-?K-JO!>k6&qACaL?LDYL`=6yv zYywtQ6n+AhE!gHj4ayOYnPgX}UQK$`@oMD4FVj~vVz>ycvfXveiI?Y*$2cq2 z#Pv-0io3fYsi;o?HDtAwQ}ddAG=b^@-*+1dekv2VsQ5;1`Bj7l4O0taGMTU%Ej5jw zYZWy;jan}H@Cgyw^67626!7wxa-poMbT}a);DG{n_Ova+o~8whQ>Bjj)YYcy zfy2N!?oX4<&hXuK!R=(3NTo7X4X*~5rjnUM%xNP~P1-10I8!|S)`J@4*5k1xhIJGh zCQm^lf`kkx+D)+UTadXsAHi=Z88M>;5W}Q-Pt?v_G@+NN47)6V@)70D_1ZJ>hu=p` zu3cN(maeYy*%;M9x$AJC6;s+r=6SX45O zrGtI3ot{K}o2f*%VU4s3yfd7v;NXt9h5~b6jNRSL&GxK;v;5s%&y8K|e${&fpAj1Y zzYXvR2HF(}NO)-r$k6@@W-GC&lB$T5Yl)Ii#;a9SVn7Fmib*L}+!r%fQlp(<%Br>$ zCMIaLz?2S`oy|^f+KEuR-t2gv-OlD_0&^a6fuxpemmaMf+O37A*D_5Z#Qh7M3ch|@ zE)Eqbm$1t+(5{02aAHUHm3d~~Q3+zvw+Gj(gl>!n$eFXwj_xfObW5>4}}7)Y=wJH&j#+_guK{owa`YHt3m*&27^X0I~=vR0`EMH+J}&fy>aV)Kbs` zf-ospA8$QPp;D_=&$b2fGjXieS^wbI)FAmJ6=a(I$~QfiUsJqfa$zBHIRbsNi8#vO zi#!N;$ni6Oq?^>YUd~Yr1_KtbZpCVI@6@l6TFIPDp+ zE2XJY{>AO97555?l)b5M{BCC->QcR{bD(6U^gOXfS}S|&dWC+67EN@~L|7#T=4w`P zQ+ZF3sIFQg#>YEIDfouEUK#4bOJ#7;g)b&La0Buq+t6VTwz|P(;d5|T^?yN2+i6RCcY#`6Q;LLO)xNx;PvZD? zO`P`ff_YW5wf#{pJ^Y8d3(oTn;2$IayB6uUL(79Ax%U?uGdrv)6*^}}WCFPssm_nV z!Wpx~a3g(%Q7w5-fTB`IV%RfR_?@xb370Olj+j7nt+BlPW{cDPFFQ!v zlP&1qk^G%+Sdm;m{iW&p33siqelxQ0#k)CJXW7N0>;h?{ia15;Bx{KXo77=FfyO;# z_Ahk>vEo&~^U|KyMKx{9sv3<$IbAeQ^dvL_t7~cWZJiHU z=UC44S|5>&;tr|MnRDmz0*pS@t9%W3JqEj+OQ|&hmjJwD~{X{?$0NW z>Lu<4O)^Ti-GVSdtZh$RJMctlWM9FMusQ6W+4I&h8V3X%GFs9^KFDmtrGZUZ#8o@5 z`HqVLYBrNfltf%5Z$j-1SbKs@&@Tm8hf|q>f}eH zSFLVveeD%3&A0o4SFP~qq)(5-XlyI2+jzT7iTIZ{QEj;y-c9XRqWUDe0vejFUvIws zjx@ySyWu*EiUht!VFKoixK@x&g3Fp<6LFw=M)+XE+)20BqyrD3Rln-HQXWD1ldn5iOF zTHWUuj(&$o-&L5RN<$v4l0c6i3l3CZ5!&<*V)`U46E57B-$nmO9pTT!tG3ob#zrkxQOBUoXp#(Kdo^$J;=*Z<`N9{R}|(n%~RL*WSlX z#qHyK>(Jl8KYj?N-huE%B=1d`a$^pi1b?p_sH2vUa}bVXpv{BY7Y6lMx=T9uC3nDY z&0?UN%NG>AVi5{r<4!GIe%ZQ|$Qh?9$&zD`P==b^Q&q{~4_K_EUM?>rJ?SUX(J~PY zV%wK%th7)Qc<{9JE@+Q@lG}mxclj9DtuAgHvt{?C+JAMieZ?xnc{m-IN|uVi?}bb{ z>x`mgoIrNjf2dY@>+h3s2(+cTPvB8@LR5chBU01OOpw?a>1auSB@X+N07!UbQdohp z=UO7@7l``FSnjmtVcqn%d|8H!LsQ$uEF?&D1-@AGe)vwEgt;s`vG|;XL$Obss6!Ni zY!U`+jsYf){YH7e0;zskdbG5Fd@G~}yRN}sk|o(XnEaYb;RBzYr5`#EI;PRHg?AWn zv{y$zvx45JEip;{jWkXxDNX}I7ejG(Hb5*?)-%ISC@16uyFHL>_A4Hg&!ATK&f7!l zzMa5!d#iM%rOx(hOV85rj(JX@8tHPQyUu*8DtV;;ysgZM;$IUTJzgYY{1Q2wvbjdpze<6O?$$N{3rj8l+z0O~BLUpAvRzAec3 zCA5jQL-enL=7d4}1_x{6_7;^2H)SoBJk2HwaPE0BZbmSH2_$@rL95Y{)bjlrE`h6Q z02j+;i49tUKNPYjB7`3hrow(iQg&p*EficXoDslBf%lwYlB|T-s0&0*m{PpVCc zt*-aW^U4%CG_9;-&@La7t=-$RGeoh!^xXX8CMbXR+w^T?AAc>N*UP_i)`BtV3w3HL zdzvgITp!WH_iX2)wxX$8+sf5>>D74S&P~eZ+&OS|E3a zW#^BuSLQEO*IdU>|2eJ~ei8BeWdHzB08L*L0W(TOd@G@YgsFq9;5fiWAH#-mg`vV6 z8LVaW+bCN`cHROfmQAi0yHk|%#zbfHqIq?ln__@M)>sLx<161ADD0E*o5h!yApyr;-1`TiQH7$Ei&+str@AIj!{sR*sAGQ)2&0u7Kl@IBDTmNlB`t zfJ~C4qL;kr1*15ZVceo&95*SX;-bB0lHYAf+M|nKWRACZw98oB0i62JquW=wFFL;U z@MzXo(;y+t`t}yL0oXfsyzbqh3eQUtF0;Gxh3*rP*lpl95t&@%#S1mf*B{&?dACEr zOFR{qVu}_k8`m`R8^ru7=BE2~k|U|QsjmRP_0r=3R}blsw@Bmxv05!~FLKsfmXU;R z-B$ea^$>CfAs}P_f2;(tv*L88AtfMD(4O08&&LME7Xv@_9_#Dw&PUhQawu8TRv5Ky zdlN0|U^zUW3-ESF*!B|7zDZw$aOL~Y+$&f?qp;5Qu4U zw%D!^Joe2769EKSy3O4u+daT)+ARY=#%kYdSVp{Ap&WUVKt5aW0~}j|B3ben>amGY ztb23H(ez&=^GAf#z7NS6w@u=ko;Nzl3h%OpdWYNIe}1cT1^Yai$40(!py*T9$SnCc zc&)mPEhi7LPaZiT98dNn)m&z@diHcym`1)kOuSg=@glV=JrKYH$@tp1FPQii4ClD7 z1~Dp?DOinfz_O4^a;X(q5^H0Kv9t$6ZS3>8{Cfg&UZ0lSX*XeEImE~#rg40wNT*`B zRq^a>VQc}u_~8UAb7*zhp8TLHhe|Z7pHeH_cAgVEmj`XjK{b2`*o73=5p)i?sVMP#e#yvB}1 zti~GOXN{>>=JX|B8w%Kz)4jieZvsm7w0SaR(*Z!E#+1U6SfJ=|J=Xy)~b$Ae~V zLVz)DbZP}J7U^FkA>(q*>4;+-`*2QA&y{tPk0UZe8*?!4D8BBZUx~I1JF#VXB*r~wW=Td(t%;xMqbi{Kt$$r&fYL; zC9LBrGHJN%uk;DSd*`vfgz5C2_Feq<(FCC}{|KA3yKD1=Qdw(W%B==MvCp`=Fg#=i z$M5(F;<1dhE6HtC!=}O7e93qRz~xnaQ|UU|HoY3fs=C|0&1Q?rff1s=yp-2KSCEf5hBnESwPi*=3NH)QyT?2nBIRU|E zLrBQV5j5uBSg?P%m_e0fhoTAQ5@*er%QEGSaPt474S}DW>e0?eC{d;r`p9#yP7DqQ zQg|@|ZL8-w?{Wf)<#^RStIcB$iL+PYJXekMj=)T^I(zT`T@Fliu3A^N*$Ha7PpG!p zJx)Nm=2W^LRbMR&-i(~NaLqUuZpXG@PcXTU<5aiw9^>q6e8U;4aoTcEjOnC?`{+Y& zRcY>R%s^Xe$NsujdnoXDv$nc)kVL%uwX_6l@PbJ*6UZS!i}#h&q_@66D? z=o0-7G`)viWstPlT7J=aRDcNKNx-q=^tCnQ#5Tbygk?$9WN<)oxO8mNmX8XJN!oM-IO@Gw$6?OxQRoQss zRWlRg-mWuX{$NnsTZs%6tKf(Pv^~E>ZkqON10a| zhP2V|mGrt;U&r;hG6k7qzv(>HkZXfx{U&40ByBU~(kNH*pdnZJMUNO) zf=RP3&Nvfi)~f(SdcvU?qw56en!Q4jqGjR*zR>PfN!J>GBpb)iKP^LGNZAaY;-BY0 zhkS)TQSf)K&0N7si!#DiAKB5yT$%2y`$GK9z`eloCH3u|{@q7I)KR6z-w`5G6QsE) z$UGoN#*v>$h0}2qEN}W%f_!5JVZ%MOEi?O6n?@7)1FwXcUE3I^Q%p5+C|MRQ*^~rG z<{@JeunZ2_33hJ4+>>CnpiO7`!y_C>1O}FYn|V)L_Ro(ZnYl6HIN7jdzT=GgR37~y z)mUp=U#JSmaHse(_Qf>&%3vLFG>#^I*Zc~5IBY$gXq_ReD~Gan(KpI{qHMBY7Aas9 z=7{m1OyY+{UB#%}5ejSstt1NW^u)sj#h8;4Hqr=SG!pZZsCPP`tE!GCVE@*mZva?F zDMvypwfQ5C1>PKjQecP-3U0X`I*u|}X#hf_mKcx<9U~~%zes$J7L|yg7R`c&43j2n zB7z5C(Jio<)XG`K7{5B(cGtfr9ZAIgd7btJ_I}(t-S(X2F!(-|0=I12xUP>@Qgem@ zL}?Vg_ES&>MAxZ)VRwrx4G^mX;)^7A&KI-J?nYgw&OM9ok_?w(WG{{SYmrxL97lFr}r+Lj3>CQQiBshgIgS@yU9!Sg;6&wUjMC%c&3&r>4#|>vUFnxmR0-IR^uk3 z=x=(g4IZT#*Xv(JGR&}zs#s?IqxI2KRcd?w@fc2N;D0Si3T?eEERE%;O&i_~T>n1c zgnI0SYa4)S-8Q~@-iC8^^y8%LhPyJPs}3Gn_D^5e2a}?C7>GU3ij7fM#dtsK3lq(u zkyx%WX`wT>z&=SlK&P|6+P+B`6j8pXASW8r43k&QGyOi6sk~r4Q`m_zv%x@}t_HJkJBHQj$oa+(@wP*R4%@V;SKJ&n61T=7ud+g_U zJys0fNnV@>#?^VG_v(kekj3LYgdJjr8B*^eguW_8H>#OlRE8DD5$qQ5<6q+RsQxytoK^ZVIb^DiYfhJlFsm9jowi0s-$3SY zqjuYNd1olAhMGdNZ%M}eBCO%bYO|uFqiJ3DEVx3H~y%^k)x@>09wd;^}~x44P}zMx8iZuTBq9p!M0z)E{L z!@^b^hGj*^6nN_GjA3u}@QZaj$9Kd~tN+A@CM9~zE}tFBQ&MIX&OAGw?!gF1FH@+c zIM_YR)6Gn*ER;;(ypF2*4Anu_y!{YdPnz(6S}hU|2H6jYS@u<92$|#YQiCuix2(7^IcwAo8YNt zFKK%1C*@3S)7^tAit=Dj^Gs!}PJu3M%3o8=8vb`%Q(Q&NlGfPbTP1;V{$S3BS2`I@ zocPL7^eEK3!0B0tdG{FE5RWVzAhqF}%w`L}i!Qw^=7Xk9Cdnd~$s#B0^$xCyz@@}A z^^*6wyqi0QYmOOna{zXIt6K3aLr9uVQynU!?88)Zs(Z4K4^6P}at5nqPF6)bf1yCO zS}!(3wc~7s3;)J{n(n0`3%Z9$L%E>_0XarLZ{jXCs`WJOc)& z2uu4!#2)D#5zE3(SRbG}1wTf?4}tUFP|RS$?041OD~tZx#X)ZpH~aA}f%>QfrTQP)(9FTJ>`KDQ=r zP`WB__dAZD@5am1uVR zO?i}8dBR)U+hCV{m}QE5>Iv>3P0bt7ei%vSh7&jbDaAhot}9XnX05ZavX>9CoEa*+ z5NyjHP{RDs1=KR)zGt=6B12^*bXkAz?q-u`LeBIszm>U>msx4Qzs@%=*so7_kbuo- z@{(lwXdlEI`i>EY`@2a&U1yx=rO4@l&03}%JD)CfM>irY_Ixc)olj{lt_s*(LM6q^ zzU(Ck)rmxP^WKkjFk|m%uGvb@I`LQkdzR9iS4(@9eihS8)1X%FP`2EKxG(f@T6n~!w&IL88_-*1^RPiRxUO#~~YrOol-QJ7j}-0vGxNn=VUx4tfz)Z|7GDG?|}|1Fm0X{dfhmB^M<0b&bzHa zHgn@AVzxe{>7N9Qk<@I+iJXPO%cFT~j-gGhTTnq0Z;1yK=a5tbm+)`rI0_N#!uYJR z*p{A#4~fSSJE_ydpFH+-!Jmbuyzn0lQQw@lm*!#Mmwn>gT+1*JwlePv`#kx-k($pl z4({q2KNusJx79CNsXr_YzfiE5<-SNB@3w?7dh4u@jp4ywTg7m^!^epUSUc(Om0zKJ zwpDK(DtHL=T_|*b-{M!V-z5C@F)27PKv?&zA4t$%`af{Taq+S)2|l0Oh)NNkdq(d% zGW1PKr?|^){saV$U7`A!jbz)QKUbCfNPUZg`I2zs>FP%Q=AY}oPOJHE89zaO8dM=O zIhCkMWhb&wC9y+u)f!F>kA;TT+f+9>db>m4*^Mbb(;$h zUS_}F&l{U1WfBxef3US`acV4G%N8Mg#2gw$_31~ zMr_Z+**!NY04Fx~@M|Ai>knB6@B8ToR6qFl{VyFK@j}8H!ah~Pnb@}`KTW((g~!kX z(mDRO!90OY8sKAw=`(MT2~`Qw34bwOk1b|RGtqeMFONI~7P4h!ei+U|AEM(Y9=Q`g z_@r;0Sjhz%+*N?pdDy7IgvW9OsY>=`kA`%~^@?#k=(}N>i!&RjAa|qv`9V&_+bd0l5Lj&?l;Y$}JgXVJJdSV6%cqM6@GhV24W; z1Io!nBD2zzL;$t{pi298Z9kd0EbeD(g@+<73b9Xm8H#f6qTw|~PQ4bt}KYO;41&eAK@dMFH1HB{h*^WV7>-*bP71^D%VPA2t7wqR^+8`A4D0 z8JlLrxzf6R4yjLh)-P79Yy#-BJdw?ufdK`*5~=}*Udlx=2Y!4@<)EzvosLJ0&4uN+ zUJ2Yc`>h3`9^VA^MWGMo1a|UeH`cYe2?<=wLVVOjcJcyzEN#0#qpMp?@%I))_Y71| zi&I$XSaqXJ!!KhAMR=!s_KvpM0_>B$bXeTBsKz={VjEh+#kuG5K|1Oq?^LJRSYw>4 z{H?Z7ryK_U=mF!(v=Qu(5^7mI{wxu|ZVPp??IcIY64 zYx3hilp5@r(hO%X_ZF;DcmkiWp0MQ&e}b`sQ$a70_Vke{r!?l$YlmJn%~Qu!hDV?* zAfJowavXSJ8y+YD;jgJH>y#R?Ed<+~azV+QyZh;N0Xk~IT=NAd-qR$P#uyuv( z?T#_d&ysld|4w43R@vN^D?^w)eWtaFS zn=Y%ZYis^1ba+KN2YTjeu06)rNCB2$v!{V!HQY^w#7E$MRNmGeQ+T5wBXhenO-O`@e!rKaEt+ zIGtKnL>v_=Y3_*hqKXKIc2dNIiT(@PR&PdbAhdz~T&rQBu0N~p_gh2u(V>5?C8qve zn)4=d)m*i#*Jag}S~Tj(qt#{Q8~2Ep8VA2_ zoMQ#K=ObzU=|y+{41wDZb^I1q^E)c}AOGT*rWMnfptctQ}$VA83e5$)Y@iHjlNQWw}E6)}k zm@(i?cr8k(qhZ(jl~=*e>_>WpDW}YB73)H%*!rAavpg|St*rl9>5l8Adx_+5yg~W| zTN^8$!!X1bh`(A(OxyP+J}e+WBYw#l{Bs$P1sH4(%IJ`*G<#YW-mg+Pvphzvpt-Cx z<0{8AeI=$w@-@vV{*z#hP?ou#FNf-_@@My~%xx68JKts#rf$6D8yCSCjH#Kc;t&4Q zT6}RV*QF-R(7mRS{za=Wo#kgBx);OyTr5Zpt#l)DKdw^UmL_hZuBY)cA{10pl zj}m;o$nPMEOWiOp+wE-mEFBhW1&+x=L@S)tr_5)FPxsDp{e%}4B8;7w=j!6zB#o)CyYkA^O*I_+qMgb07f)DALvREkSeOAeltI&uAWk>tgH@MxSUs4V;1Fv}j|Cw?1c7=8<#T$+A+O(yI)sNXk zt16N3NU*G{N%i;qE<#{Q%mZD}Pk*&`nfPbWvv3Zr#F1U(J6tx;6I0JYa#KF!ZnNjs z@>h%Z1CA+QagD?+jNr&l%jh$(XrYXnJp)F=eR{!X(hQ$*O-wm*0TW1r4ip{Ot(L1u zx4MZ1{eV5`uu}@T0v%~@HI$nb*KUBkLrAgt2DRjqb@hdMI6x!M3TZ!P9BIj>I{Q8< zswT>dpDQMd63ah<6gx~!8G3Hm4ST) z-sLq_pq_fdf4k%5N&5UGd(eMHz!#CNxl*4hvaWrikCIH{)(v(!>A(Npor=$Ow~<|y zA$AFXr-^I2r1x$d|vlYJ_5eH4q~7$>^a8yk~Qvtb8XiRWH*p`W*GI{d|J<5UIQjM;#SK6 z3K*CruYJfD%sS(^W+#)j1@)l{v#Vihk-#!J{uk2nw};~=#CAaLB*V%N zdex_a=rOEHb{(m1z~i0-CKXfygHx?!aIQI$FFBA-ZSBht+#{Xzt7$0v;NP|DxYr9O zufK3sMY+>1I_J+u&j(+&fm8zBzbIx|PwW>pYS>hssJgl|n(P$wROaxr+97X=jjCx? zl|I(TaCwAB)pweTKfT!FeSRB=M=5tv1QO3R=Ro{FRw<{mh=_-{s607L2foX1efu9L z8Y^F;HVS;Z#R!OIZD+3GFE&JTydci)FdrcT+~t3tiEB_BBmyV_BebO{3ajI-!+Hg4 z4ZSaccoCt0e7Hv*5>pPU{j|J@e4m3&W1xo@2?~-6kFtf0^(=93#2~Ev8!VBbh6a1R z5*J>8g)T*LZ-tRsxPbQ*r-PrNA@$pf$BW>Fjh$xt2&b+%YdwyauZ!M|g(G(nzC8pq z4r!sG;61A2MNgTv zZ~vb6Pw@)QNs76oVy=pM1M*}sOp3gxYN<+MWs+WJhP>)>cW22FGL8B~V{)0)Nxbrj zRGmiZxSr|EB%RBYOG`J#q)BHEO=_mkg{R4&GRs*~Wo1W`!s%oPKbx}G_sbJ7MdGC{ zzr5XyPdhJi31X00v+H<*mkpTTJ-WeFs;qtnEgv|ieL+|0ROaoAu9sgmc|<4gR+gH^ z?aVhqu9`Zl<6gR@enT%aJ3Br(Jz<@GOZ{~G!Ry}!(|=Ln(wU>muU^FRz$0SKk6u_0j6~dLl6_qGMDlG!Q z0AEyJ0ADI!Ko3<9fRBm~utQamVwX~zLZ335BA0?DB`(EW3RcQjieE}s3SY`rie5@y z3Q@{cid{-o`g=rDvWQFx1#p+bDMee#L>{&nfgbG=(zdF~v2dF@-%roCK!q0s55KmHi4oW!@t1 zNlj5tpeA2ZfPg)v-a;SQx2Sva6WGbKlsQ1Y5`UqO%v;1g@d?f{ zN4_J@iS7hvl6q2Vas_RaU}n7-+nd!m-t2lIhA*o@oaNc#|DNr#WOw5wc zk!Z)PG9|CcHKJBf3>qZiFlh&^i0gl4AWpOVwhZc^Al7AsDu*;Pu7jzP>JLAqO=eV3 z0PzTPib(+}?Uz9n&|n1n_lsPRNx|e0>i4z=Iw*u7|2}9L*it|RCkI5;L_e7U2_py= zVhq?QsBr+V0c!&6@vn`3fB_jJ=s0K?*pQ4)84>C@qvH^`a3C>-UAsYjAoV=aKjnvia}z6tXT;Cac05= zAO=HvXh@M};0lD$V|siA^hjYn+=2jwE!J6#W#(9CaAHBmtUnr-f-8dhAoOc7=h7Ow z;Pk)F8r%`8n)c>dMJ z)CgOZt8vqB#ZwQz9@RtFPiXOt@Co?|V>3F=pz#IwX@V1r`uQKR2HghKPw>HepJ!it zA2-Ga-Y4`ly&tpxtlu2#4eb?tCO$C!f01@iF`|Usx~ON{wr$(CHQTmr+qP}nwmI9j zZTIeftz@69oON-Mb62UGN-CpLU)31j^ZLR0!}&$0dEr&Q`29N9buX;9s2R3^wts4Y zY5}n5-zZgT|Ih(l_&bw!^!BBlN(7|(q4}fvHTOOAIrcU7F_CI~cQ0GoP5$dsTJ=P9 z19Zc7gLXr919n4q15f1%)5QIAJ-Y4P*WJg{x5aLUrs4|d`lr?KhIP|{$`0yT1&9rZ z4S)@hP4C{Lss^YAqy|6*fGT>Bq-~x39z+#@DymSt4qMFx+YnePTIic$St^Q1xei?| z=m5&z27rEt9TMch&WrZH3JXY?pQPq_@0B`lfE^N8M@uDUoG}kM4PxpKH@hkz^1*n7 z-6jmOLBpRhFs(i(JxqF(okwKuH6uO5p0n^a55R3RZhF{QE>v4)(AGnMLVqp%(N!?; zhUl#y*uto-p97wSRaJ0NbWbn=RMFpRi_&)RpBbVALXS9xH~gJAv%0JV4vg{+$KP5_ zg#^t26#_Qz`;*5vH_IINv*WB=^^U#)EMS|LTL0$D>;cFVWnGrnSs#s7gt;Lsz;^jt zgy@={0;bX~jI2LwDF#;GJJT`zj4`f#Tuor>dkro8SX#@NW*|+#8t9onN*1upgV{3n zrbt@HLo~lNIYaX2jvpHyikVeG37CP@q9QLoJcBe06x$ES44krqH;$9eS=Pg}*j4nr zX_2BlaeE%d8JJ zLB9V77zIoz-9tc;Um%GfFAq=|J5Txr_3vh(4^ZsSJ)J}5EYC>}S5D^1_{TGFjH6f7 z9Xan182dhY1uU0F#S6xcBec>DCuXIqUD(?OY^?{BGW*yYP}P+yw5lzmZ{XX-)C)&Q zS$9nTIm;;iQ$^w5tG(?lZd)`R|6UKW51iE)Yl*_8NeO}{MaA^>3}h8L11Q$UZ@`?B zP0|@_BWoZ^gh7uFx2G)c01eaJqUH6%i3T~9*?o+vev7IBNl(Y-0DF#{`g({C`i@K#I`@}o~a!sVCcOF%^ zrqN59)9EApjRQL>vGs(U1d4QsF{?A8LlNSoVNGFS=E7R>Rbey~RYDz8kmf{-On-4B zf)Uq;1WN@=5E6!HmblnLxM2XJz9k4kspvIg7YnQ6J%;-BJizJLS5+&()QdgxYK7tI zBp-QtI-j(AzB_VjYiV2F&$+xsI%1WJpu9mk*j9G-CRf%cR@{5Ewk9W*IC`wIr#;|) zY0}n!j?CK1o~`qW&R4(=Cf)5ZJ7Xi`RjoU;v6)>N=vXJSy*p1?_Zc@tXt}Aze} zwQr_ZB}~88aIPK8*{pHyI+2HB>?m_t+4Ke`zanK4KTW~0UrpGYyF6oe{`$NZ=(ii0 zt>EaaYCaPMf&p97<#PP53Y(3~dNx>X3KO!?YSlduGCv=9Vsw1f1whUf-o!>W^ zT9;^TkFAn{xn=?%7LFkb2C}2f(jpusdW;2WLE&kBcj%$@=z-t^Xx4X8H=*$~4oI5@qT2vg3Q06}Ikh5>%|PjD1eCO*NzI}} z+kUf_Nox2}kumX+FmCgB7ve+yw#5f{ltpru!JuV{hX6^`5h0`&qS6Yv(6prtOf=3e;@FwJ_qjT(mH6Vdf>=$k zYHjiv{(+?bbB<4y^1p)o|DQr)8JXGHIOzU6mgpDcr{`e*A2G^{Nv>YXBB-Ojznh^X zx+TO3nhv*L62u@F>dMHeAql%fNJ#)82nfUl0fjT*1;fe~{qi1r1_-IDq|g9d)#Zo& z1e{Wm6DOf-oZ?$GJm>`MpETxv`QCg?Wpg;rWU=+8d-mY}A$1^t-|1E@B#r%a2|i8# z*Fi#RO8h%}TWx~or}2k?DPh!PBbt+U0|A@|yw25Pxh`s{xS9>184@5jPX7!^k#FWE z4o)~5D5o+vC4u>IImkoP9~dvY);uGJ-V|)qva`6Q@E>EtDBo|JYm}52h-SIil#~pE zP3y^DL}z_FE}ogUQWhrvK+b0Q?s=>z3V8?RMaCKrWJpXs-LPSFYP<`|i*4;{7Bf4+ zxr~}ic4N}N&KSNSu^tR^+oJxzME=WRhD+967^1mJctuE|oM44{$V^Hn)EDx+izaoDj%%HTFIN;vwO`RjS`*1=FSLo=I%I7x_J~qD#(Gb( zrs9MmMW6uFU*^wQ7U>ZtLc}Zv)fL8S7CCbo`Hk);fF8jdCBRCmM_3Z36;DzU0b)R? zO%e!55oV!4yj1Fj$q!`CUaUmgEo*4b*e%3lj*2pexGwr}#>6QedKxx{L^RA?FMqQG z_6;sZ%!!YSK`aqRNM~?gOy4k02qrSGhbbJ+97H;YJdv+8QCQv-*z!+yo#r^A*`RQh z_&A(x$V-D*B^p%Q3p9p z!XQjMWqJ<;3L1>?7L2){$tuK;R*LZ-Js6 zJi38&2=1_GQ|aV&!m-D3)~;eBVdZhr(t3T@xWIukcK_=xA`*P^!R!oE#TbI6`6wZa z{H8IB?QJ-ExS;_@_$-!W$x}(K#zMVut~acDhGBK2vGJQTOmPwA{I8>Ol3MM;+=#6{ zbB(4cN5CZ|+Zt`P@-q85hmvP0ckbWP{3OG)!fj=ag@&ArsZnx{@QHjZE*B?52Xn{1 zs|RZbtmk7?v`p0Wvd6&62AqP8=cD{EPAl;fjXc5$Zt{(nRusxv>W;&U@ta)A=@Hu# z-AylwZ9VCfa_)YJhtszO+{@G~NMAETUvjdDW<)Mn#C=2wG8=V`WB%*`i)vY!qe5u` zE9Z@a+_R{N!U-jp<J?8j9P7O?(-P8HNBYLrf$lR&WZn<lnRZ-+J8$AF^f_!lCv#4LTI5hJig4%corGF+clJlCh;+!=ETz5ktO(js z<*QWGDWZK)*Qu(xMRZoCO$l9Oan?@0Q*;hYEzdkhr8`0KlHEE^)*5+F);QhIT3_Q>u_NRgQJberNlUNPYmT2v}iq148;qhuI#(YuJ^cexs{;B{JEb z(&-BBeyhD4#A~GciT-k{-Rg@rxDuNmRePrwTx|Koj11ADBEJYkrV-yM3Fde$upWB$&yGzbH zHUCNSyN`6`sJ0Ck&B2>@0_GJR@1*t(xO;@`4J&3Z#Os`odgaJ>Wd)_r-r@Qy`=k3L z$J4H~jSHebKxvbOKMo$TKn)tgMnKT6RdI7mJ5mV5T55$yEqcA9MsuZ`6Zf+AwTn*; z?PAZ-%m3+)gthM%OKX zVH=UwyQnrPlv7^rUBVXwAILaPcv268P>4h{Wc*fMi=3C4G>MpqL`760D=H;O-h-Se ziN^Ji#VVdHfqXoHusnhEz$l=9Yr~V(2pIaTjy+J%hJm+xI zL7kw|D7q>Ura_`*jP*Y#f9hqtH?~Z9lBl6RmsQa89C(W$k{K*bKGvf@#~l0s0U)Lj zF>|oV9AH5n%l`}I2lDt2%3qzwWz>h92HL2HQY1ubG)SBVtwaD;GANw}^`OT~?Wd&% zEQJquuTMc8cvOeEJiw_2*QifI9fDHlzfbP}i|J!Z9+1bA&eLb`*C$CZFz1B)6ULOl z;N32L2hKeneXZx6kA0Bv>5_X!@`}h6HzW^NB#(UmXBJVakR$_S23)Mf2va103q_W2U0V@ z(gwh`2h;}Sy2s1y7kUehJBaiO&l@6#OjQe6Ay|<{nJ-z%SW!h;N?A@>kx@}&QL$c8 zQ&EapCR$M+@mJMX^R@OGP$ixn%isMV&?AdF6dYKt)+a1!hHHMb);# zUPXECS?Yk}Q%&yC!Wi?33N4rmO?uqLAn@_UtuIiw%GL%gvc<#l@Yp_qX?%~SY zuur${KHDpI@BGOa+I-XRLFG^IE2(mMs*$x%0Kypubx0J2+&oUu~&Y&l2J z+&yXDN%gGh6F0=%lW{Nq(p!<7iB$Gbx(DW-0abTS-2)7-Y}0#~oMAS1)}4J0ugsHs zFz(o!Td$r;s8`&RdvBdFI5z~o!(rRzrXV~=T)w^HPlA&Nv0s+|_~;X&cDJ-EA@`2b zXQuKEq;@a0D@FH?^E+wf;djh}?L1t0z}^Pb_|4Q3Kzi z2Y-+T{6X#G7|^W&v8||K8G?kO2hj)Fr`)h@fW^`R*cXro)RfT0(h1Q`BlgXdpbup1 zrRhoRqA0?{OOQ#^7t*XI^dcxC%S*6J(p~MUC}Iz!L9lHp_kool$TB9Q;qnWll3gsNXCrJ>v2x-z;%>bSir@zPL6vJJt zy@%x##-6vor{$E!Uc9{r>Ey|sYk5o3EtWnJdW+I6n?50W%buJ)c$D|#J^Vi`zoPEa z|IYG1{ZE!Z@HbDu^^x^U{+H!{@_dg63YG2bqcGJPQ=cd%X$nhO5S%C+PP&=sxWC3x zolkZ|F+;m5=4r}x`Nyj|ykxheMWed3vL-iIst77aDC%w4?Pl zl^UF_;!vkt+bI7snnQxHYX8*Bd}KQwZ#rJ^d! zbd_{fVB60)&DbqBpe|1x*SA;Yu+))f)@CWnQrc3HCADTf&2XBse1LvXYL4^_q)?3} zu_ePLy(BlzP@0nT2AlqFBm&8qd~oB%8-;px;|0jACA}By3ARm6y_LAnzE^a|pxYmI zNaPl?IaWG+y9aC!P93v6a=z#B!lKzTcA%k4rMqqOQs^P}CDl#wJmQ5+k`JFqN;qJS zUN6h$JcX~27tK!km%k{o<%EtSTYJ#z$Om_e54Y#2O;WqR|^NyUXNG z^BZK;<J!=>b-ZxLoGY7$bVke>BU=K}6o)!*kYVUK=7ZH8c<#gs z^Y6_GAX_N&REsl~b%F6shci+3ps_qRR6Buci)Ec<$vW7(p?c7z_bT(5(6ipU*gN71z%%?x;G_Ckal^v1 zeM`(?oLx~OLITFmn~4AB-RJi<9{fV@(A-d+d+x75U7#mnfCz5zuzef1bg$sF2z{jm z7vnI*VBfa2+sWp-ptPwwGJmo#y-;k@^suAd^$3>z=#3ULEQH zRC@$!AeDQXtC1*Xwf>=d2(PSF!Opkj+@KeGT({b*e|7?I1`lq5KmUBZ60L$~B4+eq z-F5f>4Zc@eg_avc?fQn!3CbN*x`i6*9lEylw;ofE3T`EQFnon*$c#tP3D}6S1=_Cz zav7+#GeMOt_%*AvZ?Sbc?J_*|=q>}l*hg)$E}=-t(ulvkI$c&^$w~~LJn7!Ubij|~3()9DND1yQ z<%V&Yn{iAwp~|aNIW4MhpM17BmTN;xcYg<8tFG10ldmCS6Hkdcs2!j$uOOnDJLn8R zcKAfiZ1H)cO9wG7o7#FzW%qg9$c%dv=R9}4U;oTx?wIZgam&s0kA~6VJEG1nUFsbp zdHF*AghaCU&+a<#Il0F8kO}=}S;S+M z)g>`rQVzSrSci>6ldZ%fxaq_Yo*6;k?Y6rUwTBzQ)3vwfvT_!em6;h)k4u{oO^?l& zuR=efFU_)rMv=K5w6ZTj&E@bzjuR^im*6MHzD9;g$z$2-e91#i-;%VYJ=Z)k9^?6! zN^Yvw>wR~%J7x^LSB-?ccdVx~mB>}5YiKL0BS3K-;fcoBvG#KMZb)2(vH}fzBvaRz8BN5{VCcCL#=p_&dyxClsA# zbIvb^=Ru2oc-F}6O(D0hB9+g~CkJC*VNYIGo?TQfEA|nehpG~d`!C04op}-%+kYhz z!GgS-rwo(0AS5cH_^Mu>IP7g-8p6z+X+9AFOZMo>C<9fL#%f>9`kX@}|=~QDgrT`r= zp08$=%s{;|HXk55bDwzDcF0O32Ne>f1(Ue6SZc!`)g;|oGBN{%TKklRF(!-@Mf1-a zH;5u7%>wCM0;`U-3V!9}DMDk}={*m_e_o+fQ!UtJ7WNk9Fa(BzFzLF;;fp%oi8%SM zoA5(~LNH z!uca@+NvwJPML>`Y>*&$Bxh7S0JfwGc}XiRGb3S+%4RN<^40;1m%f#*+P{qf1Idhy zF^-tlhYVNdLObiguEZIGqi5;R3MpI;>XP6f4S(H?UStrqn8_f6f^S7-GFnM4-|HM zbB%&N;TFpkif|obn z5CX%x@U-hG$~f9e++Fa#87OWY<|qm>&Xp+jW~RDgj?~u=!>FNzS0sd?DqEQUFdr3T z)h)Yya!uRYmh8$1Sfal_xw$<*?W3z|B0t8?LrA-!eo~ZG+0MC$2|)C&WcIm%(w0Zqtm5NFA_fup6Nl(NbfHgQtA|1&%AUG`Sc@vT7uoXSH zTF_%R;?^lg9BtcpP$44m(4vME_CwKyseptQCiaCJIABC9AF!k!pn9}!k5Fxqx^UP) zzjec=5lj`S3-&mIu_VFZ-rz2lFgJ&Om9w75)unUuZexA(V(sw;63qr<;C{p*dprJJ zGBrPdgM<j^)xYwktYAWd9ZK>(8Z92AdgeHk+1nXBhKkL*dK9C znSZjS*#^Wfo7xc2GNy`{v932;jh;6=CtN#k*U5q+kaFsYxtSMNFEX7_9C-59Kw1~? zqs<6&KBTX}UN7uDtbuQLck%fGmtf}?qlQcUG5OeYEsO+S3k)^E7)?hQyOA#L&?Q9B zm;syofJb*kxAeRTShFIx1z)=3<4&wGg+~K~;+>3SMEk)8?cOE?v@4`ZfLNQ6STwI8 z9`7iTSh)K2S%3)|U^#FQw-#oOFnKbC`M7x<1;tgG^;RGfMZ?wi!yS`!2(Xcm4%}Qd z(E~xZu^(E@RQyp>CLqJslwX74hJK`uouEZ3p0op9rv-P=dqQA_1QPm~e zod!TcYWIa45^eW}!yH)=JHKFt({NwwvdsQ{+-TxJ$s{#kgTzCL8n!I?TSc#AW`!@!o9Lx{Cef@>jQFY0ppKXrF5H!DWrGOP zo0DWMGoGSCiSUx}S9y3ra^E!I{dLCTyxzbM`(9uk>B@q2W9qnO`S-G)McRqD zXe9=ed$qslYywJ`zv-h*=Vak>+N0IgegD3K>fB7jbKWGNWI zT?-pKJtd)>RmS-F8hwZ8S%vtprKAF*4jiJywPnVHH8%#|yc1vr`;jf39K_06?L8@ZQZ zcU7`NavUI~Yq+;-9de&vuM&XWoikcA9n-k;2i4AJL1A$|cZ*81x!cQ^P)lam2*B9f ze(+xai?tXu{IeA7Ux4akt@-cThneD$*hly{?t~fh=bf7lUf107T=DuIN3W3aP6UGF z!H|n@T||Fiv}OWk=~y!}5+Lw|rpM*474pEn}R7IU0InYIf{c5vASlm14|l-G^5}M9`-|FEU#80vmgM;5zIWG z2o0-B8!M?BR1XnsW2FuSrJkS-iBMc00ae8-m+y+|RzAve2zA%xKvkDjnUcT-w3xwc zsbCOU=Afs=A|ParT$p}efV~8&x`+c*qW#g2ym>o!w-tPjUWzBqx6UX# zm~QOwCug_;OtP{^c{w}|kM~gKdRROj#9JOuGA_rC`?s=tGLne`+eqMgl{nez-e0fq zVy9zlwVXe5(Q>)F9nD84$(DVeLg|WAdp!^ZY)F3q4Vj<;mAHBwl*IjMQy=jL)?_&SNUQXl0#b2uIbh>G(&le_s)l{PflybYx^eQ8wB zZ|TkwA1n<;33?GVqF~A6b4|UE<#W0?{ki1@RmrA#Q)+A5v||%T);t58BC%B?vsil) zTGGwcNtEtUwftb03qsN1=;@9B6x~xaDE@ghIx`LfOQ)|`K4a-A)%C6>d7qwvB4K1;rYR5(}7szSo9YI`?n0TcF<@#YO=G@cAo8qsF_d(6HSpOgIQQY|H11Hb6yba`wG$0@`M`BN9ZK*Df(0HF2MrCpKrFLP zYOW)`P*PD4)2vzOeAV&yUy;+<_Zpryl{iuBc!v2nUS-l}qVifKbNSZ0T;bhlhq>~p zACKz^P-%KYMJ6kO{+9h~&dH0H@6OFh>s(9s^!eWkl(FO{VyB=;g$K;${Qd_TUO-jS zkrOE%uvS+kN?%Gmt(T5lp351JaHlKJ6g#|BuCpgO1t$-FTrC90QZTNc7_R-8xD?3e zLJ@w@+CG&yV8~Su^-N*DciDR4Y?RfB1Rhk0hq9cNv>rg$Weq6Pp(YhSz-h*n3T^`G zhcWa|I`69zPlN)eU<`8dY8_t;isIME;YPm93!aX~!75^S?W`&$2nP(EoDTacoZwc*97R$o%1 zG|aozLf;{?+J@FGqNo6c*i>xo1-(y|u&~?9g+fy4t=e?nnzzFr%Os8eh_i*N; ztmv*G(h#E*tk}fcs5Q5+M|Q9 zBwk0~DosB+a(rIQy$YFB!WZHLMl<(%PW51bKOB|pWgp@h3wF#1Qs}uS$5SuX4NJk#sJEc38!fW$3 zXz>P2xDpK`u%4(?z5jG!Zojn6@vkD+Ld2SNWne6E0sCq(=6^iSixY1A(mKi_E4Frnj0}jQ*OlH z9pX*G;NsYk0iN*(E}1K*cY}6r99tA+jG~hI>fXd~uCEG1SJgtDP`YD22tq^rg-nIB zFa3g6q>sY}1sH1LE6Zsah;Iv+#y>2rKYm_jK(na; zgc5HnhS_t7w-8s358^7A)P3Qy(C91mtV8R#(-2QIfAZj!;Q+EPl3^Zk9Ub(phPj=6xS>02+I~LX^2#7zlnj>& zT4tFTUsV=@k{VS46CI#59q4`D=&>?#qjT`zeAnLe-vO{^$V98|d*O9~F7rcJ_s40g z>~vAh^Ny#4zv;&YCyJ&_u0yujYu!=w|B9^ATK%T{BIwQ%?M>y#7JE&4mFtxlJJzTZ zFvmw3;HPASQI&2&37=ZkL5I8Uyj5#>Ig~T`D&B6>q3y?F*07~UOW(4MNhzrJXSL1F zN9X^82^(M{!SP{Gbm? zad*k0IVoik#R@WAHCapLGDDhP$xW2u9+*Z+shp+u*lh)Vi`RL65U$&%B8(%wcoi5 zMmr;nfxKd|NrXew-@0uPPSL+@6CAgw6(EgGT4d}%%!~bq_{_j6*rX=lm(KgvfG{@8 z@D*bTm?>>?Ef73N??amO-#BH=l+uxvhoXonhoX;upSYGNBEr65(zfmAzDGn##vbk! zQw#@q@MA%*5kIy&(;EScM`iQX*FMgMoVo#gWEei}Yu)el#f6)RYl)_d4h~Q;2%6{X zz4p{hy-p2s+Cco)+c8#GgG=B zCcek77fLc zMo*Z2d5#|85N^mQW}1>l(>e;{I*aeA>ZB`w7Y|uqxe`QG?1?%&h&%#w-B5JzaxE^C zSDIwYikeWj6sp3_M^sb#bckBWix{iN&FfyL4zaK)S>$cwmcur1S}5R@l7P234{4`u zAD%vx9Rgmbjth($Xc((Y19275KU<8pz?nE1&Om9f)&=;BV&r~o$A`0+uiF!3Z`lfWMX5oj?y4-@xi}@}r?$Nh)|Ss@ z^?}^Co38kU-lY?{Kquh%+KCt-30RYvvn3zijORM{)1bO-X6X4?aq5(dW^9zE#Ok2^x`q2qbG`kX@IH z8cn@JOY`nE8w!Xc+KH0>fQVT8>rzgw3?R)cn)n?Ypg19c(SY>=riy^x`5f9M5j+YEfosC?bT%PVXA3C1aHvqgNBLFv; zJ24uVQwoZR7RZi4{QiWBEOP}Rk|KWvEhIjO6pJKf3>>R~X_)`YR0jN2R#+6uQxUX? zvnVf6pb{}Y<67~kFVFkiOcVR^aOv~FyYs+%^Y9n``!+V3X%%i)f~X9~T6vZtLRV89 z3*KxEBozw9!TEB`U_iHdsh)t|6Y}SSPiLQ#OQe#B=Vc$sMyp0(y!~11V29dOhf941|$5`Ky*lKx-Yk!I&eG&EiG+jg~T6zGq^ULOcx_xHpU@vJgR(wIpyr;ZH3ybX`}D6ANf8!d zJHq7Hlr~5$V$Lr)yyqaFcR84mNtolfXx`f5p~A>!PYl{koM{_cKv@I?GTOgUhpcQH zF)n0Z{z-u~+3Doo-|c{@=r|bRww&CEX8YleYbY>n9>MGt-%kreK}1_fGB3l`JapNZ z))k0Z0s!4LSppN30oRE`5O4fO-!0%RT8LPIl&sKUG7~7}tPBlf;KfIEMSx#BT@PnT z5xxnEECgI^U%tb(U~S=NlB< zg*q<{9Lo0D71^h>mFu~w^v}%})$VHQl`Bbycr{HtmV6a)lmh+%YN3?B)=;PHfv%+m zKUOfGtMCR{dXZvI`u&nH{fb)tK2$4cmcyB@6CEj z1Xj^iG<=>FNC3wmtziE?{!$yJ8=GhyuCMV4Nvxt_>-a|PMG3XvE!Z^Zebg{|3dN2A zgPt8PJ|h!pPqmQfemifmmO}?UBpnn}0OJK&QOnyEx)XX{d75*+0eZVREKZBI?`pS3H0?k#9DBlpL%~5@?G1-a@6{i@v zQ`_a`(Q!Lq*SW=i4uhPCnnM@TanNFRb9!iI+f;XSC~cuNruIZEa0=}~se)k+hXQ!4 zw)1-ErVIUG?d42u~|&Iy8THlw-FcI74i>MkIijcDFDdr!~+L|}X@xsAntY4yxX2S+_to0Y{i zyz**3f;f}PO;igVdR)aCpQ3Bh)xh+|Ph2tWLDag8YG=<$Q@DgZb6CAQVt5c*Qm1<) zwH*}r4WFT1=x_29=R(|7>}A-Zv82F>g9p&`>&)Vs?bG#TPgCGb4~Yl}kHy-eNH1Hl z%$R8{g(AM8l}&2mO2(WgqufEtpqCk7T6u{bGV z^>t<@M}ecU4iBK&&@m{2eW3>XGjG}bIi2n1n4hmphr#5fsO{fzwJV91e+})SlMZ~G z*Bj&emCy$Uw650{GYbg{01^;x5ofQ8ArkY>pt^n41=FlXY4c#srj>U+NoAw>E*d&c zi94#1w0Taheq=6AZ4eY<3GwqDVt&R{$ejI>)uu-gEHwMHSP73$<%j5?!$N4&HQ@kGB|H(T)|wgIUi zeC;IjZH8+;~U_% zH$zd~rtKdJKgyIZgvIqL6JUinGwIN#oVo1Ifx6dF9zqgL0@f?j^{0@_+1AqJ%nEZB z2U2b-JU>yN!3*FksQ(0BtTsyp@Sy7jl*MR=N(+Mp2t3@e%7|~a@AfDwz&0e0rgivA zkd_VBNBs$LK36kcOcig0_SCU_GX3;#S}FL2svCbwx;G6oJFeNkxn9mLE=HRTbvNpf zM(?Ov0<(w0!;!>o+?e;$!-(Mr5c6oFsPyx~R-5KmKejG1!3dO?%p0HPIbJqBXWzDNZn%AVg_{U3 z8Sg&sJ<|l{2mW<6FMfwBFweRDLFc8oQ*&R}L!CX`QF1-`v>hXd@I%Y0m53|saqOq< z@WR&?V<@RvS}x-fQUG_hnX1BMw5a>Y8tj_ZR@XpH0RM>ktBwb|3{urz(Nc0`Y>Pny zsugI}K$G zRV#5ag`X645?H##z+Bx;X7X+%ZVA&OiY!Ag0ofwsI?Qw_#EN^nDrNdSgZmdvNuY!m zKu0=_HVb&~&T@g@eM}fP)0B%{Sl+1SX3J}OhM}xJRb$t9#oF+T2;U9BAKC$COAd6P zS4i!P>6z{B2gwRpsd!G6m0MiOk2(M8uUY$%Co|RP;8d-MgVW&ZT-1Pa*R>q1jK`s& zYNZJ{7vq!>U8^m`!*TSn`fU+MAND#CS%#ncAfu0%3GsdBF<$Sxr((LYB>wwL#PUa_ zE*gMNN00$sTqb@oDCY*HmozUYCAxvDcamrl*J0a;ss0d8X8dmpgSnIC-38K{V^XX) ztaFtY5Ekc7q;thcp%O-}Vj zi`{(#r7lWD?wJMolL;plc_Nnzf@Ftz%gxp2b!O{*tahSSg8!a~&(2}ACRk2~^T9j3 zWgm+{{Cv)qSuD;K1pg`G`~6(n*0_#9W7RI%3mv;uv`F9_wnU@2a&w#bMXKo~%+p`y z0z9gQ?1ofUClj;E)(JFCQpc^0mgj~hQ}tC{Wy*z*oFYlM%?^fkI2e6svjt^`>tz{- zYwN};S~Z{#{T{3F@t>z4@{m=1yblZe}915 z{TStV^cW^va_6Ap$IyaHZ1QI&dimdU$O#0@QOLszLZA(7Bh zNKtyhABhEA5$jL+E`0ifbAp#0E~q6L^bmy12n15XAj4Q<>HGu^G4EE~I3s*UbV|AY zYHfw+OPYlB3kKX`AtTn&YY`Dus%X!CvKouG~#fJbFbH7;>z1Zr`Q@eh=>wz%}vuINUO<4jvrtJo& zl{T2?jG_e53HIwWs_ekB_v}8M9#RX(QO!e{u2nJ_AdUXT9EGM&g>qD$GrT$%+ivH( z>IrP?(wj)e^@{Vm6|kU+dwCDDvDoWtD3Hvmo)d#UiFC?m_nlVPc5~U=_Em*X>G7$s zUbBbc`8OU6kho$yPw}igru0on2Smb`x%L`-<mq(hi)78^Z(pE4H#gz0h_NDUFJ6PVH%KOi6C$H6%QB;;o z&jd-7lHIdlriJ?0$CN`Rww5pbToE-=qq)(SjNIg%s!yd_*Q&$_aU};GPA{ag}XgJ0(;Hd#8xQ0R?ET7Fpa|P zYkOhwe6=B_DK@q6yPWFj0g4CYelZ+qP}nwr$(CZQD-X*tU}i-`M8PU%RzeTeW@D z)m?qrr@HF&InNX4{)Bq{H#tNeVOHED@)m6{GqS=qsfY{FO5xo^U{X;ZfMJTE;g*TS zaPwMiG@9MSj=3@%ThxJ$`8g>PciCC-yA8wp$p%tYPM*B(Ah3?kfK_EcL-gsbplzct znOTuKl1!3CkcbZ{Rbp9)$gC+sHj7dkzwuPo7vrm4m)A0Qc4OGqjWM}1SCvcvyLX=8L zQ|L>F0UD;P<^cF&RhhiRuQq4*-}4LmtXp1J`%>2do(D|9cirdNskhbJezZ9D^Eely6sv@hsB0sK+b-RD>K4;C8ViWcyzhH;e1U33@Rzz?>rbZ`ZoOf{pJVX!7( zcEmswV}Sy+8tMxiLr@EtN}V7pL4VKM>l@;Sxp&v!70zJTJ!zFtA%#&$1^uNV)}RyY zLXe$^JI>zNi$rO@I|3AA9LJ>X8N3wIMtoO{4SxL9`_00UdB`w$+<4O(jUW(KZ~@J! z@%!VgXZhAl3`uIGi_&{-Hm2M*P5xZ#yf$hYo} z#+Gi?5?O^=4&#LD_M0AUpT-Hv-1!j3z!Q%D5-1D2N4aV<~uP4otzL^fDD-H?s{#?G$h3zvB6 zcL(r=Vde)kqy9EyXIPIzH2q>@;;GSxT5j(j`hwvJ`Va3!{o(ur-NERW7dJZ~z#Xli zo&WZeY+JvNyZ(mT`9(w1oYv!2@b)jy3!TWvYB=Yt4MmQz8~V4bS0}i;qORj-_sjJ) zeWZ#2sDy;lZ<_(4dMSc^SV+o51c(xmBUI2|1M@Hg2oxk}6$EHCfkej(0l3_M1)$^l zV{ipbD*9vM|NSx_pdcDiqEb}MCtSU3@9f3v3*|5^@$)%9@AkUmzvOuXfZHvA0htTz z`W&{vwuDC_(~^voCjKy$bu8v9mT9FIPjir{C&)U_fEYqvmC8m?6`}*zUsT(o_jO(< zSl(0G#x`s(hyIMSV>{;0be}oo%aSUu9%~k3=hqk~hn_7E?YZ(kmq;pACpbUoElR8+ zmyRutS&G8nF7_Ot3sfyRE4tQo2>z7_O3u-r|zWZCHjW4rDJ=#KSkXGtyiSw(^+@ErnD7WE9`FeLB zYe|){9%~7eYqi?clc<_TALmGxo+#R~lZ=|CANwSto?bR)Nt$K$%$W4YnsX(%G61wC zTB;A;e)4S@0Oz9`qqxFd(r%7t=M!vNiLg%o1eR8gC;*J{oaE0HVGxxV;+4r$P@|`m zVb(d$ta{HzQt)lI+WN|CV!rUQEsE^JLul7q(TpEJp*^ZoFm3{LS5Qdf<_Xp01M8YK zm9uE;UDqV?&xe<0I_>K5W@KKMX@+zz{>gORhr0;6C^Wu7P9HwJcuPzpYmv4-@!T5i z3EfPOPOP!dFO)H{R@1;5JTE?R44%k{9dPdRD^%ln2uP-EYARK*Zv&XUgQ zNzad6UC!Qgn(Q1OWBftK5M$2g$aI|w`T;^Etv!Jxv%@KG&g^qO{Pcph0(wFsemG=p ze)T$@@>v<93j8j|J)jAik-Q+q#bwoqL9*O`gbQ8qUVmaE3-qv^L(lzQlAQaK- zew$?oW8e~KQ^WG{rqj=Jy|5G!J&76Kt({mlSJ1Z<{Q?r?;}CM>weK?(DX4R*IGpKw z0tn+0KX!Ed=9A9Dn(e&=8O8t@=y06husYA6%0(Qi5ph3a#sZfj@Ii`*5p?05is z=*E<22F|~n6o}Xq1ez9E-{S;w%JgIhf#>J~@VgH|YO%z^u)Z?UCpbmSlMt!3&?9Hq zJI$9EG>qDHC+>zk>;LR*v-zw_v;h~%_a663sXO=Ph^JgVb*FeL*Sjejm|(T>U`Y{?&$3eO^gDSZ!U9QgDUr-F7LL+SZgSk+u&;@KfSbt(!1}^Z1d4 zhJOS%XV;@?)mv^Vg#y3mSQ8pn%21x-JP}4p6=y}!GQTwrT2E(MvSg5Z=H*q<3?Rcdx2eE10l{)?$;awW+#Y01>Kq67!Vu>OMq|3Q-jtRp`+HL#ZGHH{ z$>tlz>_sg}u5Bk>iGIsp*Q9Tl_%o~Xn|7X|6%1jVc5)?SGA6ZUB1V<~z&14G;}qgK z%|oj-jysqz#!vE7dW|Bua^Fi~H7~+O&+HMi@`P2A{JjK7rp#!9VhKK`4F0V8R_Ajz zgVayb)5RFi*c79re}E4!Wc;Z-M*jCGhvp1VSC+M6Y@!KE;*D>XNrKFxcE`oX;?3I! z7t6D67q#!8V3HT~*9zPTar%N@ZzSP4k8?-t>7bjwUU>!bV|Khu-F?UtUX$d>&%f&G z-Bf3MMbgu<6Ng>r}D7U z7^;UWh+xf_NX|t$;poOthDXwx$Sf&CzDnv^`Nr&H?BDSP|02L!bfj3L^_(>;(zzm3 zwW0runH}b24Za1(Rdvx~vvuJie{F9z>$B7T?%mTKb7ux_Y|Lpk!F)B7;~es|!p5SG zJRinsR@>h^KOEjA|M;t}dA@{CNf;tc9p4H-Ucp`w$!86A0UGBI8hx%fu~~$~>;it1 z9TbRZpQcY}3W{B?}umkJ|BJnA{QhxD&JyfgG4agu`UO-sLj(WT_peXSTM15jSXtI1?`lc!B z+TGZxUB2N}a!6TCa7iEh;hFMseIibFdAsLWuG0DF*5ek@D(%w3cHZD7Q6eLA@C!-Z z?B7q5SyS9%eiOi?S4yk4HK%jgvx!Y>Ig?w{>`J;uweE<5)lWo5vj$>v6sjG0p86_z zp|lCf9PJ_RMe#q%9e5*WRs&f_yf;2~?(663Ct!jCcFYq1${7A>KGmzhlkYhY5B*Ge z(^OBs`|&x)vr=b=y~mpO@IJ2dfxheaEzY@@Om&lVlj=2XIoDaaeB}R~{_GUrbk=qF zdXv{Y*BL_@Oi4(jIY=RvL=UPW*apgFEZZp1l&hKXL<|BDJgJ0^A zepFm#AO7P5zo_-Rn#3P;^Zr+>&^gCpN!}){?3MrfRE>VL>^7@LZJ}Lt$c$G6alK#; zaJlg3H-@v`zZ(ag*TyckW^v+?Yk!gAx{v+^b~yvhcqt@|jsc(S(t|m)KI4J3mX14I zIHxi;ToUQlVIfxMlHA-zyjUJ{tqpU0Fpgth!@w6|aLk-%(A zBIb$yTrZ`K>sl%PRsB*Q;|GKA8{2~RzR$%xqr)c97iH@n=5Csj1>E#eE3a}+NH}MI zcb`~=S+bRRUKPJ#j5KMK?+IqElpgx(5yAHEVmKro%OCgkuT{u`d7zvF^TL0m-;PGR z+?d?lC%~(x*BLIq#A|hbW@irIO`O%A9}^X9kJK1uY+MJmpWsoN#_wS~5s!};Vf>dw zxZ^Le<(l}rQDIPxv1em2G`y&In0Z&a6S4@VZS zpG&Qr5n#?f(^*k#&kmHVZ+cBrwMpt`P(9%;i?LYI2X?gg%r3c;F0|#nOH{rMlD2=p z3F?4dqWP6BNZGkFG{vC*T#=oZKw&kjt-vP_4CDtwwK+a(^S<`wg=sVRTBB>#jS$LD z2N}m6c(6+gXYgK8eSc>}8n`#|U4hs|9Smfq?~H)`DWm^kJ+tj2`}1_w9LBp{esb9= z=?`gZL}zL9Xx^tY9yW7e#z{>}+e2r0bq6;(XR=w7M5}OmFL|%3_DO?U7DuqGFaD!O zAy>?dUZ5N1@lRkoYgAk1DzcK5?#MN#(m7qKxhmM+yr~^D%evgRZ75%sD|>?vcI`@Wh_}t%|84P}j#_CH}=a4HTpv@s4i9JM7y$`BD3xsxhwG zJoPs`nejOzuKLk2B3?yUYIf9O<)V9E^zoJt)2?9Z_2X9Ns=Qvz0f@L3_WZtLOZ_C{ zMYDx_2VSh9E$GZ1%lw_;8%^%Gqt6IF55!kM*bW8!y1L5zMklL(A&JY* zqyH#zM3?4{RZ1#j#PW+=W`41NWc>BddP1^8*7jnyC;nQU8Gp*jf%}-bWJmequ(pxz zlPaJBwd7L%1H2>tAd(SX(GNbL$4g-eQZukl5ne zt?8v`@Q=sJW>-0EIg*u2wi#CnF2sKJ2_dO=Y{9e`Z;qD${UAOsdNu_#Vu~giVNf{N zsyC+AE}ZX_7M5Bx53Kie{#s}48(eRvWC*};gzq8aoRyjwo!v35V6t5PPF*m^Y&%6h zsU0{8oqhMN{r=WWu6trP{^=6V@>lLOX5v_Q=8DOH0~D%glh!8##pYpjB*cn zchbCYY?&lb71p~lB|URmF}_@QPPlJM(7LC?H2X{HPP^kV-x-@zw2C{7NjDZUTY4w4 z(HlBjJJ;j=&71pMhbDpcu@3&R6Tne|@|95n5SPN2>zqEwxna07Fg~d~oL=qu(8zgX zyZN~|m_`rMcu0a_x+{xg4dz%H&ge_38_wul1-sVpzDGA{nbk&Z&}FJ2=bYng(7J}0 zNgi0Wd#=i0OPA^XsKx1=d*`kU^A}EEpj3Z#i)lS~<4-1AwO;m>^ZWI3KessZ&HL<8 z@51l}`J^7?*2reQK35R?0rm1+uY~@A+_+R~=h0TeH54Jdo7lh$xwC>SC(On3M~l65 zN@TXSdMdjms`JCTgwPyaiF`h!2h$nIEO?BXRJZXd88}JkH_ObDL{L8Je z4_$Uc!t`%(xFmlo?v+!9f0>{!=J-}DVBwu<*-Izt(Rth;>F+Y@${(=8eWbZCvpD0ufkByC^%iPuTde3tS z?Jf3Y?-$#bX<>a5$%fUqF7Cv~IfZYH{}jUo%BA6#<{~Ed{Kh-(C(6}U1gCD~wdX0g zU+V79yr|K<$@(OR`y}t`T&bf4epVm-3$bWa0i(>)UBRf<$Zlvxm?aZ~-oX#r;MKdu1OB46}J!v-zE^=P4 zycVetKzRnMkT2`Sj0AM7cH3Z`J~Vr>EMdR>nJo_UyCLlj#5zGI?8V%3!E4_Hrj@WO z4DsAc+KaV%I@Ck4x~V@7PMz|yKpq1@c3EpuCEo#?-Vq~mN#7CPo1&AiWWT6ctJ?h) zjkTMU_8f($EV3OyIg1$GT)Ej)wj_MxsY}c&qPp?JpL|>&J;K@`TVOg0cVA$E6JyBM z{_G`8Y52HvDTk7>1cmt4gnS4&l}sW}2?OVZmpU|80x^pN7xl{C#G88Ulu0J$=vtru zWsxMiZ5)9Y8K)g0r%S`zn1i~iEN*|jp3q>{d%gWEeD7KmSY+*g{?30UV$=UvfO_YQ z=Jms$Nszu&9^)^=yJN3V-rgvF<#lOV@LFgg_p0xdx@U5=a=GI>VbS5@{Acx)V0TGf zXsDXhudC|ukqBl^(I@rA;2N}?6b`UIjkM127X!1M{e5ix({XGO=j7k1eH|MV=Riim zkCP(5^>gc1A>V^U5jTaNm=9x|YhoX+Jx3jQCKu{XQRowJk3!*)v~hE>7xm`GQ0UXY zBc0Q_wuQKRlPcio0dW7HEvx;j25nDLhMo6l_Xe%b&^JEJQ7zg}#@iO=74B;{)0jFv zw}gCH&LjOmN2+Yr);p+NQ$5HUx3sqxB{Yk&%>wX&%wujldV9hoj^>_fLC+ZH z4Q`<~*$m)x(l5cSas!Axs>+|3&%pv8iX39lK~8}3zvl-kECk*obsy)3`5rp>p0E{k z$1PiM?Bvg5^pw7E>2wjK6gYkId7q#8F>^RO{dIzk;OXhWUkjovXoYN< z-qEcm8`EfTek@qCIGc0aP}0sdn@)I=+M$$qzq(4>pFkRaMAA#L)gd zjJ!7nAAwvW`IvEhf#2|j2K?+@R?2zVwEqj#ZCT!heA$er5akaxrw`!oe;Fg@%ZTLs z_;0Sc@C--Y!rXCo>fsmAOMNKp)0;)FZ_lLijyMWYqnl7Sc3pTFdjrL8_9xc@+wB>q zf~PvxWRLFZcWg_kVwu45fJTcE;EyeaOn(c^D?3M!b6^d-z4%}WN9$@1iI+$09xgzx$MHP#( z!#mQusKXl$>}ug!X`M#=ox7?fH;_(fn)sl=0&2;v0B^qbv>VNj6^yagP|31cv1G#W zyuMwi_ib5iF7O+%f7C5QE2?u*Zb_D42P1%aTn=RO`J^FAk6ghQ#gIC*Fy7&t9nk*> zzC^K_7Wmru-%ZkQCj)(=t?LIyEgHarzV#*enao0WVU6#O597t<5+B#4WPpucBjUwM-Z<7| zF-D0QZf3Rm7LM8hk8Y?Vq5|`_`bqP@Rv9tP-!8-&kmElOzA#>YHQfXMi6@q^e1LZV zX9o7Sv~)^2>0*vA+rNccGZ)0PwUc%EJLrTtB#1Amz?W+xp%mA zC46Em*DQS{s|VaRZb;wHcKW&BSgS7#u?zGCGkK@zwiuw65eunFw(g3xSBwkrvQ63+ z#4b^JrW@tv3m07bb|PuAG5lBD)_s|22Kq4K{L+kZ`|ru?eH#_#Y<$27482kh8c@qN5*k-`pAMN53VsmZ?FkU3WZD_w8-rJTh^{8~dZ1c;; z>%eAXFyq6k+LL}K@GWE3dYfUP3G{|FHLt;DfRqb(VgX{@csFF$K?G}_1DYrb?n0`#F?M%-KXf4S%}ww}U}9^-A>Yj7{B zxGjg>)DUq`Bo{1^#4=F0&fI-cqg^`d+{}0A{fZ`2I|Y zEw3;?StrUHoDX5%>=Yo)#WU@eld=|QJ=061!6cMOQ;`r4#1Mq=n(cJ|)*|}gCiVPX zbHpbjHE`(U^CiHj%pZ9*<0cmzoFt_1A73KLt#?FYhArfYl*qfe0m@wE3$=q#9Hz&b z)V$r7)qnKowTA#%F$pTrcXXcr$iM<|k9}1R=)FN*p-GrYTazM_cqW7# z`!t(GoWf1G4tJ13uwjxlNRUZvNf477Wxk~6b9vBro9FW-KCO4-@9ffFfosH?gljL5 zk_K->2CXIz2;cW($Gg%%zg~Z+BCR_0Sdt3dM)m2hruT5JC$B;A zDNd(ojS@t0;FEIn zdzI<8TT3jU2CY~B_(uJRBkhr5HDp-))hZHngbMwivnclj>;dXN*q&5iGNw1&-`d4awXD~0P;$e5PopeLL0Q1(Pk!Q_5WxCT*1D9Lrkzw zQ3lM&rg9n_vfVlgc5RvP-9{DJCq*)k)OpilmP^E0rYAr{8NUl23SjLfA={=&_~ zWq!sD#@$SyTWTlN6s{$md*xKF_O(kY35Qa26prSsX7kh(jwYBX*mYFUXUH<6ax+uY z;gVBy4)e||fLKTLtq^shWk~a6+%=`!`2jl0dB+*IPDuRiGAICX+Nt{_HR^yz-OnaVy?g@3SKJ~zyflGIv}^49jZyoq)ybrrM`6T-z0scE(L&75taSS zgI{9PnDaI&>b7b4UP4BO=LANcfpSjW<4$4vxn();HRTw+g&kX`CEL8APNnO-f=vNw z@*907oq|f!jya|n(3CGB3@tS-_$)GtO38ws0 zd}+Nj-WqPrmqu>^rsPw5nr;m}bHVGg_v~pe8f}j4{-#sznr%%zL-%Y`+BDi4--GvL zQ)X%G9W!g1Y>xY4X=@sKrk~1|2Rxn=l3LcpW{v6 zb`Hf0_-cTE9>jy&gY7N=aT|nNpIzQEpbobWoN0h$8~hWe4S!)kTNAjV09T#iMH*fo z5dK%tl9D1P^4 zE-PmITH4pk_@itHB@-sefJoNwfdOu82onAy z^pix6Ha0MH z5`iWbzhMa>kqUn;gOigugn7&=#K$`R4bW%^hOI#WT|fX!oYq7?Z)jv&4uY5$00X08 zr6BBpWd8?253at2|Ah5l$x(Z2KEbB+Z@7c{gzFoqcfh0@puc7Q{LMcIf6MCwzUKt6 zmoZn~x9+guI{u>!2%?uYN8g9;FyQir2FjY_?>oQ3@UiClhB}umQTu@44~ffs5&HC- z+%Ruwdcg0RHo0?L!{mgu@6&o9@BZyr%Y0|`NQM7_>Y0AiW6JFfQO3C?BKHcE|Kdr` z4MBFm$qP1iK*=*bCzkQesLVG!FW;x+7>QG{n@*C$AyJR~n-;gD{#W^}y6ye~mPI&Xv%t;R5W;^Q^>$$g5*2rK*&wQpron zOUO$HN-AD5UMgM!UK+gQYmv{gzD0bK_9}_0Bv&z6SG$yU(abWrMRAj$Hhopnx|DVC ze0-wL$uhM?NsI6)My0-5opy+p?kS67<3LGj#%o`HEYwWrb(JcNXbBO}3c`R4H2}|S zz_ks%WI*K-&ce(l!+r{-TfpoR6gU6tI_SBK*C)R%xD5duE&_~uz29oG2uIC`0IP@q z>0AhR2}|#MGmqyE{mlG~{7n1|{LEW(_F)mYXuep!$a#i*W~`YOUjkoxxahpdcvkUP z(;}Q^)a{}{c_=lHyx&F@GoyV;(7{+clzt4f5+$ecSN|CVVp%)Sr*0prhrfJFGOd3>LF_?~(6_kP>?5coX|odl4H zc?c{aBoZM|fSIp@S6d`|$;Be;S=D1a&F$Wz{$lz`~y;Qvfy)?aKc?o*y&?0lwfxNW5WOzyNV%zO`HG9V>X~TbI z8E|jP5}7c`9W=;>ATi;N3}~bM78C(K7+}PN@J@u_O@_Z=z;T-jU^_aO-3M_KpxTA4 zEx>3C!C1^~vjmkZzz_=pp`iK_(dO_NNp?~I$^XkQVn zGFErmmF+sxsIAs@^)h;>w6jtGlCNQdNIab+wIuyQku(<6gLDunP|Aw_c4i3(4m?AA zH~>~EI{P+1aSm*FJ=&0(rOnMZ$3%~!3P-ay#oUQCHtupzW1n9#!(o=gTsfSUkk6hb zozOC?VO#ZFs?&xU!Q0yziEQadn>y(C$CO3 zwwyq!##I?6Lp$lO(rc+mlfImtm%t=T*RRrvpuC;@I58mkF7o2xE9B6_H_NMre~4F$ z-XVVWHlX+};a-=AKE2|+z3~o#$-kXjdNDxbo58J&k2Sr_ydC^B(BzxIt&5K#vj*Pb z>-AG0kAI;2-r4J=Uz;rb4c=HXE^jEMIeDBCak?-OI$>paA9^%3p=DS+6}!9`7R6i1 zQpqFPJe54DTtwZ-(@50F)R@+L5{jmbp^jFL#x;p!r5!%zIO;fnXy|z9RPpTO9ooBC zXSxo3nSM#=EmEpm*^=9k+h&Q`29mv3wqd*fqE$0?Vh3#1)>V`5V^gd3#{M+{SJ!;p?zyxQ z)l5~ct>|s8I#^BEPGy8l5n_z%ez8t(sPVPIt-U?8wJvV!H|p%=5XaWQqG z7qc;RF%>a2wl^{TKjH-fCMHe>mj7#EU}a)tX5iy_xnHg=>QR#x%JV3-uM$+ z)ja8{QFwVtiRj%kbdU&!f-*)QpE5=U9yeR2 zLI3sj3>TIb5)JeSj77tQGH0s77gs6tg}uyV-hx-bad*;At0ZWbZW{Ws*4o* zmyAsD9>(23B5QRI!=$SKfvy@<-DyE(>nO&m8WOIoi`2ReLGRfQ-mD1j%93SU+BQYT zBx*B6Gc$%eIq;nx0?&wtZ~PD6kdSYb$R}t-BdAp4pB4o(?a;ZVU#e!2hox{OK{nM7 z9AqA1AY$ad5+hbXKUR$>n^OboKMRWIdTcRAkTFN#!z(2EEwkSUeMflrEBdvy-hIF& zQMVOeREDkJgV%%@>qWlx!wfW23tv^P;J3TtMpiAujRc3ikKicl+0rp0a=2?rXtoflMhtyw1Gt4o9k& z!dvZmyfc)^-dww@m1shTM;e^tqnoq7e76?+obvM~g@ywp#l^jC?SPuc{hs=x+&vBL z1SE7flp3mb4W3%Qq$0Wz``z<_>xi`7m5W!j8@jJ* zOQVJF0@vSBxN=}rl;mXwMjSt6lX?lLS#@Wc6|6J*16BFbfi|nW;!E2WRr`|Nn;L$# zzi0#Nc$Upfd)oT?i5+xfYZE1F+uJPW77uW|t-np-N!+&G)}2~yUFy48dTS=?eG+g` z(^j3jTDoTD*RbO?qlDNdw8gxVmbOLzee*_&%8TM_qCJvsFe9!=t}+^d?$p;osU6K6 zC9AE1XCBGpDN|i5;ixE=+&e7Ysb`naStQ~prv7F`UvA(#GEf#3GJ_&aM1{$u?8sP` zL;S@kU^jv=f=Di_#E5xQsIlPGdSKc{WENMnp*Av=dpyijlu;Q$DHD~6j>77%HvFk- zH-;)Y<1J@*P)abu#9tH44-nzC>Bn9V30se0Zv+#3g^F#2m2JSKZ2+fjM6YdtFIL+5x~Y#8GgsIMeQBDgWcR`;5y*oIwa}(i$dgxWxo&8bwGa_)>p(md!YT;&na@q zEwXPPA;{--;Qctbw*byx!2TVG&nPSbGb{?Dw1*z-xFKmcT>PK?Ar_KC#C}H{Vn-ke z3Lzr9Y-X9G#3*i0^d7^XA2BRE0~$Oc+&*H^_=L!@i~#eDASIa*mQ*@Tp&=JShwN)* zY^Y-JB} z3i4nh4F&r18LSZ}_q643Srqf8ticNUr{ZrJmVnGZiv(=V&@Tl8I-$j zd_-g~58V#pJ4tJa&|VVz2J-j$#;NZ((d<6n85NJcfUKqQ+0B zXqwebr*WF~Os9G>>7!*pnibKoB%37Cq>-96(WIK1MbV_AnpM@Ls5WV>j%#U>U(B#< z5Ma-^Y>;Hnz-$m{n`U1!G*8{an3P{8?KFu$XT3GaKTrMQqzFH1@Q99ojmm$O z4)`sV5F$|#BH1A#Q6eH4Gc1)eEFDB5l|*8UcVhet%?J_A7&6TWGtC%G%?MS^7kS=xZyk&O5sBYfDc~y}I~oYfsK!JO8oI!#V}?0`dgp zE68V)tJpjjdEfF%lsfZdxT<4K%;i&D8i+xh{D{WB!`34i9 z)Cj3mLQ}hn2314K*OgB>i-}ZIqSP3v)J7^jQVWn&lcdxrsZ>iVT~Z5~RMRHa$W`Me zmEWoaP%~4_&}Z1ct29z8oX>l@3h4g1=(D=&>?*R)+q$Z+tHI9;y-M(^%g-~t>hvno zFGq%>GGVpR+;p<095m_1jyplrkEC=$s~usz`%5y7$#T(_aI(Z}Eq=9@xmUur7Qa~j zRxO%T39V9Mt&(G{AX_QgR0%&<;;oX0{f8kf8eI;_Qew7}qpcuqEq$?IfGsR!iQy}U zKNWtD;470qRko7Ht@z*Z*`>sOF2`Fz{#2&79R9Av|3BU)1laNgmL#zS3}pKxnF>he z{gVz!Mo+TE9EQe|l1K(jvPqLHjN~gKot|hHNV-YVE{pUdBb}ybS4z5BT*ir$2u>>} znE*+KNV3_ZECFQOCYdTorU9~$e{!hL@$gT|fFQ~cA<7^k%BVrgm?Fxsv;`+EL266X z+A`LbwABT#O#y66WZN>@M{?Uz+m>9ndAUu|ZcF&9Qs0(*xOqV?k?@IZB#Oi&icFGo5yo#GF=J>5bLufKBL)ph;4&Y{;`)K2W%nC?rc-P+eR-Lj642?uA1 z)Q;}kobGG6?l0S-Fa5es@H?h2fJ$3=X%uZjRhvT922rKmoCK^k4eOO=rKxmD8!x%* zrDvrzy#%kf;`x^JV!vKm*mD$1lX_`mFPZG6tEH8_1hcnt)|U3-;BH#lb6iW4dueOQ zIHF`~aT3`WiEf;9SWbe>M3N0BC1(<~r<2tEaSMt>A<6_MWm>Zm5%8!-Cn4HNl5PsM zlWOg#Yday^N!o4-x0Cwi2*8sNelLMHh3rY?Kf&xtM}K7R2}$oEKmi687B)cLfbbt& zeG!YEFlJ9&lLzSWE!jU6w@Uw3MTENoWU3;Vsv_))A}FgObgLq`t0Mfkhpla{vHVbIKgWWvfZw^6yB7P2tePZNqDL0Ej`Gmz?gv?z8)m?<$9|hze zh3p>%^&f@(VfqDN1`S{a6kvuNV)`Xw1}%Kz7+*p352$@&?Qdzn!*6bR{rclyA^8u{ zKcn_;xkrs~MvXzf`$c31O=JdCWQJU(`(>sFZKelw>PB2U@YaA~+ZowT&UO>Eov`i4 zZauOu`&V7`H}hW}<=1oFkN@q~g5TruM!cL4^vJ{Se|b^h&kwy8;LV0VLh#jyH?`x9 z@OiO(oHJgQ_Zj$qk%FJrb13-F2)<*(t?oHRe8&ktz2KDj|8@8x7C+7BQ2Loxd`FL4 z?Q@Fxjx~O|!6_ee>cJa>^x`2uhs-JY`D?e0L`IJf5g)pA%8ZKQ=fio*_#6W$V9h1)hSW` zm)VOH{X$jGxHr!u_QC6%b>IRsf2F!pq<-Joi#C7l;x$Nb4*ls5poIP2^b7t_6=Y}G zQ50w`_M<-laRkFqU-n$p{zK2q4Xf zAJKq-wj(LvOqz#@yd}WQZh+NR2%TAvt6dM2I}LI%DPry-0^MoAw?BaWgaCIy=uHd- zjEmtv4#_J7|1%cYAO0&=x-o=^`z!p3)i(tGO6wQAM~psnhavV?@yHNE?7%X`nC_$i z33WYqry@*<)-SO56#|(NEcup5uU|!Gl;tq%F4S?T!&HYIz+#7`Z^)@;OuA|WwrYU7 zN(g2Gf9COrIhK0V zw0O3|M91~Y71zPm#n$y|;1A7^7tM&61dFJ2ivabS+ZvlX>hr$q<*@a7wC-tW-f7@< z-I@-!4)-13KZnktxd$}=D7_;F;cvu#1sInrw<{;xfxTOCpD6ynHy8omuWX2T zN&ewEkCmHbJqJwxjJ`w2XhZ+UE^Kg-GL86-;LWP_zrrDFApzozx)#LPi`iHKWQtsEwAmaudng0 z^RD%-cdz-b0oOF{{O)Z&+4zV{!!AJJyBrV`s0rlsO$Tgw>g^r&6x_J#E$gqnaMEAc zpW06@-B+~?eO#>VEk1u5JJ2 z(&JY}FZ$h@NVV8!%1aw2|M+z4g0bzbv0SXa6;k#_ZRsY(UK(T6QlP}d9zPjoKLPnxdfV_`NWuR4Q6by zC`Z+4cglNVMnlR8v@y>}(NS*WmkrYY;Ksfff{md@%;kJ>YkhJwls7ckDi(y>RyD1~ zZx&fESqQa(2$vyl(JM*uT(y{va0_wrR{4!ab;y&hHF4kkIL735{$3yWPp(E8b(}9) zo}43x#r&TGFJruVIw*MDWe!IXJ^Mp=-Yo1G7+fUgw*`Tq@8&O4=Ue6O^?AHq?o*eW zq{O|><#F*mIjaLd33E1kb+*{{7t1MXwAv)(q+}jh?9NkVvN{Yd<$vK~O)V&?ND<&t ztCs~tB>m@a7*nU~u`??*iq?Sg4BlpFu9ovkvo0e^_bN_;9a+aFsFb{4eyKhqOFZg6 zCOnJQVJQ;D`Tib~Dy}pzAD?-LyJDV*8x^a84Rb)%IF@%(fHV{U+ zhQQ_}>s?uM*hCXRgatiRwUcY9xDYG=5O!7d#-H|?xmTH57EowBvLchGTpd)ao+{#i zSHN9@j0mq-x1v$DoKR0m`v;vPhP>~kvuRG&gy#rWXxYY(`sY}Q6}!%})cq9kEi=^$ z-4DqV85ICl!i$GiXR|@Rf*xig1dm|UbV({7u(V>f3=dn$!Yvww2!}OQ3DvlcN=Eo?s)xMC!}Lre(O-1~v`B=3$dE(I;(oA!7dXaPPdI z78|b-xnx?y_#~Os2zp1=PgNrCVJbphPRUu`CzkZ>LX^ld-d38?GOD5ueS}XN#H4~y zg6%?n_hQkZli{0$6E-l~G}z&y#sd?T6pSmEi}xPasVch@{`tp>_hIox!gqvI8HPiO zV#LR6NB2nH*@aF^RT%hNR;D)ADfMO*JQnU-2~GL2q!$Mc71Q`#7YS@~zva94R)NZu zXKjV1p*9huibD9|GC|$1S6R1Z)*<8tPNTzoHZnASju^{HG?x3V6e!weY$QoERF0y@ za#d0j+r~Fm?6sbw#ImI1US8u8YTBg5^b9#r9!K5kaRP7qp(%HvMS!R*O|2-4jZE|& zhvq5loB8Zid0?jQVdEJdzqql8<*Q)d8&%`WJmN>s9QSqn?S`A2zRc=S8>Oty&C}my zb)sNNCDCJ9Jrs71$^=4a~>Dw9PNn^dX;Z*B1)sXr){(Sgq z>gfv=%MJJ=voGVA@~;HwI;R1743k~BJ!f=2swxYy2djBB-6oI<8V#!=$&KEyu`ATX zmJal~tvnR9ECx@*hKi`ig}quwM;%r7z0IF{cXu|P zW-m9J_2xXD4R5$VZma9udv-b8as-yvjlh+fA`kzzu_WlT2+)*QNgMesis1P50 z23jTIk0%x|siLSrN>_$}h*DYoMuHfpCxPJ5biSUh>2_O03gm5ezUlneC_L*9aK4V| zaw#c$0dq;}i#xJGI?x~|#-2fRON*gl6?aQpBaP5@ct7>ucc*So?@f}&n6!GeE`3Sq zVg%*e#aFQn7CYSU<sWNRUhGZvAm8>#z*b3_>f`~z% z!Uf|@mP`^{P_&!2J5Ulw#9w@Xi0Uj7S5RkloC^mt_!llQctp=ScK>OmNgWS*xb&kL<@U@3*_G|572CULsZzo}r;h z)~giitw;s;wMQjc7sAk|Qt zM$60!S}M3ZPSLc6;%NHv3irPNT0o`0ip@C?d`LV|&2_#L1fq5Z?Bu!1Upo5f+6@LF;nGa) zI)$n6dPTVwfw9^R0U=qFQbbCGq$7|Hn#Q2*I%U)5^EYIKmb6imCeZqG>lkS=TT_P7 z+&ZPpn5K*ZnMs$)noNJI*dJT~2x<}p{gf&{Q~Rp2uv}LN*oe~!2+Wp7kxEIU*D!nm zsSatrqB^Atk(Y_QtjjG#Zj~xPe@G62r22AQg7k+1Tthro2!#nT2w>omv6Mp)ThQb7IS1IwisB zTqDFpJiJ57NLk)1P(K5O)3#UY(!|TlHrL}9=y=&&J5M4M_CF6?MFN~D0HY-~b>g)_ zUoj16zXe~1Uo+33UX(&PR79h4R~(_fRF^ZKPC3(QXNvC67TevyY!Rgr={(B5f9L&M z+7Hfd`T|4QY?j$1|Ap*kZXYfcN2!5Px>SrwJ#NY>mHPV&`7p)$q2s1mHo!_H>=nJ_ zrUoorA`*!4p0QCO7wNFqM=p;~%#DUTk&%=TW39e#;Rg>b^oa+9_)i=cO_bst*}{-C z{j5Kd55E%5bQLE0Vxvz_q{URcH)J`py4v`o>APE}P5=D&kHIHu`#wVE9`i92Mk2Zj z`8PgWlM4cZD&CFFqM7l)+X=@>X1i$jbYr@E1&RXZX^ib2+R6rLN5F1(tX1tOm`!?7 z!5b(9%f6v3e1~=3OL~21Ck=sq<38>#>wrRa0;Z8>J12W)<(Bcpu*$t5>Ci4gS+Ri|h> zO@%^c+Por%OkM^CydDpB(;mOyNjq2k?G*ON3?tai2LXn=;78}?uQyToUJ?bFo8Z$> zvfSCy*_Y$>JyK7+hwN`h!CgxBXjHIQiUHRsFXJoZ`}+q9UW-NQiBP4YFH*>Jrm;)G zg_$4x@Y~;Fl$wh<$OGz?OJ3F zFz%vk5_JX{VsF`K0R(c#M=Bt!cyxt=^I@9xTYwf;iv+BoOWtCJikC1~$Pe_Bf1n0n zV5JtWe(>gt#i^;WpMT|r)y8l%$y&^8GKN=uQ)i|J<6~mv^o;NU039U#3ioea(=6c4se0B zs)h4Ka|OC*pCo~c5{(vl`u8-gldBysY8kSIZiKS zC8+rRFs*f(=!mSFVnGh{)jBk5+H&=l9{yvv$K4n)wFP>+9{#-v5#=hy8GO?f@24E8 zUaxuU@KDTEsd&Nzv-nEm3(`oevmHv_F0?A1$Ww?^=~{z2bIv zTNk;<)F6$?J3jCqqhxn3e7H)%#1F!9YB$TNmm-OP_3hz_LezPgdvM@GR)bf)<=lf% zWcpmG@%f4)NPK+GpfY&(9B?@V-sR9Y4Db4!ZLzqC6|-2#iJ}0hN!!?Vj^zOGxUH|J z&11dL*O&KP;F~_e(F>OzB(D(#B7?UR&C`!j*gS{#t};B8a4arythY&G;;%+k41z+; z`ybA$H8zUtjNZF03ogjDH|0HIZBn<{au3VyVuq@;p0QfZW;2&4W=h{wG%JL^{xLM#7R zS(>?bzVn^$obx65>ctgao34yy>+*q88R?nF9_H#-_>yo4cGm$H zMlDY`$Y)rY8nTeA%V{0Ek(=Qj+nAK$&>_FQl$Hi{!(n{R_ zH3C9

#xRvY@3VWEy0ogsfkuvylC0s_6xjObcU7&3(RTsf7n}Vk=N_Zi#=?B8dcY zPKxI>A>w>h^bY$Wd;1vF{uTycFn9hQyXpAQ@}Bz2^uDK$zf8fkaLvasJ;J`hzIBa# z_*SdvkL;h>+pC7I_x>I#jMpEk_+Vj@jcgi)BwKR~T^Ar}r-q|71{DP=%HNvsm2k}xf&kD5)(0HHpYz)#j9FlYC%!s!+ol@kmWBz;G?n1u8 zjG;uc`GQW>>HSqfqa|2nU0mP2ky-rxt&u(F?(Qv8Xl$Zk27$;nThvL)D@<$B*$Qjx z(yOZ1pzCgtQS4{z1yRo&LJ7HS1!hzfECBBdC{~+{!FW7~;+W|{oVkNRB~->xY*5K4 z6(dbR8&=RFP9867V^7!l8#%=%30k$hg3X*u&|6Qkz@%Bdty zPuvVF@2)#?1grJx$#L`-%-$%tT|oVk+~o@CuHsBzi=(>^7+MS)4LH*q)M_r*GHRlV z%k))b6leNqD1;Ci4ABO?-e=oSQB}VEQfVA8+!kfzf?q+-aRB`0C88W}TDS$%7YCpC zVkY$1WukC$j@D|6gYOCBMV4D&wK_iF*}26`TWk&<1&`{EVb_lN>r>$^`4t1XXzwS( zxpUn|>G^BxQ|l6;ZJYaEuHX6Lu`PEx;mSR`yt(?id~4XVdh>IQeLu_5diHK}N6_2+ zR88B;1k-nXW8dXYofalIU&Q7}{2epg4qg=a?JftHWJpOeMk&deHA5mB1aKq^%2g%> zqcjajBu9iShdnHs8Q5@XBAyE9PYQQ6yz2C8CEnHjr#pZAUf=xb0H;o_ zU$$kFk670@-$@DvFmdep(VdIU^Y>glEc%fUMfpTG(bIgOBi4Fi5Ld04{9J6}eK9Xo zZIG1ekXouKq)RhND$Qm!DzzHbxZF537E`78q!XW6E;;8V+`stDB6%(svbGdDV4*yo z$vPTcB31Du{JA?BsAM}nVXtV-RRNJN5i6s|2!(%{FPb1S8HsDribv;(jg4tfDgH0) zx1|?N#3m;TyP;Gfa)S~~S}A-RE&%`-7z$=%Rbk+QAWB6=QL!5YI+8GuP{L8;rtyY~qlYfeO9>`0x1K}-vjhM?(6K`>$_4-b zCouRM3deriH941u*9~_v;dB+E1r~V+9xJRdT+Zb82E;dqXP)Q+*?MYC`@V(H2HpNl zI9xwZaqT<3d)7zx9&eB+)RkWLCH<+PY;Cx;>Y%u#A-#R+i8r(xIyU>Px#larU}YKe z%09L?)8No3WEuE3qNlrVVYD@j*_X#!{uA5>GuSC~!A!~b%V|UpGja+LL!nCc3*vc8kyM-=b(bed<4?};w}`p2J@gM1PdJE}diped{vt~gA%1^?lRK~#v# zy%BbNZz<0KL0&um9lv-vx3t7(tE^pJPTCFowSo5UjD%$U4kyry)sO=w^BY zO=uBK%a9D)>@XvvfC0*p0U<5Y4lzh;0Of~_M!S_hBq>Jshhs4?V;a)N840LEn7+vW zc+IT&`kE7Su9+Zeb=;qg=Tu*e^SFYN9`OQ=VY&`ku=@WQ%>Ht7)@oC@!BLYq_nkg-7pvnCt z{=#8~gl6ezR%~9vm`DeHY&7etthCTfxy59WlvxfDgvTv7b$m<}r*84_XWFh~MRIWN z%Ohm_)(d9%_T1NV)i^GyIGw5H01@U5vq=-zIE3wXb;L#WMqGL&qV9jtUVlX8vjxJc zci*La309d=+7~p5x)(`Rm0{?9I;o=)9YvM)&rqvMt@hGsTG7OsW50WGUKtEcR$}|)`~B|u{+{Rie4gcn;hqp2 zR1tuL1P=GY?14pt>_GjBE)}k^#58DGZ5Ct~IH1+CB#N}Q!rvFTR)Wog`~t_4WC;+Z zEhV-D9H7LREQ2MEbPj-l1t(p!s`|W!Am{>aWW2*VYS4R6oEa#$>!?Z4ST65?Y95#8966i-{vv4t)Ps?E{>XT(v+w&ovu%w zkU}!;*@%?A(pwKEI)NXRYG1;B^-7PBx=1j9dw+q`;al(S-`eWx&i9tQyA$l7K%fKP$+!*g)`@z1KcY`FiGj@ef+CeEXjD| znY9zrzzfiUyH=Pr%9u?c))cGpWRtDS=K=5q%a`oP*7y#j6V+C2wtQD(wYlyU5a+hm zbwk9FDJ@y1cuL-ft|fBagYFaYXKin7>yZ&p%6@nam#*RBH6Yro8NE4mVfdNjSzxe5 zJc5S}8jV|8qLE!$pw?Rgv|#rIC=(7EtdSUWS}F0o9yqxu0wY{e0--;|$g#YrY!!Xl4$Q4Di9KZnB&k@)T z47-n^1okHOC-?!^AsC5aB*4szkPB-(LAY=aUgJHe1+!GOS}&~_$`ZL$HxjAOh_1MI z&yk~w)iyuw`YXP&d9?}()dM|sYKHR3ilXlce|x$mY}C2p0hBteNas`?{`~WMw~VpD z8T7rD?hvKnwadA>MD+~12{Wi0xu&Sm-W09zO-LL?5(&r_FLQ~kJMnUJbFMwxUgNWb zO6vq3joa<1@ovPL$u+2Z64t6;$|v%6>k>>VSqzcOBr2B5^sjP6aubg~&K}N(uU0`( zv5ouNBP4!fgr6M-|)XA=meRHJfjWwa@Y*Nvn{s%v+ zm;taN)OTPPsUUw)o{rOo^boG*MXE%3z~LO=AXt)>#fgdW8b3ie+%1`+Y9#F%9v-Rj z!{(|_o2Yj9Iy!t)6{NqqQ_2OH2RW7{VNxg&DMu)#^a_|M_8|euWA3U5@z7Nv^(r_b zzWK1to@BzMp>y>buK1Lq>uRB)?--^ojSM}>+rB(s-gyAdxsqS`k^!S3z((AOWFw_f zk-@MKN(BungUu7B!{w|#lob5UVWWy-no-Lcup5jGM2cN|M`F9H(;HmOFnNTdNq-=g z=@Nd!4<@|g3>z!XqK4k7j+on&8fAskdxzut-d?GsUm7aJJq^58K1F;Uo?;G}S57hR zz;eLta@Tm&Wn&h@;SeMiB5F1zO~5qICCPMEt?u$g8LH|N56ql4%k5yr(PdFr`$6NQ zR$SW-*56$5KT=;PQBZbzQ!Fe5m@y!GGNS z=7++Snc22N+%mI=AB~W6AN}h2rElf$-+lGZM=|34TkT)DQ2F5Y_$%UbcMGHV9DME| z(t=!7o;xF21klttwa2zdQ5ImSaTL+)NV=0CInTLCKLeNr&Tsdgi^bA5dkD^7dNC$P z>xQW0Bb0gn<25xJ{a<%jhhq<1tfE?%0zggysaj@cHxL`!Nh9nj(&rnl$=dSJ$JJD0N)e>w(}wODaz1FiUfW2|Uojes3(k zIGOLeYR;zYZAnUPinR*V8gD9t@e!l&m(CtfOFEMguFs6bbsMb)s#bm*c-MQ+Ke z{Td10|KtrFIoJ>kQo(EYKjB*BFTg=@6b}!U!|FUd_vezM>NdaY? zh2xt9uo756i?W*FH>T|a=Tj5I+k@pNv-<{PPhCG%{NCZJBiozmEzyH>d%xb(edvc% zKYIr?O-=FJnmXI!&d%awcCtEPuzt!7c)Hso?ddo(c6g|KY$VKn29*s%WikAZ2#x$e z$;SkxtMM9&AW#D!r~*e4G-n_OY1#?k3(~mVVnM8=)ugpn)nX354N-?&f|IRMac{G6 z_({$aWvqSFiuK~%cyA>v)@4K)YtuHr%`avdRI5D;u-zAT&R;&A?`))0pP^piBU@{j zPPBNA59fdKQ;h9zi1r;S-#abjj~q%jxSe7ianO6e1MVP6to_@9i5;*0j!JXyX zvxl~NQ@dF7Y_Sma7*qucL+JPsA1?%&1xp&~wHPEo{% zn#{mUxN*Hr<@0%KypPa0oequWKa^JsP?XmdKKI`L!M<5`mjxCCb{94)j|G-x0}8t$ zqKsO!DvDHOOj`rd60DuJ8pTwr25YOL8RIx%YNIpFI93gIY8q{(KAOx(r!`1tw3&&S zm}#O+8*Pk6`M2l(`*3B_5qI|c@BQz8ALo4c+;h*#(V6oE?sfdB7c02!`oZT9sT!H1 z*R}PVhN34)?uF?DPiyTKOO+ZvV|Z+2GI0^EIF)?GS-S?T*0N&q^Bh-haiQ|w8ReeC z>7B$rs@J&PWpkC;q_?ceH908PPuFBkUa)X%F1_D8C0D9PZBj8N$wO^w;H{W8HDJmq z5i$xql|kkX!~zI0C7orWQryv%faJ|FY279WT1s-tGs=TnNt)_)TQaz&Jh$La+^_0n zjLSE$VotMHt0Bvi795{lB*wN9%cHac^9q^sqz8;Hd;}vIi5~VQNA5exC0y z&rve#Bz;;>r_=2AD7{6C>;8T-J&PdeH0#RmXIQ*0vY}+oEb3MUeYMUM49-jR zHe1%Am%W7<8BPHcjmDXyWKN#9z@{PSg^SDu+5Nqfyy@94ieX`BaU{Z{7j|DfM+;#a z9w?cdBxL|#3F~Ns+bN|LP?xz7iUOoaz3n=M5VeZuKmh$)0woN6tZ%5ijM#|BLaoZ- zc~`}A^~%|LqGpCG#CK@5EMafsps*>{JuA__TIrhhUsActGbrX_myZg;{N7YO+Q^-*HW?m+r9-Q7+tl(6gJHM z1QO0w9?sMWDMTOwWd@B_79=7W^s+{xBKRtXsz-(@sv*<2jC&HF>Ou-+5+HU)q6Kxg zEB$13`*pfIR@pRzY~DyVH!53{&57y+R+WH>23fE5;ff=!f@<2yYNfyZ z`dD|Y!q&}DHf&TjG?JIdhD4R~wv?P_N9a1_74bufwN(J0UC$iqQ4hn)XC@BccU z>uT|PkOl3rb8Szvr(;r^VwWXNisrWsDe2H>G-f+u8STY*M5KmCY3j*L9X})y<0Lv^ zb{osq7`j{@2Ff1dmu$>w$ggXk`|#J@%PZ`;j?A{_YpHgVMC>(F3T!&s)+U;rb&d1` zue)?+7pd-eliLx>Y)6?r@QawtUR!#)NfyFl?kgsf*CU(KbJMAbr8^uL)((Unvfz<1 znmrJfQL@;57`qqGE+ayk2>(5H(l) z+vx3S;R5{+?GIN?9$2%g=h+pD=5=NauIt;@-2e81DZ7u(-J18M#phEF)OUQmwfBuZ z-}=FZo^`j%J=W%JOPjYJJ2d;XA}w;zi}!6ha!>*{V;s!V>zpo^lQ{>%E@pKN{G`kT zxqvDF3o|eC4lwz}3}VV48kS)VTQQ~@ux9FYvdaZ>UtwzBq)9$|31o)tYV4gYeGarxS{{Q@~mOxd4OdF5g)JxnG@bk!po0Th2 z70)u{J!5}ee`aOF`W1_RwW#OQH+rtlAI#}$8Q!B806mpZaXtm0l^;)~9&bMzB`|iVI26yR)`vRc?i>97x zZ|oWv8$%o27#R~<#6@6)&bV&@$zYI}UV60mI1`4%Bw?HdH4SAYzP1wL3Xnj)(@15PC0}S6yD~)XD$|RroHqU1 zEOu73eEsL7ljy%+!L#yLwFTdiod~f0MQ8@ zVllp7gbsQM@iw@`wb=eVbVwIqnb?ik1zo~t*bhr_Hhy!!LNN#G#ZH(bTEHfs0Ech~ zY{Cebh3zm;U1tK2b&=Z~T%PgZ@`*>mtIGHUsPZQRbrJuj>N8c<=@JwnBt&ftxv};R zaqHtcC$I)=;&S}n9pj+;5f>AI{CbqDI5=nHp>h}p=W+tzTqi^2JQ>J;9ICvW!~fv= zvtX+5M<`|QLYwdxd=EhzJqUGz7u>={sG(b+iM{|v;T^317;5BPXcC4Izf}A4u^sFL zG_j*FpWcE3YzyNY7U?;Zp%PMgon3)?b)5-7YKwx)Gae%DOI*e$g3F%_)CEz9`jn|U zZ2=qI68RWQ7vdR&7;A45{;ldPbDf3vv5tDPm!kU9Gmy%5VEb^4hZw}$P^)q>0Z7+S zAI@1E$lZ8|T~J4NLmhhv1)NvLpiJd<0^r;ygYQ8y_E6=-WegG%}VEJXWW%!*+ll_A8kp@j88Ex8Lb$qmTFb5Ki0p;jz~nQSlO zIki6@yO_QYGwB7GOGD^ScEB`NgXiuvc>c$GnFn`OU2**I){s;Y1sjPCn@GZD0YL&{ z)MAiD2v8w}B@qxB1jMakMH#IqYNm)nRf-K&l)516IH-i$u`CsZDpXs=vW!}()E3Gh zw)}ptpL5@R;g^tU?LYm^eC95{yWjiH`5yNI`jK}I%9Y_5xvc3we^24RPvNiRpM(Ycw^U(G zy`dNRUeq&&u!eM3@<&LkntUX=PJbzeC&*6=y2)omqB9IH%X)ZTai5ZMC{damkg?D| zN!^QhCl{Sc8K=8jDBZCeV>9u(W^e)IV8Zl)D`cr_vf3;I)(M4d27xY`~T!`U3yyx0mk5KdT>7f4oAb8-I(R_4`C8 z5^cd-t}s4x8Ew%R-fPm)_`|ECqrr6cfUXEOP(CJCoAFfc9DFPDYh?`5!8B;WS_MEjfM zJMKdKGIrY!h-_BN6W*ts(Qd}OO&t13kj1&Rr93p+!P<(0Ddd??$JeoSOz@oL(Q@Mh z=#yaDTDxm)Z3kns_&$xD3Zz`^klG((6BC&G?L2XTz~`#tzZew5N?TST^x4^PIuaLXndv^i3w{J9T@?3B{asNA61RQ+3d6 z$=CY~@0Vs?DfZ+;>Xa$4Ub4-7ZnYZmm-a4I$8ne5Q7H&UbGF>2|E7%P4U}fJk;<%o zGBFr}tyoCEcC=q4CE;6U%$7Q**AESP2mK#Hf2wA(de3UN{zkXiHH3Sld3cQWE93ce zEx`cJR@bvqS{vQ*AZKwaes~+caJzI>{SXY47TDlEevXV*c#ng;ebT~TPI}DhpIzL; zwpgopojC`5tDmM$bvdU5wqHxph6SP+lNo%zdxmP3W8Yg!C)c!~F-l zrG=NvcQ=f;pyWUWcf_00w_)B>XZxPi&+2=cB-#FczGHn)#k3c>I-DV8;hp5~VNdu% z_EF|#$*9mJ{hc(^InfqnXv`uV$M`bqi<9@KJ~dfGI8?I3PUH{T`B;Ph0C`={P|0&< zNAD`w&dD$wf4LNjj19|?e$H2Xx31jfUMF{j6*0k1nWgx5$c4dnnc}UN#eP2es9G*J zX)Tn=9LkT9-cEUqxyPHOn7Sb*t(6EX=9+fZ*b{9Rm*aM|a+5m>JytB2 zcvqQqTl_7!CIN@|4~|bb6C?_?DaQX zuf|9Ew!EoQAQD{*Ltz5;^K9tJ8+{0-V@Dqc_4yOxa_SzqAD**%AxWRL>BI1dY6oLy z{|7ST-k4}zX1Ok|tsjrJ%PeD)8YPJ_gC93ey*RU8JQp4LuQA{0v72O;>teF{G1PgP zWq)SlB=L}6(>V3wqHh?J)Nxvzfi}n}C-FlA-G4=9*?*&P5-soVXq#@bZ<+^ujfY!vfLXG0F01;} z%Wv(zH4fWq%bQQ7=}Tfen0f&&hwJ}C+73pXO3hq_F{$2Y^L(RMyGx1pIND6L=Sxx; z+-B;Bc+X?ouzhIPa<3}7+3&*tt)!*1Uq)ju^EEEXI#yYK<*;p^0&&39FV z502xKLKB=^NJnxpRC(E9mCECGEYJ zjla`2W1MBty-ILW`g*V8V>d~O^D8;i#I$b{L#(3hM(N{jM#~(R4$i-%gFi;jL9<^; z%v#`nN}mGhlC_NS4ocs!82^i}#&@(bKG*uydR!x;5}zK7BQ1;$;|DKb?!JkicK4$D zZ;-%@tN-nZ$Ia9M&V5l0^Z0dr)=F;}l+5Es=?${iUa~QbL6@t#o%0E79LM5&cGWI6kk)=_)U} zo8(3370Gob%Y9~EJ%5XdAM_3ya=OMDry5c*=fHj%!Z~~%!`b7%`^gsq7$ zE#^EkX?PyQswQ6LJnNz7&;ZpFnKXLmRyzfgB~LMNuTpH^lEv(YF-#lnqi+cfV$gRv zo;Br1AA0+wub(Y_O`qY>A?~a{TI3S9LMCFz%l-N2zRl>EXJsUDepF9Xst*0(EVOE9{r+8~iK0#s*5}MGk3WP$-a%vb-`XQvDZ$%zXFh_z5-Vy zy9U0$YNPIcXQ5+O;ICRxhh<1z`0-F1cRSk&xyuQ7M^ke(9c(^UIK?)M};#+m`RmyROWEyO1;nLCX=CQnl*z@gw+8eVzRaJWj4 zL0iGAPVrreOswXoH?{>l`uE_M{4+dzI{0V6jhBKr`oE9N2#^@?%&E86@p<^r>b@HT z0{Poo?Vq)gzbxW4Wj>7Fp+X_QiVJHG{eZa-p)W-jx>N~98>I1`{|j6Q+Aa7# z3wD8%0ZM~^Il*^4h`i$+|GIa*R=)jz;f#{B?-Jh4d&AG)?RACw6Y|Ss@?9SJJ5E=* zspQ{@REn-Q$VuaAFCr)HN47_g$!-5&{4U0mf8DF-*+u&^^fW_` zqklTNtvBOy(X$FYGtrYv`!DEOiL9?ntYj$ye+9*$zm=?CLN-Hg0)^l#SPSNX;s8s7 zd0~8?L9Ve1(tzBNy>9Qcj%BWY)U$=f|l+Bx0e-X|r(&g9Ks&%ZTbw6t?)!Lv^C zudC!^bG{p0%@Ldj;Zuj02f&q^<9lT6;L@Q{VBF7l+Cz#cNGg^IANzC3Q{$wT)0)K6s+ZI6>w z_gRUAvv#p7B$e7I)qYdjIDeBUID4ua1K!2Ha`=m>Rohed1~r^LSQ@$$XqUmU4+3g7 zr=hMgaFe-rAEE10eS2%=Z*>_v zYt}bFr`nB;f1oBU)6?xlzn-jb_^u1Tb^a}}c4LWk;kK@+Z=a`D=qXV?|1FhBXE^tM z3H94T-nI+!b5qy3mDp_RpjdL$??4ag#cTKjj!k~f@!HVWG2m;4+Z#@9FkhOuJEW`A zL{glPq?j7Yc~Aexz~m(N1J*NhM{^Dxk%qGicPH|8o#xkhwQ4OhC#WMcopi>h*Qvuo z_-(j^*TCpgr&-I?H>dS;cD`RzG{m;f?mX#)zx&#Qh?R5+_kM=1MfhVrdx()?&R}$; z$s_nQA9TYQ6CB|(aF2FoJ@ARGp|w#xCi0x zaC`x;W$jG03Egw#hvr@w+qmo5Mu+pZv@!Ql73yo$c30Fpl7xLx#C?)V0*^_8dRda~ zCX!@Df*46u2kDQHBzqM;KEU}LKz<_0YKf$&x%^uLW=jWjb#yYMiR#3hPVx&?AcO7Y zd{3dCoGF7<2N|R~%K&Sq#93SEYbg)ctCBuyqIBn;B{L>jjgUdsVQfJ9m??=?4~a$g zQca2fHpm2Njh+bfPf=qz>tUSj7{;bZIQo*Uy}qvMad#Qx9wb)Z*RPPz^Q}F4i^yYPmGKku>)TCB}MHBCKOtI}P*=dxgG6Jk%rZ zV@f>C)Z$06%@fe)1V}TzXg@2yw1c@pFOnvZACJzUXaG(0(iNQxD?DHi48Y}&bzwPndxt*L*4_#%Y;`g`k-ALAXlC^*B z`?Qf&&iRi6k?22yJ)^nD1=v_1ed>KC&5i%9?b23-K;Hk@FZbXkjysP3_D&~Ren`ex zehFK$4L0NR3lq$^DEI{iVuN{RFm3~m<%j%|D+`wfj7fq46B1}L1OiOSbTVxo(;y}u z#3Ri1FXhz`e@jN+qZGA6z#Y5|GiM2jP|X@e_BTF@fc#qg0c+6L=X=W zbf1XwFhm6yMn!|XEEqJzVobyaZ|mFyH&A{<_hZ0)wEIN@>o~@@BXQKZC}7b%$|b~! zK3i==BM|9UOg)et*jy+VZd3@mX6w-wu9%`hs@EjBmSs|L8lk<%`s&`N@mmhZvVXBVq?IUi*>b_ES$NVva13JHPP<;h}_B?ylb!0%QBJ+=?&_Z7SZ!cBXXr7Y68`IY~}Oa5G90PLk^9#)wBZn zIeN!3^Zx^Gv6MpPH^x5BSEY*a9l_<6b?s z=-y)-pf0Ro6`^Q)2=T8}p`mQ0x0Lntta6=pn|@5k`22E)T{N5t?ox_^?=uop<7c&zcO3~ypRJwON1UsidTa*$isBB#cvzm*TZ z1`5D@JmVBl1WG_I(akFWJFJ_(1MkW!$x3wXIKXb}n!|L8W*Gm3+@lKn1mq~tugv(z48&B|1RW^m(lhc7!%c4KL(NW zwNSC)2u%#zgLWQ4?&a3OHFAJzO=+m(Lhf-kc-=GyxnoiAa@YX!$6I)Q_z@D*6Ng$VE;$waR_J>-mLayi0-XW~3Zp2C@p302# zX}NNRp44By_s7Dnk04`=7}AKa6a5V1RU*^({z=%T5zNmMg}aF&I*B5W5Lqy$tb2)~ zw-8O(Kom3kE5IlCPnmdqgxI%;;v$LS3yBgQAWEttvTr1s^wbE+9}}hQB62=Rl#1iD z3ZnEKBTPO)lrf1YGn{BD;?&C{WL5nac|;%({9p4TID2oS=8j_3UGT!cPj(V``VO2B z2m}Jby-H3uQ7+cPyh}vWQbzH*Kp+qZ1OkCTAP@)y0)apv5C{YUfj}S-2m}IwKp+qZ z1OgpK6je>zD2)2aND@U;9yJol@32&owXGAlkOR1un%=FkwpsEy-XQWg6<9QvvqHTck3SQk+#!I zf~C75)WJl<>E{!wc+cer6_BnW}NHdM-7M# zsND^9qh>j-Yo~`%;(>EQwR)QK^Lx5cuN~1xttiueS3A>;(mS`Pi65^;n?kkg5!-QG zhn9Kx@8`bcEXbcW-MP?H@AGzf8~x65udmbVtMhxj9l6fZwl?QdPgAqM%el0ntHIaZ z;Lfe6SX4T1ky>8Y{;Vd6L)vbms#t7GD`Hf zl!ANc0Nvqpl$IH(;vOkaO#L=6 zos2&zUA)9p|7$G%7|ZTjOwGkOzqjIs2ew@IkxpNbt~B1r>Ktu`%GIx zq0KhK7IUA?I^7moU^7p%8S`y&o{e&CgUng7seE>7My6$Irq!CorVa{;+gqm}RM!Y}J~UZke2JO>tP94y!eKLZmr7BGPCIiuO&<+7E5P02NZ0?q77uA$06 z!IFSIy-Xed>GJDg?U>TQCvyYCb3Ju|;q*Cyt8+a#So05U_@?Yq43X7x-Js)|xIqIb zsHW_KVjv@$`3yh{Aa;zMQ+H-jw{C-qD|RZjZB}gCwr$&bW81cE+qPLTPEI?g?QdV~ zi~SqcoNJ9W#xr{NE8RE9RUX1$1`mgQ`um;VVM;_cdH~EX^Cvaau#>Ium%D8oT$s!% ze$nM&*WRxbzn&_u^k5mJOcaN_&|B5Y&KBflynb^K&t1ABZlPy+&d zv|k23_{U%dwD`xr4B+rhKn+yzP3&)_U$gG1j+Dm}0V5Rfiq}P(Vr`iYtVdGgV*q4| z5rvpSYzdCIdNyOj@i#y=;2Ka3m%{Stgu2P z@<9`x0f(TdO~dn$NB)xPBs@n}> z$*G>g|M?{6cTvFen7v-9H)85)`l4OKQ>OM%n)ys`d_X`D*O<27kK zt-)j_jm!2cKoy-sP<?DZVXf_gy3KVN<6{%AoNkKgHjv$v$=KSlSZk@0%6njI`Vq5 zou*r%be+2OSF=iUbMsTPT*d(FY_iQn47-aq!*5wDd03o(i!4%w8SQZLE9&PKRZR;5 z%u|d1UTU1czALFB+k^BmQf`6jjIk^)O)Y(Hx&nJn>A?%3McjnnO?BYBz;EuSVBRWrd{rdTxWPEm zqqEf_r7*xt)lM%JXFc5iLoG@qbKrQmN2N7Tff4H^^_KveKAxAhpO`T{ z3Q3BeqSyedTL{xck8}JEiBc~1pIdNz)u5Et(8_8slUYAU=1HVIlw5Uucp1~O#&M{kK8v(11yo-8`dZ2yG~Q#N5XHtY!B7N1xaW2QjysLnp-9Zm8wz_24sp<)Y8Fqn-b!hTkal`^WJvcaYE9iQiBKio$m zx00#-UJ9Fq4?ecpU2QU|+@N||RV0_mV^>%Ljd7uwz8}^gsa~Uv z5N6TCxnzB}+n_QZwa-qjc)hbMJk0~SWmG@Rjb8~$yE|0Mm zS4fFzUmhr36s8u1eX1mN#*Q$vE(;l$A*i$Il1h3)r-wjoL{1V1-lx^uiJjqzhY zh=zPH%c@`WVOwxgL83HKb;6Kbov6LsjIOb&I%&%|-l6XjK1;vH)|DOCRzVb`VQIX< zV&6lSoVg)!HsjTw0HeaRCbsw_rf_G4K2B`|5pURvH=OPLKDak$GM9&L!OCgH$`o5} zuhG(Ax3J0&VFbisNRe?&pgrl5a_jWG9KngqfIe8B}KV3&jOo4fJWg2c}a(Y&xN?h>lx|!;#yIJ z*ify%vNJ+uvK($Qa@#Ip596mbJe_naOwK0Huau5?)hA+di<7OX{`o$3pF8&WTNfOD zfP7B+k)(wG11SnIm^4S3w16jHUW+iNW~@|Q9yM}bIEZ3v^g@0}TqS8-${0=Enz)&K zBfM*TWZb^L=tHs@uqRZRNlj%`q(yUaNZY2XlgzdRcFrmLRKBC8m!`jFXxTX4?l0u&z#rMN&>e4zcT8=z(nv1 z6^%lIKB~qDiSs@ydqfRgFY7T0rwHD=NhzeD$swag4E;AUFkw*JL$)XLP6Dcqb=!B; z3)(lJq)t7VLDBJ*v?QL3&>pfQ=yY|tklYq*n6)(Lv|ZaAPnX+ zb>Rh8O2T!@T$7WcREI8Ob^=FFTvQJc=66FOSD0!83rtFMRTXHe6_?SjY%2h$PD#tc}hhT$^6sxJ*2m8&w zkZdi|Qdl9A9zsH4AGry-Q*)luyLKzB6uzE|hxC+@kby{27B@Zp^b!F#8x6TCGDzy3 z9p~w*y=MT0KfpcOMtZhu(z4MD9*26~qTrcEOAF7>{wxMf{i!lazN~#x>|t|mJP*E> z>mM*vbz@|BHTs{>l5<|De;@;jt_HR8>RhGsXHxHYJ4bjMgYLt3&s|(OGfyPl4c=c_ zFPD-ANMthD-w}P5aAs;(%vQpA(G6RWzm}OXX$F<$Pbrb~@|m*yoUhu=gUy4S0RlhW z?oja}MR8_nt9)(!jPg3Xh(?Kwp;f(wMb1kOF1SEGldNse8*iPS=kA=F2i_aUStik^ zLx<4oo9*TG4)b1^hj&$yu&c#P<9lklj`;z|usRkEMA64#UHREwjOlAVphtfn zwJuQ_NE4BTw{bxdCr9{p^cY__z-*0f@mnZ62cepRcs6Cj|GKB4DTg;(2{fZ`2pyl9 zYhFIN@0zETnS2Iee0&9dQ8aPp!hiNq{)GF{HN)cGC&t1mWeYb>u|ys|{Uw$CU6$-x zfu`SJkyfdp^2JN+U+~qM`32=(Y<|S(pyD_)dd}Vah4&B>;SG9Oq-7IGY%>ab)Qom5 zW0NQ(Gd}hBbnNm&0W#HTeZSUM)$yTV3Q%n!5Wqn)Nb>+Om*0sBq11b)&Trxya$&JU zg#Qd8j?Z5H`v8_eJkMFRegGmuVX_b4sg3W*x}+jubNH5cvM(Y&ml04`h?EOWdA^U9 z(_`P@O&S}MC1W{7CRR*@6hsRQL(&1W{Wp&7AKS+Td5;k#ah0Wmi7HYN0}6}-SLeV8 zVUHkxLU2+Myl@E6;v1PvtG+dYG1OZ_%-YUhICG{}HRSUPPY2cVH%nU62;`qR-8I22 zf_ZUQXU`vbYh2LjKu(_Ni=!Bcr#f1pJom(@#V)#O?gH#0Lph6&Db#h0W*~(Nrt9s3 zT|1Nxbo&Un45a85%nmXg^Q=k;=+8TNA`~>3S$Wb!+l>Li_1Z#H>2GhC2b)P))&-Gd z!@CaW#}|`|Q|^-0pk=40_VskOF|%?x9Bb`Y(8-$lbl-g>8sfnxzlDX*6VxA@zI%3O z0-2Dp5VwIjXdrouxP*k$w`HrzJ|TY|x)^Z1Qr}URrQEra%?a;g3hj@W*hjR7`TEu5 z-}k>oly0ayg>cpe*sn@W(r&fegT|y97t?LiD2$Yi5d4YE^PNZroiskj681QROADTVdBYQXs)7&pbAc-<%XSJ&6r7nU!l6uDmbv5;Bz ze1@!u8{Z0$mKvqXTxk`pqETQ~#r&>OGNtxBxZL(?lFK;q={2>1<$96i!me9!(OG>; z<}mh9eT0rpg-BBbllAE!l*O{}--OFU@CFRC^kJNh{6$hY6(4)hjg7yGi;LyTeFa#B z4O7GR#F8VBs?@P9haequZGiaEE1BmT4=p1^u=@4oM&RFG%&eKwU|iS#a&H?1Yqm1k zD0;rS(?g@V#l&B<^fbMmf;{=wuc(}CV82~v{6x#W&e&pI7w51$#?9eUn}rjI?$hD7 zH|mYAR^T6NJP#}vdQ_H+ah#Jw4$t(mkk(45N!r_gZCCorM14VJJYBBRCnza%cs|oD z(v#ETu4KA=CU@yLc0IY$4%2Y4$4SpM)V^&79g_#fpWqh= zdx(ZGwT{4^fd_>K^C27JTEHBd#aY71caSGYh!6281+8tlde(JDDzj0z3=Gj2C?hrI zOLjHrm@2Uln3c>`?Rwy#&@SiYa(0Ot!>LN5Hl7wW>8vL%g=y%bxqCMr6tYyjEJYWbJGf*UAToyH;R7!4hK*7olA7;v0jBw1|yucT!5c4eFx-Ry==q8S&!ve#S&?)Le$dVNC_?O zE-sslM4^l3=^Zz*g)A)J=6R3+oe}0>kJ`P2_7sR@A+ z?LphctngdeY!838rPaRn`F@Yx=XkzD-|<`G>vWmx<5pI^F=xU)+F+Ea3WdWv{HHW*YlXRRHo{$V z5z?ho5cV8SHrO&GNk~$R{Nk+CD?1SqV{bIjtfacM^A^#9o`MrYwWV`7&RgPv(^AU$ zr$>q!^YW1;4I4|OR-@8{3Tk_H*YYvGF*y%2;F{T)Tx_9G(QX#FDUPKQe^`_PvOW)b z)DO$PkEkLZfA-t~V$)h(x}t(45|rk;9fHswBfLS28aEo*iDiFe%`Q2@Zb}{7)&zFx z>%7#h#ULi-C~RoIynz-XloWEKxPCxnptEQ`;?>g!W{VHy>F6*qmf6z@;8+ z6HSWvYr=bJgw;Ls?nLL^`}2-724}=2Gw6lH-^k0DK$qC-*F(|}_%gXUIaJWJMAX61 zYp;yn-!-|8Dy2q>M3CPI0nq}I?NYC11%HnzaK+8nmvm) zN9SO`SZ4x4A}ouB#M2%&E4X_syJcOdH|{o9O4>!sTT;r86WLl?aer%fwli?VidYiM zvqn*JpXPR|R$vl`YJ+F}Z3VSR0uuXc7A!-QNh&v@n6G>`@14OlV4taZ(-V}9?rbKJ z1E5Mk%H@(rQlej}q#SK<5RP}L{+MnpuXvby_xgHa=Vde;rnNgeLcbLn1rcXjbYSk>`%vvvB561^TOOM= z;DoWMI;3pnqEq{@OmB;vaH}A;zr@hun9U*EhIrV)KEUnFp8;`8s^-~rrnJ-#(4Vt- zrl!29luOw(+un+6aoq?Cyr5Y-lyU_RK%TIV1;OwKX(dIxv|DZJq^h3qBDf2VzB0Qs_X|#XHWPgzXOKC8}{E zs2d5tYZ{cP#BgLLS9b$Mc?i<1vVSm`BU^~)a}r1>knS<@P7X?a6Ct`xa{J;2go^v~r6I z-y>fMBVr1Uk5IV9bL`ur$5Z@Ze&Le9+5(il2g@!^ojV~#Ix8Qu-IGP8H6ZZgvG)ln z_or{EDw2ps#y#gqCi(;kprDxOsH^7ihxcsA{!mEIDx~8pq~~S?liv1gWzYZOFNUh) zs@5_uChka^|CK0(JPE~Q7C>^2%s|~|!#Xk_^fh80pr1}6wEhZj5*IWr2I1-uL5hDc zJ%U^dc9jNHWjkeW9z}T6oBtLj&x&;l8)!6Xe32IuA0|qW7jxLlf65M?vB>r$op zJZG&sGFQ>F`cG>;vq~3-Y83C?%FJF@+s^r^Ginm{p<5Blt!yLC-bGk=EP&Z`o$2+D zM33tW=XxcCb#ggvANg|v)x=r7g&AOhJqn~`M2)N*3r7owphn>~g&E+oy2zIf=#yfW-dEm); z6K((bVUCohzC?un7SraBCu)0=ngC@ZA}itzy+7tbBK3GriDxZjyBmoQw<%-h_m__w zj*gFa=0Cg8uGd0e{kS=9ECkhCRh64xRv+U%{-t1VuC%jH+UY$_EUw>&Mn+ul>G){Q z4xa0v%%JfOK)|Z>ucEkWpN~7}AQcKb5dl&9yfLGqnunZy8o#jYHAQTW-+HOG>rcV#-j!P=wd#20e9i7Pr| zh+)E-*X$kil6o}w(d*)#X1ATUH7@+Uu+%k0mH#& z%$V(r!A=53W*D#!QQ7Z|q)cS`Z-hIbx?lGEWhvgyVXvUVR2i124T3%OaQD9n|HxN% zvv7T{VVClJkqw5E%CUem z@VK2yNH(L9OjD(jDhSp`Kc7gYB(lfIyquM2BuMY((vXtt@!PnoRN zE6TAh^0zH^3`-4;t&T+gqV|zwjxp^o;%oXCHb$ElX+>_B=7bT;_aS zE+CokJ!u*Iqg!tRmqL-!5{mV;KcS(Z3P;gKcGl1%A7*N zk^so(mLFl}2AA5Da9j>f0C_p2?l8opG|&n#-Unk{->CB?Qlz!{YM}P}mHcRw#j@5G z;Q?CR5%dXif@FOFf?zee=byvGS=wQ5LMjIjtY;pornnr%Od*c*FF6Yl*htgKQ$Cyu z=oO(oaCmBg8S9ZR;E(+w#LoI{62*e+J|Eykp?5`TA1jzMS8@ zLZ(iD`h`a*Rba;Vt;BxOT&meD>Cv@^ zs2@{R(lR6J-7b5q0pz+Rg<2trcEqDW1EK(txM5CVUrJY3;WgpWOdwsi8D3}iKR5bh zGbzLUo|1hw&(MHP(w^7utQ)o+Ta)grt&XlzW;xk}Lr^t%qC_w*8QRsSfdCv5^kA@P zj5N@9E|tCK$BNu{1a1hW=zZNf3$MCZjTdygVG4HmUJh-r>Db*t$};h7revN;!iK~4 zyI&ocWjg+O+C@F{P`efsv}gAn*7Z>nyml!dEKK2Ib>uB#h$a- z4_Wb5KSp*oL%++WPTV8yiX_)1D?SxFukgbJ+1lClBc8ZdTT32 z!iy5@Y-=PWgZvFZ1OZ0xez7%U@7X$36udHyY()hj9yp_9!--{lJ~Q$GNqIOX!j-!O zt4#ROSNb{ofqILY$idwr)I!9}>_~8cPeiXv|B9uL_muZc@7L7w&mqDb|P-f21l2TMlhnq#Z`; zwDDPt@$r`gYNWRT?)t%gW zCJy*x!3w9sWl!Z2OUfwcxApVRr<}hX_diq>=jM@G=t*SeIIVZ2g(UCk!UdCRm_s9& z=dNg$?&g{Y9(8s2Ef zHFS#(pTc`q%lBbEMOzzCmg5P@cB6ze{kL!vb3yfcY(hN+6oc-AgOaT9*>gDDE83ON zxGLJNV6xxy#qrJDRZV{#S>sswiL9qXteM$&tp5s{2GyC9n^X)#H`Y8f0?$*LefC3Y zK*O#!0-KH(Qv@U*b7MlL^+RQL!(%}HPp`F?xYO#d0PZ+EF@`p zdgO@L0>oJ98j;!v_c9^Lf>dP8j)GMBb84IHUYtA;vNvNIqXItcOt(!&aaEW0V$7s* z;1!KbJmddn63@uO#!M%J&-CBt@0rQ&N{X&%Bfhp{ z*>Op=1BS4gezo9nELQsQIKSi}#UX)_1jJUs_=UhwgoT32lNgt+okV1XvuLXgtKgQs z&*wq^(Vw5PH=?b?WTCT*X33ZqFWlhWJaas|-rQ{MbUkN10OgVul{YQX!vIAu=gvq( z4WXf;7!*PQfkNYhAObPESJBdN5kTxF3`^E(Y(jlRX6r!2nRgLNjrY>ueuvYnoWTP9 z#bk#d2Q)cka@kjxvz<{nE}!YpTmx&+9a@q^bvl_;B`hab6zW-ApMa03JnXv7-YeQdP=( zSId-(;Lc5Gik9Ds$iBv_vdnxdt*wSNz%{E7wY2v@_bo6$NAo}mjj%iZ+mAF!2@s68 zEIWJKADc5!Z_kQ*ybA>?Rq2t5Mn`%M1>H72Gmq*ZAh{r@R|Nx2q3-)ApQKz zVGv{ZIEQ{9wJ4+f9J4??r4Tf^I8Oe!wYXLw1A1H-pdEcab_h{{v3*dtqIS4mP}TmL zdPq`%p?culU^V!Vg#5q5VAT2H;;0V6UIh)vks?AB@~BIJDE*b<&=>`1W}!uUm|MCWt=7-O{$xWdLSTpuD-1~_1{DcODZrB# zNiVi4{t{*vVi!#>?IuBt^eP0*5R@uJjjw``5#BXeH3&L*Feo|LF{q9dZX|q9C>%F0 z&Y0l8D7-GPF8UVbl*TOWAyXWWGx~M-%Yi^$@){pL;W>_vM3;1js3*Ucyc$3+!70pd zUic_KOg=)6PO$(`Rbo~C8=ZSBM^$>YNO10Rj(Ki5dXoQ`;8^&W2rc+%IHA_4Qe_$Pg8Ty9GI`24a`ns#wj-r0 z)H}vIM{vK@exCzchU^4%nqpd;w%_?!qSfIV`WoZ;w`;oSA(Wef4p>d-v*z|M+u=+@ zT(fM`Z9QItukcr5yuFUQq7OuF-$|_d1Xw9uUkt&`lrmBmo7WJGuAESW=sFwH*rw#1JHglK_k9CtZ)(sy$ z&pwys>22CM8Pk@bYrqzfXSa8wckrj*XUP*hb}L*woJA;b=nVE(M4BOk8Y*j0*02e- zHBKUSbPN|Z8MZD5RHj1~XC@r`mVGg2WY$C`M5Zj~Oe=e9VOwMCrE}Yvggt6Ua)*rz z&&AuM^ltJ^^SJfqRd=rfJ}NWR6SPeS(`Lb@<)-LXjRykHAZ`+_CQtWc5KkcY1dk{; zokyQepN>UMl}<`0)OOys#*O^VAAxpy5jC<+s?7Vn_rf=)m#BB{C+9nw$E{t@<>w~d zINhY3)Eyc`Q2_Nh0uHkG$;}zvGu~YfRxhL&q!|o5(yeu_YA&Ol=59`4E5A8^MSu+W zClNcb8eS*g3xAlTnE0qC0ox$AeMqb7hdVg|GixKwVq+1V`9|x#P^@0V?Sq5ebH=@ZEkul;xudS*?`-C(%@-`JLX^H z(ufbryA%?sIw=Qk=pf0k^N94IZM#|#e<_bw+q6R{IFGdWs^ z9cF9!4`9n+=K(~)h5eoVS-}mF2k5pM+}bEgi^@*k;dme}F+0m9*H!LK~pT(Hg z$!s}R_EzS$X&Pt^R-#mk8tWeQQ*BiZ)*kNr_u5yBPvcK~&M(f7u3kNazC(2~9n(iy zuBxQfn;XWLTrXMQ-@x8b-AK}y*@WB_(G1+|-hA6)*0S5G-a6MN(bnJ2 z)!x)W+fmX<(3#PN+7;Uk-5u2Z-Q&^ouh*{kvd^^dpkKFtV?b?SaZrA6dPs6;bXa6~ zV1$39XOw5ObBuGWZJd3)WrB60d6H$aX^Lg4X_|Gqd4_GKb(UkceU5vsd!BE;Z$W5b zcu{Cz zXm4^~aew2$@ZjRm@$lm)=ot1m`2_Ez?3D4e^GxJy_FVJ)=)&&e{W9bV@hbD0{JQbx z@6F_`+U?Pu!`=6N)C1;2$s_Y)|3A5Z+fUX{@6Qo0m@lQT?5`tls&6Ont{)H|sh<>| z?O&2#o8Q*o-ypw%o`W9V|HsOb=|7dFl(CJelNml6EBk*c$nWp(udlDq&(DvKkN5ZY zx3{;~*VmVqm*?l_r>Cc%GUoB|@!{d&{{H^%?(X*X_U7j1#|C+Ib#-}pd2w-Zetv#- zc6NGtdUA4de0+R#baZ%lcyMsAzrVk?x3{~yyR);iy}iA)wY9mqxv{aazP`S;wzj&u zy0Wseyu7@$w6wUmxUjG=KR-V=H#a*wJ2NvgJv}`&H8nXoIWaLYK0ZD+Ha0psIx;dc zJUl!!G&DFkI505K-{0TY*Vo(I+tbt2-QC^Q)z#VA+0oI_-rnBU*4EnE+S1bU69{Z- zYHDn3Y-nhxudlDGtE;W8t*NQ0uCA`Cs;aE4tf;6cFE1}ED=RH6Eh#Da85b87{YXX% z3knMI^Yioa@^W)?b8>RBv$M0ZvNAI>Gcq#L)6>(^(o$1XQ&LirlarH@k^lfeVq#)K zLPC6ed|X^yY;0^yOiXlibW~JSWMpJSL_~Oa_>U<)G&D3MBqTUEI4CG6FfcG6Ai&?> z-_Os_*Vos_$H&{-+sn)AXDiCX!^7R(-ObI-)z#I-#l_j#*~!Vt(b3Vt!NK0%-p z*4Ea>#>U#(+RDnx($dnx!ou9#+|10()YR0(#KhRx*vQDp(9qDpz(8MLUr$d@S65d@ zM@L&*TT4qzQ&UqzLqlC%T}@3*RaI3*MMYUzSxHGrQBhGrK|x+#UQSL^U zN=ga}3UYFCGBPq!Qc@BU5@KRvA|fI}LP7!p0(^XYJUl#HTwEL+9BgdtKY#vUVPRon zVq#!mprfOsp`oFoqN1RnAR{9qAt50mA|fClz{A7C!NI}8!v6mK8wLgj8X6i33JMYu z5&{AO92^`B4D8phU!b6%ARr*Xz`#I2K>y>NVgApZ5iz%NGIpR7vC?-k7BV)pH8TGH zS!jGFdU_7F{|ZL4Gq7;b|L0nXg)b(D`%16;{FuF8X7CHssz)LmW@a3cGU5}O{TBWs z5$=wgI2@NSN>Vn6EvWhP9B85`hA{%t0}%|)72&_(xN_KF&b3lP}vF7pT3OsLy^}G6Av*ogL7SVAs5DX`5YrlB$H9-H(8<3Iy zQCQZ3UYr5eQjMvPmT5iTawXj5gS5L~;`Es>#p3Vt|GUbXJ1lEYWGDhyg_Z%0e^_*z zIsgn1)!dO7~EVJ5C{#Rh;Fj#7g~4Ni_*00A+hwpnb$`K+XYl8wks+w z8Mq5m;2HwRmnPH4#5vP4i%iBtRhHq38I_7lw?q70{!(NTNe~G|Nw%{a|E+WwG>TEw z9kH?)0fNo%1f`N(YFwu`CpGREP#(%uu8LUSI%^HBuaB6+Y0i6kXETnhH#H_nQj8d% zM;#f$8e!f?U(+O_*vdPtQ1}V2iZO7eld#LpDl~O1_y0XA~|T7k8-7B&?1E zY16!p^BlBZ10gNi#H6(tq;!K--YYh73B~-8f8*je9jBLq$u5fExaHBF=XIMTOE;Y} zDuqN^r$%$U0O9QuO%9EuhRV|8b8(uZSUIO_1LD zqedfyY-5B8RSrT|_FEX~;WQgSboa?z4kI4!lgI3V(C!ibU-5U#dPzrXEQE%2o30BW zi-m4Vxgt`tz9=fLYEZ^r>RJf&cM^ng@+Q^un9Y6ZWc-Lx_Odi?0*{fb`>(WC%FF%a z$>dOD^ft-k2=x7;);yWfKWM*u?G7!|O_1OR1?^Qg6E}|R0s7@yWE){*`( z0MkVZu7V5SYd*uKD*e9mSd&*V%%{ueZP6wY*9> z#W%~b7wC@@Z#aX3dLq5ie)YX4{KkF7dMUdW1a|}!(cFSOY(mB!#v0if5_c(oGV^S9j5tKg)bUrw zA7p$aV9!%1Sui;t*W2@4=RK9mF{?|?JpU!W34ca>{iS2bU1VnMkAf^{Qec`4W3Upb zubUmEuaC}@U}^d)BpsjMVBDym9a%CBtjVw~wQbgI+^O*~{#Kka|338#2R;G4h9Im} zDzk@kfeD8bSFvytT#=fQI^Y;z>h$n6cE)x;TaF-8tMK1I5PiKT_yR~^pV4JUIMJY! zcixQFP+4qk?cefrsUSAM`?eS2Ba@dZ#_8xM0++>Zph9p!Qhs6Mh&m;lpm z(|%FHJD;5-9NBd*ms(`+KQvgVFVU(@xWYTY*O*;yuk$SN?0g2dC9lzorgNo103ADt z4t6%?o5--yslKW|AU{M#@E)7`R&IX`-lgRz)7_Vz*f;fyO2K}4#!?#M)>vG#-~fV3 zj?M2YOC$ysdN!Y^;JUB*}=Wc1Th3{-+H33NuSWfFOYB-?as;?nx7$%`tUjVVmcK!xW>BMPKZ{nwR|%!>0Zb{wE#d;hkf3ZjN$ zGfNB_P4?3attUk^V@9-Gpun_Hu3wX%SXUEP?^n@N?CU5^e)8WviMHXWqB`Dilt!lX zi^tERTkeK7LH2_G(nk)c!-S0wMzG>Hv=St5F5q~|1$)|ez7+gbj~JtE7XE1#3~Ck~ zXcmaw=`Uy&Ip7B4e(HB{8isrtl<4-SWEOL0ALj#B+YW1oLL{4?EmIifD+ZT6_L@C3 z`vuqgR`#)<@0P9*DxAMHs_%Tp2(p?TBgRZ?prbVg0|g%~7{mV$MsNm3I3c0I;2!Jn zF5K`Q+v+XC!5t*BTof??A2T*Sz%(`gFFoqQ;zJq%vlKc=Pd&e(8MP*Pwl}%|a2*{< zLiBJ0o~Ahni9BQ1%olUKLMw35JaPIYKlUU6b8xYPVES?0_5q0Wi3oGxA4ROGL%H;! zvdth9M~tbv)pPqa-dy-IA{z-uj!fQS_syt`2jaIN&08b5LkjMsk~^n#*_``}MnB#I zNDZ+ZM@fyrs#6#n>Bu%%?=jn1)y?E&J1&j!t20ZV#GQPnm_p-C|71r|jXv82iEE*X zRwmx{EZn93%Ixeb1z^weKMZzn7qIb+9Nw^ zoP9*6AHNrEY(5cpdW-{h&&UsiTbV89N4`~H$Q={203~Czaq~k@H&hYD0@vFPme=V_z>Kb}9pwqLTPA5qh<<8~3)H}*`b>s@UbAflL<8q-hSF}C;2eXXWcNrqgJW-#@oDtY0 zgjzyjVu&R9!ck$U_JlgbVM6i53BnO#sOE&)MqyI%B=y2Eqp0rt>7(dijp`^7g!0r9 zLS^L0NBIIu5tQ;Y7D82}$p7;Bwb0oHr8)Rz5)zM4IHWg`T840bK9b1KL!ftZ+(@xQ z$ahNI$TLGQcM6?IHB};`t%LQ|2fNLpIAFl=gC$CO3Z>y*m9W91(n`SnK^+2BK}^o~un@+o;CLz!}-nNw}O zy7uBypkuSTiRy~5W0jUb_nwHZU26MK@C)UyKZ-!!kHC~7tpAkqs!+Qz<7rlBUG)77 z2&YicDK%zRo>OGx>{nKyqEq_xtU9OY$r%X8g0KUDssoYheXb;m@EnR@9g653;BPoU zXbd1w1`s&|@TUQU*8qZT0MQll9O%-xh|*MvQowj=CS_^Nd09GTS%^iMfAs=vyR_>m z?N)w`{Nw0hDrKT&xpa0J z!)x(0N~(vV8J1K&6w@B*yikT)qEW&>Wt++Y^;5{^(Zq5mVzxQ?O(juBCY*sOXX=(& z`%Q%rN2;veDrdr$Iq^*uGDohg{wrrnt~2Ij&a9+qJxx;wh^!$EQ>F{-kZI$Bht`7b z;Vh?a+TH2)xQ+;C94BEZxc7W$8ZYiwgRb__rxVNb3Jdq&mHWTi zBY{pl@XN5=Lb@k;Z{Y9?Z0@byLqw0(xMerDf9|AQZmCIqGHUF3(d`J(?HN++C{pY> zRP9Jq?O9grXjbfb*lwM>``BL5c8Kuc$p`EZF$W zA%4N6W)UW4F=%GtDrV8FW|1yt@ML1-tEWJ);Ci!&S+khhv#49MI6Sk+U9*3@XVE`r z@j&Sj0_iaX=}`vgv5DxB3h1#6>Cp~u(S{8{NDYuk4WWOw(~1qjO$^Yshq>I)Z}z;s z{NV2pd56hfP;&MhCx_8f1KUzVU)B7A)q;l90*cf^j@0~<)Pk2@kSuG_boFt%hw*Mj zKcIYvb#GO@0{^|B`3``4h2Gq`et>=t_T1WjKzt9uzaaAMnSKQ5)*<%jBeNR9_>8Dn z4Y*wP%3Su_T=wZ)4)|dA@^ffT$3Gl;waL*YOCCA2DO4w09%{776qn%{wZF-ml;#)} zzp0y)=^8b^DIb?cGpc@)J}i>DOIs(uT0~OI^-KsfDWjEH*Q;5lkXVFLD|Z;Bt0EUQ7(H9}mnNF6W4%$y_2Am@s& zy|N=^R!Syl3@60r@f*)w#>w-dt^W?w$N{#4)k*C`z2hLmw0uds2rUOE|r!RNcTaUeLc13s~r-%ae@0riFXV7fKm#q*y5`8FUn#F%0iVMsQTUe1lx zX_qphOiY_5E@lY6P|K*fM_o4jIf?C+Gaxo6tk-%3k?Mm;-6OFtz?u)4`lc?1WG+Vx+51r0d-mDK;@QS@I(x7>2PvK78J*Lbmot6Xqj}i91lWW6 zTKz*(dfZHDeGbWY^ze6tbhmJ}j$kWxsDiBtmTl>ID7-T#FNA&QYDr72*%@u|nr;4? zt>GM2lgC!$$yWVnR>LZtGc~VqJGa1icT_$T^4KE`nZ0w^Gj*AxM_R*n;7n1HnEa8z zk0p2&ZmynGov+)3wj2+sQ(7hrIZYUYAy&O2+Xgo-H*nWSxYtG$u8!zjwLBYjRV|B} z`&(lZ9|0%sF`{mOloyWoI=c5-HcyX<&W_HF7oM9tuI(fE%f4&uzCG+Snn$$Ohs{?7 zL5p^n&ERW7`yn!Z1xbsJ$Ssm<1=qE2)pxP;pZ1Fql;5JW>I>h~_uMzSYtgst7vKB$ zc{Ow?q8w9hdB^5>;@dKVYg5NEY;*F9sCwTrv}IA#xQ2CA-LeLON-3&I@cW1+qDmpE zv9KnCN+qi4kS3H$ev%Q1CWT6Q(s4*@o=xhXYmwG?8^E8d;nq4EEoZ|fmxHZeY;)2M ziCZXaOVW-Dfs6qL0SSSOf%Ad&l{)vyoisP29X7>|TV+>TiTsReA)|7bqyxr5Q2=>H zjp0$X|5wZb#2M9#N0rh@7mPzD0qTsJ$D>+lWDmyv)Bxdnwd7F+b z=*lDns3dx*6v%J@d3Z8LcoKVf$}e#Mv3N3ycoMUCigN-%S^~*hy$QLqe#s~EF3T{vqoa9K-*y)dzs{|K=59q0QWPbB@R6b!%i}E(2^My z=O8ILic%&pJ<7~%fg1&DBTqSmX`@y>EO%C`Ru`=VX`^MUG-#vH9jB=nEeC8kh+b>F zA7*c+K-|l9C)6CpdlBu7yWV$w=v}4wjv2nnf6;u$=Ny{8)_lnN#Ooe~b0_T_rhU-* zj^^B>f9%Ersg;5N-(r_*6uIHj?FuUmNXohC9T;OMg$Djb&{_N|-Fiy^*(CSJxe}=} zpxteWvf=*#f~K56j~wpbondF%S$4L)-ritu#4#MVH`$x*E%sJB$Ii9$a0EwvHGTDb z^?eO|4SkJ#jeSjgO?}OL&3!H00_$jX;<2{Tw%ShHYX|M9owT!d(XQG}yK4{ash{Yl z`kD69-r7g|YCr9-19YGc(!n}Jhw3mLt|N4$j?&ROM#t(n9j_B~qE6DuIz^}IG@Y(9 zbf(VI**Zt(>O7sV3v{6_(#5(&m+CTIuEDxOSL!NVt!s3xhG?jUX}Cscq(*79#%Qd@ zX}l(Aq9$pwrf90BX}Ye{49(Om&DQn0K{x6q-K<-5tLA8~=4rkbXrXS?BHgaVx~Bm=!stF zjXrQ86Itkse&~+@7zj7AF$jaFoU3yLM{*R`;F?^EZEWW! z*}=6rnxEo2T$k(d(;UO~xdAuiSZ>6Pxd}JrX55@xa7&KkR@|D~a9eK2@!XyhxC1A0 z5+}2hJ8~!P%qiT3Q@JaraX0SH>D+@e_!;iWy|_2`VHam|7Wd_T+@A;VKz4IB58}b> z;T#^qLphg+v6qMQ2!57F@^d_jNAnmS%j0-FKhG0*BEP_scrs7nsXUEeQ1w1wcwsY$)XhMMFVJwz(M!d9{YAebqW8lhS}wboO$#NbS!z2qU3Hh|_LpG0#A}bl zW};+ez2svREmETCHJV3Ll@MAZ^2@%6MxH6hSjv6W7pe9I58O>NdRM(<+U&n( z+Etur3NzI%9$h>|-eo806n#Sb=sX>h%05UJ)kf+*^{jf`=#~%5L#8#f)!2|G(6Wcu zGmbRo8haSm8ncWIO?6}*CGV;X>Lc$ex4bWh%e_XXML~^?i%q>v9`(9<+q7KNM##N4 zSMH`IG%X=3$1`w1|9*Y5GF`oTW~6mZ?UK^DQ^(|_#10AVHEq(k zQEbBo^<$o{SGUen(X|~<+HJLJ)`*IXs2*PJiK^BrmBSd8(2z>O6)OapO-9wAP<O8=rZNmTovIz^;VP&Uoa9K#2^Inc2viVUNhpw=aJO(;#FG`mAU%0D zXRggBb6wUg*paL!{Qzecml~u$ji2A(+7D=YA-v# ztp4pj)x>)UjCZN9vmz*h4ETa$XVIlakx(-o!qsh4PH zx&F&|)yKARmht!Q?6c2K&UcsCzT`6JKH_}Yv12=F?J6HfV!Qe1wkC0yZ~efI+btCn z+dn{uD9sR%&K(k#_SgPEbSkMfA#p9zlp?VO5h@LcR3YeplPE$$Xp6)oBoJ#Ip7-vO zrBxAFckkW%d!F}spYQivSk(%jZwQ9N3l)8Qt)iG6F}$!|FJKj`=RkW~WgvX6KduQW zMu0xkre3lhsARd9Tn_R;*3HostJ!Rr1{DcJ=~9z-5k9ezvd zjwtQe@2AT}tyrnoi<(@lSL)Txy|ooh=Cu0FmX`V}g^FyIKLPm9uS#a|4a4LrtHd!Y zLRg%PbFa8KZ?-L*!l5e4t5v&kOlnG2QuqU&lmCtE)Es0#)BvuzI`;|a)&kv0l8d<2 zY(j^SOfHK{78F`8Lrv7I{Iv$Cl_d}^;i{pGXyL+=<1ENbCwXuWTyRhjqA0kYu5RjR z1t#X&LfM|nXhph(^kfX;SizL7eM)c{Q`Yt=2g@rO#7&%E`XBjyIJfJ(Cdj#@<$tU7 zo-?;fVB^2CrZ?+^zHPcpNu={eN)&$c#h{gqnco=W}VaIyPCW=5+075!aQZ*c@|)$>QE@vY%K3=qpW^W#~juxeL~dT##3B zuuZv=w_1WB9fmje{#42176>Y17RgC*7;V=+nrlPx|2NUsAkklY!&p5AQuINvKpur{ zt!gQi9WP}ir=sv)v)GhJ=?7li=Yilu;VI^D=Z7LBYNxnsJjvzrrAKCmHnV8igU(PY zo5k3^aC?3{CLNy6JVu_~Cqw(VBz*%PBP5!-sS#HeZtBF9rRU4HIfUdZrSdJ3Ag3!+ z#?2m}m2b-k=@v?26oYso;|ZE4K-w+RYw=6Bb%fR|s>=ebd2N$G7Utc@2vpl7ZH(K; zNWfe+rdyc(RZ$RE!3AXvf_~1_PnN%Ftkx?Ab~Xyx2?&|3O(2uhCTuWw z1PFx7V;Hvb)@4;u9za;38XyaS|JtP5Q0peknlB^I-=i59hsP=i=$OOgl3 zW@~h|3Ju3z?*~N7?k@&eUJJr9wr$jdEpM?tXiJ-WH?&ukL%*T82B&iwCnl2M8&XF` z{c*rN1&!1DINEB#^}4t9$qQ_Md0P*j7?cYaAXkwLX9~EH?wze(%?cw!;O+O}zsUF8 zCDf1NXcc|96Tj`R=2QT!=?DlroGCldbnh->r+8i);Ngtj(T6cZ^5P41+Va7})6 zZzs(QL^zj(AGgEp@EL9=&3$wyHB5|-Opr$>sL_#LO=U@sHhSbpCLJMz?J!}fU@#oi zMhRZw@l773LxVlxUMcW}33<4ugQ<+YK3%L$bOn0G;&N}$Bm97P@Q|je53!1Jr2^a{KO@pm} zbDu}uNJW?Qyq8f_x8EnLtlA-}vZ7LM*4^3N-NT04yneM^_EElu9+01vNuH8rQ6SnQ z6ff`_c@$!4$t|d&3r%K{;Y^H2;S4Y2#3cMf>)eg;0?Orv;iEH?5ppo_LO91~GTi#s z))u}~%IE|MUg_&oJTx6_4~2sY_~s~)AtGcrNGKH5l}?FVAlgi*o!t0jb2+=zM_l_M zQ4*sgLl1sNy#0R4C&qfzXH&1O%$?{S%QC4H^UA7g>9Zd{vzYLw$S(4`(BHnk_ji{7 z7R%^moonaV;7of!_>%ClKnY<4C$~Nf5V+dUN+z z+s%)^pM0U#{BuVKQ6`q}5mROx#PTA<@(=E1B%v6}>9Q1|A`MBGh>g4?uq_*Tc7Pga zuvFWnXmqISGHt1SAFGS?jiFAF+XXE%qmZ5aNP_GeRjkA$Jv2l_>jRZ1T%#i-B(CRT zqCe#Gg?p34d%yT}WAW)Z{mj$9xsmICru3bczIdeLtABhmKb~p{sd|B`7AMtUYijB3 zPj9@_+Kgm<)pyVTmT+HmA&AMVp!pzZo19aWpj^SHtbKwg)Q{gRS7GgnPO9`_x=I;(z#$jxoKtHa6b* z@B@Be>Uh3+EyeZC%u&_Cqy~=K_Xh+17)0y(5@I=4W`D$*tec@&h9tcV6QTlqH=pEx z%74JS89vm|5kmwiW-!7unBlJONcToQGB~i2AM{e*#vm2A&a{dR00JGQYM-(x%Wv7I;<2M)pH z0=dz0n?s-k2={ACMWG>-vbEKq!?Y8q8*3$8GY}o!*fj0W#I&tK>e5wRyG?Y`#*a-j z8=~zxX{E_w?{{oB2{1<|J~>X5_j#Z9dEVzU6J^frhH}&ziRU=s0E#teG!|?rYNQs8Mqwx!jgt6;$CI#+D=IVJ3YQVw zry|v=NEfAvOHt{nWszGh8K6UR70N!K;3hDvAn3#b&Mj>o=w1Bsx|#dbNhJUA$d&Dz z9Lu&2?k)}YpWFNN0VbJ6uloHAEwc=SgJ>A7{s?uxWvLVH6t+Z93U`0?8)53y)}6V+ zP)x^h8h7K8g_SvwNns9Js1ZIH)nk2;kNVhXF`1MrE!f7|%6SEA3UC=*pYr+Y%XuHB zCSqD`o4#Sf1)aI3NByouRAielO+Xphv~5wvo~t4NnBd|yCcO{QD#C;3HLMbg^t4=O z4uph}Y|J?Gq0$m*6o#t=qc>wARxODc!|muoOU!Vut<7gOsW?to-}N}UAdDg#%}f?nbV^mUY&eFpfy3#e{BL@5nQi3Tf`ETskyRa2NM@@l)4wU+ZNRw+vg zg@>9jR0bq6Kc@R#%20L7)ba=wXm;54?|GBy~7 zOvWw0V`ZDL$<$KkNMrZ0XyO)2#)C~01kp5zLR{VeV$KeaLVppNg1J35Wqk;~tR~CD zBZH7vt|hG&yT73|W>CtF!c$KQr@^npXRp-IZb2K+arBtXFA^~QdX*cUziS1WIE$KE zr@i=Yhj9IpaOM%TO{eiB>BjwgG7R0wP)m4!#Vw?4(4b9aQsul;m%)}}Sju9BqS@ih zV9&AGENsXtB49xLPO36W$ZBQNK?%rvcK&?`#-D(-JOmbh-_O-)WeSBQ(1^Ch1FU9z z<`0<|W2EKtp|(m~xk5_^+Ii-KrF^|er`f~ze)T#ouNeyU3%hUp?hz14P9tvkYj8sY z?|s!+Hsq$-Z(Bxd;*X@nN1*EQdS=X92paYOeozfkt2f%jLTHn z<2s4tkxx=l*4Qe;6RZ#Gmbcp7kP(N#1yTT%Wyy*GprN3|SYyf{d4MR)`y9zE7c*yv0?C1Ib+<0- zEwp!kdA~y4J2O3VnNy}ii&}m9h=1Wg-kKU)yIq6UqkN4?VM;hJIrL~I{|ihes2sJ0 zZ*n>)j-xOKb4In(ekG*9a^4%H%}hCOZpZCKGj4FZ9l?MD*^Xwj3j-XQ&;qjwV|Bfn zsw=meUpxAS-?Zq6qw|^8qviT~=Fzb1ePt)a|opJJvK6 zLM?4c;h(|0cWpQw<+wfj*X&xCU3_9+L9#-)(zDo01UGjUE?;};db7elGFs~C3oE#$ z!;3EV^|;iMAI|*9-ZehF;b*>U+RoYv9!p?8HQ+-k=jawEMnQP=Z;>V4Bw&Y6je%A)`m%JSYqVX zta3?%jI}IcYK@X$O5V97vp_=oF+jo#t+T;U8@d`XP$oM z;EPMPzx#Y&arY*+YyI-YTXX4MJC2^yj3371hHO>|_U%qB>drPZ4=)@iD$dfLGH7v`jtsdf7hR9yfEy$MxwRGN1x zM3+)9OhX)7EwIX?7R9=_~lE|*g6-xQla1zGpRyrl7Su#j>fG>-$iGd3pxN+kKeqm~AX5;PKM75Os zPb!yx>6aVyx&KfO1w~%J_{X^p^8P_Gviyt8zm{1)v)zRsl~4!y3%KalgjR}T3twbr zO8?`&T!X8st~ma`XYX?^DCo!|AdesJ>Ia#;*e;bBO&x{IQl%Q^$JwknOLf~QqLskcwLKX zYcpAdo_5>NxU(9I?Mjl2D!mrfM&3ZRx`74y5K`?y$k!hs$~yy5`W3JNM+ZFt)6F`q z!1;=f6S1cyVxK(;@y5oxLHi>SU+gu;p9JI6X7nN+GMWq{o!s$iyPfg5ec0z_CZWA< zBOw`2~%+p(@ z7obdi0iQJw+3Gq{bUEXagdD3k|Jd>0f;A8+&Q9d$Dw4wa3z4B`!l$y4qZVMgwI6YM zF2~xSqZ5yw>MXiY@1%Z#NwQ9BaO@CbPfP51cWk^Xv_BH@g$$)XF~+B)V1S&W-ivgm z{&i@azU7P0!E53({mc=+RVU+rlC>1=mBsNYHx4fLDx{m3d_M((vyMJU%)&5sEzut% z+ZxGz*oHWXt91&)Ol(_$#6A+)gGkJNxM&~ke~PvhV~8#a26P2uca_(>P_DaBKMfzx zOc}o)pH)moz^j*V{I~GgzsD?n6s7t_-cR5>k>$L%gZ3vONx#aNq@$CwgEn;MnT$e| zI>YlO>$CzVI)vEM5@X*Uj1?R2ir60sebHYUe});KiqX+34ql`jO8OJ!j{EdajnAI2 z&&_$M#j`36 z!>zYbq_R+CeT5>=zmaKuhcPMxV?6I8%d-!i)x#L=d6(bP8Dyy(GLZ8pBAw3`T0cUT zwGFve4?LkVIo1)6GRF+EE+JNQ>yMb=oIrNlQOK6_?fjK`D)nC?+xrmZdXC*BKjZj) zyndbI3fcAwdztaN^Z>F5PCT_m4TUrQ>1z)Uijx?`mW8+eaZt!ZDx^-;OTrQjcU z{i(p~%>w82C0(eWC#R`*C+(Z4pgpSu z>LWScNV$gBY1D5}R(p1!E8~1FxTtk_%}T`D6ji=?k`o<_VqpSk#3IQFmDGpqpARyJg;=k_^XC$oo;`Ryq;^E<1+ zZswsH{Xp;n^VMv%9_1>5-{G|2E!MFbJ)O^{VUKzHq=W{)Izr0)CNn)+E;7RiyJ`={w4d>l= zY2y$?o4hOE=ebZ$HF=2nM~@2z!Z}ynMzP5!M>)>itNwwyHrlzYGt9U47WC6+ z86SDS|mqetog1E^IX>QET7~Vt@m8VrZ93&J@rT<1I%82$o-K0Oyj66LAk{g} zxyQ&R%=b<=J=p`Yrq~Uhu{VuYm%B7x#1djVm{dap9w;y@L^k1$G zPItzvggSc}Q_sbQMy{Pq8!C8qMo`LrPc`S=r%qCCLagk+a{!6zB8oKMZP-o@Bi5WL z_pCLaC#kV=p1Pr*osU9Ozdz(!OEAEBkMAOOJd&JeIX{E*Z=uL}k$OG4%9^ZSK060V z>Pr-uTISZ`@cA=+glmKIW1f>koIgFZ9&ISM6RC?mdlAhu`I(!uw@J=s-Q8~Q#SbNi zF_)#VM!|CdFRM7b?Cp#?!TAgP0`o&(=WqPR^0CbJB1R`7#z;SD$Fq}&RYv;prrF12 zJk7BbBmMlwmIXKK&smES(U)=*#}c?-el-tE+hj9OU5B6dYFOJIQ@b%ly~F&Lh>`3O zp3}pzl4Ij}?WbNU^T=<=e6mvJk+(=KdCAO6#2l`%(z<|w>T~p0=V(hQ^U-DQK|YqM zPx(GSpU-3N<~*{;mGxu-*+gC-8_hgFb44n1RVr%956D82OjeUQWSKjjOJ)bcT7l)(8E-)9!}A5cvQ}S zF2ocy2Wj>g?m6p^sTuj$?<_}w{WiMkiP*xrRoGg4&Htl!*bBYJ-e(fy`w3+M=|r~i zx`DmZRq_RM$*(!qjo+NeYveTVKj+FV?6VqCq6)d!AMt;{M)bA|5Upk-MwOC2?8)xY zI`^voYxd_MQpbEG{)nFqAzQ^CJz+ux{vw$)tkB zl4SBYd6LW~d1M6npS_3qeLnk;frR~epd+srl69f}JFtk1BmGHFjs+;=C~sj^;5hXW z)K9ovCf|}0j;{;#zCmX3`5Ba~ zM}Zj1HPYWx&vWNr4E-Nzs&MW7xx3a)>K%-&X!?ok({_>@vP*tqzwu$M`_Az740p|g zu5H4bcdi5Ma06UBu$tV@v1_hv*F!Oq7zWsF29l`Df0+iI&0182w$dNlZ()uzgS~AY zGNdmuz0D{rQuA4}GEuFTV4FI|Z+9`$bS3(*SMJ09rakA>sTJ%`*`LUBYA5sOPW*@b zat+S1xZ?Of&%66PAxJ_rK%ypGVh{w=N&^_VC}0(g#BfOqfi}?qLV$otV`>_UgF++| zS}_twJ8A`FT3adDpiqlWTT9Uqp`cV$B9;hMq&LPW*z)$b&zm=cI$A%sAO3Upa`x;w zyJz>DGY%gX^@Q*-QIja4m`+v9LjK*75To>=m#RgPTeOJ3WD)-Pw1?K_Rn-QgHQinc zPZPQJ8gjpYes2}nMy2^n$@R8snH^95{|jAff2*1>)?Y!MayNNirfU83$hAIzZy&kT zdU%#-tSycn^d>~#4eJbYSUXBp#MWZ$8)Yw6soAM!^cp~H9~#+1EYH=V;Cd~v`MjAQ zA$N9|lb&z(=sxoPK@O%~ef?Y6Yc=O}R89Povm-Y}zhURA$*xp)zm*vBoThZrB68S} z+RN1d$~w{D<{ije9BvHi;XA51aq1su-r;noywlq3n7>_4dDPBa9W@Mmg!Z~%HBW^-tN za?IX1^^a;ZsP^9`CwNZf(8nANahRI$Y;pF!w`whswPjo%v{QQcv7qI%T?A_9r?p#{AZ2rt2Ov{6Yb^@m1_2{N=PTCD6yxt z*1_dtkwa>TG-(C?n;qg2a?%F1*{d}*#6s10Gt}lq$(5f{8$Os%uAc`+*lPXQ!E8}^ zP_FW%Uf8)umB9n5Oqzt8RFDk5Mvl{>2OYen+D2`)$?nqksD0M@Bhcl~fPC2=pT z!=KcJ&&+S<{y@;7b^jH6wd-uyIjk+97AYj3+{XQPQZtCV2mEJket_&OFecUy$L@^v z@u^a9KlfV?n!rMb#Nk@u5R47S>m#GJ*f_b{!WwpJ=yMNhrk$!hFv1^#OhAsZ+#9ba z%*F7v@RzPvtct-d5y|l~0-VVOPnVgBC+wmBDFNXNIZTr-{ zeBRl|@9Vuze2kp#TI<#8dH;3pb76U{8YVv7P9E2X z$8wxZlPB4o+V9Z)m{x${<^*vL*cW+=IplaN)DF6I@jJ9A4!ef)e?!mu6S3_|&9Rm0 zZKqS$wdz*;8|V(upe6P?`t4fcy$4>?FncfKE49Qwf{fK*6Y(p6&(SL8@>Na@oPuA> zvP0E3cu_g#qoG6ADgEFb5LUziHOX728Qv;onzv}L z)g*j#2KO?<{5<4$YnKp5XGC69StN=7>>b@;rYX~}WuH9tbnVDV_D_wTv{&)x?Ib2N zLiq>H5n^f*{r&uji6A*T(Y7!?PWk>GjkIrq1!~}r&v(>jFgKbw{X1&BJGId!sFXi) zfgKz@P7W}iGfFZw#ONa8^Cswe@|2ID^P>MiuPl6HHnuc*hofbtf_8%%{jEx;c1brA z_*-v<-oTod)hF^KIqo3UgmWeA_pU~o@yMuCz*%KP9#&8G$c>CqY2N6u_6^hU-Ds3)>D z&3hO+m0bTNXoiv_WymJ3B)qC>ublP(O-p!Px0rXS^QyqP@J(lZHfw&bY_9^}E+pPo zL7%5yyIL1V`Y4T>=6r7l^nc8rE`K`&j^Q)T-|!FTYxWjmHU8#&4IfI0`x-u!75dq) z;O&U<5f?&#BlZs?hbeKs=4WUz?=u;>Tg*%N*Fkvlz-08gaG?UA_ngHJz=AMQ=z+8>`nSk~X?7pA%|0j0Z z0{r#`e9uxZBtWkO7lKmyh5V8Apfozs&&Ed^lphpoq@Nc0Zv**Wen^{{Ys6Rn&A+vm zfATW^$u|DU#^`ZsgZVavf71PnZ{U|nj1Qze7c8env?w{G2WefIKY}T`u8f`@1asVF1pXZ zoc26?c1A^{{vD`D^Z_{xS2$( zm)R~QzQXtpa)axM_4}a1m5ZGUec;>b;pgZa;c^{rW^k0&-e}dL1J!oLxcFsMI zI&LBQzp27dMwZeNd%!c8cA1ibGH7q9+j3;2)83;6z8iZ&xjwd`ag=kKY<5* zI3M|o=|2UER6w33lY;(B(fC# z!XD(AWuQ_6{AA`qVlg~JWbq&2hv{~QM*CmIw{Fx}JBga8K;y}EtMK9TY%6cET|E;M z;28v#Y9Ky1oZNdLdFUMGueD3?vkVOnc51loiEr%0&;LSwdRjxhzv2hSc;|Vl^s0zG z;!Ok^<_%SzhYsEra=gLpecgX}F883St}BdxoY%dmXsi(i8?|N>rNNGv_!z~CXd{GC z1ed?cirsg{tj^+9xs!FN-w+L3A!N0ZhzwskDb z-2Tp$%OBsYbN1PLpZ)E<*IM6VEo0zx9nJlmqPRP`#t&$RR1G)Y#_yAeA%E3Roo>uM zLt$39UNEIG=ywM#SmaF9N;FRqK3IgN%{LdS$Q-Lsrw?scROFd}j_*y~`myrt93|NA zarYJ|+&dcWn8#kdtRGpYxQBx@gqkDE9*NH$Q6_nMinX16oTITu8@c#ve;fB|tnpA| zJ%=^j&eU}4AM_v184aTUW8&Oj^g8ix0ArHSo86py#La#9|0d#XvR*~+#W`vC>P2NZ zWr}mHUBp>0z&_D4_-!Bjvk&{-hgi|ayHpdLa>g8B?`L7pV~aH|u>b$Y&u_8+b2ZHS z4*QSKIxjNk0nTla@~xR@iBatNFEkB(l1nTdXf5DiBz_fU)vK8pQb^s?%o#UxR?XH$ z&SI3BjU*TT7ORT(t7?Wrvz-q{aW?bX?JmAGX@=EHgE+?qv}3p@O})^!HaatcIFoGt z9UsV4o%t4ZP9`w4)Nu8OiROq?U5H;Fg!ujE(4_8j9ez~jwp$Ye{p;K@=c}0~p&(2R_Hf>}s==sm;lFEJw1=pH z^Jw7CH}Ean`tqr@y?l$H)_e^ay zdz>ALZ{1Wp@imti8jp@jw=%GeyiZoVkp}kr)A50LbF#)cIf|zSiYLzGvfft$wwC^( z#K=hX<4&$b3s!i(q2}C3d{1RBPhg{2cOi3}B&S>oga6F#?iZss44=u5lx1^u68{9XEApwDXf%!AJ{ z_^g1>SMVVZS(h1$*6pZY-I{eUTFb3psW;u)6%Ivi{p!}P)U)Bi+7(|~9;jPy(B59d zTJLE{pnjb|oIj@mw{~@oE5^RdogPfg`!RLsU43G0^xv~S)FS+53Hy_2hxps9Gb%K` z(m|^QAKauU>wh|C4O3^dUxr)1lE*u<{;lSD;^Jf4JiJ%??>hZ>p6|csY}7Po8PA`> z`7ZIWiyUhYxosG2`<3hbK>sGNQ1^HN?v7WiC$K}KST`ulgT|O=s`b2ba ziO_}s4|KiD3IB-;a9JeB`Ii5~!)a9#bEMcm=iSz2>v!_9PsNs38_W;k^MqLZohpq+ zUA3;EjrYL2mFG0|Hc#-~<&mjKY@IzsYt8Ry8^Zf-b#bQfoQGYaG^a{yX)88w(6*bL zyMsK{#`72zIGcH|(=W{tA))37V%;~a8+bC9le4w_+-X4k_u5O9VBJu;{W&qAH!#3x zZF5W|P_HGJH;J!}^hsBOrxS6l3-j%ve+>Oxo4~gm_VoepO*&(b&@6J>T)Tud_^BHn zX#lp^a$`^@74wf`a#%6G6J{rp1D~kCxS;*!DL7u^`HE^is}#+?MzeRN+_%AuEhhd) zo3|B9J-VH51JF`KovqyS&xzUH85^hG)Nfw2asvCAV27bs7hs2LfHMO-mHmGOE!&;v z5$eIciFaOy%RsbO3p^gv?!zt*jPDWPmq4FbVk}&oLanpUur5m#_H=lxK@0wYdw7;} z@WL&QICh!u-8tLxz&RFJ2U$}L{e1LGAtt$e5*5omnZ&x@HvdMSuAF~0YYas%&GNT7 zukpM_tEqX`T2cHb9eyL#7rnX~4YkG7Rk1-I=-9W@@`2C5PH+&UfG}AW5~vfT#8z z>$s!$@$*C{5r4U@;oc_rzQZ2x1pUc-msrOr*{Q|$DOI9dzsFai z?dP?}dP7xa8)FI-Y0uPenE!iw8f)vV;ch?f%FoE}z5tJF>Tk#DG`f5@THHro>d(E1 zbQ*bX!QR)K9*1wY(cCwPiATwoJLKh@O4+vpYQ%1K5A8L}L!!)bO$++Bx4&uv=etBl z0(hui+^b}2$9JhQlIT=nJ+5Eq(WgtfrK8@eWgYb&r7R`)!dh>$t7k` z9_2HXxAg**Mc+{~u}!m82$gC^FF-FqFF-G_)@g_J2|3mK#OqC3i(ZOeie8FdO8(JI zp3sb+ZMI7&zd)a6-jrTYqJrrAT41og1-JO+J7GBbaP;9{_y29}mEE*A`gI-0Xw;A{ z?8as>7^sgtZOWY0L7c+@ZbXCJbKqPJVt)s@PbuGhS^3`G%8%tMzsH}HZ|_yoovmc7 zOvxN#VeeN;#y2XNdpY_%J@J@UJp z_3D4xCOzG+kld*+{rf1HSEyva3MH+Q_OscminBV<iM3Om)CWj_c8kO=Kd>;3yihl|- zPaUs1z&+-3PwdAXb@G)8gY(A#;*zRNV&&NFV6F`sXK;_A9}Vh5!n%;`F`Q4e)Tg*3 z?kMDk?UFb&;KPoXcAo=`e^tH@NdO9TudSPTYPqEa0sT*r9tes0#6JV~it8 zggQRwI)h)H7rDrnb6NKhZ3F5!caWi9XK-8S-=b}la|~(y*|v86mzZ{3ru-_5O@>`n zHoSrU-Xp8=Bg@S?kX3dS?{^h4rE!LwrFuHg)xK;Q8>WBePEkv2Xds=#YVf9~IjB)N zc^VbU_&aKF>eS!(2jd$u%egOWO3(31_PrE8RIe$uw4RO9_ni{SyNwq|L*ZDQ{koXfMZJsa78 zY#?vwt0rr(|r%qhQ`XlZh|OiJzyj&dHkZw*`#%;Uk-dXl->z#%qEu7 z{I2T1iul9;=Mm3$;sSnRGSU)bixq5mAwUPd4T(xW~7-G z-=oF;f27C-GvlCuhwQuB|I-~3d_#9TWgu4ynUv<22JT|5iJd}BOl0UZ{!#6SF;BjK zg1Ds2+o&4jU%Hq_jeAMwIzzB`kw#}{TF``r1%cFdM zbFKsCr15p)e_`vwqGH$Y$NhQozviZkeE@Z(Ou z+}h%Nqy*GZq@ z?j*=l@P!8ZDqUkYVfUO;_6%)Ev)T|ntd%))ybp8cNTD?UZ9UJO+M;R${;1mCz+2y> z^4NauhS&W$Zqj=D3$1r1&}TxlE|lI@-cv&{{|WJZYVtl;Q_fiCa=y;B-oP*4%^ZOk zD&_oL3DZt&@7w(kZ0))}Qq_H*uG`EU+%?)w`EAN?cGn-92HGcN+c?i@LB==@PCfev z9o9C0eI4L`zwP#ATE+cJ5I>Kyo>Y>$^V0eq&dnO(Eo3emRPNoUcX>x!!oBj@%e#Cf z|2ZF~Qr^Qi`8NM|mv)D^bEzMra=uqNZ(KI_k)tKeSk?jN`;#fo#Xi zwaNn`-}7>rPr$Poh6Rou{7o&RupyyPN{$+C`Mh@YyTTS87^xEz$<; z+(zU9+LvguY2%*xHukI3P1X;eJ%&J1hNh|4ppjQ*b6>w=eKa zGD#-M#P-CtZQHhOYhv5BZQFX2H@0mXXZG0_XJ335`{Gn}b*;O;SWnec-A}LoZ{yy- zWi9Y_Ue3JYG3Badsj(MPrs>(r_JM}Sf^RsxYzh3S_A!h{yLf5;jl#?~A#q0QxoAlv zdPt5eT;-{J$~PRRg>3sIVX1W^(u3)`NLz0GJY&d>wi(?jk1MM~rfYb#JvP>X&UVTC z*!hTCF7T3P#iwSg%B-nTjHw_r?j3|{X5L&aDN=*X=3|DIC_9p6WZWQIiFuZ{%xQyT z!KZ5Lie1LZ4yYn4aKJoz0NPsC`WaVaq65{5K*=(*RSrCG4mSsFM~ABe#MX5Nth8&- zYsdxkNWA}aK}U$)F0wd)O1u>6=*JzwuxrvC=S;kUxUjyMi2Gy)rVnwF&3?i6oHt_` z^^!tHb+OTm8lUF&+h9JL6(2s<5zs_`f&TW73}DdW6N3|v{bsigfU1L672xTDsx%;E zF0n}&(96TH4SJvdjM`*ffuYI=g?`0n>ZJ;7IJ>}BMjFZIfhg~fQ!9cNx^DB`PbxBM z_0TlttJ0cYD`*@`J$sF5g_wJF;@Vu)@*<2~TPG|myxwz5d%#Qi~sBRez z*%5j+?^NqwXH4KFDumjz!K{J|55!+Exr!X}voP-+-zrfPG%O#}0O(f&u);q1X&OcU zh}C`V@niAaMWAeA>#zRM4Q~*h%DWNofzz~(n zxTUd%b_oibVhANqn~-3JEnp;V#>!9+c5kqV+dnUTpGoz22L>rVZZn%g6LM2H-n zq?c&_$ad;QE+Wb7bl#d&5{D#`4m+T*lB?m<9Qr-oj$&a2V;UES)6 z%J2<7|C%&>4L!^zv6$?AS?8Ld zT@Ga=zLi;RFuXIcSo|~2oky>PIC*Si3@ZKnDuLXA^vs8_vHRG#rRP1$sk6PepC_8^ z0sac=;{kmt`t_6}*iAPU@oee4i#uG@cE6WKDSOoLZT~Y;WiORMce3LPy)3lj*0Ff( zmE#b&pr()99rN!v_nLy0SLl1N#4^o!p0$oH!AeC6x?`=y&H+-`+Z_bLlBBlrB;HJya z8HylfN5JV9Ry0>?mlHK_L#nZcQ!!Le8%w)&3lpRsqwd?P$X(rIiZjr6)PjoU@{w_l zb|3bgn87n~1JT02XE)(0MZD$d{soVrhx1|FVTFvCEDEwFkedim-0b3EcC^qdZ*iQj z@G--0n4w$XcY104+gs(Xu}&`aDd?)pJ`VA6?#S0y#y9Tx_hVKdMiPP^w6k;_q_|ya zk^_Vk`jw6U$QF6JYrZtIPv&^`L-(?$aE5xXKEAKuR7O})ZS(B59e$$i6WH90qX|04 z5Uo{|_q=2ZG*3yr&)-jJ{qLUxF2nJ)pRFS+f18O1-r$FKHi1-i1nLwJ{%EQZdiyC- zu3;@EU`RH%N*9o8DX_Dy;{3Ux?pW(~7xRLH>$QO+yo5H)BS&jBKTLT}W^JbUd}7{4 zm+SxsW(k%)2fekX^{$S7^T%-C3Ee6qtLI}Ze5n=y)~#qJT^iERR-c(K0tosnJWfmv082(7Ns9hj;j| zPP%J+TtBn@+Ej!>GYPAAdb4xnbP$F2ssquI$)=*3mlC2AFD$*id${$eSdv`*EHqNO zUxt2Qd-pNBN4lsd9Kjwzcti`;-yWAF+ggLT-K?w}`>QVPW6WnP{qCCh zyo|XkDYc#jxh@Njc4;#xX*fZCYb8%sE6~_0R3;b8_Zm$2zYsjowDcJjb4lO~%!^4NJ;KwID~UAjh$c zBtt7yIYW;n1w<@$YB*0202R<9?xFdWEz<saGg^E5T3;x|i}2_~h|Ru?V@Al{ZXp(D>AV<>nVlKGKDx zIXz3AU8foVRJY3MB)q(6Tzeut9Z`;ZeTy@9)i|?16u5Vj;yl#d2Qkl9C!P> zKWk^6-)(EW*o8fe#&X+v%a*4Ge*=d7=+MKxBYl_m-JbW|_=cW$u5X)@U-IV0EaUCk zUWj%0aCnyY*IoD5q0RZgaQzHq4^K3tJqSFv1h$UVG}9Y?we&|KG&6o)+C#@cZkLv; z^*;muUJCTOdglt&w0cT%eDPSCOa=l34XpIu!_rVqt`x{r zu3SUM{(QPV;<)E@s0>-*4sIt298Fi2C#YWeuC2}u))$4|Sv=S16$AG@5KTBWqdNGfG513w3hVu1~nnf6mSYuCM9cPnIKHI5brH=wWGB= zA1#WL2DMRc@Pk-)rwok!k&2@()`Ca^!hiHBF#HkP$io99ZLq5aB47%lY58Gfv;_K! z%kpMbE2{;43d*Ez>#Y~{^Y`w+Ss+Tb)4h=GK-Wgk@V9x)j&eqGx}R6g?6izn65yW- zY*(w1ry=fo%0Hf+FbY7gogK&cZni5k_T~0Ag{PsdMs2&~mXr@%HoM?Gc=5YqAhgi8 zrl0*=QGIBPw^+uy!(FL(9Tf3e1+q-rjI9oAE?|5By5g#?$M`;fEXc9R8*x{`d?1%ylGdpPIel@u1Wt?5 ziM4baR4)zY_}wG94Dp{8i;c}#>)ch^UsylWKHm6Fxgphhzkefb-O3nj>N{Ot2*X9k zG=6I5)Gn1T2$d$RPd|lFZW`_<^d@`P#$q8v zpKm?6#J?sylU3SbSB<(&JxN_W%j>y9JAKf48^!156I$ySK2;9o7H;)?@;aYqhw+w) zy#lt5{@j}IURSDEUm1PEGv_!lPOlA33O%1J99AFn!=WapghVLEdGTcEvU3#eD+g(=iLUt>q1BX5q7>0$c!( z{hUr2cUg^rSZ1`=P`r{l59DSV~-W%yAzvCbsl=w zI)PPMx7{CkBbTT+%x)GP?}NfTbDT4NSU%S!C6@tF!7n3jAo#a9&`L0s3ciggMuHILb!% zTC?NA&Rt*}=LX;(DQnj4q-~`L$O#;g990@uzaEWea*lp^$%$@fHjR1Z-ojhOXXZEtP1#Ds9hEymwmSm{oNt87rT)7Xcj%u5g9?Yb3D2`<7o^*NY^q zw88c6$tA0AOV+CGPEK{()rQfBFRJ099N4cZsk1ZbO;*f=4SGg|GZcZ1%!|HW#(HIu zi1B93tas%doS6NiD^B*tnE(gh!8N*a>V?CG8=NGAT*FGc51)!g%~WAH$5_p7wfoE0 z3nuk#rcD-{?3@Gc5=AE2VgRqZ`f*xZF(<73SD4&T7?0bI*$UxZ z&zVLg?_Ck)Za|$6`fK0#AGaC#4(#PUVwRLKIhFH=c?5Q@i_{&xPmFar2eUs#`I&YW zh{}1_S;~YeVm;2fs(OhdTkFgNzNz>Ap2(?lGC#i7<5S>J>~l1eVAJEkHwB?*B_cNp z$$x>)BjHHw(l_1okXZNbO~wtqrH}I{zH)M`O(w(@zAFSdo+K5T)45H&*nd_TjoryO zdXr279g9x(tq$2kHg?}OV+baD6Nw0<1R`ve9<%GDq~`GSR*$VNS4hRgG}gxbzwO{W zW&9*I<}p!U!Fg|&Zwrm3GraN~tRI+_z9zbNpl;vJB!5$zKmoW&nDW)T!=8Y_zUJSSQlb7T{~u zdx&JX)^eL~o0*v#*>wtH;=J-MU{1QV_v)B;g1M48=|$6GOCiPiMN<8@GG3?^aMYaK zAFB;Zl!V%5O)jl=B%)7ta+90Mq z;=?E-z#(QsUCpuBtX)qnVVh@cL-B}raHTVTcmU_CR=UycxijN>qlDMA z#WS7bAjT^UsAgY#O&D64_YLPZ3q#p#^nLxo7|ep3^DS04<89TtBI_dnP)3-m3L&0U ze1qL$rKuB!uc$|TSk`Cw7N52CZaiCmqe~!LwBT)@x2#3ts_paj8=(#VPEAOB{&oJ- zGVr8!G2F|>T`WuOL6<9MzR{+u;Oo*|wp%~YCi)?V1J6^?Z%k5P<<9*C>XSff#8`xM zb;(P}<;r3KNy(-8{qL5m9&mk2^plu|iIK#o8SlcoHRqa@o-zGi@hJLtiaS1})pZFe7bI85i z3<$4L_UXJ8sgTplGpXM1rae11vHG*$Su*^XkqUhBCb~!WGHdpW(G8vc3fZhx%<8!0 zJ{G!sz|+^hS9r3!*^-&dnk)I61-k$b3&hFE72nzJyXUa4@kKi`LG9ohXd~XT(#&en zlCkLA97lVO(U%Y_bJ`9OTvCscrEB<%!(0$ejO&zC3%*813AyCl($dV;S|>|}(Y4BC zRXCK#om8!UPO|(w4j1F%%1SPE=^XYGU$licq-=VNdCXk!EybGXYF^`pLUJCKW5HaF!(;*bR7xHS&p3h187IbrNX zxY@?;fSNBen~e|KrTYs`TbjjwWK&J9=5$~#8INm&OAgQ^QKOA7N}efKepg>)dlNp! z*fn^=D)Ps=p=9%-Q-*_|dMvs3N(Bdn!W49f#b^Pt1x+*b^Etw&y7uv9%d`bsRu~}$ z7$L8cy!!vQ_*eh`xzcKd5e_d3*#UZ zP&5M1e1j(qi8>2PMI5Vw09QxQyFppmqIknLtW8N(qljTyv?QV}rv~BAQCZjg-t}>` zL-E)|Q%=`HH(?1>zsrkynzD46GCD0LyL0J5#ECsbcDI^~?CxOVK6@`L0P(Z?u z`#I(Z6(!ghmJ?NyE~G`7S@1IIevf8md>#X0I_1Ukg|boYza5(HNoWOfI%>G(0@tZC zWty$2`m!Y*pt_N+9HwYX%XHi)xU5ZM*V#BVVWL=sD$!dB;!V6rG40dh(T30qvDRgC3G_n8wc&_M* zW=Z~b9X~TSmgqjK30qi7T@I$ghW;jl(Ush{K;jWFVGg{YqwcM!8QG(mgZXkv{=TgL zo^<8XV>|POJN6zw#_$;CizR(VNA9xO!zcaN44RRCSqSP)pS2j^LH;rv5F_1S*^Pnn zW85u)Vv}yO9S9}WX38H7a+7Y;AMij1WZbksnMs?o8T3MFNv~KBh$6G5)olg2kWMk| za*=YI3?!0H(dRD&Nsvl28w5ZN%3xRyARt3z%Iga@K!uaG1#WWs6g<{y@-3~EKjtjO zHf=3>YMskevo+~1d&-=nR;M=W&b`GfF=?(h=PbRYEGcQqS^5Z_pKI=G%9;D9SXC|& zX~J9Z8J&IJ*nQs=k6fPY%*DQ93o;%I%6e4&1Ga5C{DXXcP0n3^t&C2KQ z)ke)v${BbSb%IHdA%7Y4DbpYc^DwP{y!R2fVr z;1oa-eKb<$`%kxGeYoK=T2U8XAF=|y%^PX)bQbQ9!z#*ROF~S<1Eh%Om=VdDD`=C3>De0E1ej1C20iK&7?d-r zC%p4y%8v8$VocOjmfLn9wO;(LMi1fn2lzpW*`MaeI1$9LfsWrZ106@^uKNi+pNbOl4ws_ZgtAf9zW9tUdvtov~f^CY{4)!7G zD`;`N*j0%PNbAo{NMEoo5NZz)7QR9}M|{91Ll^jQk2Ft*-S~8UPfs615D#Tg!(pQ% zNy|zKUlP?AtR6|~u2?XQ8fT9*VCi#a%<^*4(RIqkYu(sqY9F?XvXH&z>}=Mq{A;yZ zt2p+XfA1K*3##TV zm3?c+Jy~h_7ulxYHj$$$HPDw>Iie-cMeLPhx&8@~(FCyi36t#e`-kKt-=e@?jChjE`5M&;ZH}dlbM(56(?0cB(=Z z-(9cJ@|*Kg45;eHqxm#a!Gm`e>MIZ{BnL_%w&zY51G#f{CCdH?rjT2vx{80Ei1^E7 zi~!&-I0`wq2o9aqa{2Nn>!f8gc%*=443;Oalv(l3f>8ahYGFmPkqMp8DS~!1Gek|v zmrd!nRt&t`M`nx{E}biY%F(-Q{yS_Rep0tBI69xR3EV^|cHE%tPYVT;5{ma?@hB`XduylgNQFwJJq%>RGv8o z_hX=g$E*K#Yj~1=%u2J)3Xv`vSBq5VHvke6oY5^pcYX9H*tH${=&-%Q-{)YOkP(17 ztFQLZS~6@*wnIO(^05Phg!C*6vf;Gtds-Ti>5f-2-UJepeJ7K6go|O|R@S3^bNdWe zkAO9h%r>O*DP^hI)=QdP=7Nl13+?i42b{epWUtFSmZU6OCJGiCP2P2^I3@pa0;IdT ze+&O%2CmCx%_NuCWVK%j3}3#xy7bM&k}rI5At%1N(uWKJ9b9sSN>$`JigXle&h;7cZ*AlC5 z6mSbH1iKab-mCUCTrb&U|NA~H5#fN9`Zu525}T%w#>0f-^jGDZyimv849*;FsPV4+ z4jHlRpW*$bW^<IC&(S%oun`d*@Br ztmH_LLv*h%!+gEZUNO1*FRy#ve`n?$ObRxLZ0qte!|-#WYox_Lwc zLf_l!IqS=|bn!vsH^6O}=9mLB-*KG(cRe4aX+ewPvzz9ABf&wUAy3_PU z15QIsb|e^zF63<s-fPG@)=!IAKhXM3Y>aT3W3w zS=O&CqhGGgWjg5E?AlnKliu60aa@_Mx~MiAZTU6y-?${$UTNo(4NA;f-u%#O+9-Vy zeFzCWMOs$~StHXOaf{5+@+=+-%^>-Q`Ttb~pRFG}Wc_Skx5n76q z$hJ*C!VezTdZq~Z!AT-TfLM?MRQYp3X!>9JXb>tVOg>?1UFyF#(|WTTySL<8CJm}K z^|%&T>=2#yHBPZTCK8x!#{t?Fg0>N6G#)r!r`i%Bdm0P0wIP??ZmHeD>XVD8+u}V} z_pAcelEnjqGYxzwhRc1y+dGsW&{VU3a}6+4cF10S&<=pJ!*36Au){>&ka+(n-C<&f zBFlrQ6-1?^2YcT|CGV#t7yNM-7f9A0K=udrGcM>o51!fFpa00CLooFesaifT#Uk9d zDAL&zfePI&#qda5c0VXvD@w-E{*b%A@B@v-f23EeE{ z?cZ@-qkt54{!MrE`s*toq4w>Pd$VLei>v!oNvTa`9ug((sBd4(jZ0~i|3M(yJ3$OR zSI1R^Q}VwF%=%llG@rvmoP;~P0r-{^NOi#!|G^C12gTs!3K8*=29aI!Zp;zz#gEGu z956x7X*Hw~SGae1ji}__d`77bMtbxP#^9|_EjfIXRQJMqb$xf%Iuh zM%aU9_vx)LHfx%ti)#1Dt#G%CZuc49F!&4YtVX##$3SpfHK9?)%n`y+ps z$c1^@o9{NcoZ?S_d|ug$G$POe#|q`Q(!#ICyZA)q2vc4%rF(x)7JxD@0rpP;Vi_68 zwdVkn+!^nqZ;t22nJug9=H=Di?&mjO+FyUc(-Fe(SQ~5>0xLzX%X1<9@BV#=VId{Rwbh$%0)UsjAA>}*PpO_Mv%yeESiCGix_4Zt8hM0A$hMP|MzleAW_@;n^Zg)+j3kKVY*f>X2EB}#Kv zA=R5k+NJ9f0~ylUZghDe=7(lC-$zohrY60*laNo^Tl_Yj;#Nju@va}=BU3O2`BDUr zVdVwkQaGDPh&r+A#Fb%F8i6hf#a>AnippL}8Ct7I^ozmgEmgKjQ_$;P*e&h18HSfgbtvzicpKMv)A4YR6&k3gT$)@kmgL zG))EOe{NoqGzD|CDbQL|+^=N$#ATx7u_+U79`T=fa@sV8q%@3FFIv5gdi9H+{*4H$ zoLC}GmUies^vgIwKovS4BSXBNIs6DnIFTnkQ83&T8evX%iCj5kTCa0~z_F)NpRp7U z8c)Zn5Pd}G)sI|wpuej2l=wL;%OMCCUw9yX$-JJq|=-ZakObMm_^Vg){K0SSt9XkltZN|$H?q0G-Gp# zHCYCkDMhn(!7f_XaKm=#=f@L7XYv!{n~WXz|}?Xr3;&pwE5{|)0+164KqAuIt`b~T9!UbO`9cpt0I;O z&IK$Z9n0xP+hz;a7LPS=>#r96Oam($nAXSE;Z-ETCWKl9tCOi&F4q;7&d$xrD>FOG zZR77g-!&fw)MP8%>>OZE-rv~3k44OJQAy5OS0q0V#ygv7sKNN z$6`o<&_K)N98fS(r9tL5Y#^+sVU%>?7`v%9JuN27h#aXjesO6vrim*WSG zXb~0953Q-tGL~%5va1>)B*-5w@iD5GTchLZ&knKEpEZ~7OiI(<)pxPWak(m z3zJK%bxXIdZ=h0lM5%CuYOr-+ezZ1>oMYqLXkTnCY^vf9cSm~_c-4Egi)eCFE2PM# z^rQ&8Oi5*jW~+R=s;3aD&@Ru^Yk$bJA6iXMhY83=bW`D^=N7hyd2^B_9Dp>xfld>$PWJ5exbw3(2C37ancEEU zaMC511X&Xm4#^KwseV`-6qT3mS;P@mOpdOF#iTNK#CHqN)#(o_eD0z zDyUIjH4xTj78LaE)tnMv3lHl;dIX|)F`@V{p?WkL%W0OJbdL7xy(OrUlXfT&F_Wsf z$8mX&WBVQik{&?%-H9++#_(JIzz!x1y7*O0zfw*j-H?w8D`th|&&rIn%M2|CbQhkJ zGM95W5x+eVP6VbS-TWr`7XaOle}d{L**NbuM!haoxrgpyeobTj&X_8&8H$U~>vsbGi@8J1S?9I;|#_kZhJEiqjW~(n*d$_etQ|(*W zoeSCO;|EMiSD?!m6_ei>ZC4_;13~AV*u@CGlhIeurU&}9DGYi&T@GLzP=ytSZEs*fy}l)*9igtQ2#3cmUn~{ z-;63(AKP!7z&kOjltsKKdLv@S(TaD}=7l@-ew!npcdzutD(1k? zUaP0?@+J3!`8%@k1>1IJ`_9cfo(?$aonC7Xc{Qfij?6c>+!n;;bV^6P{AiRchBk7$ z!Q?d4b)CiJj>8hxZhxn`!eQvl+y?oa#lEi*sOtRIQ>l8sf3FO z$B(Qp{q!fN0D#)8g=rMZRWM7QY%2Yn)*-cHa^vs{+O4>ALg%uEfq-;D=i1huts^sH z9pfJ{r?pXSThuvyzi~gY2{*F2E7}gcl4To-cG=%>XX}@7PTVkN8On z5a*HftKhrme&BxW`bn2m_d^~H3uKi+9?H^VYlWX{5>QXTIt6Hixe&Z@hxCM86>+WC zQPf^Aac$QzP+L=RZPqdRywvOj#Duuz#p~Fytwg&fZdwo81Z^6&u8DU}+djuU#yrbD z$hIi3u3a@Tur7^w1$H%d_w$}tg6;Mku>wigQ8F#(twW|8I9QiEr;b*=J4dgY-!FW% z^x;>8T4wR;#V#GRjOEtmpQ3oo=vE@161oj*SFxW`K8Lqj+%9yyX0}@4*|q-*9)pXo zLu3_V3j4b>3&$yFhw&?a79~Rn#vH0T54I`z>E8!KA@mdI%{;D$zt1~9FCd@A6c`D3te(z7ScUC0ZR&;%R}kP$aZtm0TOKC zq=Uri(uvj$(h=iJP@EE_Cpw;iF^dkKrGRDZN4V_5#7EL@jZh&_;sK8^f2KP8IRY?7 z0`$9GP-7u1oS?!wu!28Wu7Ws2LP*3y&_#l12mE*!0h>3-7r{RAAdoxsC5Tp6O zWcwu8!Ap0kvyiEyZo-iYqR7c8BP0tN$_OnZ)(UFM$gsj%MTCIj%!t#%Qb5TjG#e2v zpsq6lt_T@W!x?o`*h4|U8J$D~9jLC1yeI;zAhv+cBTS>9!i;V+CE$cc8{sycZ+Hx! zd0$ee{!VmMz+vgjIyy!2Z`pPhKQ z>0#?}De1%66K@~ceBf^Z-2SL0{qxGP#cp+Cj=t|?dqx>PxJK`MV)psibMWm!`3{7A zha^78$nK3~cgeCQp9XR=pfBW{Qf1sP)N&${~IYRXuXuk(NJ~G@Kczbs@M`E8b z;J=OkK4bO2M;&~QSjE9a?SYN#296vGiQXFsX`83TVhoB!9~zB}j>tZjAt{L7J{=L^+NWD+=JiWg5k$LN0gv8cyeTDPf zF!V&q-SBuvT<9``n^F4f@sb^^E*@fq29S8_ z*fSLeV_fnfU^*VmsP#qebU>I+g+9sME_{_BWzwTf>Na`k7^_Y3JfY&4t4;Gf$MP8wvQlHgxeTir_tY6k1%Yq>==s6iM0dsx$j*I1wxcBzRI4kU_IeRQI} z5tk2RWG?l3S~@?@A5+LwYF5UPzpKc9pimNQ+X-PA`#~GgE4K63TS%WuL9=YuTq6b{g+%385LikxmO@YZ% z&^2*va~PWfsuQFNE?!q{7w?0Y!2MW&5nvy%3FrnCI&*(Rk9Ra=B~30lV(mWbddybftDoD=~$Dd#IpcfBjUhgx^3 zcWQSw9@4T%e~{`C(h*Lv>XESP6LAuxaDtG?42Waf!ZM`^l*XBtCf`Y!;BrzwN7;{(3h8(E31l$wcfaAG`ozP|J?Xxli&$dJ`LeFmoRZ2ls~ExgWU>&8ZD9C&;#F zxfCIB`&XtuleLsj>yD2TwxU)%+JftffBLt;Q76+qu2@chnLT&(wOKy;n?AblFc5koKL6XVr7sL_$QkSt1e}0D2sb2M!Pk6h9RloS zJ~%S@b8vS=7P)^@ciBZ$%yI+kH*il2wYxeOEeb`n{lDf?cWUinYX-M>u5aKk);ttZ zH-ct%pVL0!raHzvQg3yGuancG?D{rJm^yKpQnEv@lBTAPWr^f0Rv{KHhAl6$^pV-l zlAcJK=6gtwq^cyU%yF31*pmcCma}b4&Sa)ETp?mH#ao;mP08lye5(&oJ`hGNydycK zkLDI8+XjbU5I-<{1Cn0xj^`KTcFk@mbHJh8VYmLW?Q;J%ds&XhPR(VCYXW57!rY_) z!3*tyW#4o=sSvCY3*wTT8423-CsH?fIfB=NcDsxp&|b$pMqTi|gI{f+_i&^U~PiXJ4RMH#>sR8B$GsSh_96?h3Zgsx}n^DZ6?EaCQ_M1no35432z<4 zvD_c>mjxMT753y9W!|&B_WfX}&#BvLtbSV?a~dSWOfcThWp3Nad_EED!(~KlqqdDm ztAqj$;;`q?bh8{3@|BfRKWjx1!(>66YyO}BmUbg-%P3Yed>1a#icZ;BJ~3s+tCjgh zBI#9RvZf4v?kU+fv zPEgCdO$Ei@P>>=Cgu`YPI#3ozpyPk2nS>6ZU=HXRXi|Oh&9Q4Mmjwl4m$4b>e_`~r z(ez!0(3vEMVZJ2`-wwZA8L%~-i2zueX*#6;ONUQj!Cnac1K z|4E37v8z;<$pc)I=eSQ#6J-}oN1V2VWZN7mA*YGhsHRd^p&~BFvxDp2L#|R$F=~|! z51*G@txY?xb%b-6Z4FN?P=LuU8tWM{{zgp63YO%G=HG4@6RA!zCtrK3*c>URMkNFO z6Gb6V1vbMVfpLEx4Cg_8A|f>;fRL61WjWCF??9?%ZFJwoLGuvK@co)~8WPIXX25i4NgE->l>Mj0laS{iH-&u+-->q|^L zM_F1Ge4g=^)s7E^oD9_ix_HwEm| z>YyuuyM%HbRS1Vau_GL*_$ zrQAz#Pl&0_5NzH9i{&wO0!f~lDAIGDG`0fB2ZSYJ83=gcFHv{R0O^?gYs_1)2Mk3+ z5D0wil)gU4xwN1429e?I^J(A=hK9ai$b8g_zGNl;5^3V*NGBRu<}jCu44wLaQR18J7o4t23iM2&M4;2u?na>4PZ>k|j>aUmJ7D&R* zh`_f~z?UJiS_^X(DEzhx1ZTeRireKu#G^n;w5%i)ujTuo!7ra-HH=~Uyj(j zD+<2Q9h%^;k7$hE9$&RTbLIXEz5VcQ*y_LLI;`)bYT~L?}c013jUsIY2IwXRS!ash|vQp$Mb6Nbpq`f>1R}3pKOq zu=Z0v^ziRZ94in;m%r?lHk6cg-JkE?tARc@e5;nO#>{gomaneh} z#I31tK#(+vjDYL>FCGotM=rk@E5DajmWdIDH8@8MU`XBJO^St^!w?+F75A!kbZ<_a zR4r@zJ9Z~^hCvOpIC=_v2scE`EVT!p6UqBzeg%Qi7A}O||M*yZMc>f#vTtf%(+I55 zbwL>~C&yI!+ea`M-AK~{_~#E0W(~y~zgu2_Kk(@;5;!|7TC8Be*}-1*Gve=vE5R*f zT`C9|y>+TB$&GzT01;l|!_+Umc6lE8-K*n@Ypo+l-@ZeLKm#PAx2rGU={PWoZOzYqa3?>$X~-$= z59ZQV_rCZ{PNP!r$ny-BUhV;^pB)@M(sF?oBJk%^t7(V}8@3`J&m?91BMIT^FrvhJi{D#Mh6*h~gy!(iQjwQB)031ig`6hDAKSCN?)!^A%&!MUJ!VEslMO$O41+#SY7T}X zkzs2dR-9_Dad^7wk3t81bUGmz=WVc6H!-*?R9fAQE?g&Ha}j0 zHB7Z#ZKX^tw#12)%um;V4s0%vmLxrHSmcBIv1nc0LV`-lS3mzv0a+3Qw+H$9LN&UU za}g1Wv&)}hP_2;oN?f+B@Bc`S?$dS8OL>-C4r5UmCvagafPVz3tvvq_wJ23ni}f1!w7^0ljI_9pMZ2`M!XWP$oF z@!of$a+`;pw-Fo}ggAZ$W*f$Jn)~TtZb0 zE^=m@T!MlkIPL2Ku^wV3Vx^*{w~I{8)#8G#=peehCk&O0q7w3PfU(CN{n%QdbdoOq z1^l;*j_ks4*#BYd8)G~Ho^5x>wr%X-H@0otw(Z%mZQHhO+qP}L{pWpn_a!$sH|eB1 z>FN(%sieEBPM@ei)?KGEL)f($c*0P^k!AQ%zl_G9^kG=?&jBW?C8sCZZ; zhHTkDCKQ60OodG!s{PXSXa`&(Lbk9Y>H}%e&(5eQP~;wAuk%@?3)&7YB4E8ab_?X_fw2=k7Q&#Q`&7Sr@$ z+33fv=lig$wAa_MshcweTAUGQD&>rbej7snYOBA^rn^}f+ zj^HbU4u;BNW>XwYa5J5ijI(n+ESm-mx-HA^5G=K4A>|21Va!q=WHw;|bER9;F>gl`rZ`_56H+Kk*r6WPTQI+%z|e-og(R^krI zi#~CrYo1}~M1qWHONYYJFeL1lr7TYMX{4m+*=5Hyh5O)5j460N2u8&-5 z9^`X4BK`p0Ibou+NG+OIr$0V@D1zwmeviiB=Jr8d)wz?I6Vk>zj2U9X{f74^T)&}( z(~SzpOH!^4eE*upN-p^w>k{JP{lcl;lLbZ%tera1{yL;)@z~zPuF_Ghs-+epX<5=y zth*GGbSCX7Fv>YrC1wy&Q~{hXt<|cEsV{wghf2w-=t{vZs@r2gFu8&BEg(R!U|Ams zbkX;=VOs(v{XV3Z3_<&W@s-v2?IP!hxoVHSJEsu_z1gDF}RlT~ZkETDpEhl=abqWvQnO|K@ zHLk}3B{~l@#_=|$(a{%m@B@zL&(9}BVsrp4h;*kIhn7fup&N%y{-zKGe=jIxzZ*yG z%joBUM5~&@vzFt9*6JGUCJ1wH9XPH%4>eV?khUzy1;a#qza`%!vEfP?^tT#i(U1lj z%Ha1dH62->MbE32JK>jyoX;;~(gCy*B08i=V3%&k1nBwzN?T%)ZXMB}$i>K74=+UL z_QuV~(?n^iVFVpGMd3M1jPu!%m>w^jK4;g+j4Tq(70I)+tzv(^!DtbADsf=GR0+FZ z7ED0}6Nx~MT1PQi`FEd0LT={B>pwp%sWMDoYY%eLlhl~HI7-Uh+h0zUp}&-Qb^@hR zw&c19YQ`^MjoPm~*3-M+kF;w#nOJNkmN%2vR?WBS=&9^0Hfa6}-RoM_iy(c;S>M=yET6iixONML^K#Kfe6mKXse`O* z|Bg>9FbyKUuafl@$^y#7HjR56F;$nrxO&Ar0WBgMBpx5puOjqBfkI!Rey8Da>740$ zVz>M~T_9%;%{2ZpE`Mt;G|Y}<@WWCCoeZ2YtJn>`u2s94f|6_-(HhSB%pwRK>Fpfl{HMDNB+Q4M)W!vpRemiMg%ko50e_S0+jI z`(WX#On_!nm2`8x3dk{l@XY!+o7`DmM%GI~f~1D{=H+s*bN9FjYYZ19k5y`{yYbW$ zU40CJ*vjPl&a49CBD5vr%Bto!M2-#;mc);a@mL2m9Byq+G(aWO^!dP=%Avi%)5kD$ z`Dpj7RCEm(4>D^6o?0A$!ZFyUaXhg8{oG7=<(8A?9cUgW z83OxTI@%K3^Ymoehs7cJjlK?M#N6{+CAiKCAqVISsX1amUzhE%(<`mo-(;{{9T-Uz zeXIq%pPWw}BL;3?5#fn0-S5gvh)O$EixG7)r~6-5#L0SEkV zg@0g~izBbC4hJ4zF&UH<{ST7nhkiFAm?;1)yrCjSde6-pnNW-)3Jiv)_K(`9t};kK zCVXIC17cr^<(%qgUJAwW>k*fD-$bBe#39#W=>%3^_p`Na8n3xe-=4SVE}t!W)6C z*N;3u`(>h{bmLlQ53sZtYOLLwBAQwOvyiI2S+Y05cGydZ5_J(KX;6M(6is;NMzH1i zlU>StPPYIrppG%2)sjZt0AQ^WFZ7L%G2_*#DL?K_q&Kj&-_}~Bjdw${BGm-iua~51 z(Vcx;{XS%s2RuP=pPJ-rzk2d@`#|e~{)jVLksj!imi1D}5!Xj4U*RPJz0@RN!ha-U zR3Hqw`m)v&Os<4e?;Bkf(B^u^0*CwJDM*X%y1CA=Vyfr9Zp11tMtl(&+3#Rbl|g>E zF&C%|y(k_MnD@Q75?P1efZe0}V+CZ2MDI0ZjVdqVgul1yMn~>V=fj-|(3bB0DD)FV zF?jyS8Z~W3J(Io2zA-Ws%hp`#VFk(zytm_Bq~;R}+%%*Yp9jrul%k(2cOh`}G5O~M zH&2{+UT_~{EMn0{jB~1WoDsfRR>9>It_Wnzsf5n4kuNJE?xHL^C&*#7S1b*lsMCeq>FW|NyM4FOEeZJZMDJk7^zwH#J zc-tutVTSB9cuu!LN*e@1AeD`d#8wc{<$(#s%DvI0fDw8P<%*nSq8`ep`cyf{PLMKo9WtB2xrAt7)H#KT2$%F!nj%`_75g0JSa@?v2E$Y51g>OEz<3a&z9qHy9f^swh57UC%a|#@q~nN$9Dgk_4K5{ zU9yo>!#?-piK{+$nf-s+xJ>zE%#~hFxThQ97c1nb8%i;R_ddVn3++cu@X4J|$6D5F zY~uFqk+z+YnKh54z!!&(yuIY5`aVxWpJg5B&nrwfzU2>cW3xkx>X>nZ9|Cj2Q}kD;&|EO4;#UE*ka00p#O7FrU%@)+L-GX~&#n9kEmU zVD+E;76kZRlZ<~lYLt-NV?Y@AZc*QUHxjR*L2lgNX*T3sMg?x2tux}2xFc(s2?{+? zgP+}>wDF={X_Zx2aQg$@NuHlFk-{>&+fJ^Hle=7luBogU>{Zb_{oL4^o)}c{@Zg8s z75o8P*#4a#6Tw*5Ba@h3&2Wy@OQRbCu$d@k>wg|$HmRgA9}?XU23)4H2R(W zqER(*p}4@X44tQE`lvwLFt6TH-8_TX$F^*K=z4kp1(%H96c%x*k+;F)7+osiPYtJw zIGt}I2HpKiZNMZu77ZDshEHE!nh*=oiI%JXeJwOcE5C#Dh^$5AtpmkwvJzW zj~BV8j%4XHP1DE9=M&Fai!@d^#M{HHRFmrYrQDvo8mFs)RTMDg(@tkv>)+} zxNG`6E%Lbv$|7>E-cL&2kl86rvr{+S#ixSF^$tFw{>B!52Aez zVKNeJ*=;@iPeAC}M3lX5Y+Sj(_532}JN82xXCzM7%B7>DQMymW4?o;plAwA3n zqSiri+CnXG^qnUc7Yy#(7x#}J5wobx%0gHH<-8hz*mqMDr#hK4VAJfNKq|ko1OOA@ z)C$GW?}9Mt&oZ0-6lLn|xPOtL^mxY5r5fM=#En#41O0HaQWKNTEL|O#6LO)6rJJKw zp*iL`t!`i#G^sFQ%%NjYtno({iAr~EhaqPIDroo^T zuVNWkM1-rjJh4>LIC(Z260zwajWWSY8P_vIu z?JV#;0oa#5NF&(RU%zervt18|iXKT5$LD}Wdd9Txy=7Z9d_Cp`eBy|$yy8vkKgh2$ zN&Q}{Sg~ZbBJ-KoVa;=V4tA{SLe`kh*?kvY0x~q;zVQly1?FNmAot; zd(5lgsLlA^=HTK_%&ub z_AkHN@7p#@$t0;TY%kP@F|im1yu+J@(t6duld%BM(iavNYAqpWX}y55ko9`f#`;&% zCplXfdEE&tFQ*{9zcO8Dx7F9go{wT{yVObWSx{%y-MK7Sl$x7i3dQ*GO>+EMPyDOh zF?h0sA(ef$Nf#^*{Z~}V=RiKLU0wpP4A_A8Br)8blH%Y(jYn`94yQ#*8ElMSP}L1h zU_!VDpD^uwoTtPN-;KguglU9;ein-q6WI5CE*YBF*2a13i}EG>Qt0rk?Q__NKb`qC zRU5z|P7+%>Sq5;Y3hR~a1!mh@vzjUUzLHh=^yy8!P&+|hDD&I>ohgjl8;57ljgpJl zGRP6M&OV?EuO<^Yd&RNWXv;62YBO3b4#%ikCwE>*jSEFh%I%K=e=ONXu+}@=m{#Jj zI!mIwa9((1uw#?;qfz?Frb`J*I`BNNhW^Q=OM zAFl!r9+i9bv#2-rLKR6+?N%xEGJ)8SyeN|F`Y2P{YJqaTi>4jo&3_=3LW`4hPK-Lz z2Cd0FHWxEVR&Cj9hh6S%+Xc29O)dI zzH*F@`PtYq-0}R|QSBRJmK%p?U7L@O3b(#9VqsW;c+dLVr7-tDe;&FhUPgOfpD5iv z_7*vT%M8=k+LJsCTdPcGi#@I3;2f;m%1or-?{Cqr;#I`;6^c>bX$ogA06}rCr7>8F z1G&(P@>>C$*`s@~VrC(}N$#`NG-|qy-PQGuB*V=wMDh-=Hs*)I2ZpSRxW{Gn&KpDN z)Rh}Zj%#&RTgS{MFrRQca!GDK3b^~&w!7O(&rX5e30QlvlmwzTj=t8@j4I%+*=y0& z#vAXk&TDP?oeT78$WJCXjU~iQ{j8bNzuvgFt1DI{7_qA1t5X_SKE9gn-Wj6PfIE^j zR~CITwldgE5HJ1&YI&Dn0=YNSO6$FlN3#Qu0KU3&RjhHBo9w|lf=tZiI&`2+@k6-T zjJ_p3(nQa^vg|+Kwmv*}R+7sKh=fBF`9#s{7 zV+YQ5u=uvzn~_vmMI9eqyY0LGq5n~La^`jvtr1ad6wdgWvpVTuxlVcJJP%U~BegBm z2!$5sfaBE$6g~1?@@VxH59@R2rXT{`>%M?Zu?f z?x=pTr})OISVVu)u|>A6F_Wg*S9ZmdIt7}t51aSxwfDQLtb^(dex$`5Zk zbRYA`NOatYr&meV?R1x38BWEPUJz ze-e2i%B->bU3nTf;iIK4c=$>2pY&MH9ZcE7S1jz$HZC{Y?`?cC3V7==blFzAH26H) zDnj~Njddh-R_wV9y3X{;zMcHCltvQu4kN1$-QkVV?#NfYQ=j(9-=?6?OhR$xa{2jt z;y#aar80#3$Jr^pafw?B_=N_u%&`#N-jl>b=4>Dy!3))!Wv;Oii?$Z~->u5GM$WS_ z?oWHo*g}9=!Wgn<*u^PZ7hG4ezYaDf|CgruZ&U%(LdmeS!QPZEkCT%==XeCH={5mP z4pu24{CAF8g12|Z*_lqmljEtITBh-pG>^hDNZg{E9K;7VbgP(U92(Tkuy{GO4u)y< z8+$#hhN%b=Fpx@puH%N4Y^>}NAim8uy+u`gupYYzuPH{ zPb#KS6#Dcw+QZ|OXC=!C{@BXe@C0vYGH`4Lz?$>^9-bBmC?(oOMvOc?yj{7LYJdUj>nxpeEF}7*RTE~Qd1rK- zHY~ppMEp~i-1bPi&8leJ+Jt^lnoAp;^7>F_yK+@Ecb)O{gg2OlyPCfQEd9d_(Ko6B81z&?NK$ zK2wTY;N7Mxw!~KkakyL#I_zn-`Qr@tPO?sdw4wV8JICLn4F3i@PPRE0+xokMJnBiK zOq6==RO)Iu*2YKX&LJ;@dh3ZHEjMNYf;ZZOJ|i{TR35f8sW^l2JltH6TP5ICH{*SJ z_{E-w1q{41b0O%We4geO$|;0wJ}lLz`qvK9g=K~N;D`G?w84|32l7KCGkU7x0>r#f zQ5xFd`}}NJcg=zC)uvFIh}R6MrdQ+O={xKwB>CDf#Z7X!U!k z)U|1rjpDF0adxH1j8Y<;PPEL($s74<2$z?VNAS5p4^HC=IM)fdfs;v3s7H{-|x+EHP8iY>Od=CH*yyS1rxG%TRvUk=pLx~Mz;-VentK*s+v*Z!Oe%O}K zUV~%Da5OVrGVhO3tNWBBcug@je_+IV86>;JqFyw8dmVYH=w0jVzINdfYt`0n!ogXcM`_FG&lTJahb9?k4&#WW z!`~OiH=CSv$`B=T@m}BJ3Xm}c#?dW7`B?CU3RwLG@A*EMqV_J8JeYP^V~OM zDs|cAf%a1G<`DjgVM1)k)0@ky9PW8d^yQ1R`BmW5-EIv#IOH}v6hn%p2NG6sq`5^? z*mew_dDxCj-%R~ygGE!StH=~&^#ONOl9fzFut_;5r1nB=W<1SC-5geob^Xx#{94TO zI$)+2{i3oeGw43Ofxo`iHrO?b1{SxmkTEU2uH9q-vM264K)! zz%qEItnk*goR!J6nh(E>PSZNJ1!_*!+D@XvuYScn>1}8Nh8Z-c?{U+-L<;&-l z1cs_htW*ArX9MRU^1)&i1jw-mw6vfV_QJF-l*P2kCdlqb^1HP*wQj=_tEY@M53 zlT>0lwD-4_~(dzkPCRikuK9} zFt`kTzn;{^-d_!vu%$rYQyFv_AJUyWzgXS2CqABYF(C}YKUi9oJwRL1EAqlj2qGc5 ztyvzV?7zq+k9`sxrcj^$L2hf1PiezB{~q*w-CWX&K@jvQxH~Av6$A+&DnU@>{$`h& zw?jiAQXNO_CoCF|P?MKyEaH=NLlLGZ6s8t^YRY`KQj)+gg>NE4p;BlPpo%KJ{rM@` zS=$PI#}m~&)d$}uXXNDM{7GBe+L=C;r;v$c9@&rW0e`Xobe#Tyxyb`Jam#u_)IIa0 zPy4`)tsd4Ie@S)Ryb1JF<2}}{M9^LNNjC_cS7nitVtFBQbjcmxBaxSY?+ z;I6L~t~mMt{!q@aX=?wp8oiFJ-F!>zU~`p`g9|=_jRQriI&!5PJYAOE(>B_{+JRM~ zwr3Zpm_5coth|{fen+VP#NN1;ORa#9c%-_|OrIKjDU|j|eWCWo12Vubr-!ermaEj(3L{GzkUgK+-djGf5r?(!YF`IEU@s#IX=B zS#)W6@x0MYUuzkBliRocG1;*&cr-n@Wgn`0^CA~HJCXPQ$DXeFw@km=-%W>~>n9Hn zmrJP9l0UMBAe&c=%Qx0-TcHM)HYsvfVSmqOe~;&UavqxknoVcwPAhsvwTicV8P_Ha z*~=tLzN!25vE9EZux+|4o&!?`dl^J}75|Y>*Xbo)qPkrM4Eg6_%fNihm1jn`jQK-L zm4-wF&LBIokZa#qyt_r`-XE?Kvzt0$lEd$&zhE_5zg+F+k!4JFQERPOLco1n1k>== zd;DeOo(m?QTCt{}s}teL|1VRws1Gprl6S^|b|tc2HNCf=sP2PcrFnU&fO%~ z+y;hdwXQB$+mM&-Swg!)Pw#8{+sc6kdv0|c@Hb%>tr?##gAvhzN8)ow$X9!0*UpVG zk!4a0lIN4WYn#)P?L2;K&|{uL{T6v)M4rbepEI=mkMh}h*Gx83NNOL)Xpc5W$HXC_ z)`89Jj6(KRH!1NZZk|<>Mm1wUi>u?NkgYtfc?tA~?75pTQfga1epl>?>Ivs#z7w6N zQe)(M|F=uTw*Gs#y?&)Fiv7(>(zU>LUr>CIM`PO1dqtdTZ;N4#PZ$sP&35%mpmmGM zr=)ROhjj8=$~ldX>^ptx*RFQw$nnNXc=r^kN+(TMe`*{l?w0oa!bi|I;~o9N7J#*V zW(>Afp1EL#D$LPVEP5xyc^&FG#l)IbO=4h`PI9>I=5%GzrY-VGD=n{FvB&?0ObX}0 zWR~`-%&(HSc;PtS?n?Dox9>)2=qc~r$EPFXoJ5zo-%_HD^QoZj|W z%h(`%QAzYD+pKGv^Es8Gx?&IgwvsvJm|vIjwkF;`H;(CrC-%F%P0M;O``yqV%#2eK+)A(>%Oj!pX zzI+0SS!sOgW0Etu=J}M@J&0k)TPJv-1hPCTQt9cbM!ls)mHCn1U{tLoZF>aI1UA{w zGQT%1@Qs2G@}p|`v;b~AF;{^W>YGBnFJ=gKSQ7HaEL$}owLSfjU7lZc*_`vqMAxXp zLm|6*nb6}!T6-XJ2Ajs!t>5zv_ABy*&AiNKy{4~2qqN2S=#pP25wQ<;u6^`|>`UtF z)|)0}Z=2H$ve# z(0K5kfjk65msbTLdFXBM7dwhCcyPOBmWxSr*QSv4{&&kkJNu%0Y;k(NY9-al`+;PM z>`{uE&=zLu5JZhgmh8J@!9w``#8!!0wk5kkw4kw!U<-L!oj(`S!eOXq#X`pW!mYMb z=!0@H)}>%~z|f^|as#}1z!2AoHr=k1W!FMg%RUAQ$Cih`yN%`XW?D*ngj20pJzg~m zyL)2eSlPiLsac@aZ8>?`fD!IyAl4~JaO^%?QfT2xK9Kt9$QvuA?eBRf!}+OK1l9w> zaglxf$N`Je)6}pi7v`1I^H`h_*xcJSQL#OfAuLRe>%?X<$3GAsc zNv-%F6uyC$W}IW(Vt7C=WK*4mA9_$K_TQeXSlY*u#_k zb(e7kvH!P;Vt3YfU|!N?wPYIl;Q7@bk)suMKAwdbZ0wyMp!bU))vI_$w&xqyxu#@e_2ehe78ZqqU7%HaAER2ZiZuPNnlUT< zvZmccjwu84iF)e)xn1a1!6Z7UqMfqNxvTGKcmGO&{(q5o-rze^Kr%u4B}m&<%e0YjnvdkFm= zJlTlzo|6Ly^}G35ZdQH{$x1%CiOKW?eMu=%h4WvP`&(ovM;RqQpqN+p)A{fg9G6E_ z?2fs`={<2Mny-R*ar++dVWtSQN87ZCa(a1BbJqgW@I#d&(5*zWB-f=>o}BsfoMtrF zHd~Wa{M}~#`0euOOXlmd?VJAqc)Kq3t*J}!j2TiWbS&I)e}tQRHdhIoG_RCxK&nJY z^DtmnBV!;()JG7IlrxecLy2P#QiE#e<1>;WP5vt*b^0qpScInz;#FAW_Z%$)R2a)F zlm;K8S%092)U96-+sdzV;ddB=->LBDd^DxMm-O&bq1j4-P;+q-{S@Sg=1Y)=Fs6R% z&|#zasq2y5{>9X5uSG`;>gUOz`1RIHbE!iFFNOTfKBzB9PDP^7Pbt>lajZ8uA61PHX_^#>F`O(ilHj*6a45J(F0i1G1tz^(VKQ<+FCX2n z!G8>%abTl-=c3Vmy1g@B$cH&}?}(qjy1{q+Z2MS=isE0fGEpd%2UT|^Z$a7ok`Hzr zQFwuK{AGJb%-$eyfbsV?!FRoH@!Zg9ZvM8&b3sM_ZRyP*a;LomW225gL97W_k@G_B z^xvP@CA}qb`%N=r_=qDi<1a|T1Dp*e>qp*)eCmb66}(@ti+D@tCboL|6aSf8dxQx8 z_amq(nhgT(??-RfE}k9hYK*(99}mh6i0j{tK5IREgk1E8{MCsnj4hz&{38>D->iPz zyCRbtQIM>;tnq ze#y|D zEcrX8hm=Y&Dbr6nSr7)<&lQIOKMdL6kyqC`o2C~@S8=09JBn!X6vYK>WC&2#V`@Ge zOcwErTb)1C17V@ZfdMY@%S*NU!y((3jI#&7*1_XE(Gem|a9E$*W442q&@df&g z@rZmpCK12%nOpiZI=ZLGOYkk-VSaVAJKxLP%0L$*V-0fLe*7eHru3Wg2$|!BK8iOV zr@%|>?eF=G;&#D->zFHrt>TV67Jgo*uzSKi*b&{)Qy|N;h5)B$(mm9X@wlXtXPlSc zJ=YOC7Ox~;K9`_-`aQ~#_&9Rn2xSZ=T7xJo?j_;?#WUSotUi-xtOfk+-B+;8aWpOy zwE;Mck4sKo)|RB{HT_|I2jvH)>kz=$`wpsuk!SQe6uxeQvPJ%RPA#@;5xHnnqAjRC z#etDjpe?Lkv?qD1RCmbbLbV=yRQsLz(!-mzBl>(rp*ruf@G@6RdQGM+ygtgIh$lju zzfG$pL%Vomh?W$PrzO=E>X28RrJbueGreMMsOh}1hPDOQoOXU9&tef$*U&`U%{4?b?Sy~rLJqfBwO8?aKKiFS9&kcMH1Xy$)uvEk zlHduYiw617T1$!pWhoncB&L>)m+aVIF9Ma(A6?7BGl+^8Nui}Mo`^?UJ}4diM-(-x zaJ0R9wa+`8dqJ>$g#s+WloI~7TI?^t{OT~mEWk$<+cu{0PDPc`HjL?kOqKYh4ecIm z1xN>9z4xTU!d<&Cd8M`djq5z;qI{oAVTelmsFO%xT2h;|Gw^(f7LbE{cfVGx-buj_ zG2`U^3gdC7&`!A(SIu08O(9;ACFasbFmm0D-;`53BK}UeOU- zH7V%3@?mxVEA9HEOF2oVq{UXQvL72)O9efNRX9YseCGOo{j^tFK5S)K`DOe*IbBCx zQ4O`pZNid%yVboxDRwW)L`g-|)nw7FfZJ(T1>V4k!1!^!&>zdxn-0f`L-6TQ2_J_2 z!`GZ7WGPOOro5*QA!;ed?nlkxdk@%JNH7-fAL=fTH~Y!=BlhPU_A`c80qgvSviFz! zfrs^f%Mr)=zu|~ur2qdo;k4%d3tiuaVBHdnHGklK^R7Oxnk#-UnW3thVd(Sj#*I|5 zlRoH_Y`kx(RD8WhwH7P?Jsz0i0f_a9Rj++3Xnpg=*=cQCGk!3j@>hm>AR)~gHa8~+mMdwI{c6BoFbo3af#gNWzXA_jzP+@7c2h} zB|xXjjNoR-^O@gEFJ(X88*Sm(oop?#LH&=+n&w?{7xK-j=v`drSiZSj8`_20n8maO z&9YUQs3Z3~2~S-S-qh12%N)~f-wpX8+N^Y6LC-N7P!o%e=_RFWgX3$fJ+E6XO3%6K z-`~GHF;i6jTko^|Kko~eJ2}c3I|$lZ+u7O}+c*)h0R(NWY#kKs^bL&(*jO0}MEJpSNvI=qORJwKI|J z(bx)Zf#qQ_0q&mXmy=~sTW))XRL{{VEt$SEwybEXSjr2wp(ihyJTcn&q6_4B6e!w? zaxvAkt-{U$=3=AeQAHG0XbaoKUev7WyeAwpXDFG1K#povNZ~F8;RKmHxn@UcCe%D0fHqDN;Eo*zxK`0c}(3-xU1rO@frFnMtT;Y@mP&B??JYVW=VV?1e0q1loIs zPrG3~LFxJG>BCkl%8`^}DskDkd|b)*l~sQHiSXMJ z8~j>{@YvS49)h^S9o{GiE#T6Q{D?%}LjTh23-drFqaxm*(~0QY{!jzidt&khc3W;j zDE>zVQI8~N%ug-J3FxB%zZ=7XvkbN;3Ca^gst~*b##bSHytsfx9r1Bvb*X>du7}TF zm?h}{q*txwU?{XM-PO|k?Po)NR5xx5wyx68*SeHhiR~dBE<&}~VkT^ng&LMjmmF=0 z`Ghi#3IO&?o~()BszF@0_fb@}%_dON+f?`a7~NyTsp$90lT%XACKm(e)kJXfQr~s2 zWRC-L2A0bvkG&S)p>0w4LrNUqMLU@S4eWfE>LoEV1a=SEf5dW6Hr20T&BI=Rmm*+; zx~ZDAXz@umb22Uo;_R*=#S>%Stn|wvj0xCOFB35}h*r2qf7oKTwq34bC=hy9K8z~&yf-Z)HYVW_16>gG zEl694O+XhX#aKBzs??k49fPUO1O+dyd*;H+ZT}c=-5%pW+B1~@wZ*5~vmS6z1#UYx zJ%C|a?TKyb_SVd;`jJa$cEG*vhjB2mOVhQddSg=E3Py-;ROkG;W+KOiBVwl6TNaCa z4Su~4J%}M245^Ery0%zX1etDbY7j}Br7ze&m$-X{)#aLzALc?a{7P>XOx!pZgZ+1$ zCh4;J`!au>QHt%J%^jHMXV4Lu@q5xBb8nhG;NPl&HQ4jfzqIRh7zab6m@>z1huWvS zUZgciE_B1MdYOAQ+89XDTrzRn0j4hVaKjk*k^Lto+(^+T#qrnGZkSg_k@otJG+VXN zwxnMxhJk47YZwQ;p}rGf_7WstJG<{T>w6gc3#Xzm9i^fWq7C8sOrqK^wq*rb(S$rv zF*A07$(jF3uYEifoMt74p)+dzS;;3se6ojcSkF6a4I^s(bMVW!_B1_Pcy1cGxG{t* zhESqr?yG3Nx-%rOjNg^|0&EWOlcN-0M(o{^oCJbeQjnq#aHeE#)-f6@BAkSRN>Wfi z_DbLNG5k+UWHeWyF!c14IBlQ$rbK@kBxV<;M-dPg`Vk!@zjZnUJ@mk@B4H2-bxO$6 z5TeOyVlD=}BqV^Z5@F^DGvl0lAj!oJ2Nbwz(lUlo0%*l;I{e|~re5HZRCXTwhBsu>G z!h|ZIC$aCHCPCCk3YOm-Tdb>N67faSmN8J_NT(u#=dO&1EKH9h{3deRhkWQqOc#zk z@l8;b;-nt1r>@=;F(L7%z1Pj)z0Ac;*`rv76lL7{4VPp?RaTUhvPYl-m4laSff@R_ z&0HGnq8DtaM)?`Cup+V2-((LWs0}#K<9jN_#VMG3mC#G36zBTEk|%0@4sNCv zm&lI4&boiDVq!nHrkm%P*SK+k(JJ^gBhH|}j){^4ln)I_sj?6^N1sY)XWm0Is6Z9% zD@98)PKl3`XFw&i>m+84`k&w*)?ehiuf_vLtDsg#`3*uGX>p)Z$E`Pg*efUu7XC$c z;Wc8Mujl(;e01N{AufbBs{Qqug*Gl2Jc9~gbD9LVnhEgNmFX&j)if21 zTkINd-6B|6!emWm&SjzDpj_W5I&pG+ZxGj==_&)oG$Eg%MNe;fTEV|MT#OfJ1NCv? zrtJdJCfPxO({w)|y&EO<)dB_>aq{4?cI$7h=}4~>FqU_3VMNWAvFp6oC5=PoGtAKk zYGDvrIJfBcgxt4qfBie$iLWd$&=7^$JUWtLlo9u2JFtR_}wM|IR4<|Eg3QGRLZP_(oYIXRh_ziCd;h4$-*Pl z#BG;oBMsmTF3QeCp?wzwxlr=T4tL}}l;&w855SmJGJm#-yFlio!pzQf@R#IkqYN+& zF2w(#_-@h;o~t|&xujj+fR#h-j&PBOSwN7Ept{rRCfG3Hz(pQVkYXBmB+C0nQ2`b9Q?c5txNC}|i8ipaz|fw%{7i@HubhRb!Rc%UuN z#x{frB{;#U2n2XoPF_O-xR;rqI8SXWq@5OKX`}DhMq7g`k~PqHoYPTvponE`%{T}@ z@Y6=F-03dv zk#h*_v=$e5>&?^kZsV3R0k9>?+e@nxF zknAHsfUN>;LPLk%o;*&QDm%I=FX_!HtEcs zQ8|uXu`_&u@8&K&*&5KXuFsTb;^}e)HG8<~CRNdAGagYUu6hn2WM&8>fX(@0LFas8 z1^jihZ!OUKgtg*^_Zkpy7~f~ZY`r-wwpWD}bS{zA{Jv$}5fC3(IhS2C3*@u1^jtm< z>a%PqV4d7=QV#6se6)ds!N@K4!V(LAAk6N<8He17+G$+xA2f&X-)dIjUHTTwkYu&fcK#E`>{BqSr2rTWN9L2~lK0y)(-! z3x&3pc6=^(e)DkFSP^g=`UP~^ae`x3i_mw%!aJL>w{k~z!_?;Q<|aNS2Ei&^?Rm1_ z>;W@V5k-kSWu5e>M&rNg+aR8?Lt|M53R$eq)Wf|tf(k0B&O}Es5qGy1{ZhZQz&sO& z#=IPec#E|fTf1XPCa6JDPGpgg9nM0#r`mK<*vTafXHxP!u zYr9aSJa&RYH}`TwGivYjZszg5%V|(0>ylQepy7C3!P-%r}&%fPqe@)1G0Ww{npRfv3>1k$L(`J;56@u zPNMcBmv#q>-!6um5tehN7^&Xa=pjlM)M5CHwIq_ih!l|rY>Z81yzg(MquB-D%~*O<*xB0NdHU*a!iN;* zkCiL%Hm@o4!XN}Fwf_TTK%2jDmvp!{&X|T<`)Ssa0lx0oFAmhK#rosdIJ1hh5JCZ| z_V6TgV;bIpV~tQZ^?3uV#E}4%3oaHeGhGK=w`<|Gl`$Kl+eT~g9| z@E+Rm1HBn7>1V?@r1N_HRt2$`Gd8a{SQeY1SyhR3FFylcTy2jAzkhYz&S-u@-P zbgESROkGC-+*yoJjF-;)OhTXI_xa%CTGEp68?5xJ3QmSwh_tmjRVpCV90!}5DZ~Bi z;EXlXod)f~FQmvQC#?yu!8%K%#yq9BVsong%B~@i`(d9qE4S6cz3Y(Ppmt$oBJI*$fR)xnf7vR!Z zHiHA^1@CBqw70(_tqPC9GW+Itq2c`@DKHMws9$C-w#>slBMvLz^rKwTvhWuyvQKW8 z8h*SIZsXIN*Sd3wQEW1(&pTl|XRw@kK%uVXh%lWhRM^hanoz@3={(T1!8=812NIas>_zMkq*LKdUd!pI%urX+ z$!aa}3C@%8mct@j0AdphYe?(EJFvP_pBisT?`y8Db!JPPs*I?pipFQX+HV-|<1u0K zUVxnK<@KZm;u~08iIkh+B8_;itJWcPr2%GUW;3p~Y(yyVF`PCtW4!C?$cy;(lD0RJ zR)}X{X+s`xGu+FCama5A0W$H)dj>*d>Zr$-`7qx%qKq23;|^JY_y*#>hqJ+EVR1!i z-gInz17tZl*>`1 zf7_T-LRus~fpvAy?heCM1e7WFTT_8MoM9d zS|{FsMIC+JV8iEIX?nv*T)Km*jDY_|?Uxu+UYqkD*k80R;Tmb7_yRK8p=}WJ zkO8jL)%HMM`BExa56c--e1m*H1NrA)oo*zp6i-0ixrfsv0z|2TKe8|!V}2Q`%U~;M zrFa7BcEis$HO7djU~&OF!;$@`0J59Oq^05qSkGwaPQzoB4@av4+c-#fVwGZNn}-+l zym-=D@dB);bDEJ1pTcU?$r!ra1>X&1cVAy~6p9Uhd)f`sYViQ9XH*M!!ySC_MZ{_- zJ<6)NeG;s1Kug;GD$;WGd=Ll2 zm(>7_voIvn=Vr?pcKdfbHaqa!9{Q<)v|v3QEakYn1{z*S-5|t}On+$5JIC=S{Iry9 z3c`Z*bg+`4GJ_0X(gZo;6}5Gf&GpX}O%rQY`~UZeH)GB#FJ1@u*RD4!NlVtV!Aj1k zF~D$3?@W;TBIF0)Z{R+zCRnMAXB;FRIy@PmV%Fw6q&4f&U?n9|0}P)DiZn-DI_$0j zKm9H4#Gc(O1_k^nGP4n{>YGhRHx6JS{R{OsTyh+aw}ugLU*BxQNx`qYd8z3eHykXY zdzRjY`(erNFY2X=htyTSX>4D0GAyML(o@$Kk(RCJf<^Sn)7S8T6Ogg?7DUsvO8M`M zZme!H0gi0iUPxNE9t$#H4_{sahyTxhxkuHQ?s5FrO&47Tm86T3q)BO-5{a2Jr-M2i zw{^@oxh;+}gf&doK@OI2lBC2mqeV;%i7{3ZouyN`G+R-k$Zjf;E{g89ZhQaE^X{^y zlMK)M?zNtGujTVc&-3p6{(kB6^}NsXTEgG4avOJLFRSzB9be$u(UcWaQn2)3R5WXE zY75W@?jq|5w*jySkaTUBKYzhZjHk@37xysFn6AQp9?*u$HHe5P`!|`3J5f9+OoQ<-6iNcqKOF?fw2XYkO)4(Px`3Ebyla zlwaMgqAcGHjj7Si*cH*m+MXIh?DASCp_8sBRE>R+sq)?!F39`BpZ$=L5fazWh4P z8%=k=$>bbt+p!5n=JZlXJB(xefvsY#Ay54wuso=JG;(T~B;S!+}uh&AV10t1&~vSk{ElG({ra{+zGa;4l1CXD=y z{0--}ZH?@D z@HX-%+hH#^%_L0b}RosW1aq>Z&pwSW^AD==`-4CPwoTLCOd z!P|3}Azt9$jQWXA7;p=*Byw&pYny5Ss9=QyXn!n`NET_rs01uD01c!2@_!5J_mLrG zfxbVstdW#FWUW*DfJy@I!6FIo8gLUoED_RYX6Jo#$`ZS(mW@Y3ikk#FBxuS)&QgK5}c^0c^ zg-@QN90nAjWHkxQ*49)&Gn**+3|zh!F?+cY z?>3Vrw!U&+OI6W)yi|3O>v;Z~Oz z@@sSQUa+<*Vu&Z(bQK1!6M}gTU>wqsvu}-=gB9=467`x+eimjfODfS|rat-7FeSb^D+# zpN1pK+6!2#6(_`y=AqvL*U~xu02T30H75V_gAwEhFu*SC| z&Y-Q)&c@bVpI>AxSBwxlgUSj^W$;FfRY@P=1kaT>p?U@XpFVKX9HZ01O zb{*o~OaItk=>H*m9-u5c=?B(!MF^2&e7Yy_VcAcxL02)xJvbL-7h?{x7A!WPpA}A?$UoyQZq%%+a~6Cadr$<gsc z`d}?dZQ*Dk&A@jIWr5u}Oe#`jvGyz)I47~MozejU8}W;tDGCdG!a(KVRg5tJvlB2o zQb4oG4{y@GpE=w>RBYH%#oDw;;FR`$0rSCe#QXjF+Qv7 zF#k3?5uGVZyr!ffHvYPUwP}$6{Trs|`95^x=G4V=F9&6X40Q%d*d+`+0$j?7iqL2qMj4j18+~{1@O5U#u z(L_iyT3mJP@)6sjVjEb?76Y7-{vPSwXe#h)4YKnp$eoJof9CCcXwtVDFlP}!Jk9}_ zffC-GI966#(G~b;N)YA4&$5;+28a&diZ=y5z8Wu(=ebh^o}aKiuD;oocSc6W;MMYC z8f?RQLrB6?yc-d;WmrI0v1Im$TZmO_jy2kOhor+S5 z?3Bxvt|}*&%D7anCsS@S!<^GuCeD~ejx|%mxQ&@{W*81ym}ACe5QVT!My{D^4?^fT zmE;yRmB?Ke#oq0n^L|^$B~-J^6M`?WccC zG;sP_Mgk$nL4=5&7}*oEC@5W?b>^+#+=OoYT+h-*dM|>Q+8?h0>&bc^ue_R3gfzbe z<vf(&jX)j4@q9l9F=n@$NWhNPRP$;-Q8ZneHb=bae*nE71#B{wKjx-n9xR@JW!z zTH-+GINV!b%)8}$p^Y$&sV8uU)u(iy#@|u+^iqE=Jqc zIjl7%o=E`32^Xq(_na%V5xsNkyV7g%0ysI6evS(5N61uw5+6Nc@{K#Ii4%28JYx=X z#h(^g$K?ZTK9bM7={ylS@!Bo@86LmFZWm%QaD4^jM~@hzQmG=@Gop0===pD+GpF0= zB~yzt+jOuA?y>~n%JIcHyt~d3+6OCTgMoLCgVZiW{xuZ;5VbnLG)(V^USuu6AQ9!^ zCr`OD75E0fzlVB`S;4#O9HDLS&Tc4h^H?}GnvmT96X`dn(iD9os)I*Htc!^9p#VW_ z6+UxEtoQ>Uop;wcBDA5wE8S|_uTF&c-F;k~^>J%LHdXf1H={auv=md_ZQD0(8B4qe zku}tH%9e+`8_x^c1fPoy&v0Q_M#J2p8t^5=6?W2yD@NNh*OJ}3-rT7eJyo@tJoSd-R?0LS0v6RuD-D)3O)BPYbaQpd3K|u7`y}W^KZ0n{ZsuI-GC})|Xbl~-sQtvuMOq7SCP%ZH`p| zs4o}sZolE7=KYHr8FV`(}u9$rc&Swmzp*FR4bF`za4%Eg)E0xM=bW4W|9`xJTJ7CEijugZJm^A!U9sUaNIE{Dv4G(p0yuQ(a z>u6O_ee_0wGyQ1|h+fxGFxtSpPb});`Ddt6pIv{2cLD~6FkI=i1i&T|c&BU(or*Ay zwb9aHZO`<$Yp(lX>OWyw4(|vI3$<>tku~ri>4jL8;nQLqcr!IwN^F#8*yc;G2)lIv zH zw!pm~DTR+uQmd+&N9Rj?p8Kh}Xb}PHWm}9JeyR>m@o;Wq?5?-zR;R8#(%AwhC(50j z?VRmNN)~g6Ut%*Hl#5r<8^vDQgV;@P(XB4HUdtG`{3yUlh)3zTY}FtXohNjg;=xwn zDqockuq5*m?;H#UHLXxF22R}K4+F%zvK7^X9nu_k$bvYw3ZD@2VICZejX%#j2ty&b zW2M`0KQ(|VlnI=ri{nx=oXS4D-F$bZ1|G&f;-+&`G8 zG!Qo8)>YnF7zFCLPoC(&iT5zE3TO-~&ah*xdFRoM%(QO{d52*LsM}`I;sZyZHg3rAd52*Ls9pb}rVw~;$)Xl0LajDOvfb%q{QSP8PZcDcxXn8a13;Qe z;E%MiHi&Y}FM58}P_>448U{e{DrRXjABA)kcVB^{qr-Sqh6P)NMeA7_-dPv~BJzZ1 zf`;`?s2(~o#`HS=4X~4~VzDtvsp1`mArQ=pIpObA#>w<9uFKGS%W&qndHw;$IZl?p zCp&xxE_}VLoOdMBLai!PVrF=x{-rOm0W?8~a%_Z8u$%~xmb>^I?@S~`uqx(+qvD+~ z5mBw(NO!h^!M>+xM^rl>@D4>v1fxwRa8&H~!6CMaDN&A5v?ZsHy~$^s`s{kTNd^Ad zbQ~Su9k7?N#Aoj4m9!_T6DoMeA|2Fb+dWMw@PPZ8J~&F=gF7=;$O0VN9HmEGdFmqX zTqJ{tUD~km%}TaMl=EVo&VZodEb|yH)xzhW%B8b#d2q$ECYK-&@892QhRMThk&PEcb zLGNs|r7dg#j*cQC7)MCQdwbaC_;Am`!{^mx&$!P!94Vmwtdv-Ro9`|`dZiL**&InI z53VvjZ@cP!+45v4m~oAFIubzr`4?dY9;ShDI7*aGmwrOJ*5fphj1`_HW@}aO=+K<2 zyz@avu!l3lb!<~$DUoo1NoZoMbRB4X;Ml>C+o`iie5yhDmSa&+b{7^mr z728_Z{T++=T=LWQyf4x#uk%g_8EURu25R6wv)mEYu=p3Gzxof{I?xvk&zFCHqD_a+ zD`5S(wGVkmgbTH1^fPAQM!!KZo?6Iw6C9zfHEPC+@QLmFCqd=nRc}_})LH*R)Dzz8 zpd*@=^92Y;l3K`I;q;65nj}bG`h6MikT4OPAuesm^!;z%7(_XF_tq?rj|%PlMKN6e zYU5qrDIp>l!wv3j-p_mi`QD92w7>S?zF?1kB}f8B>9ktTz-)PI(hnbs}xxf4}30q~wF7 zBk(yud!~YJ!KOjl^28rBdA#!y4UueV(@_L9rdV3CAz1%;_Ok{~J{e06J%XCdMBaIc zhDaOuob1s?SXySFo{ghq5#8RHvBc4rq*Majz0W%^u~07xm4q`K5z|u5mxyv^t=OI) z=N<*{VDS;&iHSt8BF$^rQ>^}mw5|7?kE5f*bmjTsY!!1_Zq-6cYDop}%tS$?z0w8T zp~ehPEx-atr!~MfwhBdp=O6$r#NXx}nivEp5}$C#@^fg58|m;M0w?k2Yf`KjOInQV zwD1P)*?r!ji9s+Tao{8zQENM#c0rV5W+?4h`gz`|iGX_Om~4Qh&7~iXPLEAk?`8s> zz6@b{-Y&HFlq+!YB=6Kj@IUIyJgUhnjl-9OHAEmR4HN;f3ZkM?+(kigMYOiVsHnx( zsz+g5P{HM>M{A|+SljB9s@2gR7r?0twL+y<9F>8p926B1N+g=FC>l_Zwc(w6@UH;wv!lhZof$jYn^jN1u0bRw^XtWz36J%w)#Tg1d ziQZS*U$_^*XYA6pGRm?{fF!yK+wtL&P{ot1j8%EO%^5}&J_*UO_7`qBbD0yfuz<&n z1K1=<`nyn82)iP*Oa_pD{5o%U29ZHdqP;h5%&BQ=QJ|T8m_@7WupbFEVGQpI5tU=0jtH7C4b#4^>2jwj4}6l z`=bZ9KTQ6*t>GA_DoE$rz<@e{tQ}dr{n0{(CQUJ-aN&p%R!o9?lFgXpJmv6h8`_eX zI#8dlDCBLBl2Y8c=#UYGZwFwt_~Lb(+2*YVWYjhNYoTD?cHRalsX<2Er4vL|zp&e4 z`=6O;&L$~Cv6Z$Y$R+m4?fi{8n(clAZ{N%Z=b`!bbw27H+V~= zK~7pXx^RcSY;wk*U&kg$gUyDabnl;uq-Ow*rSO(WLm_TloMdF-U6Pc+M*Tqj*a5ZF zHFgK#%;#B;d26HqH|>{aWZ|&@o7kmIjTEp6Is{iJD?Ht7%~H!Z$A8|yTch6GB7GbC zk}mw)P9J7r5mmtGa$)~YKgtT1H^vK>9sVIXF`u_by}3*Jer-2xgh6+K-M5FD*)zM0 z{1MMlc8|A7eIZ?Q5$?60(GPQUfC-x*LO)qrFPit8x`aEf#l~gvyhZ8>xh?ZZ=OA3T z6_jr?OS4$WXdMp+SV>hN=;7rwEEOORns~d^3nHA)FFX{EI5G>{2A{AAk|dmVr7Q^! zN0Z1X_w#nCAGqVUjlE0PAQYRk3(JO^)@+i@Eodu*=EziB0Fb$-fVWJ2z#WSdxoz6k z`mxFJk-4)8(y;KGu5>HJWLx)(088idmZ=BTxZU9jUc%RvDE#?+a;uz&dI?oQNP&l6 z6ErORqlmZ9HYp|ja=R^?2*;e5g@qj5#3*SeOrxym8;S;21C-_8>A<{`DQ!u_bO&)hT$)wQTWDLHCf#xquEE}oO^$m_PkX8Y%cMx%2ThYa zg*0KE_x#1b4(c1AjJML(A;N|KY&5>L4cuQ@KyQELPm-HQHJ2T4)yj?nh zO_DguknKfG4&2$buOsi($&X8vz*V>gDVvxqJ&$--T_oZ>G02aq#N3lXu&c@rRv zu0k>nIq%@@v{e+i%WfImg|CN8?84?YZez4)dTWl6*= z7Tzw*vb?jQh*cK#cG5H;9C?w!KH_aw2jsS_0|?jP8^k83*Un%zK?JLhHv3W)jGJs8 z7!OcX$Xl%zWU`JV-2I9?karKS;tX)rgQ_BMCUQOj^5R3qy!~p0v}l0vu6tFgpB-td zT4f5*?ulDr&bIYzf7_35U!=0mlJqPj$F;+~8lhcm}@Rgbn6&Rc&D5v&fcN z*ioom!Y0YqowmX>VluK%1Bki7*{@behm^w2k_y#1L0_xq(@sJU1ZHe;6Qn_~ zhVEh(5{AMXq48|9jJMubA^lMa9~ROG^3_Nbf0Swldh!L(Ettk37WUfERk$K_8Be#W z!(G*tq&o`Xe)&xRiXI59f!%Z?(2pFr!ER?@-J4NR0w}%dDlA5$#aHosSMe6yl2Y8< zaD^`6$)PP@scd?;XU|-Pz4@1koeY>Rk-u1VR&DqqCp*iq7c^oXIpIh6QO&G`~$UA~f&QpE?f2#M-@o{qa8DPPA-i}}5 z4DPIZrZ(Zyuv^K|(MOx!({?gpkcj{Gyt<9irurq;fWnShn8;7eCTNrzV(BWZ;)45J z1I4xz3f`7qKt?*#dP(01Cx+vPd*xbA#o|CiG(xuWMpnC`msnAfW5+D)1BkI=lXPyo zD`mx;b0UcfAZ!00yfr^Zm+;QBOVS3DCt8Kuzy-V~O25i-iEJmfL*XEvpFc>A*YOLv zygfgo2=^q_vWAC%tRH?b*;IE@%UOiLVdVawyjhwv@@tntIWtJ@V_Y2wST3w-UP;bZb_^ruaWTi&{{ zAPitFyRc9WaTQ-3#Nqus42#@NHW+)#gUg?B< zF0X8H%{%w6?V?nj%VR! z+DYEFF{QYl;fhv-KlVfps^V+#if~NPB7_nl(-a}6aTm_V!DGY?xfi+c%Vuesu2Av2a-@gt`{Mui6fpAk;&df&U`M<9lg`K#yQuv!>@J zL-q{as^Jv#j`Zh4CzDKo=BWFeeQP#ttqHfQD0K7f?s{#Sj^ptVKpp}ge2Lr~+hI^I z(7Oz3SI=^Gz6h1WEa}U=bL|;66DRW((7azX!`J=@Ky;Lxr)^bbo5IoL2P&vrrt|Rs zgdmSAQygPe{ zw~e?L_cN^sN45tK9-N``=m(G2KYii`u!L#?v{XU;v*#5m!|nu!zYH5By?@hF`1EZ64>sVd>n6A7FGk$B@!NQxZ21K8PiF_} zIp~MkQTQ+ORUcPlmd8)`cJHn3O(8{!M4QCuMW)!6VPu6uLYv64<$Y?h^N$R#*M@JU1`5sGjpYPdDE`?)g3UcYZI= z@B5tdJLmMjsfDi3+!YB>`kzz%Lpa4bl?J^n{bIaw_1=bH zy{;+|+(u~Z9oUS}PPjx`1v=1%Qsw6s4p$6u58rOa+|?zR#ZgieYRJbztYp z#Z$mVMjhB#oUw$+K;K2Q9G5*m<6i#}J}i+Q;o0~=wplL4qRx)4O6!&QtCgUjmTFg5 z=~Ge;E<1t_7lwe86_ zU9{rZT|5-sc6`Oy zRRPsnR#!q8b6-~3kjq_WbS`2e-)~Al#_v?jT*s z#+&I&1hZdM;8neJf$G;C4h`#x-<}BCJ_U_8l#)>2Y^FZ*K5k!AvY4x+Fy=e*Nv4nA zs>jc2mli16)lWE44@crucyX7!r92S1K zBb>rWEwcHRNE4uTXURSF5>D2`DF{CQJstBMRGn&}Gw*#9jQ+98Sn?$_!fDUofxfX6v1x$G~}SP$m2rkDV_!sXyCvUSUkg5JC&y zU(i&{IAo=$i*X#(p@0$L3E=ozv|7I_6KWy`zR``ncb?j812Eq;V9LOGZ{R_hlTz6A zGz+gP@6?5iU5&g3zxG9nwBdLjATFR@eS{ldW=Qzz*Wwz07YkBUFQTr^37-{!A3_shjWStNs)$X5_d+mbWB3#c>XgvzCSmJro4k!hQ&5HeL~;{jA1U~DNK;QOX6(ggU9&Ma`6#iHu#YQ` zK{vmRd8`(~HDlQjZYOW}1Kz+R;h3PSYS||Olmde^u((I+WW+p1518Hpi#h^Z$RU`y zA0F#XLIpEhT9y%-@B?L_xUfwvgtOYxhe{hQ5&ER;*%%4ZfA>5-=)oF_Z?p#z2QZG& z6Cxp2M=6-UfU_)53MTv6=c9ykEs$?EflUA}`+kX2p$@TG;ak_^V{TOCH^|)obhv-# zbt2MSShe! zhx#>-8$WcyF=j@=DKsJ(3hu(uPV4w$gjNO!k-)t*&kqeg{%=-Mx{2LExZ_U9#)J89 zDa>72%HRw)Np)Zf+4MDrpB2<)u0QkO!y;VU(Xs2TRZ`NnUuYvQTpQyph1;4EI-j&jIyWZsM=3*YTY%yCe$QG;Z@Fl@+% z3{X7Z_oS~07ym??a3ik+0PBY%WVPY#pCRDSW|ERvt0d46MGB!K1DB`j&9|Tl!px#>bjHNGw09Ssg^jWoy4(YclkiqI>b{4xx;;IyjUw)kOf`9U4#u7ct2 zSkCeyh22oYp%Tp50g@b^xB0ClWa0fq z2Ea?kGqSJY_mE~KqZ~pkNVd6v7hZj(po8jEpW?cn2PqB9Jt4Hl>&9uCC1b_ri?wPY zcr5zMnnA+mdB*Sde^8yO6I%b{x^=lYimUlh;`gr6nq*X0$w>>@dlb%Rvn+ZScK0!F z;Hy_gf@=*jWF?+g*n|xnS`Gsu3@wjiSy==~m%q?ycmw8AsOs@EWX5nVif7FOH zqD$fXQd~BPvVspSCW7lF*jMFjAJ_(Hr1dfy@^RJ9?u3PxW=X*0jR`j+>w3i=T~i` z`ua82^K`ehVl)SwFp1U@^aQgUeC7a=FCDC)-#%;%)3i!%D9FFvPh~<|XPO6bcW`+0 za(d6B-l7j*-^erz6R%el_qyPuV58wDHaDFQ2OP*~g&Jsv}_z;#fVM|MkL}1*rt734pwb+U7TM0(c^Dwc8 zp=nt0ZEQvF3l2tRFdoyU<9dLE4RY4e4M#}9T!%rjC99oFQI)>O{sU6+dG z810f-PEH!b#ybpX>|9vP<1nvsJ}tUG{}&dC5!)UVse$0*r29zl3nZ5Km`Yu@smJ10_XT8kH((EHhRaSCn7bJ+a{SUQFw)d(!* zu@Mr1iz-fE3lWpmKyZRDeBQk3Xi|-5$lZCWCQ z<~F66kjCsdE@4XLUYW@}o;T3ohtW(CdW$Nhn3-Fp27$Yg9`rJ zHqo-_)2zU=!l&yIsv-qfgoK0`X(#Hk%gYqg5NY1e$hwNKd3lT)2|hUCSf{#xXkstOWTXd6`vUI2LuYO@k&trH$2uj1U z)5Yo|_%+-U0824d&R~%K$di|!;iLDsYr(xRN7fu_-!9&2tLp5E5cVCGgtNru@c`MP zni8aflOqx7d6K#aKDBv=9@(u?4ScG_=+aq$kME{$z>!@!8XY_DC~Ln%oT~#~_ncG= zKmjyeI~|@QSE^Jqb%1vtLm9{O79Y-{HT>f_W^O6ilJ$g5!R@kC6`XTDyT7cBz(}e| zJN7yGKM%f!XF2fw87->W?$x2-c|#hZrE4|xkd0~qD2W4j&sb&WA(L1-(q+)OQ$LrM zgZUi3g&46cokhWIeU&Nm%x#H~ScHv5aW$e-Emo;CbKfJdfMtgi*%g`3EO%~H5a z?8m+A-UL*}-w~r}y7)lQF}$%dsggCp864@!XZy(-T@#!5`1o<1ZBFMzH8r1`z?KHQ z-6o9fZ0xh7In8&(HBqoOoN7x@adxGl$Jb%x&%0W)hn+~wmj&z7^>O98VDrl>S?VCT zo$$P+r6orrpb*7Pl|woktu|CGw*b@D$HQ#-^)VDrvw5PL^5!TVh-)h_P;vG@4AaE; zsP|?!=9;apLp<4}27<$JLXofMj}Jc?GW7UkH~9g3YqyizBv{E?rXVf`*jk0I;K8GL zLH(oQdh{a}*~Vnj%j3q5V15ECs`r+$Be?&KzGm%*{Mc-t+z@XATsgvm#g5 z(EzEk>`F>?ELJ%JHNr5Z$~!&8yYe+pcW{{KIkQ8pr>qFhWQTVkTe`=i;wKZxOO!KR zmrT)6>}Z(KR_qI$?1mJVvZIVbP=o^)EZL$O@OeN_L%2?MN)YLkRIJjbH@6<&a;Xrp zrdB-!FK7l>^zvv_(=<7gm1}p7lSKbA03EID1~Zt^K<}7S4!+g6nJunFY+b_+lW{-# zF0=I`o3VPqiRbDfI7}!(^zMF~y*;&Ob`XqBFju21vgrQXSbyPrQ0!m{BL9W%H$S4 zrC&35s}6XzO@To0EWj#~6#DBj3g-P{L@-N4@q$Ml^gM>ov)CoXsorcUh764e(Lv|T)aZq!~UOaiw{7rlRyjH8-7lYjdy$rNUvcoGEeZr)abec20!b%gI= zk<2w$=t9?L;bp9-{5em31YcZ=8#iIecuKcSaNylX6attH?8*_VWHtU_3}r18wMT#m zC(?ErKtyZYs5XL+f7;IDXz}norJoyDN6vDGBs>h>SMJLD^}YFII!Td-MJe>}s7m3h zv`^Wh8k4brC8qGrhICyPSb8Gf+;X@{O$5I!?%1Iyr|F+A--|i4*458+Y!OOM1rMW` zXW{SMR|{B;=@wq?OC+XU>0;ENm@-BZjfCVnZi#uq(2OZL9Mw5yPA=W2ZBd3Xl$eYXP=#H__^uiYlOJr@pQt8+mq}y`TX5)|hIp8idI7F<--=;! zR%7%5*ntQ2VL?s3{MSGOzSIN5!zV69QTZwFO^K zn--PU{%IO?m>yK@;20s)5c*+FL|FV=jb{u4MZrHRxO5`@7xFUrtUo>+DrdDXz;9$P zr%Ko#!{j3d;9iNn$g3mT(n_c;j-z-iC8|}3PL!xP!$1=>f)T~!pXvpNXmVAbG;(w_ z7w|NbPZ_^#ba?E|)CJGC@&G$hgAa3?i$*Z73KBd8i)pp$3o38XJlIXS-8WzU!1K-{ z;vJW$UT~7U>ArHrLQ5U^2HoXsy3A2+TGUaS8-pX6#pH3WCdGtaK+{y88kdn4H7bCh zXQeZ_`15C*nr9NRf1JSm9%tg|3J!1xZEZJ54~zU8T-&h*-l$6Cw;$NYmMNR}pEZ$_ zSM(m$oL-<4wR;@8i74IU&Se>xc017Qp;CH56r_5 z5YBFt%zmG0R)0VzHlsH!t_wJo4pHxTZ>}NJt-!kuG3!8u8VGK5_o6B3({Za1`Zzeq zS3y#n``es-5n2>CIe<$&W}JJF+JkCZGFTzr)}uq!;~7TLVUmH{+^8Wi0&giM{byFO z>IDbqqSIkvHDF%a#{=w ze@EZ{y1w+{?2BwS&BPicNMB$aIoBd9`nX`T7zlZx93Rog`4U&vV07W z;r&b54TCfc@8-1WfLtd4Y#t6L{5KnLC zbdNJ}^aTg-dE`jC^eg1_T=Kvr0t49|E|_Ky5Q5!rwI0%W+0=MPwh+O`x|~FN>dB4I zHlsyliQ$x(e9}3$fD4V7d%UFhx*7;>H3lF)%Yu0&M~>%Uw!`g2=86_zY;lmht#P|- z`I`@9A_f@2do*Vtf^6K)ZXVtai|`U9CM%QI`^blUW#sw@AMgC`j_L(xkiC+5&Zw*l zVxP)_e~ZV+R>XBI8!}eYb~4j5FAw#BiH%xTo%vJay<25F)5#b8fQf$r=9$e)8P9GxYsw#r^6)b+lhM+ ze+6Q}?&O;)Khi;GY;a|5Fdw{23WC>SlAP5dI05nRT5zx-CU|FcC@We&@wd@r342G5FYxV}Pa$sqxbnt5hyHL4lY|F4axeMg3NeSA2a;utaKe&tu(A`XOB zBOYD0@17b6K0pLswNl#-tfa(NVf3T(!C;KC?_s|CpT-Xv!PiTeE`2yQ*y+w>k9Pl; zu*O>!+#EZCpbX=+FC{_zJ0t@y3CkmPDNvr=a+=WxP|;DsxjhE z3vb?P2xvw_9#~Y=SH>$MH-XG^WWnxUYp?guvk;*026v^%YJ=pu0oJ zQ}{2u5*j5f9UyN`#qQ8kl6nT$0k~FG413AA`sq*RJTRALe-KY|+I<0C#577&f*URQ zgD7zkbnV8?U28;E4Q>lM(yDsFW#IcDehaX$DMa4#E0U@gNk~h_oBwQe&zFtPJIw$V zRrwE8P+9`NOllPlpLC%{1;Twtgq#9&+%>(M@Q3IP1?nNV1Lhq~oS_H1LgX#{qUcE@ z?0X+w3R4lc_G5=SJ!!U6aCYkKy#;g}$+j(6VzQVSEVh`L$wG_KVz!vUVzR(uW@ct) zW@ct)#*w@4?Y{G-|9kJw{F(J<{Z6e?MMgzN#Mzlub#}$cvjaScz^#JmRG%7*s14og zG^9YwuDs}-($69gVks0R7nk(`>oWuc&n50D%?p_hQp!EMxgMU2k|anTA^~EIEc{X5 zeiUUW+ncXIGb1*CXZRle#RE64!aPbqP_X7y@D>b4zJEW`}EvZ2fvUxnopSRZLo%!_#iV7>p?W5x7QH#=gR~&gSI%hx(N3 zbiSAy(_8Tnh4vuT-cRNqIijUS&7J(!Cvs5!4#qrj%&A;WoLWuH8WRcC@airfV{Rft zL+L~3=aKY=sddxiDwLUX??v0x&R>;LXxTch>89Y!dn?z5QLX9N*zdjwFkFT!jW_m< z&}zSbe`zD`g#*SUyW{Q%lj%FDRlS!VqoyI~ElQ?q9;&5~m2|w^6_b)`<9oVhd*2ZC~NAM*#f zw5&&mdD`&|&^VW^WH_;!0bOp89B9U4Fwl9erCx#Uk`Ier-37Y3s7g!Bf*_15b3m8T2_Z z3FT=y=dnj2*cmOSe8#T#8_>(7h!%j1cjxRl!0)4pwXkL`*O9fCZ2d)~YyGK;=RGb$ zv!!qfZdGGUoQ%TdEU=rosRovSse+}Kv^*7~yHVS*K<1B3Hg_q<6o;9GiDm0ycr1!= zsW}FzM*mse1wnjxo%lJtDu^e!d|zr*A{Kms$pAux&&d42Jai09MDeN1Uo@-;FNLSR zP~tO9<#Vs7sv}QoG8vKHvRa+7FWbiRJ~ud?N`gpMQ`0x)DM$G;uCnJb7{N)kc*G!Q z*5b58Ix!U<--IP#FRpFuPWV+d<49+@hL=`iy%5bF58!8`)k&EwTSe!6e}c=!NzE4y zjR22Yw6P05!6;1ws$XNtx9&n^Xyuf(^+QFZeEAu*A0ts_^rl?CJk_G@z z#ICkrtK?2fPCh}Kj?HjoVT+>FanG)4Ro?RdxcZRM*C>5fxI23wOc{=1S`S@Sk`@3k zG^#PXZ@lzKBM#(gtiez7y0}Q+aIYmPELqpOLR=>_nY)d^(}xW#@pL}38$VY>G_AJ! z!4J*?E$lz>W7nS!oE}?+G}0&mG7HffM~{i|LxAM52)JrU1`f3mbx6XF)Q7$#U8hu| zhxYdFOCS{*Z}>XOiCp71(`wbvAs^7Y${>rXRj8TDt#--VASr_~h!D^15iSI?KN zM1S}o(^YCyWllR)e{{h|(+y{ql3XRu&aPNaECdEKz39)iH+a{P~_>bE0*n1>?0x(%$oN}YU zrYV>}ZvqrDlw8E`#;&89Ap=BgQ~YL|?rPz#ktiflieCa;?F3cu%H{rb-Ytn|$P%)iRU%+B&(=Uru^`!nt8 z+x*))06|>jvj_kP2neA4{s(y5Kv)-cGBE@Iq@)0p0000I01Ctj0Ddn)yzhtym;gZE z%RujCx#W~z&j2_80AcVD=eO5Cyzle8KL9v~@BbiwmHyuTM&NG*{zl+$1pY?gZv_5# zL_p3`*TBZ^-Ey#Skl#EBly{FIJsk9pa&=_HZ)Fe$IshOt^3U?0UIk?IFXaCAD*ku8 ze*U)kZv_5E;BN%}M&NG*{zQO*j-H8wo`Hk@UEqd|gMpockp=KqbpU`Iz!IPfFaX#9 zemNm;8!(v0c6L@Aw6qqsG&=h4&Iyg4r8%vWjukCE4IM3ji`VI059gbK9f7Wak%cC6rGfnpn7B zftG=R`n?6Ut+R!ljuW+o?ZxXJcYzXJTnV@T)@|T}yjAZX$bo6MYUt9Ybba zeSKzXT^&Y!YI=Ho9cmqYMtW*}Mn-*BW_mUTLwa4Je+;j$_s8f~_BLj}js33EW?*Ju z{w@w=`;G=ZEfMYSlm4GI<~u}x4EmSwzuWlUhC|TC;Fs9Y`-A7#Nu{P|pr&V2_~(hH zp=W31qWur;xM+WY@h=nopF8va7Fs-9`g$CCzvgaf^ZW4f2G;-2&bFBe&+iWO@Akd# z{$6)%4)-)j8#)%E`~xc+o=4J_V$TgP`N_H79u2!H?s0|x_z00#qygn)pAMud6y zF`!Z55k4SdpkiTSpkkn7%u>k>t zfP#TTKte&oyf>&p000AlfB=JnfPsO&uTuiKy}u3sMFc}4q~`}mmeqkEvPNO>ipYTc zC{WRXDmQUX%&2SQ4F!#cj)93qLP|zXLCM6-!pg?ZAt)p)A}aP-TwXy@Nm)fzO;6vz z(8$=t)Yi`4!O_Xt#mCprKj24TP-IkeOl(|yLSklCc1~_yenDYnRdr2mU427iXIFPm zZ(skw;N;Zw%C?D+lwK?DUOqz6ahmxXv2f+k|{f9<(-zQ#)%`s6E^}519%xp)1y=Gy5 zhGy`pB?vlb6s2yb;=s!bnoQG_f|01^Ax-41la$n@=2=xubikFgCO3iX8|H(pYar0? z+DxBA8!)inVBGx5Vb5bnKD(U-486;~fD)QVSP6+^8`0UZE@de*`OHYYQgUl3{k@pD<3gowAHDg`EZBC*t*> zhoP41aY8N<>wIZsg6$8=n9Q|QDrePL1FKKWk2k~aB#=e9be%4F_#7!42qHoOj1n6s z>M|Gh$*mZZmepB%d~tD~^F^tDj#LtXBMF`CI%ml1R;F`9eb)!(SbPJ_J<~}@%+F7} z5*{q(oVIbg@CJPg--S5Aoe zm~?ClWHoZ9gp+GXh5^jIe4!#LI;&@id(ibcQS2s)x+i9H1U-7EMDK?Pzt!PV_|4b) zGs)R!ih{3B=$*0WizCF3pO%Jf^}e~7=Y&&%ld0^8YS68|Yk9Nv^08;vK8T*VzI3_1 z0oJwr*PQ2#7jIL_mWF5&sD5sX=_azLJCOvQ!_9>XE6IDq6X+wjV7d9%=oGA(qB$@= zR2@`7(nRUOQx67!5Nkgd!-{NRIa)abTT6QzJp)@Vu78mP{1A}AJzS?48u&;b65mrPn;nMRE3jfT-Pze z9Q3+l)Q4&!P%TN$Zop9Xy6rBx!ODL+T;W+eB00e}$+q<@`C;s7YuCDgBXX{6j~72| zXlBnv>U4K*Y0LUal4rE6tZuCz_Y>o2Kh@Zv214qUB%+dmLWe(mUcgpbQ{wPj?F!xz zcLMG8($h|!R27#+Ev)m??c)k;L!+j~h$YXqzC8guVSu77vlf+&z`*83P^Q)WhqhuQ zf|NqZ82yXyG39m_XGOm2Z%aKhai5k+KPAx1K_|xOYiYd%Gm&$nWS$tPn&{V0)wOx! zwtbUW&FX4feSX2kDF^pvpN^L|h+(L_j*3v4#L;TzLP6`#kcKmF(G$V>RGI9N)^>r(eyD;ycD;@Z=%AYx2F1%oYalyH~W2vU@ba^u)a5Mwb( zn3m$u!<6dhj??QdOyoz(Q?q4o4%OYK%$6o(+79^eM*yzFsdy zAYa`?O(j%mP?Exexc4Qhr94ZWB<(|OBiDS-P6rKboLWOkFuEXAj80+-%_enA&UyYKz)E>#eks+{H3U1O z0vZ!CFm;QByNnSLJHG*6tDrf~g?-eZ{!%s)Oy~n;zifOzC8mAc&?ht*gv!9-Y@TL-&ik{xG*DXuJ!XL3;_qod-pb&tLPZ#@bn!D&wx?k*G&#~b% z9a=dyw|P5AyPI+S3+#1&T0SN2Yn_n0a~lU#mtf7rt5znt&dNssVf%*H*6Ttyh!+CK z5hEn|;wFq=-x@QN4XIIOQ?m%D%b|V6nudBCx^Z~PL!XUp3iY*%Ag^v<0-0nrDaQAk zwDB`$d=Lz(1`1>@I$tFrU;+WtaCTgp==(1RF zLKa>xqkDY}M@yg-!jLv`oxg0lp3HqgeF}pu&`c1 znSA`z{Qz9!DI6OE#U5{|e*TphcH&$3J_gjwhtEEsPL)q_2osdfPU0B>m{389km8zO z@lbG)fB4HpmX>a2ig`X2SkE+kUo<9b&GeDvR3iNeGgQR$9G&o`2V?Du<-!O@SIAj{ z!-s6&Ia)Vk+-Zz?b!^X;I>?~eru;EZs>+3<2nX`S(OmT2he#SMAYewp(4 zDU?QWQB`SqhA+nBM0q~FX|a!_R>g&L_!6;9wh!Ta<$wNkoj1D)t%7 zI|9isu4IU|iTlnky#x8M4i9x=<5{MK6)ATNd5Vd?ub7bB+L+rO(0;se5A_&GfYqKJ zOYYCU1+-5mX%aq&4Fit33!jBM=XdZ^Z|L2{* zmph=ryXg%4yti81zOdXp^S0CWg!N0-X}LPr^vpN-Dmcxxni zq>|W41Zh7}Qo_yb`%0Q=x3nUHjW*f#_b(hfUF(bTSUG(EjFAv z;4Hc$np?NX;*txq8Hd>6BBXM~iywh@`pV+h(WqmtM0=`-F#DU&(T<%K(W^Gpw6s(t zrRYdy7kDE|*B`sQEG=pN1T|KR=1S$Ss{j1W*81m9Tp&?;yvEQGxp9xqI=XySS^|K- zMre%ZH8&Z75lL|QUUN2Rcf!kVDOK(g2iw?T?RQWDP)8#|Ogx=wyJjyzft|=7-z(OG z4Zg%Xwa2w~729m2!lIcSO{DB%rj&g!ucE*pUHS15@tcJ5$CsphJ3TH3`qZQK@!9JW*p#e5I0zJiu>XK$7 zq!V(#rSk$%$^;PxDR63LlwO_Oh!FMDZ&t6ZTSHSs73n0{_K|j>Ud_!xw9HA8!ZsI- z&(~4%Az1}Yb0fJrDI!x*ET|gXJB@58A)!o((8i5^zsbPU!7l z#+%P;HvEi_SHy89qO!mF{x0Su9$!?a{0Z0^&12;f`?U)q#F@L+N8y-2Byg4eWAQZ{ zVO3JdVK;An?SVpgWh-Z4%udw#{+P)TvViYO*`7{77JM|}Zf-X}VtWU3E%QBL0yIMh zsA#3$YWyn^bLrs7UcP%GQY#THCs|+>O!V({)O$Me&Oy7`54K8p%hz zYqF66hnY)(;efAfD;QtcQ!C7uyj?4)QyMQr% zE5txrQDj?j;`iTgXADNl#dD{R8`l}CwVfTQd}?F~&;7nPIFdd|s)^m|N@FvXc?0g% ze{UoTQiN<9*p#4+erwk)7dpT)My&P&^G5AyIQ~Lg1_L(TbJqd5I!`UkMZS{^M4n6r z1NX8LD#I+%six7q^us3~nkgcczGa2YV*}Nt-bLJ&gbYEG#G~RpVmfTB6zOkWE+w#z zccK+l6L<4tj2(Hqf)pQ@^}=+(uU03PEW8V8n#ez<3nM=gDdzOq7W$_ zJeV^E420E3dpx~}!cdnsESl5;TCy35n2sCaYYAhtgt@ZD)2A7$3rP>=0xiDNzG;|U z+UI4rHjdraL9!X!(0I&=F_UzhXULkRn$gJw3yy-MjvvT3DN2~gKCMqPvTF<3ug#sD zA^T%6$_Vr??)D12X_GQVz%pq^c`@CjR^-nem-nzgKEn*=KSplF0^Rw{$lmQ_Uka>q zi(LEQvE;XY#hEE3t@-57K(weB%Ini{H?-A}2FgQeUxZ)57oC75*`{sJ1RT{b>WoT8 zGzin}3$zWR)E6!zMTBnv_9}GUMc(EAa#y7HiXJsCS`hM)_dTQcGxx8Vyb(W7B#TC* z?N$drw}4&`WkIP(Zff;xj%)1*wl2lUwvp+;KcBeW z3kJpbCrS8&LH*8H{?}np|71k(4C)Wo^vTFBqotX{dCV~1&5~z z2Mv}X1ghHXafzk!aq=@W!OD3s?)aLuGy5RIfH{8bQdaR4Y?WH+d`WZVR}#+dD%=mReB@ zGd8tOFJ2KN33LLZNiSv<8VsESmkzzM?9Ki~{iw!!{#X*RcU3~ULup1(9c!#Z3$%>S zl6#5Jx~O@v$w3Re{dhHf;>j)EYGqj(FT1YgdKYkRFRwR_Yn^o+wRfY9JCUxoHi_6} zLo3eau{#P(H&FaBM6pd}7>cn?TGa;*a`C}(`HG?5YK4p{*tBlhRD6{o(5M6r=?UvU zb86}d%^?Cr1CLx7qOiT3PO`v3;A1q zb#yU8+*&<-+eizGtD{MRYtNhHi;ijFRziTB$iN)`ti}=hofB$|S<_{`p&N}ER7;|7 z{pz#R{#zsKQ;41*Mu*A&5Lmv7Va!5k119)<|Oy27c~wnuXl;8`i^+gA=nBGi}(9` zq7ph6y2!Uw%f(+~FSpf9;o?3%BBp!-}82OM2t272RqyNzd_ugwRNyM5=2?G z`MYkeTC6~~*_r#penp4@+ECt=kU=w(-D0^d_=0RBPx;Pd>?MaYKaXpq-DDWB4NH25NgY+Bd1Xl4d< z(!8;uBJ8~}DCL&P?|Azi6GdZ6a+22^8woHqeZ2N4Bl#s z88prxqjC9_a}kx%DIYsf64-)ez^vz()q>t{-5-W)gqibZ6HR8LGESgDt#NLu{eXx3 zVf;&%S7xFn_(7tuUChTlurBRkb9$CpdGjm#w63IK>lkI+u{D<%4#%l1y<-StB5)|C zF?xHfrwLph6dEH0o@haD>XFEs zHXVh^^AXAg-MF6Y^jTXxoG8m3Y#qb zzL-*yS)F(lJ2Q|s;%|l@n&Z)lI%e%irBRfQeddf}Ss-Df38PaO4ufx#5*GyDW$G%4 zUOY5kpZGLS;S|=yC!oWYU~6_@%Oa9b6UFFcZFJX*8f)VJyt|B_S^5YOL$@ z>^7+>z?>iMuE{n>yFK1C-Ag(`@C4$Xe@k)heh1mNIsECyLZ)=(ig#>2hHQ;v)2u_0@OrmIuMZxjkF!Mo+DMWakU-{v$giN^EbW zFmIb@(caFN3l8&)n{jX$btA$T50{Bd*x@Ke)&zLt9}it0#Vi+W+sutlauv!B!hBA8 zbw*)F^nHv$oLj)oEaCG!I>F|zBI)i^puh7ZY-J#jw#5uqyqKzs*xEX>>ERKOk5!at ziz_|%=0Ix2Ty6!etXCmV(>{zaeI-7EimJ;%%t71=F6-GnogZ8rpTitskY$;rI3EXwiMb3L*(6x>WPBF zlh@e4ET8TRu`zfFoTlYX{o>|tB){tu3bWAEQe|a z}tAy4?}49ke}jU+GjDEE2e6F7eWd?vk%A{H{7E~;oa_mi6Afy3Gc>7jvAbd%(Y zv_CxRxtlXv$YHsyXED5Uprb9@dajnx$HF1l0q!bI7M?e+GGaq3LE3$*B(<{KqOtq^gt+ zr=V)F%uzKz-C}LLDAqPnDZ$CL^Yy&FM751$kG*IaD5MJnR-Mnp3t1+O>uFuIbL_5g zBIh!Ey|0Fw?i#y#5H0bQSD-3Cl_&2is^Y8&=6|st_Y6}1$t zL*oUPRDQ&1Db)f!*3RGC=?k3)%lTTkRA1j*(E$?RQmh7uExY4UTQplD%2Sh3jwE-i zro2sS8EE4YN*ST9F}SU!HH%P|2#YuM=@pC4h;I5< z>v<(q6I8`_y{lu(Gi3I?h`oQyn<1@XXsq~HqA-|3w#9~SE`9!9vJzMrTt;FL@g~B2 z{>_ByczrMG9=g%8?2YcMU+3-HLHt{y)TTsvD?A<Bu5{Nr^qt5y;Q>s|u$W;C&V2R^DUHt_ zB|)o~-srV!N5bmr^?~Mr|9kYIpnCmbmxOlJ6U_y`1BxnsVcN`Q{)*H8m{b_Igv9Egro{liLG;+f-MO}f zBVU%oF7e~9ac{5MGMqsaYL%%?38bhI;HjyqVA#s`bCo}?@LyXsYq0oFCDRgJQvkpNQ(JaostqnmoNHmcLpP_6!t zv<2(>sS^xQLi*mjzTXCIRL-rQZXTBkh=R{T`@Y$e2IoB7y1z7Y7MC?`d3}F6S$R=s zXi^_Vv&3hpYzPktAKIl;r;5YW(SKml+sASDC!0fRu1ek|Q9U&Zl#F{zB>{bFQy=9S zwMv)_vXK)Pk+3N>d?SLmKINo$Vy7+%GrViU2kP78-hJF!!avn9|9L{@W6_|GCM{AW z8L07 z{3N{6SFDPGF<6p-GU2PX4w*-781Ne-C5MRJkXrhOJ6_T}yV0mE8bt&?k~uq?D3}A` z&%5=wqq0w@yCuA1D^Cic}SGR zHrd;dZ5wl(ig*g7yT2Vf8oVt5?lLEk@!3wGWuFMA>N$3D$)+HKl@x1(#pGtBndRxqG#VO6RSBeB zx|m`39WJyo;hTR$qr;m#d)8dC9g8YY-94e$3;^ag(jO%cFr_`)z`&mj*_~Ikq8pbB zGL35Suk91y8yI(&-Xo!o+_D{9u487B;1|}#VL}*fmM=ObEt)RDNLlId zy$%(w0}KIW9xi?f@iKPcWYU(Jd`_3n*ljL3?&nb$D|vO=7mEUZs0k{17&x|-@P_x) zkTssiOg(xXZ)9uISnc4H1!+wvK|WcqB|bg@ISp=JehMTg9$*-E`@$r%PR2OdAHtTu z>-8$Jw7D_#Y54%#rdD?Vs;MV4G}X6icm;yD0b8J>3YXp!BSMC^-I5H8k1tq|egwCZ z#Xj4`5Xc#tVyW6(6wR0zp zf^ZdJXNtoFC1wmOl(&U|GCp+}iwfpFvm&$3X}=qt$=4##$BZclHzEXB#NiXUI60>l z9J%lV{Z%^#%RrE3AWP!lo=&Gth5g-;_a88Hu56Z+deigsn|Rny9nr7kY%L22pl34u zeW>aKd;9qJPA&~bTH*+!sH;4)c$6?dPsj!^`oZcs8->^&* zvELYY>ZoN!G6ZaJTytEBsGM6{#;xuO>Q&_?e1icKO>381#>rEztX#adThEI-hQ`fa zGNvDVT>aQJ^$5NeR>x>XFgO%6y&@+g{}u9x)<31K^Sy@@^7J!aIKDa#%<{xY#nw?g7)q_vSAdho$npXH_f-%kpP582PVLuN!?+eG9 zV4<6mecGA5RR@#~TGzS9H7dUlSf5uiw^B}~@3>VDEYS!BCWP)=(wM$bD{g#6OvWif z&7#FA+2@^MH!q?3CWNI51r-!yVDBFGS=4YbNiOSLkYVbW)us`({I+wlzZDCt=I#@= zpI7Dj$-4}h!vY1z&7cLr^u{4)u!sEqk>Xu&i&Fd%e`<2bN_!z=HD8&@s_f$pY6hIE z@pgq4>KR%OIAz^AUA2WY`Ju2+t0qK_JkH!KE1-`1XpKEWkl4U#=gRN-oTW2L{v@a4 zr9<52P5i0|Z0m3)ZnJ?i*&l&!xBJ=lU_gUZwD)zTvMSH*^D=eCQ_P8bKRMaehs*>S z91E9ZG1#g$%kR`ieED)nF%*e$Y#&G%-}pZdr)G+bU}r^Q!HyO}&mUR3<&5}8Cw|n& zjs)5Rsc=^3w(a8}H#|ip)d)obmjb5*_M)%^v@;{+k3x*AarW{*6JfP!?-L{N&fQx9 zE~UR4-Td^qH(+X={L=d6yJEc{ey`)~z&!_+7TP@tf)-K5Pkc{CnN-jIOh}>7u=l{a zGWas!hU43GM#o|hP^usRwmo#CFxZM7|%!_aPHh zOuhm~73)7u7%D@A(Q8rB*88slfAoGK2_!ang z>-bDHZ*z$J4oYc~A)b54B;b)_Lp{q9TPW-@wI4bWtO~*){HM`-mkXk*Vc$><-Ajc7 z9$Z)U63CilL;}Nn9w8ZcA>1-Vmd2{2l?cQ=aHd7~0c`!j)~k2LQ5#vyeOFY&Pa0AR zS}nQPva4H_9~gP#oZ}vv8aR*iPv0vDIK7+U?72H%Vk~^&3_-#IxWZsA7lgZ1AM2z&)hRrvZ*jR ze2^JLVt4RH-Rg&AYX+C-Tb0y+z_gu8iRYEotKq1Yyv**t=nwL|^34)2E5K|=`e2#E zeS8j}foWcq7-a5a9GJX=?jL+b&jIZkAxAW0Ty6l_M?J}ag0u=Qbwu(Rjj;@X13NqPfL_-D^R58uDdLGrPxWfz9%PGfC7;dec0f-Aw|I5T;_F3xFdjWni@; z4Z6Uu@FM#rFIVTbq2qw9WmMQjKlg^U7W!H{yPF`1`byRgI0s1&{R?lH^-t&T4{w<9 zzu^vx+F06K5itHbT<-ssNH1Y0J5l*x(OB<+Rif`PV2r=TiT$5Lz?gmu3ww|Bq9jR0~)yPznBkvpIOT*oFvs8WC-IgKotP-wK43p5PJ~rl;or5Qj=bIfZkGJqtcc-_@ zjiJ0dt=HJp*KLpIjTaew-Zqbi`>Va{le#nayRVHeHlGTJ9r~G1ES&Rb@hy0>$LjLV zT4@g+zEL{gL`}{ay*_e#yu8N)OH^hn#yX4`%!YD)QtwLHlWAScTWZ;!6$v7XYKY`L zjg`QpNF8HH>U~@eO;SvfoHcpZZ!Iuf!sQ%Fc~is7xqKZ?f$Sa^ut*JP_@YUoTtUJ2rmCaOMKdKs+p7o|bjzsm{g)r#Ml~9ma+AJk z_zXMikbU*Z^}*2a$>n63LKu}i6;d+S9+g^5EU^7SLB*X^GYxMuovzSL^%lu`bW)U$g!_IW)NHhr|23fH^A-nU{tF-tq# z;m$K!MayO!AVs3{a~|mEu&PCwD7|H{cD6Z~!W=p6lX1Zwy^2u|xBuSK1~g+&mF zx8L+0b_en9vJBs=-ACKL<(h$Z#q+on4m@33xcHCw!UtOrpGnQkZTF$kv3|7M?Y1Ht zS0MT)OHG3U76KFRBkyQu;viOVpn8`(4~J6%8TS)@@sex~cKE(rT3)5$&yHJ?fa5!!0k z_VC>nsJrj$Zy@Or6``ywR5pzzAMl$>XM?aNM01V9k8{-FS0z>XhnyZLaQR-sq1u=3 z^)h`OIvWqob29Y7*QmJd2QF{&Z>PzQF15mj6SkXZKUkXOz~xDiKoD-QTL4btmKHk; z7wKpuB4t1I3!Xr9*ks_=SRpn8?uPR+%~UPhW7eQaSUS^4To0ubx4sDoMKVIw(BbHo z7;On6cw4%}z${ap;zGqL659;i457$lw>dpLr^&B-rkD||m8Dq5P2Ynvmxx(f&egos zm!4>C8OE@L5?Uz~@AK8G4j`9xg;W)_VX^F0$ZR`n+SEc#RWUhn zFa3r*en{e@=%8Xu_Xft-R3jU?8hTSgD?x{{rr|NWNb^%)o&rch%^K+BlOM^1GxL$m zlszc|lf>j*KqUu}8byU>X|q`X@03C{JR%89s+tE2*w~HM+C!nD`U*JpQ49aVd>Kbu zr21U{9-KvkW4>28Xh4JZP&McC55*~6g^2KcyT?_^mX)_~V;yt)i7}levMQLA!%x|; za{2={cIeU5yYkAkvVA>68q+A88$t4+$qMH}tEk(=IJ2czW(v1F8odfr-*f$qh$}K5 zn~IJnWy!0IkJ^F zP(DeOi!+FKhHVpfqxnXSi}jT>POOM|6o!Z%?J?9YPfysiLb2j(MpcnZtbf?L=Q}`^0Vgp%jBHuK`OM3~z`hBkj36Vi zJiH`}E#FLJN|!piRotVfU!%;y+R0HEM>)JYCLe8%ELJ&bOPAouErzYIskzV;V>Su# z{72#(c^G*Y=PH-Tn~N)Mk;f8O@4jOWw5giwHFHj%x1u4Nhk16nzq~qs$HPieRu;E- znlpMXUaEHSe#A~woTghbr0S}vJ#A@INZ)#F4cmRG4)nLVbfq3a)U4-ni9UDSx%kt7 zM2t5NP?w@8*|%ua5zDW#n>!&iLuHuJ z92FXwQ3SbeL4fmrfaV-@U<-4%?-bNZeB7L7?S!@sNbn$cri?%Af@uH9zpBCtCR1>v zT*9UqccRmxktCua@qIyhQ+2ag?M42RniH1=zljlgDO@b8n-DBnX0cAa(aB@`g}+vw zQ`2OY0k>?(OuAk!i;A$=8bPb8ykrr^CO)Kk8g?hAcI3T_aOc)3evtmQP-PE~tm2PN zW+>U+mYqgGxd3?ze|cQ4kA#^vr5!KMx3`!E+=Ad zXxaebJ1>>L@cjNIE9Cz;aGimkiSb{5_A`t79C}iVB(&#w^@!1d=@$o2ZEG_Nr>kZ}e%%?@C!A7;{yjtA3u{Hdb`zPDE*J{MM z?~4m_xK9fwg%=@{rA>8trPebq$(3bkV=Irgz0Ic1yFA0GV}~a}d1dx1lGqbvuIF@2 zO`~K=EvGlhjI=3CPxYr)zAR-Y2~~q;Rn9J4)B^Cm+E;36lh3Wb0VRq@s(n>sQ%NVK zj0sHUFe56CW(NJ8we_TxWMshcOXdB@#`s%nD{hVHEt;^5q?V0Hr;7XHuywxsQ9z3N#P{&ahUA5CAXotfuEE^RIx0y0t*TDwju>ro82|vWm%}RG@X3ErAlE~ zImILdhJGWDZg4bOm<7QlteSEZ{5fMz`4VrN?C4@d2rnSpu?%V}nK@}|i>DXr==eJ2 z;G^QGEPrrCblnt6#Zm%C#+~QbDZHCF6l<`;y5t}dKS5Kd+r-}JcUnPJH5vf=jNSnGe zsAgKGxIjpiwgyv5gm>iv~FO z8CAcz?fK>V>m%z8LYeT1JoUEeTNn4XW_pU?>VbQiNE-IO4Kcj-7G9v0`kg%NfdH`r zl;nG8t*i;XA8P1Fw>)(lF&{I1sE`8w9U&=`ZW7a}6i)k@RSji7N*F#@!-4QUPl&4R z>4o>uB>0*|W41H418O*0!=hfzaf(uuWj`)hXTGE;pOv})+*VC5*_ec+04-vkJ~Xueq*YmIoo9RMxZV1d zZVn z2*#!@XC+aZ>@b+WcF0h=p|$y?&Ug=T<1SNY^7Ji94UxH(h#^X3AGl_c|ISPk6^n-{5OL(^|`QvcIp|PzN#(b#v#D+8-|05s$MckA^9C3vbS0ZGg zvA>qI7X)C)!g?Y&MO9?jDB>$K+(xuJ8)j8Sl|j$^^uAcFh8o499-)PLB=l~#mN*Ix z^i2<07d{T(;g>lW?~i>8+xkN^S)!b@H{Fl>uoHADX$Mgiq6}ZtCa*c$qXY zGOfAQ*ZfRTcSIs`{TI8wHi&XjN|4qPua=GJP+v1DXJGpORw+ldh(gcKP*t#EcxhNMdyL4t%Fq4JJ8U|IKF*jdPzVva$Z3i~L>r73 z?bok~=&Ift8!Oz|1GY!x9rxweF5bRdk73$r&)(G?+>X%~IXS+3CZI=W}=Eb>)bkZ%Ea}KX6PHwoe=ARa7nK$n`stIG%o$8pY^U(zTE?4ph zKJ>ia9z5f%`CQf~mY|{y>LoqZmWTSzb_3RCS6K1KrI(O$O7Zd7wxVU13py62l!b~drq-R_=2P%FquR>;3)Jt+{`LLBA(lqb>);LyhpL$ zE5)vyYfefUtTyc5<94`Tdc49p3WyblA*SY%M;nlYRo{*fgrWJ# z&~oGXP6vG)uJ&@>g7*v6`(7y-N!YhK7EHfw;>cz5Mmt+jZ}O9 z(%`GI5J}_uUA;r10GZECelIc0;-(AofZgS_ zzx#9i(7M3XvA8F~=syi_Il(~XwSDr`epQ^UoihfwtIYVTrUL!SVn^ZgCk#%>iTo4` zz3cj$R}bt1NSs3%Sf8YJo+xf5ET2I>i0}V41P`sbt3u3LQ(HUnXQhH3J6?_8aATp7dVyY++Sp2(`k3FVR<@Y2Pu%(G zDR4dGY{*sbsMu@qSuWk-!6`Q-VgDj4GX6_9(PfO2+!`-&LA#9Hdc6yYymgQ|RY1MK zdk_U}@H2)uy+JK#D^wxb{hmrH%Oi7=yOg4E3Ui2i#u6}#I7&2V`(a1qao4Y6uZ!O- zw&ro=0u56s3myecKqT`OvPRt|hVCrIri=b2r2S9jv&pbHCqv4Q@5AR%!CO3;CJ9He zR@C7(9YXOAHk#5D<+fJ=N>~h(v3D5=fPS>cpn=qdww9^4eucD@pEb0%BvBLexaK_+ zqA_V8f9yrv%Y-uE!-|dt(UU=`xh~$cM3?qyh%yommPL{(3_}80auy)RPFhx7EUbAz z8}Hn|eCM+x9$G9RIuxeA4X*OL?#Y!#VV!{%Cgl#he|2udLBt`71yL|bGplmTV=vo? z2m62!&uOyOz>@#SC0kIp^RND+cvH2DM!Jtee*3*q=Xs5tigIS@0(i&^f3|+h?sNU3 zc#y&5jHJXU8=B?q&7ES9;-wA@HHj+#L*Vct14FQlgx`*vCf!W{+xZQg<*4a6&!lY& zuMa5b8-A90yjQ%GnuC83V}ajWoVEing(8vFrvT}zfmF)2GCx2>VT=z@2C258BDpo@W#}~@MZ^hd#GIoe;4ZyR?{TIbs*20*V`_3)k7yFYe zyc`Dk=pY#_sD7pW7K0i2JAP`w-?lP9{daN*B+}_s)_ksPxy4uPZdIBaIrxo3oDlam z8PSZOy~~g8!R1us%3)P#$eq$ivl#$Fv^rjt@q-kXO>Oj}RK9`=a{y73b}PtBn;LC2 zr&&lvDMNpgz7xB7)_+BYUiK(ygtF#0Xhk}KYfwWuV{XSzoh^`0yPlgUj57^S4o!u_ z4Fsa>eAXJt#)+(XM_3$dPi%{Tw*k!pKPC>ry{gXQFfpVHymiaeYL;YaY2mhhy|DBh z6&ye2MJ&k-+Y~VFhcn_UbBO5nu4>q?g8^M-j_J3rnYq&zXq2?|!(u&3+*IZYdC}lL zeUyM^xf>TPU9PniC?;(ecBjNN-FfVD0#GP^!<6Gf9And$wmW}$PEL%Q22LMyzTNdT zk=U{pk!B#5Mr;_QnZI|)PkyC0?o7u%q386gRwiF@6!McTXP51B7j5Tpf{nm(d#aiG z2J?o0Gq$F9fTQO}<{%0h{kr)2y)qh%dj0pNl>k_i`v%Rp=(sUSTWAc`%&={I+=~+2 z)ud(Mx}28A#$YdtnG3oe-mcU`G2bV!}EXGLcHyq`M3wO-dxomRMT`^goLv2Ha zmE(;a1yhz|XBF!T__~;I%;uc6rG}HK`RHYbSCf?hzSw~==IFvXDLQ`CiLy)@7Nq5K zDN_k(E-mM-I#9 z%QU?g=nZ?c)UNaxtDhS1S4r?=$-BAW8T$ql_s*9 z{W0Ca>bv%7_{_^XwCivqS(Dc`KhLnw*VmC%ynPjIZ|>C$YfSFF3GXf5Wi#OJ3S(VH z+-|7-aq6X*()Tpd>84WDE)-nL6lrX45fM||<^(pF{>nmK_gDH{QY>DBWoeWgwhO&z z-Dym)9C)3`Wrv8wpy0^xc1#CZ-5E20|r|ZgV3V_HIjJjJTWJ_Wcx1_CvaWHK9?V z9eKgo_@VER?s!|;6oI0^dv=X#1~hNgA0c?GZFTl-fXzBw8oV~jjN(dPYBhD?vy`rm zfzrn(3~P9WbISSMglfyAzu#SaFl$yl0P9`xasYB zOzznNj0_Pu45P^^^fB_o=)P2VoMb2=FsX23nwpmmW1WfTUXxcbb9;udJxj$}%XA|s zt^slV$~1ICU&yaAQY2ta&^UFCTY1sGF?lN%%Hd+xam49ep6|#{udKGiu-Xuyd}8zd zE<#k0237!ZV^k?U3>_-*WEvg0)kMV$``F?9T!0)5dRTb~6(`MuE-@9^WRJL7?w1S& z`-_EBXE14_q*?GVlOC9at_Q*r#+GQg(0?@ChdbOu5J0!4 zxzdohETC47C!dHA$4@=%kju!A{xZ1x$U_8j!<;1+$5voRGqKOMIPDtw9`b>FMYkieHLk8Ti_NA8by7WvN$Jy zD_H&gJ;fo4iF30d{4kBD1zdF>&&!>uqekAL#$3Hg{G-K4#hHdd>_aVU(yP$qlT>_* zY@DNYH!ycjGT7sV_6F#WLhMyMY^`5eekGe_sN_M^p>kyM z9ua9aqwkqQXd+b^t^K5evDIqE6}#J|s~nc){P^EPTozWN{>V}08ycnsO}Q3j zjf87dnHAS+1IbsYdFs5F%?8qu-KwHB9Gg+YRbeC+T4lqzE@Oo&#x&3@rB6e^_|ERPb9E?MLZ%Vi)FmE@d9vz_ zvNE>}&M&{|=70b8x3MnXl8Y>V$vGijS?}X2aW~k#XH=t*NfAx%s-$5%Js5 z2QpVgQ7F6~(x7U4{nAar?Qy@V=5hCaKYwhwJ~x_=*zoP~_Vsl4eBSo{xP4@7?(py! z_}bAAe82wiadqYhGm)`%8CKiRJZ;WeWNlsO*xJUH`OaGYO3qtxO_|v0$XP2Vfs^cV zMPiPb{J7ZKI(nXrY)4=Hglp#MTE7aAN)5(Z5eJgDx{hY;{MbF#jnZU&~@fqYZB=meNK6&g_}M9x_SC|0H{3wnmGApx;06X1&>qN z;&lb@tG&)yd$aFDe?v!1+)2N+eBxMqWu6&z(_^pz5^>S(9R8RgcBD3z(8GpG-U zG?Kg3ct9i{Tvfa9(#2BptH696pDVU!Nv5-`R7SCheuus2RIUmpq%ZXVH_lQ5nP=P_8Lib3|XT zWF*8?f;Hf#f&-hPNdeA3FzLIFT7XvskM*K(zdB*G;4~~dWi+2KgM3Mhsn}_gFUm8G z(Pi#ZbPSDZtDxX6a{OQI^~B8LswAGC*`5gIuE6`Ie< zl7Ng9=Wen}IIRklBxh96jhU{}Nw_A9Ar?DCj`3~94FeE!+dmthR88J>wies06uUt8Bo$0@raZFyA-u!lu}iLa#qf;& zT~Sbyq?7Zn+Us3OK`S=IO z3yx5S_@r?Ko)Y8e?NeQ7*yHxhX`4<_r<+ z6m3rq)(jH);AkMMVR9jIC_w<3PJp}BDPWrAw&TKu5|6w_)o{LjklhJl{t@ycF=sD; zfex{Mf|WyqT@a$^E6gfclPL8<0|%QM5p}`2JnQhf(cdipgit5S#p%^T_r2O0p<=^} z`ooCkk{0ZV0*DO2ep2&vw!i=FpTSyZ8_9=arpnFu`wf|moy*n8lS#z1uO;f5{F2_6kPHFp;gZJ~0nwKZsrU+DL*kB6)?r-WEQii2eJ#-NL4G0FLx zs9j|~=TAX^AxM7?np1}t8~a;YfAZK}Yp^c8WlmtlSJpr70TJTc?PQv+e{i{Grl|t1 zhh)RE0LiW}0lbDmZ8|6ywGOR0Pt9H~h*OPsKk>%1{Ky`ByNV>iKF!Lt^UN>42O<_s z=3+{>G4j8tWv89jIB3(=k58u4J7GI{Z5fsKlbmv{zO^DZQB0wqfr&)=teR$0rNRw!oRvFDjJmYOi5{E zH~G<_6SgC(r5U3{ep|u&bIIPs4SEw3(`?tMS>}}-ta3JaRCNc$N+5}xR+D)Q{tEgB zzbPnLp`tiTU*ye{!68O2NFHGS3mIw@o+2SrfLZeDwI zzx}?=_5S%)Qw1&1sb5AS`=(n?PN0RDf@O(4QXZKi?SJf~&+{2$;E{8Za>IA&?j1%e zX};?lsrzYe@f|KuQ_R8_-S0YJzDH0M4R4dqk}5XJUGU?hbV-o811@yF%Ph2xKNy44ze(2Of~16lu=hdwKa z_Ok$amEIAXvIT?-ND6C>xKg2h^tbTyd!P!ZcmLBAe$MR3Eo5nLRnPVjW}Cqd8-LgK z9PvfLV#u{C+z>`y#^0!28b1y))5)m*q~PxPj&_L2=~c|@Y;u<-=^|?x*FOnsQ{>ce z_Vqo12~(Q%odo>ayD%A)@%#1y1I*3Jcs|^Af?S%CSPNC%vm)PEv-Mi#yOrRjMIB`r z(K9=<0t&K018Pu6y+Fk4f3EE>n+xY30_nGQ-b0|86FItzTz~ zRQ{6+6o%2v)_6yZ_1W^eC_v((>ym#zRigpjDtb?ZrhNoIlNM{I0-To##g`^@Ckw0% zQuSO|_qUYLEYeIpOMWuT6T5!yKvXCehAeqvg}h5Emb~vwR5+pJYsjvQg6H=hAdwHe zi^}6zR(6y`J0GirTEXYYrt7t6`yCu?hoo!ob}_hwoAy)Pm90Lsec9B)-n8NP{4g)L z>om)-Y{-R!%#72htLlA3mFA)z?#ETI9U7d$r>3z)8HmgN*r;CQnnN3?kxN?>??JG+5J8+9_yybPJSb(|PxGH#`)L8At zQ?fv9_?fu|2qz-S9srCxT256M$F>PSiu8dTk}U8h6vnbF-7Ee#Gc1P|3v)-Y#o zQm9awY6LH(fLa?Lt`RVAl78QDb-Dh91Vr4s3?6Xxa{cqalh;WgTJ%IeO-1XbGdF5C z1AglrhSXE0N>~zTvxFY(cD5S&W)K=2=xIGu`~gRKd0jILE@i?OK2f zytNQd@GOBDHTNF>NQg>+O9?65TxB^pI2$@YCZ?iOW!5zLyz1#g-kuC5*PlG-p13u8 zAnouV)sueBVh2?T`gr`>JS%?(F&B4h((o>-q2wE?6<@qw{W*YmAOIy4wB-Jtm0bk2 zaR3%vIO~Z9yFRtJ+k^t?&)yRpOR}m8^FuFv!V?gf^cEV+?S4m>jZOzGnk1u|C(OQ? zMCuXnFR2ey1lUtccP=CpMl7dEUa3aO(kS|>tU1Eu^5JDx3R?qD_rU28tH?5($vN?T zdix#mC*odwDXzi#BOoSC$lV%knN&ak+hzgEh`0yka0CYAVWKT`UR3EXi|C*j9G+?f zJFEQt*v%FxjUqIzgRRQbc{(3$(l#ckZV1Z>ikAI-6>V{QMFWsKpi(5zw$2Y3SG5z^ zwkM%Q$9jvbid;8^D-16^O4?Lxq*t0F438pD?o<3~S`n5D1;r&ZIMV98h2(C$u_yVh z81{Qv2<^lJjS>|Tg$nG5h#+yxqwvJEF;|7#UR`J}LU1?r0|~1?UIZ)1pFBwg_WnLH zaj}~y=22=ugduvhV&&sN*4`DtD7jZqWpu{0d*m(yQgf2c)X1u8vJy#`e$r4;+kzVj z<1fPO)(*1jsgr(C<9-@6B~KQmZG0=dG+}*k3}a$OVvqhZn_XFZs<^ZG^MWQJ8Mw3L zL0&TPrkAa<3fNU9CtcCS4$mQNK3#s^T0RKnGiz5gdN>=96O-+t)x6s9OnC1Q-jkz3 zNa;Gn^Ni@UEP8M-{SDtxp4*_llB*{~^zCJ~Y7xhw0ySz1?=V@8W+e|!2F6Wc*+g!L zSA|B;_WBP#7P{?Dw(##Q)_N;67h^4;?BtVuCEj+m>P>1{g{|AM*P1Y=@C{AuI%A*o zwO7Pe8mMUzt0K7}v#;VWBCSpeJ_jZy_J})^Fro7NS0%AG#lB6v4^4{?st6y*0=~g! z9~5ZiwZA{%u-UV&z|CgFwhtWM_SkCK!!7-Zb-Loasap9M8qcimGY7t)=m5kB>T&-s#?o#&>?(n>+Z!&6}H=Nr^A5!Dq7bAhKgzwr_1{_zCOpg zPQX<7`J8pdIbtrT$^wQv&vC-Jv*lPIv-R5+*dJHr7Csh=96u;656HoT`10XOPju z?1H&0iFUXal8S*yCQDV< z>jr2&Zq_SqZRH{;^<}R&JlSer4ak`#O%}}Z6TxA+6Kl!za@j;|{I$Htpr37O<39yV zdM0%Bdm(V*pqHg$H&yMf0=A#@4w>B-e)l!pgQomVte;>vTU5Z&7~OhgoR$NV51$2! z=S85cK5@pWbw-D^dqMdd6wuqY)oVkW+bhG_RVS zSN;Xc(NxUcF~s!YG;*tx60j)BT-cSE`A<8?PAmR|_`FIWQq%QmSbjz(k)0Z(rBADt z+}z3+7ow3HQW?3Qu+UUs4HKpRU6|Q%4jCZUbqZ6wiUtB*%MqvCK|LL0-odb6C+eg} z60Mci8nBo+ zLza~y3}QZ!Fz({qSt-V@{ENdKZwotFY|Hd#X|OX4Xqud_BwtFM*Z!Bl*y7(y3sCRW zy#VV$!i@j!X84zheSRw^V+Wg`F)3OhV;6HnV+B!x|Hh$aU}j~amBITjExnn^?n;WT zs3X3%W7)AuwF8E*nty7+VwtV<#37L_+G(Ln=5 zE$7ZiL=K^%AR81y0suqd0U-h~xL46obK-;V#t%!@YHUJ&L}crL$C`H$NR9W>{rwK3 zUO9sW;KN`8CrfN{$mF!IE@wTJdcw$bFG?Z_mPfj{1+i~tsv zC`d5J1WfI@&txlJH*kv!5YFrC6Y#~I;|zMM$>@p6hWg`% zS~K<5(mYQM5LpA#dv~mvG4T#SciWBK{W9(SQtVF7iteP}-TnCZ$YW8oIifVn`j!LN z!*|m;Gvc(Fai?cL&X86&{wM96q^7!@<-ATKOR9P>kQaMj7yISj-OZGIBGID=HD+|6 zM5;=8?`oN15zM&>RnhWW5y{thRhEf&rM1zG9g3*zlLqWHV&&-255Kt}<$u1zJ9(<-BCjyW! z0#H9cQz-Zt9`@lMpjzZne)d@a?ox2-Tx=&loLZcpD^rgX9k`><#||MfAf^xUuc#f4 z7i6`crrs~9fDk<}F3=i02m*eXP-u02xLC?V&{shNvR~mL3VBqe02F>ov8W6J)U!~f z;O8O1dDycyr_ZzUryx#n?I7Nu(){qbH@PWvKnwafR^T0d-L>e^eu}$TZjhD!mb)aa zNIKx~eFcAcUg*4lc;IydNcTeiQUM|S?ia;E#3v9T65~(^O~m&oL^%@yi<39vb%0@y z(BdbF6CH(440Vu)LCN1U`;{IsKKHv3{NRs1E?F4!)LPTEa^=+~!ywt3~{CpL2|J>vN>vQO82iMaJ`sjYp06 z>o;aO3&m!%r&#Tz+5)usm}eKKxbra!J^8%)bm%sbW+M0ly=o(?Q*1*o>9?DamdA!9 z%!;W^X;G=zEFD%)sp9(W42G$aY0{JY$N0y>$AqXsN5k>8MwKed5Eo<@V3x^K#u2M$ zRwc5tNlJZlnm(!@HF|fHch|tu|%uGHPkiwGmLAx=pm$=f(~d+$g}1) zi0yEuA&yzL>9!t^!B^NT5$;~cZP5pX5AHYKH^+BTP?m6H(7Zv^kWa(}>I{`NRRMKU z@>Vi9RgHRgV}Ip-6-5<`T9oEiok$gT6=T&!Rf~E~osZE#17u6whSLUCW1BhjhR3?e z8q0={o@bxS^7J;%oQ!G9&~@S#p=Y;uqj%8fpU;vfc&t{qI5>+Cz>pcNukbWOdNmZ5 zz^q{tENkoptf**CEK)38cF0VJERM_{C&Ip%BO+@e6FgIvW2Tj@wXm(R_0qZROu`&f|+`eAF= zbNRVRH&!=kCv}G!Q8bb290422`{d?~_8IrK=XWoJ7=#%#+poXYxvIGgcAC360j>Pz z{1yH(V4s9+L~6L5yf6Hrl49bcp7^YTT=v1OsvquT_)IK~)DH)%)bli752s!AHv6GM^zLZWChmo+7;mQ^glMr8z zbrQ57O_Fq#G>sRGPa)2c$ty7`fhqAyI8Q5=gbwv&U4vw;}A!K&8CU0lKN8+rMYDrdg zB$b9T6Oo+!9d+m>nlf&K-927Kw8-n>q~Wsm(e}9ZlSlW*kl(AY>%q`b*-@6iZUtVAgnHP$`qr`oC-tUcWK@3gNLpT?hfonM?ET)lb-e23~} zI;M}ZTvbV`H#dxzi*DNMD7==QmQF1m&%>AjEt@Odx2jIR@<(b+YfnOS+;7kIm*Xh+Q*Gty-H?TESHxf5yHX${IHv=}iH~(!hYuRm8Z=GwC zXzOq1Y;WqI=_u*M@66~z>5A!w>JIGw?(yh(?6vE?>@)2<=-2Jv7*HEn9F!lN9+Dgy z9TpiL7~vo38RZ`B9OD>k8)qADnP8b{o@AbEnqr=6nr4}9o?)G7on@bGpW~YAp68wK zTM$|pUKC%PSdv+qTUK6PUC~f6b?>j(Hp z>L>YU`YPp%k` zVtH6(haKGrB(?yz5?3KHRaGliEipYs>t~*>>gMe7GEprvJzviZOa%@>4FMd||7*4wnIieq zy@nWgb5HqZrRQ<+2>=3E4D(_k2r~yAFRPd z&)3(r+uPn%ifax}=jTJq!I|vW0lclR$M@}3$}_JoSNG@B)J-?1P0!|h9GnW#zNOgY)%p`AeztTD|+kRLcEmr*`Mm{bpFyaGPacYfi+G1?S3U zJ>Hmio^YWK_w5_0F8I zfE9kThwc&j5p}kX;t0ck@CI?u_OR(L26nLN)oN0LY>aG3>QmT`G72YbzcY-2in7>O z3ap>98D=ujUQe$oTeJB=L@(|uK^|mYJbsIw6s|2N`~U|vAzFK#Qw^1iumEA^*>?eq zDt|bp(_*CQQkqA-GAra~#XGq1h})#uQvs#%^^<;tgZ(v)d%WDL(dILu*)sHno* z3x7PMrnVKwKoArG9k!_^xY-yt44Qm}MzOo~4{>k-;F3V?#vQRtm1|E)P6^%ivNJ|N z+7)qv*`0t2%s9bx5wlcczd0Z8EdLgo@USf0i?5)AQx+=6{BPnw0udpe3S9CgSFck6q<-&z5eMLdhpyf89EXrpBo&7QVF%Rc zX&VUhPbvzKIf0NYt`7be5spwzj&?L|AqgB#3Gl4@nrreOQy|#)!xRLEf5P@j_nm7L zVA6mah{5V*)b9j2p;OS2)Qe81uuqt-Ht zH16ZYW|}mNX)Pf6RLVtJLH|=Y5OhGbeUmHlK=~04JXP{rhvG;|NTj0aE>tC0Xx zj3k8rjs;FdgVzbeI~b8fk@Os2X4jV%Z+T!H+(#)NBK$om_}vVUs11Q(v!hF<8)i1A zB?T%K-cr8PD1Dz^74#p%!S!(*pH3CU+4@!xSB2Y?qz}<+|20rmx~aFiQf9fMoF?+* z+5Bj-gEDa)X2F6x38^r20V)uyk?WRmcZhg18`4`LL7-a_f!#8-L$H#eypE0lOr zt`o4v0(qN?vU+xM)emrx|4-mRs>q`WYQj!ek~u%gs&cA$ZAuRLQJ)puufjsDJ}>JH z>QJ@_AQrk=Dq~NyvYbZ*1u{&cWJTr7`b#iB$T>R9=c$tmL;6%n7vDOTKr*?YBezgR zwn`^IdWcf1^FMt9j33{iO=nN7^s-Cy$2Z_o99V#_%YWHYb~z(M))>_o2|#(4 z5lY(7w^sRU;^bPLvoh$p|=9t<7&LPIH6Nf_&62&!cg;4BR-s+oKy)2G@(ab*wb z-ECf64uDC7Ep25nT(Cd@=^$0Bc&!&jr9j3-9?Ifg^ocHzN4!fbD4&2Xc>3*IF^8v{ z6{#fG)%Q|kG18!6!JVZuPSOPt4ui-x<`C@YFo!r&RWXVAAG(2~IRWB0yGIAQRe7Kf zcKJVa1FiS})D1v054$7&sT(AFwn_a%HyG_Rd*m1HUMk*pO#4sWAe@6dA_uunY6Ue+ zTZSDyLE%9z;y-nRjsMgQ3R*h>`)1peakrZPYG`e4h7HV@TK^g_yA0y)+f@8uD-UlP z=Xhv>kVHFo$)P7gi{H22b^!v|y)etZj;pb8*X~!|Oo9^c%#KU5{-3zP1d>g8XA56P zeLK|{-nh2XO^*?L_$sgNb zseDczw}`d_S`l8B&g5bAZmUQ&1qFYiO2yG$yNnl1Guh~`_5i|iHGft3KWKx|lxS~k zQ`{#(>B#RJzik7C^BksvS87Iy&dfP}qAUya=69~G+|2D_7mz zoqCMN$}?&T$gck(8*D5vWO{aR>{VwJ+hn#APSUYXddWNdzy|xkyK#7|%gTL<=j+Op z%@+!*?8eFvPHvd|pwNO%P zEMpI;!E%^b1SkhOf#04h(^DIS(n3hC!0utwiF;|s{cU~C7ZY(I(!4}c4kFV@Krr5> zUIG1sAz%*Hr;`rXKDUP|rh(QM+o5_4k@3G&gJXps)nM!O_QSWSKuH^jz5Lz(uG}dU z0)Xb+Pf4%smy@mtL}4O&luL)vt`qc!T$B)TNjjVxJ!~J1eDPtkgYr9rcgq%M`^?-M zv|?{cM+mI&#ggOl{`LwT(sjj7$-e$s#R^DOHtSVe!DrF?8A&-5wy{qoDmDL7_<2oarw;XT-41)IGy%y zoJHmW)5|%>NzXuS>-p#ix#iDL*6W-l5cNg39D&Jk^c6JP61hqBhBIiyT+Q(JS~n>} zarYZd*GPw^?1FNslnP1Qer5#wAAkR#Bf=udavl#UhE1+kX@|{dOTPsUlwiv|{iX#m%iu!1G^f?P5XWBEupD`usvV3Xe_V&!WduT8EWpCR0 zRI~h|s(Dv!Ap{H;CF{ua6f@tyVksc%NWt3$KIC&prxRVaiMxJ0-KAIsx}~IJQUcw%EEL7vjN9jI$X;YGVfR-v|L;rMT&S z;`|D9B|>!c#*UwrXI>ozmK?aYOkmY=Y^Affc98}LJM@+6KdS zj#;?X@pY0y`skL~3{>^fRD)UptQ>!jJZ!|_uGmwo zSm$990fh4<4H5(u0$ydTEh{6!&LAlZr=@%V8(*X>aYTN&sr3XNn<9|pJTL0MdC4wP zA5tI>UgCQoe)W?)=Kirjf0=>TRG?<2R(eWBopRg^WrGm3*%J}G@KB>r_6Pd&qJq-8 zT-_v)#e%(V^cE=Xs$c)q;W5J+qs|7yp`^x@`SCRj%0LMxFbXwe6!=;c z)*hcY@h6qsQZH|8uGY@l51j=#GgwY#-e{7LF_R#yCZ@~kXgxozt^ittZd8>ho;eXF zW9QH`{X0@)p&Z^1K`2uBoW>ROThcs0-AOC11YdUc_;433I?Yt!*2lc4>v$J(>rYowKs!yfX?>aHov&7K@p@xaK>pE2wc%8l-R-M=TfhbmB zUv_Y>F1Wyg40bJO@89f_=mgCzHIWZrnftBL8Z7UrY1J)ny2CBJPNvtih;PoS~v&DLHpUJR_zNMtpbzoB#u6RZIydHG0GGizB_EdOVCYd ze-W#7&XC*$*}N`h3XviDUpk?sWQnA^vgKCCmT&q1gR2Qohu!RtPuAQs7@eIdA9TSf zHP{In53EVXb?SKf+);tE?+PSxnH-7*s$gWkY3*O{b%)Ci&OlFjxD|%gv)1r(O&@7f zIhD7^B}W!5Z&cO7<@tbW^6-m^aku2&<$I@~{Wc#C@em&`eeC-^S{@d_)0mGnt9T3{ z3lE@enk(YCrgKdQLzSn*K7X#-iKzl#CX8(~X^HNhtg6}i_36RqfDRLX^Z<1d>Ou{*L=LAM=8&^?1MA)|zl548++SWG_{`O_zH|1j zs^1*;Iad;r*Rp9KXvm3U3TGbpHRUzPzJop8B=uMqdd6ZPuZg3#$(}gZj$)i~pl*{# z*6Bd}I);mPIQ%3B!!ma-Xe=JVS2f{2r2c_cj6dd#WbB^J)ID7pFU?%%`UQ0_MLH5$ zrDdE3wIhB!JY0bywC}Y158#46jTxNz_n)3DQ&%%Sa-}jlkwb#Nw%pZ=>Ec7ta08Q2 zyvk=4FVr*&IXlPfSUH;YrT2Ah+cxSvdn$5+p-dlx5G4jCOe4f*B1*5i&t)1e*2z+I zFd;JlieV2tz!L91VA?QakQ#(yzWt%1uzSPz1~2jrw=Z=bD$|gFR**f>ByAs?zanv1 z`1TRP>*|xES)Q4JH;B;%H_4^=a1oF=ON3Jb)hc8fiAptCKh7!l0sW3@ThWI?)j5Vn>vqD|}xdYxQ%ZdaGC{SfoE$AAlqcPygqZucyQPx1uN7=Tt4i>0pRV7PV zE4`XMZOm_Y1Qxw;QmBm_5%WN9?jA6nKGbj5*!~4gD~i6~Fy4;^aC1@DUaq=e&PySk z>lJNa!Oxg!Fokzm!C7MXZCFe|_sQ0Damdj1cuKH}15{{&XNnxgpaV+}8mX|@4*JRO zL#eKcy^i>kHBQ=rKl0Lpg( zT*0*e{VNd6>#xLGL1~N`2kGQPSKfiw6eiqBcN+drF+fh*@D^hG@dlws84QpX;AzeP2>ObI#&K3z+YpO*lW7uS~;oK7WD%yq-<0+Xv)jmVOrl>B1637pD!)qD>iepAMF1di7S29cIviSah=j{Z*bD+{M@IUTzHyu*LJ~^wmZ7hy_})3eAuCJpC%R zcEv()elUtpC!+8tw_p^zXqBh5Z5NJ(CVZ_qhH#aJMm_yL*G7}FnU8f-h}lb(+(5jG z>{oDQ2cVKEXuD+GxY9E^ymNr(hU|4lC~4o^#?b+Vf&*|h8ib9N3u0|Rc{ea1ycgT; zoz5A|HuK>@RwY~YgvMYtcAkNJFT{xgpBOL09=fhuulAt58Mizbt66icrsWUmghf%fphIp!hq#Ktn0(p~Z2u6f_~<(Yb#>CA5{LL3BGWEubhZMl??f!%C2 z%Q`%Z(mW92G`ik6;qt$P@_4WPBV>Q}t~W(`ec>S%QfNTzWQ7f5sh}!Eql4)QYl~c$ z3T9N|&ImfxX{dCXah|L!fg}l_34ek5noY!aR z)C;2+!^tHVJ6Jk7JcdMUl34t{EIr^_S<&iZKwEw zwCvh&H3$xntA4=GPtQ<-9A?WtI&Qp{Ljj~3w5}qQ&`@G1fLMO$blA8WU@7e-1*ie& z9~1O8H=Mxq0(6+2Kx8f%jID0Lx&xD=JXKK)eg4Cq&FJ$U(zC=jzoZ+_J6~%oS6hpO z?{S?AwZu%R!>fgI&M|C3GnCYJHd(Fo&S8Mbd(06z{yuj8-YZ>*VW0d2ED}8$J+y&N zvE(Xu`%?rdCJ=BNb(brYF=KGUQGsn1k%0ZiIozNYB$TNoiK+ZEI4G2H;vjIBn7_Pq z6T?;4kaLp5ujwLmX3Jab;kt|MEBKF*cqLUStTT0yUSQEhp^qt_Z?ZrJXOlvfQC(kaUCn9301#(MgjU z4_4a_R7ZtKUUn&6S>5N@-=@MBiYoYBv|q?(dw1eP1b#zP7GwT!9;cSeGVD%5(qz;< zRR=0wW(}SrI8;Uw{NB^iq!p`e4nxjtEiTpkt=bx;E#TUV#uJkQwlfwJZImWr%{DKmi0aO4-Z$@zg1B!aMWKD%-A=Yczm-SnLgzp81=UJS~ z@(!=O#ohf}m#cQUm00H=NU#=!o9Stp2&d>^!4v9@x~e_WJ)`dYnHtg~B2)?wB@gWF-` zj%o2_uwMLS96i#vI4g*v7!$kz;Iwi~<;!!p`s+-4JI6ay@J#y0DKVTp|3^g=q2;KN zJv~tZ<67b=W?qq$&=onGh@$S?#G+aXEF%_fIHjTMnXYU;5T0Ru=s=J5q)rfQC4_M% zUX2>$lW0A*e^|bE>mihU2~b|ed5)+Ven=eQP9eZlbK_GNOJ|4$r1IM^_V>IRE_;?x z8>t<@%DKL^!NQqtH6Wz;=j^ojI7P?vwKO8~9rTYci_}FLyOiK9Vghf}W-BN!Au43J zQHqHm48x$}=+cNHfbT9}aBB7#pZk=-JF(0P#^UaD(vL`g;U`r7$Su4lf=e1XuTSx4gO7#e5vWbGjbH^Irhy|A-) zf&U_Eow(M#-#FbN@b(=y2M9jyd73teU}Y_5%wByVYIzRUAh)V_KC6x`ZBw0@mFHtQ zI3hO0uIH}hM)yGhyDwgSM=C<2sHSEPDa{3Y7_te&a0z0$`FL>$X15gyvNLUBr*S#` z(7Vg5x|E_7dGS*v9V(E+o1o32tL`kT%U8o#UyjTczg6t=yT<#CTU21w(Y(>eZpV9H z)Fu9Gn488Iv!bK}vZW8^)Yh@s(Y*JuY^cO;{ca1&I*|Wcv$@IBBgwFGvtuQk6uE>$ zD=ORM%}77fPU4*-j=zA%JZ$k>*yrD&&b;IC(-lmCHWVF=G$sk&{Tz4w;g=KkMenxe zV_tn>GU47I3QhBUNvS0L-ITg}YELKJtO%4@%LIQ>YNEq?=n`j9{U&J`Z>r}FnuKn` zn>5&k@xatdn=IU>9kMLr@6#=tCq&9^D2wi7A9kft!m9V`;J(73e1d%AS+mve&5e5O zi)JfPDg&80sFozu=kNBxsoZ03o?oF9&$QMX-H#jzk7i>Fc-YINH}ITFe=2r0+9Nm8 z`-Cax^>uL&U;^mw()oFLW}J7)Y=6ugXl;}mnQ!Oa2xVtyRmS$pZ24QbOR1(y&RL`R z$ReQ9z#cT~su!}ABQ+{*BTMZ@Jw+3R1`C@xJIoMYC4pH^BiH}#2~&I$b2AKn4$e_B ze|)-U%e^1P+3ePejbv* zbZ)FsiSR6ZD`h_r^>iTf>sEwb5qs9Q#beivZ#~Vbbs*GYwm+`pJh3K5f3Vft{;8Xx zyA!tg;w)w|4Vn`{TKp_VDgdS-eU3{;(R8%5TSoi(1&e#GXYVOy$vtA zZ%!YK-hWAMR+X;nhMcm6mtgY&uoV^5=}-tQ-^KlsO@;2{ti$-q?E8m-iVGmAdE^u+ zx9G{Zp@~D*k)SFE;wcyGYs8Z%Y!@|o3c`qxqY@!8Vz{xK0SH_B#L$Z^y>=lj^AY&N zz@m9!I(GDx#th@5cSt^+C76oUMcIwSI_x;KtPasqO_RHE_O|BL-AzRGS-NhK2?;2w zpJwV%&mTNol^(3rp{b`Kt}nlv0R-m@_w*O6Ft~CIiw#>3z4t^Mrjjnl){dxzYzRYm3vS3Yf;) zi*G!}?8M^q$9gbTr6mdpothJ2G*!+FZa^2cWtBD6%8jEsQnBNk!_{%TDfF7s?AQBw z-VEfJ!8A1ZN5dce`8IHy`%n@R5OUekRr0n~4kRHYT9M>vvfi0nnV?MLI~4ejGnTkO zgFkQ34>F)Chd^*2(tIwRoGdj&e5#9jcHs>Q)1j83;6A`a{z&!U0#j((Z-ZcQp@}|D zfhbe+Fd!gy%$vZ%qKz*s+`NuF-qT-Y56TyZdf`x|ZPN#RMcW%<(A_Ebv)&`G%eC$RxaSQp$;Fl+VpmOUr%%=|t`xfk}$RnwAjV zIsff#Vb)Ij5|(NHjv!mDn&9E^%={wLC1Io)NvxC;8$Dm02D9@=k^^Gm0cEPWOhc6z z+fezOnK+vn$C9fJ;g~P&I4#d>R3yHZH*%TGcx1m;(Wza477)BF%}F1wcP+{B7HVh{ zqFo4r`3y)J#5s9BX!=PnF+6sg={}RpctI!2mjeC^rSd9Dl8`;@jAoA#EE{12;kG5oaZYlA`&R7coc2HBH~_&uCm5^%`0|R#u&z@&hs5yG2}gc1%t6P~_xW zq79+BLPRO{iBEn;)f7}QAsodiMRv};zGVwy)=nrLGjw{_0wIKiM}an>#twE^!w^UL z>cgjk$&*NID8gD$3_|MN)p$OIB=Ikf>I@&k@W*wx6(+mm&`-p)v|R{>+S5ZvuwcP! z8ti^IKqBFz`o;tZAn9F=(3PcFdYrzxu-918i&BC&oGaBdJbCVx7?hMtON@5c!FD17 zYo6BlCXl__h>p=%E7v@vwvIMFHO&nn>B)!UP4zsdL zBgJiq95%gr|9m%H))Qtfba;$ql1Y$W;lwfC>si~1-bG}~!j5U=r6r-er~zOFUBKIG zIm>aKt2Ln%uj~GG$*!D|*w8E8C4r~=+bvJmtEJGZuDzRwL!Zd@LYr#s_I z^^=n_Hu4BU7S&OT!?#GLCjFZnUZ0&P5` zzS?>I`RLne-ttqeZ(?h!i;b;~1N4xVho|0`XLe^bZSYF~Z4U=q?lkQOzHAT8%*dmo zanO=GDs$`Z|cT;+Qoq- zoTz*};d}D=c7|)to(mz(Eyh9v+x1hJRgZ|;hI<|Kz*Te6LHKj&Y zoBsmgZWq-nU8myw^Bbz9-h{ZJ&GnTIo+|HhO6HhI+_$N~aWjhwaO*-S<)xVIGm$?Y@R*b5v>!qbq` zL@>QNJAabyN)~(wGP%}jZqvUi|GrLi>+U*mpxY{=Z6+MZ&o?<+?scSLxjU@yTJ7)q zA;LlVikn+e%oATlBIxsJ-?6^Uoi4<-h1>00cgcsSvuz$@@0S>{nh)1Ab7v6N_GtQ! z92GkdfJskS@5Y(!X%wlpsqH+*h`iG4Y0s-Ifelq{EBwZn9;4-GW7y$97V@C3HO$3l zLih)Ga1#b;@3E~z1kG*`Ye6Da@l9>52^*hZMHm)F(}jCyqgHK)Zfx>xr@KkKzneFQ z8c)G@TQ|bsRDXc@evfCFls4Q39Z+pL%6#<59nwIFUqv22Fb%c!QqABc2v9`p%A!4Q z4-}2KLNIGwYzl9BX>u_UFJ&WPue8H71s+v*KD11iZG+tx4Q~R$`<=Ck)Tbrqlaow& zY^nLUBGfyWWE~@>pdDDoy6D8=ex-%f=^|-g<3Qp__9ZE-GR?zK-e5SX*0K|=%SxD) z(g~PuShn?G%z%nzwE=5*a^&+Gn_H1D>MsbDv-PjuZv^HRXb}xi2XNHcGIDW!K8O(0es zCASk1q?9p<%y+onMMC*ji8xtq$di2Vr4!VaEY_m{*E3y6g7z)QHUkfuJpndJt6^5@2$p=RDVS-NpAX)UiIgWm z=8OokI&{uQ#JK|@Xxh4cyDVBsU$+v=P`!i>Dl>k1xVfG*aU``h24$EdPOe{#-&=l+ z1%#T?x$-|=csRy%MYVNd8s6^@wELPw!Gs}T$llrBU{t8irB@h>Hr9B*QGhBR@*r)t z1wkst;9_K%7Pzh?O2G(R;4wpbSHW19k#1N!vk}$_L^q7;)ju3;Ku#}9eUU#RLFlwN zu*}Czk25E_-nT?ou*#xkW8uf1NWyCW$`OBko5J}l+`PH1CmNok!YkUhf z<7c84bk3KCvYWhm$wZRRd3=0l)s)tFq}o_&C(@b&nd)K?7gP2ua;J^aVzZT3M2=M6 z?jt*V`g*f)b-Ol2*rp|}3>SwuP9lB0tL5;g6@;YBf zdarPKKlLP354kcL!o#M&g zCngwtuAg(bR-Oq)xDu51`BHfhr0Enuz2A?kB`#%zH*))GOIa09O}~2m{vqyY3$@`| z?p&8!@o>BJW6x`B3RzVXavhWTRhN$ zG)}9>S%a9vy(k(%_ocnCRr-qskIac9T5QIb3oTuG`Kctcj`&lwy!%ySMiam8y2g#J7IxD zTFtNtmVJFA)*Jl!a|&zalEi_lp%X8|y8N%kC=%E31O#G3GL;HLt+bo3?z~XjykZHL zj5;YUA_(UgTicH@AWx0z#VohWaYjkT7?r~4`GLl3E2-iUq~AI}YF}M7J5e|E1r@u_c6MZB6Di**_R2m26 zpG{rBSDU+7>yItK9U_&fS#z&t`0UP=n7BTNT?r|biFWy+^ASXQw(H40Hp!j-5?D0H4p8`Do>3>6@fOL z=34aWb4I)NZ5SfiL0fISI@>myMwMd3dyr)*xpi+=37OVC*k2;*J47jF2H=EaVOMit zF>Y?;>dUv&)~xnDhnIowR;DA$hS zlJ>(!K!FrCN}`c!(}A{q7p|LZrS3=6ZhnUDa;B~|8aLP@-tEJPxPIT;1>L{7RcvD8 zrjHq(-hY3M)9ZqjR)%%Gs;7y1ZR%V&uy|dQSadlwgkqHB9Tke{-}SnHN}CaWkSL-V z?>@`Yyd^ddgBkLPlFou`T+f6FN4mM+q}XC}Gg$Gl+;i1;FokC<@Zf2ebYp@L3lIOo zs6zeg4(hf{F3rKN3HXcOLP`!YR|x$w!F-fkiv8$(zEHT{{s)rRITNL(bWd3MZlNVT zt-Z@n0W{lW;BY1@uva2slsg$;u_ppQV!wJ^>h(1JcKhOzybU+ZRXbY=cT1a^{=Ice z0dhP;?Hi|}xY}5xh?8LUwsu+e`)m)lO=ZKcB@$V!5lj}?_EgE;0hr77Gm9_7lX%cb z0|L~Obfa(9y`R!>wpgRO+K^SOY2Tk!y$8iL)tu}O`&%9EeLTuPSKIVg#V+RxHLumR z?yJC9I_tmN0M>+4ta(UlPgowHUO)80!z%7|(6W7{KRx>Rg@S6BQ~}k>a$UW(S1V&0 zk5v#xh(JXgM$?}WhFKp5n(LvSs&T)(YQKi=LZ9S z7Flx2ma$fP2@)}(Tw-A^fsdkUBmIL3_NRtoo{TB2*@G;u%N86U5qT{ChfEx&g$XBY z;O$a3?wWlqao1&5c1d;BQ&+hat?SKhYj(K+ia=SQZQ)MSS8AuLoU;#_qX?DVxt+I$eHOmm17~sfrWKz1h43}(ls+OV@su-RO@r55Q1wt0 zxwmF6WMO-JX84}>MtQ|W1Lq+w%n6`@)ExiwZJ${(1%B8`Z_0aY93lg$o9_Xi^A^)k z+;H3E5`$%oU%sNkSjFm>WXT-wug0~N$LhFaBHe<}mu-C=S%roh)QP1?5*gyc>Gc-x zI%wYQ&DVs=eQH$gnUrFI@<;a-i-Ai$2RgFdbsUpXjK?&pDV&^``8dwR6VC|Ex=_Z% zN#-)fXDOTTSC}#T_k=GdwgYId$$2Y?zG90|GV7&QXITlOi+k*d3qKQF&O2G>WujhI zZH~)$5BvR`eTl1{@B47Nn>hYCM?XCLW!xhl;*MsYZaSxsKS%gJx=SH^3Y4Mu;^+;P zE4+OF-0Rcm=c)_Q%qNo5&X{K&j`v?cNziY)rX3Lcs6=AP2s#!j2zMlk!$Jf{x~dI` zM3WkgBd&p>0|S7phHDFMh>D9v&J4Is&M|MRvp9^SQD-V)W^n?2v zo=i>rNz6Ak+`M1V9B|Nvqi2EgUWmrCm_Bis>EMcWLXvV)|0aKZ61f9ZZoOsc)b3fuG*r-P0q4YwQ=SBPp?9o~%7 zsXWz(Pj4_hqdz54?+zY2JkIzTI?Ur}gQq0Ba6&MkARX(DAe}P$& zB;RkuyN>%L?ri%Y?F|VbI8M;_ch2RX1Kc-+A?GVHAnUKO4ds?0!Zo+J( zDc_tu!D&t{khK;8 z8JkGB+Jcl^<&^bZ&GfkpNCo&2c%8YOEvzlT+K8Pk%q{J>o%u+C23C3?ZgBbsnUR$E z7Z!UnK2o6{8N_O`3dAB-wjg3Q23C4~0DzsC6TkqT?7_**Mn}vHU}9$ka4|Bm(*szz zS(vy1oW#HVNcq7*%87Yx4Gg&zMc@2Z9QcTj)Y#tMnwyc)$;pYqiG{(+)`*dbi;Ig9 zz|6?ZOb_Ouw{x+y2RhSR+L8UL{XfL4!4oomIVl5uMvytk z0%U1#2QHE6Z{@6ivd5pQ3C;iuvHT|?@MZhWihq@I{#EQ3`?-h4(LdeksAqR@utRoL@-a)=Cd(PplyNMiyuWvL$9>BDS`2uq9Tt zvNibiq<&`qvnE+tZc!_JhaZoSsENIay*cP_>H&_3@n`D4 z%=W`?ahn4zjrd5N=?y@JKnHVsQpP`X|5~>{EBVD7e=Uy}Y$t97TPp(xeUL5xukIDx zXo+P^^lX8)F5q^{0B!((V*1IHV7fE661ZLKgMR7FCLjZTQSKkTnTZL&&cwpR&dT+R z^uKZaRf&j|g*DL9gnx!`+>+mq3K_+n}eH$>t`K5asEZe zKjH4b)#U#Y?&@)I0rmCR4d~hQL9Fzw%>x0n>(K)MAP^YOIa%m|`mD_K03Z`5_}`ETp#SS_!k=aTP4B*XFZ8w(rw0h|c{_)m}E2O2ApU)fO} zRgu1D!J`Z(l2XqHWeX--d=m1cuhRSutUz5Rpu{y`*5M?qxmzIud7a6zua^)WTYDH& znTkqnPA40z(pl&GV%TWBkSIl ze2(Q~OBrRNfK@CkczlGB^hY#@b5*gWdzH5wUbVaNHzl&=bh*rXBL-9R-y)k5Ys8dI zlQK;QB&O(wD%f=%)4MLE)7Jb-BHSRi#n~Bd!F*hUGE@QH+e;>Xx*4+|H#PNQUUhCTgUfsio^{pE67d&0U=BMWAetGe8ysD%# zfKe5KvLQSAt)yW)ZSnIDadWv^nqBQ=N_%s%!ZQHpek4<)d~$Q-MF;~qGxjTTQ{+Wb zgV2)hkAii+8s-?$qUIJ!M8& z@@0qSO9wmrQLR_DE>4S|7y=)ySt8tK9lGQN#LCU;CiTdAN|ReO(iXP}EEwJyEe)?# zHxdT5a=AZNG0fWJ^qjte0|z~t5P|7qZA~|TZXOU~CcjrcQRog`=K3SrPvwS4o@rA-yh@!+{f;ePrLO4DE^sb7ouucgiGA1N1wJf-M_+S2j zy}|7n?HRnH%VbQ1;+s0QG`T@YQFCvrGZ4@ph42t26ruusSuu07h>@X9s3b&wBYjh*kq}uDc~p9D zJLP9r(pN<~7;->6QvHqhzuf3?(2l)JHR^T&Z(d$^%}?!)X`Lqfpg*U8kwS{YDFi40 zGdl$Xd=Q?$grPxF{u99w)oyfUwJUh}FS)@5zYF6IwBR9wJpSd{#0z^$(i{>SNWWH{Ksm*GRabg67chNJZX% zKm_I`2ggJXJX`1?fLA5y42Q)g`I=xIp8RD4I+_^miw{5nL#VCr1J#GZAgZ9kK&rsP z04nQ3D=Mo(ODfAk3o463b1L&fGk;f6@TTcap&3*UIpDPq6MUHDdzokY=s2p^4nfV-7CoC z^|U@r&=?My^bPvjBE!Kj%x3ySZsRtXoG1Bg;3)&fwEQ5RXPB)5(QJ`1VN^c(v}ca6 ztwL!fnK6mTHe$h>*@8Fb17gim#!3udReV!yPd}kA$00h$LlkIzp(SpOD7VB2(B4db zeL#(UPvdiJ+fj~w&47Jx%D>aNstWI(faoc)+N^aV@@!?(m*|(QsCK8u)gb$?+D9&^ z?d}${lFChA57E)DQ-849F+jauUPupZeElOwHc^^kEBQw@8<3$f(Tw{onx-ra`s~XEV!HV!Rg|C`!#Iwld5W+_U&50Lmg2F5fyJG?cni)5AF20@asb9^{Jspjg9}+b? z;&^geS@Ns*Q;k_YzjZW-s5UevN_&`$SDx4NvpAL7B%<)p{kWnZcjM(c=`=g6keb2g zwd8K0ci{_%IOsypVP5Na z!Nq{{K>`!t>}sAOemBV|3S3ic-*u7M-d>Xtak|Yiw&6|lq||t&o9_8q1MhfmvRpKD zy(B<9Tg~A-g9BjXT*x>@-WB&7fWx|prJ_lNWZUCbKJr~RU zb6*I@iBM7#Gjax3;I(iqd!T|CKAkeL%Uyak`nmoWxaYYX0SqfXQRb`4m#*-py= zIH@X_-%N$F7}VaFFiiO~b60*~<|---oiECgr;{tmEFGb1h~lNn%v;TVmhh$fnT}!t zW{UyC%M(R=^$zL&&1X6TpQxOR8Wh{5r&XXC-DF@}!sZaYal`rj632PqqHxcmI)+w* zS5bBSr*VgAb|ichlYIb?VG7Ur;@WF-lDppIXIg6?G{_9GtjaW|g7$(TXBBa+X;RhJ zHlhOCH;r0VP(+w9lqEh%Q9RF&-@sGXjFkLDt{O$#Um^67VqMIAgDA2904FE>o)|97 zhqMoADEL~;M-aE2SrUoa7aFDt;W@9AErhxx3Nd~^qyZV1w>dd%6xmBigJfFB4GCKa zu9#PXa^x7%5?E0f{Sr+E?-2Wv3~K?B8B$fgT9Q5d zZ{@2Hp2bwgPO*5I$~8t-Ns1^O$?+ea@cGK@%w_) zD!19xftG0PZ#-WnC-4(vzlK<+*2dE0N15@~IxXULVb-GKx;&abc~(O7sR5KQTjG|G zuzGQFTd{04bH24Z8Qabww2MKUKq+*H85b+)Q9#Tgw1b)ZI!aE+{MjL<8irbdU<$D# zLN2^wK_*vOn%v!1%_Z0H6Y>uM)`DRtgycyqZs=i?SUDlPg&L)?RQ7!^o!${l|M-JG znC81x1GM%T%93!nMbRhwLjjWd_-lY=E+eY)mo+4jtn8?7hmRu|*laDzZYhOmz0 zy^wF{riR@u6L&i4Ko?PtfOnG9;=}bO+U)vW*ZHYs@@&vyjTif2{!LH0H8~f5Ju0`B zmoo={;O*X&=d#tpGf`D8&$V8Ig8_~ zE|#f?^I7qhmel2y!cuF*zT|g->xwc>2n`6EzOS$vA6SD+2;O)gE?76F96jnlFn)Af ziQy+_PCs*c*qd|iY9=oJSh8BFC5KnPGaR~JbaieRR-5x;REMY|!~Mo0dF7K6ksAlT zi0ZK;RgBf8C*7e3*Mrp*D*aQ3?x@pxL$cDa{{4?(Bwp}u*#FK!{1jmNzwIE{xqf#L zoUF|Mg@gDwYPKkj*8LRkla6tCF!bn)CP5seP|qYuZ1fU-Hfl~tCF|z+EhZ)m=1 zo`#%ik)>{ZIRG;7a$}<|FRdarVIFiF`!x^dc z-I_2~mV$^KYSVm`cg+-fWbh?&D)xvOG~`PbR*6#LU<_d`85tW)v4(u_a1>dw=UVx1 zzN4LgouPVz7LgWS)My7k5|M)k9{i^C3WXe48^w)Of?kqSv=R8Z_yyYQAmH!-#T(um z_;QQ65)>Gp&j5l3`pa)6-Vs1T8>s^^#%}+_x4m8GF{w=G%**{d-I8pg<~r9X+`Xyz zTfMJvQ`V;MYa(Du!%iJq?RL0XHkM$t3CexuePG{Y6s*T$JU2#J>ZC`;Fhe9may#{{ zN#|Q^nb)#t`}*YZwS~tLwRhI3`C;j8`i`^4;#Sw%rL&vU`Qn3RTO)VN)B4RhETMDT z6D9u*5M|}Y=V|)L=E6w#Vf^_`;+6jLikgQ*eW;tN$KHy{1E&{i*d*eblWlZ;if*3y zr_;kFx#Le(8)oO0=XVcllb7pad?Ti^MR)4jN_&p)G^GxWY73?u-_^%8rBCza%~ZSQ zPHmQ^Ci=3S-TJGRo+$`6liehNlj>;jskUPi`qq@_G1jJ%0BhYru?Zy zzhCii9B<)*6gZIpPBi6j2u&*~8!231PU9-`i8;Wi$iGedgXD4(DEs4(DD$=);yJ{K zI_dMj>$*RM>-=wbT~5I7U6+ZA1@O;(H#KP~5}yqd+;^j$Gik}0FCQwx(G;`3RR_E* z`yx_{YQmvSx*+?q3jN`jOD-a)Tusd-m@>)DYn^Mhcis8RmPz`T&Rlre)R63GYGc6? zr9Rv;*|$h#@=W42aN*GOBNXDAufv&xM>D;*fK}c&k+EFP46(2$)(3387E&x{uXxJ^ z<&|VELedM=T1dS!wg-9>8g&3`_KBzTBqYXs0n&kr@@sf+A!Xk2~=3aKx-*!v$71D{luL}{}W2&}g?z{QUBpH3nBA4LW){s8p zOGnH)BticI_5vkDuy{e`yCTJ^Z@0AqS2v}K1Y-k5tpX4i_F@3~nOoVoyK=)fvkpvw zQQ`tTPQTQ*qG>`5b`Q`S+1K7P8hg;&tn;OCUrbWW3buR|cPmpk3kk%t=n(pLQpLWe z!X(Ln#}jjUL*SV+cYhdL<@A6XO8nOB!=e$C&WAx?@Ks&G(nOK$}nq{D7$G~bhkip zOot0aL|m2-dbyXge$Bgk+qr5Nri^G6JAUP`WB>s`r=y! z6{V75R28;b@In-CGxchgs>ZA5ie{H31rR;Y`2 z%|^|O!+X1r-6i_>sEqrf$U`>i{B;G(1V+0``11&wAT#qc3q5HaQpVVX{=p5<8M8}L zi;T|eABVIXFV7HM0$PN1NXnyB`)D`fG0Nq>6tGu>n+KFtvDJ;RR}P!^BW^&SJ#+DC z5!4}OjKc2waY*VC-6Ekw&KQH;AG!e!;qDU6OCsNgapwQiPU$R;mqNb(rybd7AIn)7 z@4t3-XQ{lDqy4|_as=WY6>dd#QS<)4C2|D99s##qJE;FB6IqYK4*|D`7ub7@Q@Vw1 z3SNIp$lH})LHI9t{T@z!(6 zC-?JPYj;a8rzbS3TqGk|!tE?_bjmr7*2W#sG2 zFZUl{qxjRx-;F}LeTFo;Gi+{r;DN&ssVSKbJzP878duTObkThFWVZHEzH3{+jLFJu zHTScBdA$?r9dd$naAc7E#N(EgRkkYlfPz~3<(9z0veu-EVrpj*1)UrVE38k8@u}E#ETiHyNf$r4x;Xx zI?tA+M^Ci@%9gc+VEN!UD+Vz(>TDgUiWyw~i8FT_qXilC2Ss5uZaY`PO=s{SAnZn1 z*nFM&qcnUOH?yvkT6*o8qHv0q!I*ZXECch-r?~+JzjG^dR5aXFZ!)tRbP-mY?gR&e zXI&EC2AI>{edO4dCD2H)w~j!yz#8k2(t^-@m=!&I*)bmI(MY! zJx2$Rrr#3OzB!5`Mol%}oNUwx43LAwu@0^oKC4=CPBxKe(LW7}F|YdVoNQlOS*NA& zo;j8yMoYE!oUC!YBY}+COc8q`@izA6n!7!%9nE&vQzg{-L`dp(*2%kXapIkJTy22@ zD;KGw<>fr%yZ3ud7>C=lGik;=ZB<92`!@~_lo})D#XRGu_vnonOU3Ge+1n#A*Y4M6 zp5#a>b}j#MDQXPTFa6CS-uR%;++a&30Gvm!rZ~TXn^wM=7R(d&E7BU4q*1D zw&IJn^0d3qlL9dIrvaBn{|@_q3U~eA$9|?iuphwrUwkl1OjK}(17H`xmY-?xD*kG_X(YI!tYbiPdc!vyI`^62t$^lULZXm3G^^-pQlWH zK9XMGi{0&i?rTR3r)?d9ybZmbXWe6BV!_GCY30LmDT=?c8`7b)+Jc2;JzWcn(d8mf zSHUAj!Ls&Z!l0+pVeoxFnUw)8?nYfl@}i({X|f*Yw%2}OwModD`Lz%G+JQvZ>r?{D z3i$0+cc^Va^uP@l666$XogZY52{1XF)%+6)h6zrqL4M#?duwLLmcQcjs!SAQcr1w_ zi6A&nx!1J5U&6*-_&(ruqlxLgu^zF*kDw3yf|N!E-ngNQ>-AVWk{cpz3+e@0MhSwC zbU0IOE|ZO3rgDH@raIN(k>v!lBzez^Rwoma3A2CXm8i@(z!C0wo!Qqn2Ia%7mgJ4* z7zsUr4H(rf?wqbVuX3Vm=5)G}SQ+!nPxU}HiZ|EdH1dL)U>@clY|f1Q6~-RIlF+XmHRmA0d4&FN#e zi)k;{@~6^Ud8_X$JS~#bU4*KqV|2qDrFCYzjihzzyNW2v z2Uowws2(@hY;-TxQZNo#(!0F9z*1o-Ud|p6o7PlrEOZT}!JamLyP1tgU#z8^BNiWO zT2pBIHv9+EIGBk|L%FE%O(@OF>8CFYEAOzCO^ZUQ>!)TH)ucT>o77H0PigG!f2^Cr z9{Jd0{3*f}YiLOkTiUcE6?+J4Se>;fzz$2!^fa|QRzuJTG7oE9U9>2`9!qf#Q2QXY zOU4j83i}?(CqpAIAgqXj(O`)F#sM-9oG7JtA<;MMN5plL*6C~L&5SxV?cc|<-8P(G z2zqfytQ!=3Kpfcx;TUxXT;}dO1n3ZKxF+Vel8m;U>|FOYm$~2|3i{*VP)B2YD zQlnAyM=D!!_FcU=IAs~Re^@$wXcMkgW{Ju#^A?tiATZzW9`Cir($OqnJbUk#jZI=H zimd>WB5WhUR=%GWs@08vC3oL8(DJtK{uZrAQ@MOpt3~YM_Cq%~ zDX)C*Rrm;A#tPbBCh_mw)sH~@zr~{eZ@Vk-`c=P;@#6SpDXV|_ysb89i6Mk`AO8qh zb$*Z(oh`9t1ILcmE%XWv7Q>2E+K_`8AO49?1tSPfL^NCLLk+Ckz$9Dk!-9hucwi{` z8(I>ejp8#b#u=_sAv!vyH#w`>5VpM}#@BCg76$J7o90-PVrJ{uS@SLATu>3$NCQAz^GsqU` z-2e{0hz5cSgoI(O1bKHrjuCNUzlscM=coJtv4e( zuu+o~Vrus+(#kVkE2RAWa?3Ht3f6v34gufSiAjOoN!RsvcZ^#tNr&dkOAF2k$L77$ z*I7yQbq^O~skH)u{jLu4Y*yuMs3oBm=O)#7@0K>3J?Gi0hv#SSuC1Cj{Td^u32(@} zHX`o}PPbJ<&mC=M9MB1d*shh!^k?47`A?95EZu{-Fzf83XK*x6MyU@ zx>+~B4Z8sF@Pv`A9nl9a5sAOPP#GA8N;_QXC$iZbcAc*Edi~(wwrqvfReY>-vF~|4 z{|aZ`qxIm$NS*4ThvJjPV@)e~86+1QCq`#a@Vb(dA{TG}rrWXnG)L^e-R(I4nAX9? z{$JcA93<*mVTfaPw+*=a9F08jkdctX-U_A_gJZn~QK6Ekla_qKZVVM|_3&~shlLAA z2v&f*?wF5Fvm5=&b?#+X)svi>dKw?Z5#tQC{^dNZhtlIUhA)40uv~_o-n0=@(J6Zt zmnPZ3;0Wd>$SUN_7NFw7g=d7%gu9K$@;q~!uIEPZbt8@xlmaA`L8bQqzD-ZJgr{+% z+H-GFC2}nVxd2v)mCa0pIJ;noI0`CQ(3(6}T&Q?KrWR|ZudRbWb{wtbCVE(X1WnY* z$H2{)Fej|d7)Z6)P#jcv1&9|Q=9AWJt+G>+Y%L~s4QN8ab!L}4Ot|tr%Xi+kbsGLv z$*Cq~*d=0Aq1^A@GGKY#+z4w6cekRE6yD*HL2OF#;o+JqGZPqv##F;Mz@rJiwPosn zrBH>C`%t|w7?t*XHDfG@^%?UU{||4!Dah&cQx&K|Qc;dm#Z}Kz#pQ`*(cy^+QrYJ? z$C<%F#L-5CpuR5tjMqLlkqy4Zw{L*({cOkx15Pf46&2Pfa$=M&}jk zasIrmP2--I%iU;=v&ZzZIj#WPK*oM|jhgl&w+_<7+U@nU2kqSc;l-sZYAJ_R%7I~7 z@KfbX#c5sbmVd1(hwdX&6USDQk8QCu8vbP$y^x*b$VbuEBq+8|j&b(_ar>-oHDs+s zk1Sz?Gj6x(k2pK9u?7Gz^NPkRgd$EW5as5V@sGGZd zJa5v?r)R&itznAm<`!W#Aj7O@v?P?skb2?#>Rx;>qh9*xQl=Ypm%}pMvJ`AZom%U5 zc4>?Ken-sJO^^Dk+Och&)P!Wy`I_m>(QZnZumx^+(C|(j9)Go+;o*K~z7R!?99#zb z4(fy&BX-H!B;<)ZC(*3Yq@ETZe!}|g7ssz{9Bq^M{_7t}2E*O?sKTYh5wC(m!*$4~w}@AMy7YRoe+orbN{K-&C8Y^h;p z2`@FwO+cH$%q?*)MGL#_C*mmZ7g$$U?OMHS_bOp$rWKuCg~}509Q@imvwL6jNw%~6 zyBDm?c7$8I9JsaLEO1bf*<4t9m497MLJ=U<8 zq_)uMtLBDJ=lnC z&w`0Mnw<L~r=k&1=%cob z@zksyU|Rrc_Ns}Z!l}yP#|3|8@bpczbznK5A}T*)6=T_%6a~hF3@&!R#o~D`UTiE5 zJPwxZ%mL@bnC8vtX4JUNF=au_35F@&W(-dku`SS9<`WX#Q6KMUP# zz4yhrwzU1W^4r8d-`sRFbGq|w^ZegG4dTzml^xIBeEa?W+jm(0p8WLV<|hf3+5P(W zi|gyY70#F+W7G5h+77RSd-LKLOogvFK0bc(jHcMh2XUX-6n`D9x!GqIf3)I`TG(7*^to_f{|IGder2dEh*&Dp4db{5TrP7=2Y56n09e&zv zt|e!)2Y6^xN>0y|Xr`FpCvSrHwbr*^UVUFqTEuq!IWc*yfA2(VYJau+hwpqipGAV9 zu8Z`ZmDaQVhP+ck!qNvn`Drhq-$xG2HZfA z3Y_yxG=Z6meXk z3IUQ7kESlF1sD2;?{e%LzKxMKeB->5*bFvLU}gqd(1dH?VUxk85QBgX8!wih(?6>n zXmI)aIUmiwZ3bp+U2K{XO`aULMSNyCAJKIPSyShc>bR=TA*m{B<6Kz>;5j+HR|K)$ zm~2eUMm@Om3?Yjpak;PN4Ct5~0f&q6Gh?M$j300I(wxE;xFNvhg;gdK+tG=Nu|K|t z6}$zGjOYjooC><0yldl=>CY;Hc1=tOezJU{=99Gj4q6=r-qN?$UNc_8WB5Dtaxnj) zb80WnEZq8C!GT3zjZACTk*wonfr;*&{|;s z^?a6L1GZryq^0C8smb{%sR4;axy3d%`p)?|rMY>R>q*TGCfXy9gIYGG(#>FQ`=?rLD}>SAc=YG-5M=Y!6>gw;t%LM?Fy~J1m diff --git a/S3T_TP_07_THREADS/Demonstrations/demo_mutex b/S3T_TP_07_THREADS/Demonstrations/demo_mutex deleted file mode 100755 index 97f3b2ec0e3b70f9d04fd183d83961204d8ff286..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21040 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¬r7`u? z#)+$^HBS69`GDj!Ml+eINn?wqfEWefukQOS( z>90Y?#m>cn%A?eYpKF@)G7OyjsOMv(OKB887n^#14+EdB{@>#I6-*7Q)nzbKdmrce zvzfI78AqDV{|j8FYD&L)6}SseznuN*O{wqfpC5C4YCkVWMP2k1EW{OZhn;SU&(!O5 z3G`wpg$7IgV|?E-#ztu zADh9?Ju~3++-JISUjklf!>8Gnd&HL$m9hB#5yHMxPLn~096CnvmqDg)A-H(eT z{(0b}?~MN~Qr|gAy^Z7fzKOeg2Aux>QG1>K9|j(n>W2N4`|(Ygq`m}v$u#=!bN#6T zdU`_V<#D<=_3~Shk()R{vr++MI3=AdvFqV#4$yC~iWOlP? za(HCOw9Hs=&8n3&44X!Yz620ABB@kl6vH_yHOl%^7%myH%<%9iOl+J1O)F0|Z=f{I z_&2zE#hTS{(z&H&Lx<6^v7HZz^W0!;*S>9I%Z9Et=-DLvg9Lyu&M`W|(nGj?3p3Vt zZ)$DnHa2y3Ue$pya!YG>2Mx6OXAGk03~x|w2qiv}5DMje)Zlk~w1K{x;LtYtY)5=O zAz!4%X=2POzt51blJ^OQe35NFb=*(ip^xZ9`(P%Ez?^ zjox#?5cL!vmvEMm3m=^WgtIT5mPPV$z4)v|z7c(IA|Ejfd;vq9XNvN)pTEe>sO%r2 z$aj<VXyXvgSfaEX^4)$f@_-ac$ z#)8BRM$&^U7#mH%pP(3pbIC5uY-qA!XAHr>hDvuH(!|^DJPg>*|m7}S55NC%4ae31e5}4VS8GuP7 zF@Sr4Wbr0pQspCkeKhZt5`3!$Z#)Vkglp<;=)aB72o8U0@Hbi{HGfdlIg%q?ds+&H zo|Y2D(_ zMkl%YtND$hd?za8w5&&MSN3?u#?#d}(o{*6ujWCDawDP2kIwkfqi{-mSoFJZO^8H%a0SMx7Lk4Z&UzOq;C|Dv>Sm3nIZ zQ_&MPdyEcqn>Tj*V^Tp; z)n4UB@ru%NkKJC4cNAUhm`AJfmB0HP_G-SVs9Gmh`p)+MwX|2~j|HTrq+Y6=Evb4d z=}igs!ldRK>U&c%CVJMC#6>cmL3qfrSazATceeAOeBAefIx)gsuCB@tQFZM~6;5_E3+^HM -#include -#include -#include -#include -#include -#include - -pthread_t filsA; -pthread_mutex_t fastmutex = PTHREAD_MUTEX_INITIALIZER; -char *sequence; - -void* action (void* name) { - int encore = 0; - while (sequence [encore] != '0') { - switch (sequence [encore]) { - case 'L': printf("L ... "); - if (pthread_mutex_lock (&fastmutex) != 0) - printf("... L PB.\n"); else printf("... L OK.\n"); break; - case 'U': printf("U ... "); - if (pthread_mutex_unlock (&fastmutex) != 0) - printf("... U PB.\n"); else printf("... U OK.\n"); break; - case 'X': printf("X ... "); - if (pthread_mutex_destroy (&fastmutex) != 0) - printf("... X PB.\n"); else printf("... X OK.\n"); break; - default: printf("... Commande incorrecte\n"); - } - encore ++; - } - printf("... Bye\n"); - return 0; -} - -int main (int argc, char* argv[]) { - pthread_t filsA; - assert (argc ==2); - sequence = argv[1]; - printf ("\nEssayer avec les sequences : LU0 LL0 LULU0 LUUL0\n\n"); - - if (pthread_create(&filsA, NULL, action, "filsA")) {x - perror("pthread_create"); - exit(-1); - } - - printf("\nPERE (Thread principal) : boucle infinie\n\n") ; - for(;;); - return (0); - } - diff --git a/S3T_TP_07_THREADS/Demonstrations/demo_pthread b/S3T_TP_07_THREADS/Demonstrations/demo_pthread deleted file mode 100755 index ef6f778cc8e8dae317af0802ee620a8b5225cd96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19968 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 -#include -#include -#include -#include - -void* action (void* name) { - printf ("\n... ACTION par thread %s (pid : %d) ... Puis MORT\n\n", - (char*) name, getpid()); - return 0; - } - -int main (void) { - pthread_t filsA, filsB; - - printf ("\nDebut du pere ( pid : %d ; ppid : %d ) )\n\n", - getpid(), getppid()); - - if (pthread_create(&filsA, NULL, action, "filsA")) { - perror("pthread_create"); - exit(-1); - } - - if (pthread_create(&filsB, NULL, action, "filsB")) { - perror("pthread_create"); - exit(-1); - } - printf("\nFin du pere\n\n") ; - return (0); - } - - diff --git a/S3T_TP_07_THREADS/Demonstrations/demo_system b/S3T_TP_07_THREADS/Demonstrations/demo_system deleted file mode 100755 index e067694101361551dfe7f6c165294e3d0b5ec592..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19744 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 diff --git a/S3T_TP_07_THREADS/Demonstrations/demo_system.c b/S3T_TP_07_THREADS/Demonstrations/demo_system.c deleted file mode 100644 index 05ac032..0000000 --- a/S3T_TP_07_THREADS/Demonstrations/demo_system.c +++ /dev/null @@ -1,22 +0,0 @@ -///********************************************************************/ -///* IUT NICE-COTE D'AZUR - Departement INFORMATIQUE - R. CHIGNOLI */ -///* Module DUT M311 Theme PTHREADS */ -///********************************************************************/ -/// demo_system : Demonstration d'utilisation de "system" - -#include -#include -#include -#include -#include -#include - -int main (int argc, char* argv[]) { - int i; - assert (argc == 2); - for (i=1; i<=3; i++) { /// 3 : par exemple ... - system (argv[1]); - printf (" ... Au suivant ...\n"); - } - return 0; -} diff --git a/S3T_TP_07_THREADS/Demonstrations/ds_pthread.c b/S3T_TP_07_THREADS/Demonstrations/ds_pthread.c deleted file mode 100644 index d02ee0c..0000000 --- a/S3T_TP_07_THREADS/Demonstrations/ds_pthread.c +++ /dev/null @@ -1,34 +0,0 @@ - - -// - -#include -#include -#include -#include -#include - -int GlobV = 0; - -void* action (void* increment) { - for (i=1 ; i<= NOMBRE; i++) globV = globV + *increment; - return 0; - } - -int main (int argc; char* argv[]) { - pthread_t unThread; - int valeur; - assert (argc == 2); - valeur = atoi(argv[1]; - - if (pthread_create(&unThread, NULL, action, &valeur) { - perror("pthread_create"); - exit(-1); - } - - } - printf("\nmain : globV = %d \n\n", globV) ; - return (0); - } - - diff --git a/S3T_TP_07_THREADS/Demonstrations/makefile b/S3T_TP_07_THREADS/Demonstrations/makefile deleted file mode 100644 index 103922f..0000000 --- a/S3T_TP_07_THREADS/Demonstrations/makefile +++ /dev/null @@ -1,13 +0,0 @@ -CFLAGS = -Wall -g -std=gnu99 -lpthread -CC = gcc - -EXECUTABLES = demo_pthread \ - demo_system \ - pthread10 \ - demo_mutex - -all : ${EXECUTABLES} - -clean : - @rm -f core *.o *.out *~ - @rm -f ${EXECUTABLES} diff --git a/S3T_TP_07_THREADS/Demonstrations/pthread10 b/S3T_TP_07_THREADS/Demonstrations/pthread10 deleted file mode 100755 index 2b5e917cfde7065fbff8ac9ac2e30445c56d8147..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20032 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 diff --git a/S3T_TP_07_THREADS/Demonstrations/pthread10.c b/S3T_TP_07_THREADS/Demonstrations/pthread10.c deleted file mode 100644 index a3dd090..0000000 --- a/S3T_TP_07_THREADS/Demonstrations/pthread10.c +++ /dev/null @@ -1,38 +0,0 @@ -///********************************************************************/ -///* IUT NICE-COTE D'AZUR - Departement INFORMATIQUE - R. CHIGNOLI */ -///* Module DUT M311 Theme PTHREADS */ -///********************************************************************/ -/// pthread10.c : squelette pour creation de trois threads -/// Cf enonce ... - -#include -#include -#include -#include - -typedef struct { int nombre; char car;} struct_p; - -void imprimer (struct_p* param){ - int i; - for (i=0 ; i < param->nombre; i++) printf ("%c", param->car); } - -int main (int argc, char* argv[]) { - int i, valeur; - struct_p x; - char tab[3] = {'/', '*', '='}; - - assert (argc == 2); - valeur = atoi (argv[1]); - for (i=1; i<=3; i++) { - printf ("\nMAIN : Tour de boucle nO %d\n", i); - /// A VOUS DE JOUER - /// Creation des trois threads d'affichage ... - } - return 0; -} - - - - - - diff --git a/S3T_TP_07_THREADS/Demonstrations/pthread4 b/S3T_TP_07_THREADS/Demonstrations/pthread4 deleted file mode 100755 index 24c819b280eb7209615401079a344532ee3a9821..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16960 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 -#include -#include -#include -#include - -void* action (void* name) { - printf ("\n... ACTION par thread %s (pid : %d) ... Puis MORT\n\n", - (char*) name, getpid()); - return 0; - } - -int main (void) { - pthread_t filsA, filsB; - - printf ("\nDebut du pere ( pid : %d ; ppid : %d ) )\n\n", - getpid(), getppid()); - - if (pthread_create(&filsA, NULL, action, "filsA")) { - perror("pthread_create"); - exit(-1); - } - - if (pthread_create(&filsB, NULL, action, "filsB")) { - perror("pthread_create"); - exit(-1); - } - printf("\nFin du pere\n\n") ; - - for(;;) {} - - return (0); - } - - diff --git a/S3T_TP_07_THREADS/thread_somme_tab_SOLUTION.c b/S3T_TP_07_THREADS/thread_somme_tab_SOLUTION.c deleted file mode 100644 index 175133f..0000000 --- a/S3T_TP_07_THREADS/thread_somme_tab_SOLUTION.c +++ /dev/null @@ -1,131 +0,0 @@ -#include -#include -#include -#include -#include - -/// Processus legers - -#define TAILLE 8 /// Multiple de 4 !!!! - -int SOMME; /// Variable GLOBALE en mutex (somme totale) -int NOMBRE; /// Variable GLOBALE en mutex (nbre de reponses) -int sommeFinale[4] = {-1}; /// Variable GLOBALE pour les sous-tableau - -pthread_mutex_t mutexSomme = PTHREAD_MUTEX_INITIALIZER; /// mutex - -typedef struct TF -{ - int numero; - int *tabAdresse; - int tabNombre; -} tabParams; - -void initTabAleat (int *leTableau, int leNombre); -/// Initialise de elements -/// de façon aleatoire avec des nombres tous differents. - -int sommeTab (int *leTableau, int leNombre); -/// retourne la somme des elements de . - -void afficheTableau (int leTableau [], int leNombre); -/// Affiche de elements sur la sortie standard. - -void initTabAleat (int leTableau [], int leNombre) -{ - int i; - int min = 0; - srand (time (NULL)); - - for (i=0; i tableau : "); - for (i=0; i tabAdresse, param->tabNombre); - - sommeFinale [param->numero] = local; - ajouterGlob (local); - - return local; -} - -int main() -{ - int i; - int * grandTableau; - pthread_t tache[4]; - tabParams *localParam; - - SOMME = 0; - NOMBRE = 0; - - grandTableau = malloc (sizeof(int) * TAILLE); - - initTabAleat (grandTableau, TAILLE); - afficheTableau(grandTableau, TAILLE); - - for (i=0; i<4; i++) - { - localParam = malloc (sizeof (tabParams)); - localParam->numero = i; - localParam->tabAdresse = grandTableau + (i * TAILLE / 4); - localParam->tabNombre = TAILLE / 4; - pthread_create(&tache[i], NULL, (void*(*)(void*)) threadFonction, - localParam); - } - /// Version 1 : avec pthread_join - pthread_join (tache[0], NULL); pthread_join (tache[1], NULL); - pthread_join (tache[2], NULL); pthread_join (tache[3], NULL); - printf ("\nVERSION 1 : OK !\n"); - - /// Version 2 : attente du remplissage de sommeFinale [] - while ( sommeFinale [0] == 0 || sommeFinale [1] == 0 || - sommeFinale [2] == 0 || sommeFinale [3] == 0 ); - printf ("VERSION 2 : OK !\n"); - - /// Version 3 : attente de NOMBRE == 4 - while ( NOMBRE != 4); - printf ("VERSION 3 : OK !\n"); - - /// Affichage toutes versions ... - SOMME = sommeFinale [0] + sommeFinale [1] + - sommeFinale [2] + sommeFinale [3] ; - - printf ( "\nSOMME : %d = %d + %d + %d + %d\n", SOMME, sommeFinale [0], - sommeFinale [1],sommeFinale [2], sommeFinale [3]); - - return 0; -} diff --git a/S3T_TP_08_TCP-IP/DEMOS/client_tcp.c b/S3T_TP_08_TCP-IP/DEMOS/client_tcp.c deleted file mode 100644 index ca0cc03..0000000 --- a/S3T_TP_08_TCP-IP/DEMOS/client_tcp.c +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************/ -/* S3T - M311 - CHIGNOLI */ -/* Client IPC/BERKELEY -- DOMAINE INET -- MODE TCP */ -/* A FINIR - A FINIR -A FINIR - A FINIR - A FINIR */ -/******************************************************/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BUFSIZE 80 -int sd; - -int main (int argc, char* argv []) -{ - char buffer [BUFSIZE]; - struct hostent *host_name; - struct sockaddr_in socket_name; - - if (argc != 2) - { - printf ("\nSYNTAXE : %s \n\n", argv[0]); exit (1); - } - - /* Obtention d'un descripteur de "socket" */ - if ((sd = socket (PF_INET, SOCK_DGRAM, 0)) == -1) - { perror ("*** Echec socket ***"); exit (2); } - - /* Recherche de l'adresse INTERNET de la machine du serveur */ - host_name = gethostbyname (argv[1]); - if (host_name == 0) - { fprintf (stderr, "\n*** Echec gethostbyname ***\n\n"); exit(1); } - - /* Paramétrage de la "socket" */ - bzero ( (char *) &socket_name, sizeof (socket_name) ); // mise à zero - socket_name.sin_family = AF_INET; - socket_name.sin_port = 6200; - bcopy (host_name -> h_addr, &socket_name.sin_addr, host_name -> h_length); - - /* Affichage infos socket */ - printf ("CLIENT sur machine %s (%u) - port %d\n", - inet_ntoa (socket_name.sin_addr), - socket_name.sin_addr, socket_name.sin_port); - - /**************************************************/ - /* A FAIRE : */ - /* - demande de connexion */ - /* - envoi de 80 caracteres au serveur */ - /* - recuperation de 80 caracteres du serveur */ - /* - affichage des 80 caractères retournés */ - /**************************************************/ - } -} - - diff --git a/S3T_TP_08_TCP-IP/DEMOS/demo_dialogue.c b/S3T_TP_08_TCP-IP/DEMOS/demo_dialogue.c deleted file mode 100644 index f9764e0..0000000 --- a/S3T_TP_08_TCP-IP/DEMOS/demo_dialogue.c +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include -#include - -int main (int argc, char* argv[]) -{ - char buffer [80]; - if (argc != 2) fprintf (stderr, "\nERREUR ... Syntaxe : %s nom_login\n\n", argv[0]), exit(1); - - bzero (buffer, 80); // les '\0' sur 80 caracteres !! - sprintf (buffer, "%s OUI",argv[1]); - printf ("*%s*\n", buffer); -} diff --git a/S3T_TP_08_TCP-IP/DEMOS/demo_echange.c b/S3T_TP_08_TCP-IP/DEMOS/demo_echange.c deleted file mode 100644 index b4c2111..0000000 --- a/S3T_TP_08_TCP-IP/DEMOS/demo_echange.c +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include -#include -#include - -int main (int argc, char* argv[]) -{ - char buffer [80]; - if (argc != 2) fprintf (stderr, "\nERREUR ... Syntaxe : %s chaine\n\n", argv[0]), exit(1); - bzero (buffer, 80); - strcpy (buffer, argv[1]); - printf ("\nBuffer a envoyer ou a recevoir : %s\n\n", buffer); -} diff --git a/S3T_TP_08_TCP-IP/DEMOS/demo_serveur_tcp.c b/S3T_TP_08_TCP-IP/DEMOS/demo_serveur_tcp.c deleted file mode 100644 index f893e9d..0000000 --- a/S3T_TP_08_TCP-IP/DEMOS/demo_serveur_tcp.c +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************/ -/* S3T - M311 - CHIGNOLI */ -/* Serveur IPC/BERKELEY -- DOMAINE INET -- MODE TCP */ -/* A FINIR - A FINIR -A FINIR - A FINIR - A FINIR */ -/******************************************************/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BUFSIZE 80 -int sd; - -void arret_service() -{ - printf("\n SERVEUR : SIGINT recu => Arret du SERVICE\n\n"); - close(sd); - exit (0); -} - -int main (int argc, char* argv []) -{ - char buffer [BUFSIZE]; - struct hostent *host_name; - struct sockaddr_in socket_name; - - if (argc != 2) - { - printf ("\nSYNTAXE : %s \n\n", argv[0]); exit (1); - } - /* Armement du signal SIGINT pour arret "propre" du serveur */ - signal(SIGINT,arret_service); - - /* Obtention d'un descripteur de "socket" */ - if ((sd = socket (PF_INET, SOCK_DGRAM, 0)) == -1) - { perror ("*** Echec socket ***"); exit (2); } - - /* Recherche de l'adresse INTERNET de la machine du serveur */ - host_name = gethostbyname (argv[1]); - if (host_name == 0) - { fprintf (stderr, "\n*** Echec gethostbyname ***\n\n"); exit(1); } - - /* Paramétrage de la "socket" */ - bzero ( (char *) &socket_name, sizeof (socket_name) ); // mise à zero - socket_name.sin_family = AF_INET; - socket_name.sin_port = 6200; - bcopy (host_name -> h_addr, &socket_name.sin_addr, host_name -> h_length); - - /* Affichage infos socket */ - printf ("SERVEUR sur machine %s (%u) - port %d\n", - inet_ntoa (socket_name.sin_addr), - socket_name.sin_addr, socket_name.sin_port); - - /**************************************************/ - /* A FAIRE : Suite du parametrage du "serveur" */ - /**************************************************/ - - /* Boucle de traitement des demandes de connexion */ - while (1) - { - /**************************************************/ - /* A FAIRE : Attente des demandes de connexion */ - /* d'un client et traitement. */ - /**************************************************/ - } -} - - diff --git a/S3T_TP_08_TCP-IP/DEMOS/demo_wait3.c b/S3T_TP_08_TCP-IP/DEMOS/demo_wait3.c deleted file mode 100644 index 079ebf1..0000000 --- a/S3T_TP_08_TCP-IP/DEMOS/demo_wait3.c +++ /dev/null @@ -1,13 +0,0 @@ -:*******************************/ -/* handler de signaux SIGCHILD */ -/* Comptage de fin de fils */ -/*******************************/ - -void handler_SIGCHLD() - /* Pour eliminer les zombies */ -{ - while (wait3 (NULL, WNOHANG, NULL) > 0) - { - nb_fils--; - } -}