From 103f85d07e06ba0ba93b5b43747bc23bc310fab8 Mon Sep 17 00:00:00 2001 From: Jeroen Boxhoorn Date: Fri, 17 Oct 2025 21:08:03 +0200 Subject: [PATCH] manual??? and refactoring --- Makefile | 2 +- assets/handleiding.txt | 75 +++++++++++++++++++++++++++++++++++++++++ deel2.tar.gz | Bin 10989 -> 0 bytes grid_game_engine.c | 52 +++++++++++++++------------- grid_game_engine.h | 20 +++++++---- manual.c | 33 ++++++++++++++++++ manual.h | 27 +++++++++++++++ maze_runner.c | 4 ++- minesweeper.c | 2 +- minigame_menu.c | 29 ++++++++++++---- minigame_menu.h | 7 ---- rooster.c | 3 +- snake.c | 5 +-- spel | Bin 159784 -> 167248 bytes spel.c | 4 ++- 15 files changed, 211 insertions(+), 52 deletions(-) create mode 100644 assets/handleiding.txt delete mode 100644 deel2.tar.gz create mode 100644 manual.c create mode 100644 manual.h diff --git a/Makefile b/Makefile index 5618a70..3ec11c4 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ CC = gcc CFLAGS = -std=c11 -Wextra -Wpedantic -g3 -fsanitize=address -LDFLAGS = -lncursesw -fsanitize=address +LDFLAGS = -lncurses -fsanitize=address SRC = $(filter-out voorbeeld.c,$(wildcard *.c)) HEADERS = $(wildcard *.h) diff --git a/assets/handleiding.txt b/assets/handleiding.txt new file mode 100644 index 0000000..8e81adc --- /dev/null +++ b/assets/handleiding.txt @@ -0,0 +1,75 @@ +*--------------------------------------------* +| | +| !!! HOWTO MINIGAME !!! | +| | +| *________________* | +| |--- MANUAL ---| | +| *------------------------------------* | +| | | | +| | Exit: | | +| | Escape, backspace | | +| | | | +| *------------------------------------* | +| | +| *________________* | +| |---- MENU ----| | +| *------------------------------------* | +| | | | +| | Move down: | | +| | 's', arrow_down | | +| | | | +| | Move up: | | +| | 'w', arrow_up | | +| | | | +| | Select: | | +| | 'f', enter, space bar | | +| | | | +| | Exit: | | +| | Escape, backspace | | +| | | | +| *------------------------------------* | +| | +| *-----------------* | +| |- MAZE RUNNER -| | +| *------------------------------------* | +| | | | +| | Move up: | | +| | 'w', arrow_up | | +| | | | +| | Move down: | | +| | 's', arrow_down | | +| | | | +| | Move right: | | +| | 'd', arrow_right | | +| | | | +| | Move left: | | +| | 'a', arrow_left | | +| | | | +| | Exit: | | +| | Escape, backspace | | +| | | | +| *------------------------------------* | +| | +| *-----------------* | +| |---- SNAKE ----| | +| *------------------------------------* | +| | | | +| | Turn up: | | +| | 'w', arrow_up | | +| | | | +| | Turn down: | | +| | 's', arrow_down | | +| | | | +| | Turn right: | | +| | 'd', arrow_right | | +| | | | +| | Turn left: | | +| | 'a', arrow_left | | +| | | | +| | Exit: | | +| | Escape, backspace | | +| | | | +| *------------------------------------* | +*--------------------------------------------* +1234567890123456789012345678901234567890123456 + 10 20 30 40 | diff --git a/deel2.tar.gz b/deel2.tar.gz deleted file mode 100644 index 702ab9f8816f6b26d004e838f32fb33577bbe3c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10989 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 Yh(cp){6C`K=$!@T$0Rh^Js8;k0G1JBYXATM diff --git a/grid_game_engine.c b/grid_game_engine.c index b807a66..9f1401b 100644 --- a/grid_game_engine.c +++ b/grid_game_engine.c @@ -12,7 +12,7 @@ #include "rooster.h" -int same_coordinate(coordinate a, coordinate b) { +int same_coordinate(const coordinate a, const coordinate b) { return a.x == b.x && a.y == b.y; } @@ -35,12 +35,12 @@ void show_grid_on_offset(const rooster *gp, const int starting_x, const int star refresh(); } -void show_grid(const rooster *rp) { - show_grid_on_offset(rp, 0, 0); +void show_grid(const rooster *gp) { + show_grid_on_offset(gp, 0, 0); } -void update_grid(rooster *rp, char c, int x, int y) { - if (rooster_plaats(rp, x, y, c) == 1) { +void update_grid(rooster *gp, const char c, const int x, const int y) { + if (rooster_plaats(gp, x, y, c) == 1) { mvaddch(y, x, c); } } @@ -51,9 +51,9 @@ void update_grid(rooster *rp, char c, int x, int y) { * Side Effect: * Clears the console and prints the victory message. */ -static void display_victory(void) { +static void display_victory(const coordinate location) { erase(); - mvprintw(2,5, "YOU WON!!!!!"); + mvprintw(location.y, location.x, "YOU WON!!!!!"); refresh(); } @@ -63,9 +63,9 @@ static void display_victory(void) { * Side Effect: * Clears the console and prints the GAME OVER message. */ -static void display_loss(void) { +static void display_loss(const coordinate location) { erase(); - mvprintw(2,5, "GAME OVER"); + mvprintw(location.y, location.x, "GAME OVER"); refresh(); } @@ -75,9 +75,9 @@ static void display_loss(void) { * Side Effect: * Clears the console and prints the quit message. */ -static void display_quit(void) { +static void display_quit(const coordinate location) { erase(); - mvprintw(2,5, "You quit the game"); + mvprintw(location.y, location.x, "You quit the game"); refresh(); } @@ -87,42 +87,46 @@ static void display_quit(void) { * Side Effect: * Clears the console and prints the hacker man message. */ -static void display_hackerman(void) { +static void display_hackerman(const coordinate location) { erase(); - mvprintw(2,5, "The hacker man strikes again..."); + mvprintw(location.y, location.x, "The hacker man strikes again..."); refresh(); } -void graceful_exit(void) { - mvprintw(25, 5, "Press 'q' to exit."); +void graceful_exit(const coordinate message_location) { + mvprintw(message_location.y, message_location.x, "Press ENTER or SPACE to exit."); while (1) { switch (getch()) { - case 'q': - case 'Q': + case KEY_ENTER: + case '\n': + case ' ': return; } } } -void game_exit_screen(rooster *gp) { - toestand current_state = rooster_vraag_toestand(gp); +void game_exit_screen(const rooster *gp, coordinate location) { + const toestand current_state = rooster_vraag_toestand(gp); switch (current_state) { case STATE_GEWONNEN: - display_victory(); + display_victory(location); break; case STATE_VERLOREN: - display_loss(); + display_loss(location); break; case STATE_QUIT: - display_quit(); + display_quit(location); break; default: - display_hackerman(); + display_hackerman(location); } - graceful_exit(); + + location.y += 2; + graceful_exit(location); } static void init_ncurses() { + ESCDELAY = 0; setlocale(LC_ALL, ""); initscr(); cbreak(); // So you can cancel the game with ctrl + c. diff --git a/grid_game_engine.h b/grid_game_engine.h index 2f07c96..988c574 100644 --- a/grid_game_engine.h +++ b/grid_game_engine.h @@ -2,7 +2,7 @@ * Created by snapshot112 on 10/15/25. * * A game engine that uses the can run and display games in rectangular grids. - * The graphics are made using ncursesw. + * The graphics are made using ncurses. * * Please make sure to initialize the game engine before running any games. */ @@ -11,6 +11,8 @@ #define MINIGAME_MENU_GRID_GAME_ENGINE_H #include "rooster.h" +#define KEY_ESCAPE 27 + typedef struct { int x; int y; @@ -92,25 +94,29 @@ void update_grid(rooster *gp, char c, int x, int y); * Display the ending screen that matches the end state of the grid. * * Input: - * gp: A pointer to the grid. + * gp: A pointer to the grid. + * coordinate: The location to show the ending screen. * * Side Effects: * The end of game screen gets displayed with a graceful exit. */ -void game_exit_screen(rooster *gp); +void game_exit_screen(const rooster *gp, coordinate location); /* - * Waits for you to press 'q' before exiting the game. + * Waits for you to press ENTER or SPACE before exiting the game. * - * Side effect: Prints "Press 'q' to exit." game to the console. + * Input: + * coordinate: The location to show the message. + * + * Side effect: Prints "Press ENTER or SPACE to exit." game to the console. */ -void graceful_exit(void); +void graceful_exit(coordinate message_location); /* * Initialize ncurses. * * This enables cbreak, noecho, hides the cursor and enables the extra keys. - * This also creates the color pairs needed for game_colors, + * This also creates the color pairs needed for game_colors and sets ESCDELAY to 0. */ void init_engine(void); diff --git a/manual.c b/manual.c new file mode 100644 index 0000000..0655140 --- /dev/null +++ b/manual.c @@ -0,0 +1,33 @@ +// +// Created by snapshot112 on 10/17/25. +// + +#include "manual.h" + +#include + +#include "rooster.h" + +void manual(const coordinate display_location) { + erase(); + FILE *fp = fopen("assets/handleiding.txt", "r"); + if (fp == NULL) { + return; + } + + rooster *grid = grid_from_file(fp); + if (grid == NULL) { + mvaddstr(display_location.y, display_location.x, "Error loading grid"); + return; + } + + fclose(fp); + show_grid_on_offset(grid, display_location.x, display_location.y); + + rooster_klaar(grid); + + int ch = getch(); + while (ch != KEY_ESCAPE && ch != KEY_BACKSPACE && ch != ' ') { + ch = getch(); + } +} diff --git a/manual.h b/manual.h new file mode 100644 index 0000000..da8d146 --- /dev/null +++ b/manual.h @@ -0,0 +1,27 @@ +/* + * Created by snapshot112 on 10/15/25. + * + * Display the manual for the minigames + */ + +#ifndef MINIGAME_MENU_MANUAL_H +#define MINIGAME_MENU_MANUAL_H +#include "grid_game_engine.h" + +/* + * A game manual for the minigames menu. + * + * Please make sure to include and initialize the game engine before opening the manual + * + * Input: + * display_location: The location to display the manual. + * + * Side Effects: + * Clears the console and uses it to display the manual. + * + * Controls: + * Press ESCAPE or ENTER to exit the manual. + */ +void manual(coordinate display_location); + +#endif //MINIGAME_MENU_MANUAL_H diff --git a/maze_runner.c b/maze_runner.c index 6c12962..332a84d 100644 --- a/maze_runner.c +++ b/maze_runner.c @@ -105,7 +105,9 @@ static void speel_maze(rooster *rp) { case 'D': maze_runner_beweeg(rp, 1, 0); break; + case 'p': case KEY_BACKSPACE: + case KEY_ESCAPE: rooster_zet_toestand(rp, STATE_QUIT); break; } @@ -126,6 +128,6 @@ void maze_runner(void) { } // Exit game. - game_exit_screen(rp); + game_exit_screen(rp, (coordinate){0, 0}); rooster_klaar(rp); } diff --git a/minesweeper.c b/minesweeper.c index 60274ea..c59858f 100644 --- a/minesweeper.c +++ b/minesweeper.c @@ -11,6 +11,6 @@ void minesweeper() { clear(); mvprintw(0,0, "Minesweeper has not yet been created"); - graceful_exit(); + graceful_exit((coordinate){0, 3}); refresh(); } diff --git a/minigame_menu.c b/minigame_menu.c index 405f8f8..4bb6c67 100644 --- a/minigame_menu.c +++ b/minigame_menu.c @@ -8,14 +8,23 @@ #include #include "grid_game_engine.h" +#include "manual.h" #include "maze_runner.h" #include "minesweeper.h" #include "rooster.h" #include "snake.h" -#define AMOUNT_OF_MENU_OPTIONS 4 +#define AMOUNT_OF_MENU_OPTIONS 5 -static game SELECTED_GAME = GAME_MAZE_RUNNER; +typedef enum { + GAME_HELP = 0, + GAME_MAZE_RUNNER = 1, + GAME_SNAKE = 2, + GAME_MINESWEEPER = 3, + GAME_QUIT = 4, +} game; + +static game SELECTED_GAME = GAME_HELP; static int OFFSET_Y = 5; static int OFFSET_X = 5; @@ -28,6 +37,9 @@ static int OFFSET_X = 5; */ static void launch_game(const game game) { switch (game) { + case GAME_HELP: + manual((coordinate){0,0}); + break; case GAME_MAZE_RUNNER: maze_runner(); break; @@ -55,6 +67,7 @@ static void launch_game(const game game) { */ static void menu_highlight(const rooster *menu) { switch (SELECTED_GAME) { + case GAME_HELP: case GAME_MAZE_RUNNER: case GAME_SNAKE: case GAME_MINESWEEPER: @@ -82,7 +95,7 @@ static void menu_highlight(const rooster *menu) { * Displays the menu */ static void show_menu(const rooster *menu) { - clear(); + erase(); show_grid_on_offset(menu, OFFSET_X, OFFSET_Y); menu_highlight(menu); refresh(); @@ -118,7 +131,7 @@ static void menu_move(const int offset) { * Side Effect: * Changes the SELECTED_GAME as needed and launches selected games on select. */ -static int navigate_menu(rooster *menu) { +static int navigate_menu(void) { switch (getch()) { case KEY_UP: case 'w': @@ -134,12 +147,15 @@ static int navigate_menu(rooster *menu) { case '\n': case 'f': case 'F': + case ' ': if (SELECTED_GAME == GAME_QUIT) { return 1; } launch_game(SELECTED_GAME); break; + case 'p': case KEY_BACKSPACE: + case KEY_ESCAPE: return 1; } return 0; @@ -152,7 +168,8 @@ static int navigate_menu(rooster *menu) { * A pointer to the menu grid. */ static rooster *initialize_menu(void) { - char menu[] = "Maze Runner\n" + char menu[] = "How to play\n" + "Maze Runner\n" " Snake \n" "Minesweeper\n" " Leave \n"; @@ -165,7 +182,7 @@ void minigame_menu(void) { while (true) { show_menu(menu); - if (navigate_menu(menu) == 1) { + if (navigate_menu() == 1) { break; } } diff --git a/minigame_menu.h b/minigame_menu.h index 5c4c3cd..7800f5a 100644 --- a/minigame_menu.h +++ b/minigame_menu.h @@ -9,13 +9,6 @@ #ifndef MINIGAME_MENU_MINIGAME_MENU_H #define MINIGAME_MENU_MINIGAME_MENU_H -typedef enum { - GAME_MAZE_RUNNER = 0, - GAME_SNAKE = 1, - GAME_MINESWEEPER = 2, - GAME_QUIT = 3, -} game; - /* * A minigame menu for games configured to run on the grid game engine. * diff --git a/rooster.c b/rooster.c index aeec8ae..5b59deb 100644 --- a/rooster.c +++ b/rooster.c @@ -1,6 +1,5 @@ #include "rooster.h" -#include #include #include #include @@ -89,7 +88,7 @@ static int get_grid_sizes(FILE *fh, rooster *rost) { return 0; } - rost->height = (int)ftell(fh) / (int)sizeof(char) / rost->width; + rost->height = (int)ftell(fh) / (int)sizeof(char) / (rost->width + 1); fseek(fh, 0, SEEK_SET); return 1; diff --git a/snake.c b/snake.c index 0c44535..b298c98 100644 --- a/snake.c +++ b/snake.c @@ -244,7 +244,7 @@ static void update_snake(coordinate new_head, snake_action action) { static void *snake_move(void *arg) { struct timespec timer; timer.tv_sec = 0; - timer.tv_nsec = 250000000L; + timer.tv_nsec = 250000000L; // Snake moves every 0.25 seconds. while (rooster_vraag_toestand(GRID) == STATE_AAN_HET_SPELEN) { nanosleep(&timer, NULL); @@ -311,6 +311,7 @@ static void *play_snake(void *arg) { turn_snake(DIRECTION_RIGHT); break; case KEY_BACKSPACE: + case KEY_ESCAPE: rooster_zet_toestand(GRID, STATE_QUIT); break; } @@ -352,5 +353,5 @@ void snake(void) { pthread_mutex_destroy(&MUTEX); rooster_klaar(GRID); - graceful_exit(); + graceful_exit(MESSAGE_LOCATION); } diff --git a/spel b/spel index 5b6dd847ae34deed8078cf848157e64bab754138..9feb65ce78e4e9dea4a670340e42edd53cf56447 100755 GIT binary patch delta 59276 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 >;Z` z*THeazV&h3*fR&m&3j`ww_oe-l-RpP=i@@#v!GhX6*Y03QiN{QV4%1kR}S#(T9uP^8q8o6AZ776x*n}QKHCHz-X~@o;gnLDy>iuwaDO$>#HLd~3kA*P_=R5wXs@oPpA}t!Sf`a7M~+H$4F)Y;l4e(C4h^{MV%ku- z%MC%xUnve+p>Pw>*NW3SD(a-Kw~q&{)Sc6)+=Q*F92^B&^=leVwTcBntJjB6v>L-` zT<)5Gbp_P=h03n|76n{q`#{jTicT%P$}6nb(@mrAmA^1(>aD?`A5E$YI=IqGvwcWK&OKrSJl<;# zW5h>eaWq!UrUYh)&>+A}vCmBn&k`lU7XC=SE|s}W_$OPvOykHgl_Eh4mI?$-Y7VBg zGK2bqR?R~xH@sHPtR459W5%y%?Szf2oo{1h(ER6mftFI5gO>Jd1X`vOV_n&&`51r8 zb)f^4Phh3WZ)0e!RzeZbHg!jXrVJ&gy&sUX!IA9RBXWUTZIR$xhqYBA@J&Fb7_-P^ zBkVyT6y&iS^`$O?$7h8&enc%!GEa3{Y2@sFpi!eIf<{k`0L`07Ta6i*8#J~u4r*?r`_xJf0j;}<&Q-20r%Yee3spZ~WJ_CE($_unFH$k1UJE-thSXrc9B$jg7j=z%y$_C8l=>wQd+ zGM^EsTP&Bc_a;!J-S^YDd)Ax)+AC%bXzE}WXz#i-o_@Bbpzo*T1?_)-2=3co@UV$K$DpA)*zvGE@wvriY0=GXZI0G(*Tp@e|#BlqeMr_(WW0m>4Zm zXb0oP0r(s4M9#6tNg^*rJ54;R2k?mM>~n_jpAVQR)<*;833quK*+MaP3}CUSS_iO1 zWU|Fd@fpL*S`i%sSSPO2b2Ef}DqyRKZVT8ho;L>U631wyUx;Dv0}hIk;Z0RdF^B@RPVW6z~gzIA?uBjH4CZ5|hFJw?&chfIH$e-TOCjfpUH%Ci2>2 zQJB~M5GP9mo{F99W|(}$vozVLtPO~Ny$&}39T1Bc;P>$cO3&RN?ui@hUl?JBiHvxh zjThzk2O!!6(Q+x*6_BCdQPGOpIwop;0R8)&6w#qL zJtbUFp5J+KECFX1L|(RdAo!+W@0{|UYK4QCaUY|SvAC9aOp7X|eF|E7VlB{e(`l;} zJ|*qZp3_J@QxmlBv+AJzueApq6zDN}^cy2@b>{rX%ElDbc-a4w#zcb06XN~`hcBsAT4#5tjBP&TNWoH zdt`h%V6U7Bed4CK2_5*b9FPleM7AMoM`exPfMfD{QtTFwc% zl&i`G8Bz#vQGUe;@PpKI11`z$p+W7kT*mfSYT{%-8HRdX=4*>I&2h9NUm2O-&7AQxH z0~RXb)TeuqqOs~?Wj}3ZrLyU5z&hnlIAEjNkk+wXy_6HMPu)vtA5?#<0Bb#>+FRi4 zm|Bj79{c(wD4c7LfO}~3>z3jJ#b;8+C_M24eHG6nZz|Zz3^8q*9_IlLh zMgM)Q`h$PpDS*rV1^NN5_|Ks|{OI3-QRb?DuD1X``Cn`bxaL2kJm6>lsWiar{wjn1 zFa9OU0&e*KJ`C`y|4mNmrvEYqi(CF3Sa{oiFnhVQ@nHImyv9Jwbx#PX&fEA82ZVF?i<3n<>#S!@dV5{R9ZG5}q$?Jd} zjwy85la9Nz|I?1&=;&u0eP~^09XaX%zH!WC&2JqUa{%WZ_r?P*IDVv2fA8p64RF!% zC#Cj-LmdhD$?+|RzvjrfkoNzpqasglI&6ag_Z*3w_I<~C+VSs>HYEWM92Exx9y$t? z13Yr<2?IQKFg0EK!*QFpWltOn804NhMh*e|=@>-!dFCje4EW3O`TKz9jz<*N5d8$> z+EBgd8(e>f=^s;1X?g=nZ@7N*O~44fKV4;{UV?KPr6-W@PjpcNFj{{=Zy2NZpn%8f zSJ>$|J!CpyyzU+in4mX<1!@!Z?v((ObiEcJT|dC!Gg;qB4yWi#VU})fs@{mcIZaQe zeSE4%&{{nDU51V6`u9}c41H>Gz)U@nGn}Q*%MF;V&xi%g(HBv&i}X`0T&y=E_e=D? zbdIHZL>s^|eL2l}xvsI775eHXfR*~23juEIXb}TktyiGutkEa52Yja2sR~%D7a`y4 z^y|F=8Tw2QV7*?q3}Aykg(BIg-xvk>TyHfFuu0$d24J&Zie9`$@5zz2>h~y;ZTcb# zZ@ZpK>)N5ur>*UD>rNW-F8wz9-mPoz0ru!yIkmm|_74I3^y8fNe!VI+dO*K86YzyT zfjk}54^e7|^y75_hxO%gfFpWq3izm=iG@r%tuLAeIHQkS0QfAR3614eK-CI>+X3z- zg@JbhuJGdBfVVmO-vV;106Yk|-W~8TpkFB9QNS~XkH-P0sO>)j+^qpm0`lhtJPkNV z;r|&B5(Rh`5cUz^uYin6fad|36v+_hY?|y)=QEBw%(-zPAkA6b9ReKg92Ef=;e2Hl zV5IZpP{1f>7fSXMXD!ZtwDaCTz!>K}GBeh>kL|}f<0b&cJ15YBCOAh?BNLr_W&RTh9PYa~|P7q1va;L8$VA_2RdTWBSFoQaImd!1d#?>^_5 zMS%UzB;ErYa3)U$eBms^<_Db@>CA_mZ@mgQ?5xACk2w3$DUUiIa6I=h=iGOJ$DO}? z3^?h`!TEmc+*l3ZakZg!&USr088FAi-B7i;uD3YgJXdfBby(RFl>rL9#5!XGkf7Df-g%@1?889xoxRJ8(P0nc4g(5N;u@H8E7R$wb~xFFCr8?Z3&YC2$1;A--; zI51)sU`b#zH|4xEFc*z=SztkOx;(JSG{B0$VQ&Lg2Bzf$tO}gql~>>#s%cGN0gn4w z;CXt?+CWKFW(0=tY<*yFn5FlYy=V^1$}h?LwYWIH7JEyhybtoCQ#h-phao~I?O=g@Vqg(jYhS1AJ8 zYV%;wcj_$yZIez5Z}%0Ae}la$s$!~gwqmo{vl5(iGr>s<(EM$yY&OMV*8f|s}ot##xQw}TD=@li!Wu-a=D#7NlZ>m#}mFi^G-J|9-Q=PIhoq`oT#L9GXXG?XG z*;AcDtyCu@CmE?uRFfvHYmKB-Oxk>F%xIw8Hu%5-ug!O2W@LV{Dd zK5SYTsmErjlbSu%DKdMiQ&`AyebfK#7brZ9B%2Xei#r84Eup2}3fOl9&nQ<>aGf|4w% zy~I?)79vA|oJdtiMP*v$~1PlO^rQ zENMsmtF*%s!T5DyH~qzBXwXdAQ?lD}v}wl$^I8@dV_BeENsP_1z_|b20^_q=V1j9Z z`78^}5}#>-<`WFqMfAVgh1<$;vkb%UMUI<)K`Y12nw^p3rex1?OGG-H?y!<3{f$Us zCHWcIZ!doy-V+twgp5Lbm_(JcvP+8)3c(s;U)KHBGN=c#2|ril5~v zcE#auB`sQ>Vr7uJ|KC$cvpnUW8Kg>{oR+6p$&o%uqO^a@Rf4lzCB)ZNLan%DbrY8> z%TvO#JSF#k@|18Zi8h<3xFfQ=N*>EqA}v>mvRp+;jLz~DIFcEw;Ynt!j?EsclSZtNWk9HMeClR#bd>a79Qp7uyJ5i^*eIjMYmVBC45{i->Awz zlgZ@$*WenH-C|-bi$U}>miPD<7L$-=G5NAACV!U26tGw04{2GM%muTXOrmKrg)EbK zd2o%*ZZUQ*AM2iKVF!Sz)JSJkpEq^2_?-3qQsfWx?zQx&Jb zX0FsZ{H#divTOQVpRsyS83Lmhw}AY+ExL`Qcae1iXyv*GSdq$Ut?46+PHo(%so}-F-{SJV-QRIQCT4=+BYQSwL+5BOI(cRwqjCjR!oZfPa!GZ3`rr`RxzLZy#y;HA?O$( z2{Fg|#!(4bq3o+zVbkFDmxi1_SBjVh_o`)ZS>pT0{a!-$kW@5# zNGfKAB;5aJ{Y``Zie;+S?EdwBFA0_!ki%{-1CF8;!#0)J;`S&M;7=|}XtKb59_5D@ z6+6qL0wpy$>mH8^`Dx0t@6ph&l>I|?;EpeC_pqUT8L6riEu+cgFIl%(Sxt^Qz@wyc zn!NopD`m2h;&f`kf8dIetGxXXd$HKi3WyAx7Or5w$l@liX(4+*M+;RcQqlf|ZS8NC zWe*V!E##APsNxQ@Ya#be;;6{$T5ux_qJ)~}Vejg#TC|cDQtuEOHSo88<}G@wvVA`f zwBC!)5-NY=WjIe2E#&ew^ble8fIm*LOf9;q{k*qr-fCJ%zl&&Pzrl02lB2r4S2;8~ zB5K&b#er&n7mp~FE5a15o!KzTL$#)TH4ao|l)aV~`o|rV<*BWO-Z_mjRXO0O1L_K} z779K4LZJo4p@EjO{ZY{1CkH`8+OZ_mec>)3m+J<)!TNx!MqcE9D=pIflDtSfA^ESQ zMY{i)7pWbTQ+7fUN9Fk+0LSH{Q{KlZOo6HdLqG~Z_uF9aWhph2QRSr>HDPbr3jjr%`JJ$DNh#}%bA65BoiEjo-mB$bAKwGx|mgO=KK3A9W%*r-%4m7Xd7oahVp>U4u)?|YnIC3QZVpc9# z`d6G6X@JUJ)~c>OjDx%4;Wt)qU&7k|HU*Ue)lzK>R5K) z`#7kV!(xruaZ*E2?|FEI%{Yk2K_TRcLbTB$?_CB>?14FIg*H%Vg-3D~Ewal^ZeHES zZi}UT1)9_a^6_>PvWv>jclr@%x$@V|($Mpif59VQBXL8omZYp0am}f z9kiB0ZtJCC4sNZ{w;ZNfZkk2Q3Y1gZ-+u$`xcLfbmkbJ_Ykitn%6PKZea%JC)RjE$ zI|sZO!di0+2VsAbk%+5s7%e7@T8P&}ZE4BbcrB#yv9l=8x>*o#78a zyVRmKyA|e4dvrem+H)ChakSJDXF&T*Wvlo5AENyYY)MWBwcs!xjA4izyq4V!5gF_+ zP5exqjTE2I%tnh%l-D>hp4TRd>6F`Kk%u~-CgL9fri<9)fLX%Eq2`J!>i`SHT8^?< z6eQQn#Qq-vD~0@5OTp^^)+0oy)?ySHz=ecklJMGE;V@24=~D z2yEJHnGWmqc9-Whsx@j78Ob}76Oa9Y>qh+CjiC8bDB}XMIj^J!$|$CAO<+zFh=>q|L}${FOcY6D)VzVke2z4s`(2I-t~ zBgtk>!l<8SfAMOI>hzPAg=npBcBIXyRUldTViUjqGT1VhNj!#U&- zv4_oui4HXJ;Ub+Kjuid30!E1*hRM9a-o}a^yf$8Z#feN5Jt%T_x_E=0@TrJk>2%@w z8Zc9=;>2f*MilB?5pWtXU)0$ISSTt{1dD|qt1K1iG^^#J7G<`4Utr*8? zXNW}l;0AG;2K2eOLRn{uqSVD!w^+$pY!^AX3hWdmsi)l{gKo1|M3UkC!bW9(AztOI z4~ZQV#}ScAAs-WcDc`TegNJ|Kiwk?2b;yl}57ti+rZirep05`>$-GJL-1_SzCk;=k*V&Egd@1iF; zd?>!;wa4Na)%jFZqb#0@b+oYOViRi)mCI?GX>t{V&pQ3reE>`Q=svMCjFK*ntW9Fko)!z1!%@_S5{q9(tRr&)MHJ|s^kWxj*_{r8MK zbP}iMWGc<;TX~stx*#tzPF<912$$q38pIX3i)#K!_9st2%T!ME7wO`hew77(0^E{0 zskA%NLE--<*V7>G%Xc`z2l8!-D+BEC&ibCg_sQB*%q$>y5_Y`Fvqs}xX=P7_k$wwi~ zP;$~rW+@AQ1I$q>@|t^|QirDtlr)NFkusmXEm2}Agk{PJN_K@ZgzZ-;8U?&YiKJPt zRbJ;18OrLdfDKA}dfeyA9a>4IGLcobD5dCB+muV}bEoq3CSbSn1>528H7LscZsiFP8JXsX(QZs<{Oy4M2ds81IhkMwLjf>m3oUp z_)Ptov1qM2hXP)&rc;(1)vu_EP3oJpxy|aw)azC?=?}nmHHBi{sRq*WcdO;d_CB@w zH}t;)YB$>KK{bp_9aisCz(>_(oYR-;EzbV9nw$3cwK_cma7x`u{hm?F(4fw#d1-Us zs_n?k1y$vIzgO$iV}4MNYyezV@3O&FwH)2|ntFm&uB)r|(f@9!JD=k8rdpkIx~=x0 zD(|WV>Eid)oD2rPtKYNlhw31X^jIx&4)8=hN5}h9Eprm^ml{KUhiErgWtdi!E;>T1 z@I7FZ7DU~T))w6XjMaLw&+%GSxVBrHsGVlmN!K27GE=n0)W|e#6Q$?TKA}_2(AsKnNL>i*25)#>%pT#3DK>GO94u-dF=ae$!R@Yvg+*>FW$kB9>m4L>;WaRF3geWq-eA)eIQa(YAqI2J#`0NWeh z<1ky-ZJxL~vZyS$&C{%oY~=pQtN?$oNxa0x_pQwcmELmS7eB+}yydkzZt=Y`n1Ey27{-XrSCu%K4;&@ny*4X{=7T&^qgCRS-=oJX6*CCygvn&npY`ktnB zWtjUd^Ro4BQMjA;)7~tv-q<*|-qQEJS?>FuKa085EsgrV!yhrrt>K5DAJz7o=jXaI zJaJ>Ie{XcsEVmj>FnFGew!)UjX1(^z((7t(d4w$nD;hsm`R8VNTc7fsD5nOj-OxH2 z&1^@^a^DwPeQT7vZN4wX`q6CQ`(CYEX1VW+xSpEjzAyZ;gxIZ(!HKUBKk=3aywG`o zXHR_@)-F^U6Up1wXlK1xBf%{1^PW-O)qpHZ8s6V1@EvENS#HU_jCUA!C3Gk72DSNE zr1`Pr+te(-e*3V#X==ULN8t&uvTHmc9Omel}YSOwqPG zd--V8&j~sBzI@MPlzR>~l0jm@6rqNR4PJVJwD>Kv+23DL#EzY2dE!W8m}NNU$L(p_ zScZwG-Y%pkgD0;TP|^$G&0&jVWOrAi#Zn z@B}r7G#y@WyX<5ukIiPT`xaZTp`3#r?r99R+0^3dYPRfb#8)#;-!E{KR?ETgb5Dm2f%mZ*ns( z+HCdAX4Yn=d(8_iz0E{l111=-#(=#Boby8X4`vU(FV4DU)KWYdZ*Y-w80`7Jw=2Oc z&)3Ho*m`YTakJd_jc8TO@+Ges^%G5gYkR7;gq1Y+juze#wY;;%7qq{BQoNVNI0Kd% zu-^-w`7LGcaO`&KHLof@=91gy-<90fH5U&Pfu$t@n>+8PMa<1?*g>hGK|)n4LF<`^p<>E_!-+5W~Q{3 z-DJ5A-8;4GQ>9V$H<~rC*}P10>7q$Ri)$VW0^7*ic?Y!X z*RK!vd3;GF?6(*e*QrN`)IqiZo%$(Pid+(u6JRC`yh_XH)&{CTm7Vn1v=ner0G zraaf9qI>lB?gu&GB|SDvmSx>t`lNJB_U=5{w;wi->|*1dm>s(QdlT$+*`vLU zUH6m^I#sFNpl-G5$t8-GC|cUqxkL9}*cH>uSErs`QhIi>4d~OUbDvIqU)C80?CI&+ zR*sD|ckE2<*R@Zlb{&&DfcC>Kn8_^~R!^?ks77+Kr${^5KKTW&-d!>W^yt<9CDKCM z_I>*%_wCoNPd{!r*{SbGSoBVU1|3e zYcDlV-uAMiXK8ym>|IW^Z-*BZvs;FD?Bou;y7zin4bw7S#!Z0^a%Qx()#^()-rYe? z&VwyMU#76k-W_EtMU?X#?jkFT7>}c?EEePs7vaakW}dn%ZtXIPEu8Kdjbg`Rv-q)R zPghws=fFUtmW8RWc=QxmRKIRI+V$wnYALdokcXOj#&p94>qel?7|-5rvTTsK{#xts zZl_0oPZkZb?!hd4$5Zz`FcmY;7|z1qJ)=<^VBG^;T4|e-x-!)B&3iH?=(>4haDAoG zrjEza9bF`ucWX(jjN&Suy4_`x!z@i*{$ z3i8zB`FYh?HiN=EV{q>HHIH%L+jF=l_-<`S nPaWLZ@RJY!n|P-6l7$^f{f$d!J%`!SZ~6T+@8|z5pU=B`&pd6OdFGjCW@qPa!-cKZ z-Bp&2jm3%MOPfAty&Ny_>vDYQl_b~9ek!Gxf}ct=6b3>I2;eHsbb!fszTmNda1m~&c)i-s-$Pxlj`B>sXQSLi2b)# z{bW_kPq9cdf;z5fu{3-AM-|;(-}_C6igTmxkKDdiStqrLV9OZ#DfWhPhFU?mkb7>L zDWEh^sgmqUrD$L!3NtiN@{FPET_wfPfHhM-G=?f;fZZWlaX@lWc~x$pTs9=LBV5}q zCo9Q@P$g3iRpz5CkV9E}(qZ#BWTeH8DKm{NnL>D(W3^~dnj3?Z;V`$J8!ksP`^=$i zH&JC5#zWzN9K;TCFW%>NqTx$#c3xqomh2rR#nf_>HB{Mc3S|+z0fj3qO=LB(l0f&1zCxzpw9M4kxEiDzNA(UT_w32~GG;s|a(`7oJYLHZ|r|YVvB*8+2g5!1Z=(lvWqa^%E>`&yJ@|IbQS&}kZr0itbcVf7pehs;sAZZ5Us$g49Ugq6 z#?SWPJ2X4LA7 z9v}Iy8>*@&K<^9H2-JA+53Er6!fR@&N9eG|w|np%TEl4`{L`dQ^UvWS&<$mK@C!7D z=6mqZX$=>6@O3-o9{d8$p@ZP_`LFljW6e;dM+Mzbl?T64GgRZjzoOX@_Ww(S9`Jel zLX}n_?SX*TbgWbjI6U~hG=7x_f4|1R{V#msKz)byuT>h%0%|Mz5|83nN55C@T zrUzelFx!Klt=XUN@(`TW8YuAK>kVx5;Ojjt_u!Xnx9Ec&{7*Fdl^WlrkGw|rPZo_wg4}R4Vk_y5W5B_eg$K@V;-OfG_J|d>hze*25xz@mC z5B?slfhrHa-oR}Sz8-qvpz3g4q_rUlJ*c){Hw62&2JD^{G=8!NU(gzKc<{5e28Mg^ z-_q=4>wK;Kx=`oo0@Y!`PivsSgP*Mrfd~Jz)Ygz+#55C?&vIpOx4}k~Yt`C6+|7U#&I3Mw^ zOA1Yp=TRY39|8}4m9`FS@!+$yYER2O_<9HSx$|lKv-Kfx7l7~39J=hm57HW_^5E+Y z2p*4TRclm-LOuB5u*37u?jg_(>8At?^<~uthnM%Ngb{_+jbG))4|U^LyYa)^__z0J z^PddSxK-$)Gf_G;N68td8$a8PpW((YaN|GZ#y|avN|>m9>YaXFs1pcyFne%a zcH`p_ukNaH;~VO@f>7%Sn>xCu;dhJ-yTK|DQCiDP!-TT~Se{oMFo zZv0R;zPB6SWp@+!xCt7&@qOL+$!>g`8$ZpB@8`yMxbgkn_)eAY5~ybZZh}m=3W09? z;comOH-5GoKiG{w(TyMC#?N!(H>it06z01L!rdwqxbY+0_-owwk#78rZu}@W{uVcW zw9cpbSMDZ=(FG`XyYcOA{C#fxSU3JbH-4NOztW8#@5Vn3KA-j=#dO(ggbK{%c_|4t;es260Zv0R; zeiG;N{^JD1P0-S&DM^#h|6Tw&*`= z6GktnPe1HI_xGTCdC*-v=(Zkok_YWd^k77L&>ua~||b5BjJF{e}mm*~bII@*H{@t}P@Xrl-H&peMD@Stx! zpj|xcuRmaL`YR9mk_UaxgFfj&AN8Q$@Syk9(Jpn`Jy*w2>Fpl$;~w;S4|p@S~=_cB|AFng?b-;suc%CvpEq>r8EEKiDgCYENe3C6@1z%E}C7p|wVW}yRms8Qc zCO_C&EQdgeRv$}kl`W=#6yMfL=#Sv~Z3ZnMZPhcrH+9 z(RcaY&f?A|K~!7*s;#ZgsjaO&DYsdsWVTOl{#*fc@&k@#qo{raVroos7QO8(DI}5e zl(c{C>)o6s!J~TZKi>W#6Px^{Jl1iTI3Z5C)iFZ+D?#z<6x9qJDmr-(`a*S44U810 z*Eow#Rd9rxBO60F_e{mL_I7&PDVc&y-O^j8Wc=vbidKXRaIn~I9|K7xWQZAAG)h6=Qsz2e@ zLf*|m)%s0*w21ejt*W!;14Xq16NM*Ele)|q#JxRvj2`EzS0dEaRp?;#5j7$o zFQ7iV+Ns{|!#(vVgChA+2wwGQfMZ|?)dz?ifLe!%JWAjgsa8LE7d+agsXWTR>ea+E z)bZ$%w0bu2NUG|Qv^tA;Mq!Z7qzta^LrlU{MecYz;*lAZN6l5o6OUX_dGz>MZ37Pp zSv{Y+)rKr#5Z=LUf_gL+U2qG0_5J#^I%^(Rq91DJYBpW1G8nOXFiWa8|AHX2L=cXW z2WUvr^g7nla~A&S2cgkHMot3j#IaM=*T|uw^xMwDCAWn+A&`vKBoDy=ci`q6BtpV% z^0yYxozSiUgVXbOz>VBoAySHsrdoH-7#fbzccr-X1tb9QCu3JSe3_Q&m~Bchrt9kqf1i&T1P+DNTrX zE?8MVC{;XjizTZn^hDIEuQ5JPS$^9Dzm=3p>xtQUBP-u{WI zx7qm9f31EGDWsdE+@^M0e8%~GXzep39FjWp!I9p#I{NDHQZ z4V1r}$tR*iRX#LRSEglSo@;VpO}8a&Z+wFmT8J3k!W!AO`eRT&bB92N3@#&3%egHWGZJ`;89srg}Er z)F|sI)AJvu3Z#3O=Q%1Xfoj167nrCGt}Rf+tI=5W(`dbCItEus62$nP`aJi6Nmbf4*VpW#LmRNa|wEk4y>ntE7|FSv(YJ@F6mLKzmfvc5XYXsRcCyhN(eL<}30E z=kXtuv>|~J3fGXm|HFsFH)#WBD3PnCk+WTTsETh+Q(eq~@5RA;#*+)xfYge*cA2pP z>1{qoSyv*j<|exT@ICMEIL*XOSaeG>E#Ae!g^(Ag-)9&2JfQTzT2LfU1zQ<7IS4KV zaC@#fs=ZrNRhJUsQs-e9Q`?HK5KR@`@E4&pWo;{N)S(-`BUIwtt##-I8Xi8cZ7Vj` zp&JeXEv&KHR;Mu?SdmEw^} zBD<>`8R=jt%KedTTyz}fEc&$i!gm;~qy5G#%(V}iGu?S?dhRT%-EJT3EXpfz7R_Jd zJUV^Mlw5GE&SU*1P0yV@FE`#KNhj+v`!6=jw?i=4YpI`#?9!b;dU zRs9cdYh@aGh?@j2l+%v}h@ZAmzIe2gIO)0)KFaP2qa;#q^L(YNqGuW{sh>elX(bbH ze!WrW{osvN^TE@Bx|){A+2hnSS#!PKYVh8-2yYHDN!Lr$^zt-4<+V`_<5yhcKG4SG zw2*H?f&EDsQu_=}{irJ+U041XHB!9vo$~PLwn@`DSAAAN9NVXVk)K#R^o!#3Yka%2 zL9L`NZ@+w}93Gt}rhTjYI@<0P0(Y=ap}r`weZs`C*OU%fX=3O#B|oc&_|dn@p{$PL zW1FVuG57bvy&e05}!63QwU~fwO-B$Hr5QHiva!hBjv`QH{rm^oUG^pC} z6kkk%8`oa!S*7$D=McpzrDR-M^y#a$wWoUUUqm@e2AAtOr7oYHlyApn zh{wNFl5*0-)n6(TbD~VUzvR(Y?u?BRfBi~%DW|RZ%`d29eae-q^OME=t4c&}r+~-7 zEAH`fVI}Py(D{>JD3fx>iLqZO=W-*(!Cxvr<~DScd`=a6AjwZv$9_fl%1laZkO3go z(V-PV7nB4aZcfR=(y-Dz=*PnoZ!Rf5Q-+IcE-4dGBwbRDPZ=hz z{6q<#I!c`TiLzj7XR+NU%E754#kC(R!PA_g<6|Xj+F)_fCFQ`hhehQh#d~^RG5sSj z!<5<6JBU@ED0`<57azZki+aSB*G}k@iEWG9Fv_fW5^f{Vr43_#=wOe^#xb zE(M!ERJ>*lu{||Jofr-p(K{b1(`SW>F|o>;S(C(<&nb6j^$`bLP#m+JILj{1_&`a{Zy=68uVm!+7au>bJdxi+eDxf!Jo%iG zFsHw`@T@Xt&LHvR2g-YMMu<~BP#VtdFM55TDvQ!D6w9?RN1W{{=i_4eCveDO`st!e@aNkL%CdPu;^{t0*}Sph=CjIQ z^TvrS&nnsTouS{I!ATjj7p9+v1H18^GWR6wA*FKu0M}A3q{WLLG?el+Urrl9Q&wep zL!(%JE`#4?*Wi4?b`)bK2a^g~eg_YRMJJB`5W_BfSktZO9f(Eaf-E11&Tc?x{7etGwEzV`8^dqjqXhXy20AkUB~UTy2WYo zw0LD}u!>INcF)c#;}*N(o4rdZ%AZA@<1RXj4Hq(s(kr_a4}GUw@tjI{{YW20UXmz^ zCzTdUMuqI;>glI*oXrdgjmdMl`s%w%`H~n{7l_a?(@C_}5RW#fTa0+q#%9H<&^#sA z^i(%Ir{p~vRxDQoL#_AmjAJ``8+C?Jos!_q2)VkwUB$6e)gmHREYGK*kY58Vmh(9N zA|TdURI46}jY6^fFc^h+RF8x;D_Mj6Z^-Xc@;!*?x|smkEf6Go3QqxrmF6P(X)sR7 zN`|s#=|r11f?sz#syxAON52Otv92-V=T2pXt6^9hXgG^{lotoLq=E8DAR4=Sr*hmi zw#8A5KyjM`fZ(-&=#U)-slAnW5>f9P@?)eVZ|JUM7WDKQaU9++ddFGPqf(jKB~W>- zAi6~q@n+LF6hgJ=PpbbFeVEhroZWNPex+#AbOcw)AC`tXpm402#%7$fO zwjt?m-7v#2&N!wA;I2AB9CcjjzPy>3d|a8aJTfj7En$1(1&h?kej*A@ zys~_#I5J%^6t-%b2(#+(lTqtccZzU{+z$e(|Cn0;pPtH?!hCV}G3C?3RM&`i(3{}( zU67j>=0rJ*gWv7}?P7T`73yvAPt?QSrZ1icU}YViacxIW7YC1qMsb@Vs=5z%>Qwb) zdL)6KyciZ?<~NAzJLQiCA3WMBYgTw$hSLoh2lUzmf>G~WqJ<3_ z+POq5aP`)UI_lBHyu}Z+U1+I+o4Qw>`m!bW`N2dc5PmeV?q<4rGT93g{$_iA@Lk=3 z@D|4;xS$@4#;VU0am1%@C)QKf4cZ`9eS;@7w0KDCEj!kL$7ixePkeKI^vHcG$AE0-6b^ebkG4ERWFiQtIn1 zz|^cx_y}MHFuqxKv(l5ST;(SEfl`sv@{>swF zzflS{%08{z+tcjRa;MMfkkY1&(qT&%zu!DArF_eW&G6%xd7t2G2Ymjh-+%$!307n74MACkG9Ts3 zC^w@#j`9G?t0+H4X~GgxgYq4ep|T+KJz87qKv{?zVm8Velm#e5D$x;?T~Jn{yoj<2 z7q;QvkjlgQ;J3AnWj%`LgobjySPsk8){8w76-H@;izqdzFy#XjdvS@inTD z?(4To?BQb+U+^{|ERkR(W1IC3k!@JH(ZTLb%G zpx{;I%Cq6F3qVgpb!0tX2G#j;8*&M=#)-17FH%=V3e*=r%(7Un*Do25bh81h~F zl}*pY^|}w#fNey(dL2lr>p&!?c?52zbLyFz%1u!RJ3*dzSo!Cf5M|$PgYi+2(+?}r zJ42KUyA6qpLC!_(&Gl***VWzz`410jzX`JXLG3R<-bQVQd+m93!4d95?sr6ae`mNc z68ZP_5#qLZD}X zzNMl+02@`I#108yaGS<}- z=m;#8_&)JLNFI6+;T*{OLXNMs9?1KtaywWnAny+O^X?&2oh+lcHHOY^=)8LwVZ~_F zg*|hFwBAsn6hH6Z>to3GeNkKc4a9YF@iX2Cb@ErpXW@V~$z7hS`ar`Hg!QZ7OXZvA z*PYCR3yO?d3P3i`*Ab)w;cQt@>jptbI|Bb_muDJ=52G372ogwbN4NVU%uu^F8zgc z{RMRWg>(G{b9$kiF8%#+{eAIle4|L0{yw<={ zY8@9GDk+4ytHs1FQ`z`NpI;8G)ZZG{j1_2Ve8NFRSJU4K*W1+8?3xu_O@HNEQ>)a} zn1`DFLbt9~pvtiw;g>@z_4l>8T1;%A$_~?{x|aSj_Td$3IJ9ny9%}quYw$ER{Y`4m zc<66Z>uQ=ceS@Pns=p_#sa0xfos=d~})y#+@ereNZdVrN6Lj0EaFIhxlozW?Z+Ru?79bWS!PuNcOC+zmM!$Uw`jd zt3OUC$G6XPc^c4PIQBH4zgMi*!rfVO)H9Lw_lfuO=)~!73wsW*{@z^*4Q0V>`>=V6O5aRn`IpeHEtD&4J^`Fm-e@;50(Iyr~D> z1T>AJE^q8XH}aqpL1UDybrllmkJ`AZ=ui+BRi`VPL)^|ZH+AzGTfm#P^{#TQzP>~` zG^zfAt!MqZ7im>Jmr$-5^c-&e1zJx7LPfpyh3tQ+ufHJcS>LZ-eLUP{|4R=}|4Rhy z^$g%<@GtfC_gg(3NOrG}_Jt}f;XOmBzrX5fz~OEH_3i%>0sZ|{&-$5e^~X~%_4iLb zhoJ8LQ!NstOINm=0iqq6JeCMt*&JfavQ|aPi}+NkTBDMlYV`IfU8>rqBjd!QW>g3X zrzs%{Ut-ZzL(`}`*Av=tahNJz5~7PoKctGUpmGDPa!~_an$|~^9+ur~Uy9JhzhtW7 z24QaE46Lwf)0WAqxN#tf1JtH-lXY>*lKro|nIOhAK8c-~Xug9*r5F{WQ8vVf)mT6o z7b}1hgs-g5PtVy&DaZA= zgn1EHy-2E5M=)(c`#)(7B&6s za~D70rfd>~j-2_p&Sc%lJ;Qfc8^&_U>vaPb}gb~w6M^bsXgad5>Bh~sGI=XRJWwJCk3FyPk$n6D z-v=!($#SSPKMexPwt3xw&J=^jAE}DLzX=!Q33%( zAAGM{it_Z?;Ivn1>6w)$G>uRloG6bInl_~25=(RB`9jlX6jre`TV5bEO;zzn1+Ryd zTW3RDpKFy9V`u=x(usmsLu6dUxsIwE6>0&uX&I$BL^M$~hubzJLa|*gH$KGHZxpD0 zDwXMLdl8e>rcyaUcQtERZ1@$tK#2AwPa46kp!=G%w=SJEX|fPwqtqaW1Rw4g9!ilc-#^BGDss}4_ctqd=TTZ(^4hnmAmAzf-Q*%G0%bH4%DMHc{9oY zz9!$sn9`d3;3f!NTy)aDsUgx_U4sqk8f;LPW`nv=8`KrqpsvV)>WXa87Grt#OK5aU z*fkZIu^QOfWi;A>3mUU8pwyA$$?ONP#;$Fktqbrq>=5)v_)z+8 zWN*QVkqw;SZ(+Nj|7h4C;N|Q%bVhL}cC+T-kG3p_ey4rx9t2rdEIq1vSc08!>k zt8OUWl8m?|tt17yB}w!RP8i*ijJPGO1%W)EJCaPdU~@neo$mVXBz3w4hnx87Vh-}X z4wjkUhRysoZ05INGrtX+)!VR4w_%q#Tsj0@iEJ3@5B8ZSnUTBVFQ5e@tyq?vusVi? z?jYt7Rx;m`xC8`gFI9f{dFb{@uj5+jmSP+tMN*zUN^J69u+jo=oS?F2yXyGHTi8xm zMkvIf#zjhDk?L|FSY}`t%o~lw-mf>}E?+~=uav3ANB>1`tf2a1Zq(VQJ_s&r4yu`^ zFmI~IuvUo#A_NIbr4UKD@jMyc(~M-i&)hLi5)dS+Y3YMwZPP(+r59<^cnX$cYO|@8 z`a|c>DmQ8?xTfin&kXvyjJGFPM-k7=cpem!s!<0*^jXN*EaT1$n8YQq(uK|WBn?Q3XyLG$6*I?d;iiYd|8x~r;duyoPIwv7iyswqu= z5tZei#`ldw|5Gj0OKJ8#m(LWCtvD&pcEo(ylUKv;MlF37LEM?IKT_%WrC2b&K|9RP zpW1EIUAgmVyi0chD-JRl>*f*@O1^G-!%tc_>z)o&t3m@fwXYEjsp}?F*G;Cbn@n9d znYwN=b=@?o>n5Xhlj`wx(KH$MTxObQBIa2kC=1OqgSxH7JQFd`)_^Uk`w;5&UVKF2 z30`y~mZlgbb?-sKPf19K3W)R;40LCa)Quv^?vR{Y@R44jJ%yK1?;z5KUu>I@fxc5T z+M01zz@yPvi^hYeAyqlUh{e1K&VU{UEqZfkdxh`fYOHAa@P#PgR@ z(SN~=6$G0}{-~ip251in^_~WTvm11EVP^%0-~%Kdh;JtmzFc$JvpcknE&US z{s!u%UnVQY1L$;s5B1g}=_gf2S11|_^rlW(B>e!)Xah4yW9p}BezYJOCY8ehMqUWk z6EJ9KZzbXl;t~+#*8sE~G+Dhsk}4pAwOI#<+sMSdNnAo)9O^q=;^4VitKdg_BiRu_ z3=T-F>dP_=7}TU9ZkxJFhHLODT_WZXoyk6?iU=ZZEBfY{@9cMB{9#AUV5+j3s?;^Z zdlV*EY4>bMH$4Z1XX-g47-A8rp1if=|D`oAWVm38^m_Os3}vVntzDLc@FXzVPUFN( z*rWD);zJkPCP^5lb`bCK?PI>iJ~%|-b%haFcLp@aaM8X|ywsov*gjY<1X*1hWOXG8H_PhE zA*+k9tS%X{y6i@%ONP%3UXQQ67TU5(Tf!EBWxhkPEjJmCA zJIXHFsv26E$eh6Us)n`}s-bRH4edCg?p6(HoKUx`hW4CLx2uK@oKW|x23JQ;sXJCf zCr+qaRzqh_sC!m}gA?ke)zFO->aNw$ofGP|)zCA9zL!_`t%hDfLqVt;SA&zg&3CSX zA%hdNb4C6c9`ag_PN;iVL%)DWK&YEnLx0;C5bEyLFu?o>%&FT~!$8|)5bFNbFv155 zg|>k;jBJn(iMoR|JQ}tXgt~<_jN<;NdsxG0%RtoG*M)Cl4OvziTXh#}$mZUu+gQU` zb0I9eBUrS3>^|s4YWrBfrb>L3x{o!?fR-Qjv4g7O`p^Py42aqTmd{fF!L)#fGB3Z| zAlM{GnYR}WoWSVGjrmw;NX={@Nqjls&GujdF`II%Dx?G7yL$1xs~6w9dhxxhm%4Yg z(B9P;E|GCry@eRsV9G@YR_sx1Uq`a(O7pMd`q9E?!KuMoh$QN}VC;zY%uxMTH%QEg_b+sVsyUb8^WRo>Cy9i*36P%ol5993fKa<)yykgl4-Sl1e{b ziogBRiphkZUW&g3)KSGNmwJDPMx&UY5i&gFdbb7{!!S_FnQ!7;pMd(ux&pGwal93Q zf8EcUBd&<%{%Jz(iKR}PcaEwv5Gy)e-Y=oLzyiAfilxK7f5X;aWHt&A9@o8hKx$$E z+zvgS8z`YnbVs^tA|3NsOd+}sYWCQ+Yg(Ik8*6Qf3xvDL6i2bNr)}O?u8z*BrInV` z-}xj)^RP`PQ#WN&m&d3o^o}Q8Y+E~Qwx~Ndqg026i}MB7%>>o<5VUi%xr%3s`a86E1I1gxOPRelP!b{Lr^b~)mQ0Q1Q!C!FC0u^`%OK()Itp&S-I4a zw!}E!ft5>670(t-baHlHo+rrCK!H3M%tXm-xWYjy-vH?(@1d;c5l!fT9aa8AQ_(b!YC|y5B{ZPNx!vk-u>@gr-Dth1sqSv5rH_~|>`sZoJVIXt z6Ft8^Z6)&Ak*Yrr+^^B9KAo)lW1{D`u{_P^dejNJ#5T- zD3(5IMGiIP9fAk(z4?NR14^|SVK8tZrD$>h{H~?o-U_J|#xo zr&zJo5zOkNjUf+PRbwu=x<<2tNM3 z0VE-o9)#%Yh0`EI@9hMSq;dM!3ml;%P)dx%L%g}H3QG^)M2pN zaXcXB8X{*7F<+sI1_;cd{1i)&pE?C1%+CQM2D#)Qh;S}3%VWO*5y>Uqa{ISIxa?fy zCtFAqXQ2raB;P_`%<-HEk@v!NbHgC|G9gqjOnn0*7ZE}62{YIYNI&nylL!fai1ZG` zT!~lRFgyw)mWI-G)U%Rae9OCZ7@1~juUG0|Zto(TYIXFc;lU3g05ZVjBhXGTP$f&3 z=wPs{#1CuSgZ4Gv^Dzz6BXeM!x8IBJcDSY9ZkA{waZ8Qx&~+S^oD%KD47Aa)21M-> zu?AXqfD=kPoj?Z~w+3AWZRA@QBj36h`PRkAw=PC?>tdj-i#1%LZ%7)Ny?iYuOuKM= z`$d^3gyY*ULJWcd-+l>R{?bk8SxHBt#&|m{v?FMjao>4p8jrn+Ic)q3ox;Cv^8Q;O zA|+bjRMqGyK#gsWl4j4}Npo5?G>!K$(vo0E!ecUvmwH3VN}A$%FcJa?wMhCm&Ei~) zT%yL*zrPk;pTkh2KynSL$RfJL(eKc#RGIpB?c&Lw@C!nXsegele)k#nMf||bBI!R1 z5W66an`z8)w90M9BGH@shw_HXX%^uU7rUU^B9w*+&1>8QI-v2IV)UgOiFMK-tQU;x z36}gy40nLUO-~{=0d=2dT7M6+&$+0GL^LlLVS=;>z;p|ac)!o(`$>L~zzKScVy6f! zfs!CmEkBY=^a$Yh7GY-r63GUA3&IG&Ng-M@bWzVg=|;n7DPX@4;3;6CZ_x~6RfQAy48r z*9VOWrXb3|mi$C@2Wiu&a=`DSF2Op&N(uiu$p{G2OVrAzn0MYiR5v~(84tBDooskH z=!d6VnfFEO&^^pA?{Kw-gd40{!*c#AW_7rFG#f)~4jR%OSc;*qMkRz&@THxAbxc=M zps{A;li*9+Ve6hO;&KORbzqz%pq|7I`9=W;CN_HyX+AF;e8MJQyXur?hV8(YvNZ-3oKjUdTF&Gyc>os5>g_BF^{g4t-21%bg^xJ!$icGSrhQA5JL@PZ|n6b*TQ)5ZVb?q5ll5M z&Qu#nQVVn@5u2uval(nF3Ro1Y7QJtvlUsdm=czj1)Tt)@bqSJ%KA%lhS^THXK=B1L zjEKjQ_TzU4euNtk5~Da3>*rGSSif}FQZWwsv@Rr&da=ael{;OzdOK3gpRW9UJ96mm z>8i;CT4UmOh+JVLj~7yexIRSG!g$NxpbVw^@Q4$6@Du!eAa$}@>-oB<9krqni!%LA zq&R1?vhGf#Yni4qP0J&(|1o@Hq9uq!EIf&C<20(LxbHq5ZZ*m&ZhI3uVvXu6=AXcZ zU86F^g=YjIN26#*8D+=aEuG)UBDEGn$hky(*tT16tAX_pG}>$hgQA^m1j*9)*1|Gb z>Gw-x*K`|_g6~HEz*0uL(GFdN{5qx%lA5^BU+G6K`ERS!(6GZO3L&jL)2(8Vwioacd;RpC$MPdPyt z`UHL?3{w|5*)@#3jw)k}1u2tj7Aq6}d{&A1E1U%=Gye#31wODIq_!6v$RuC)WD zDfgq5o`3r(S@*rj+2O_q&YINGG}mw2qK}gGKb`PO61s-zL*Ix;#haXVzneGykHI&qjaeQ9f@cz?Rj|9+Sfgf_2iQl6{U5UUMgNehtYhrs;_F`Q9t+nk`TmDX6_FyF&szOw=n{ijqcFAoMs-rOL`+J! z#%1s?oHZ#sFR}2TrtrnAXC%4OEQyuHFr3ac$3TZmEoc(f2E`^NA@|fI(I*V`uqE#y zswG1^sBEEuRalM7&LY_>9gD~l@2^k#;#kuqD#HkXw|u#RQHMwS+uB3MNISAdc) z6W6l<*?vtT%sXVWfPX&IJY2SnAjBwk48S40*d<7g?f33+l`M=J#a_Sr%Ib7`My*#uS;w%MFv|i0Her{GIG$-ZUba z{*&cLWHv&Mq*`UI&8$0%DYIBv4=?%&jljX?vSC)%T>M8WTWMw6#YWxB61>=pqr$e! zGPNL07%np@Oq|YSA8AUGc|@xIf3i7HW^r<87dh}v*<32i^Nz?~=3v>q=IJ{_rS{;9=~f8TN)Mjbm8dI7WH5pznDF4${hA@nNAs;lywf_=lpv zn=D)B%{r+q&T6iI@gqf|o$uhfmpLE3pO?ggN}W!TY@KBJuIzK8>>Xd`XwpRT>m>Ui z_S&GxKH`TgWJl@_Ii{8DH(m}MA^XgIPYy~hYhhyzdK_aRvbVXV+(=ru9UbTrCWng& zL2@u+rN}-EB_lT6>h{1%5|~9`Ie}sT z!xjR20i=V(dxyYz0$&l}k4|zj!eNlTzS|7hCR2psSrq?L7#U=L~Q zOpxq{_Vpc)*?yK-@x~n2l)XO0Ij7`fHl2q^inJJGCie#tYc*XZ##+fs3i38x!;!T? z3igo#HCztwgoh0L&ht-5q~9f9Q)eF_l?Gk+xWOg|%PG*oKh1(i3grrbR@c z;$A9E^fJB_7hr0D(jYgy7Y;HZ(DXWyQllU_G-Mz+5xUjL|M0-{E?FpH!KUW^RA)U4 zF*OeWX8eXl!IHEtk_>l;B!4wc0(Gr%)QO~Pc+XB~-~hRfpQS%fuv9= zcGE>dOihD`v>Hr{fk-1_O>b~UR-9ysH{B*)xWz<2*fvO!4Napt5~W8VE&)FvdW2*N ziE>br0faSaBnSCo7!9U;QkH$5rNWfZ0H*$6u0Yd0UemBRH3CQ`iV6c|DTyc@N_?d zi|_<03x`_~^u_?lF5&vKL`+*juy_MOztsd6tS5M_HNj!XI$0`P83EaDc_QYz+gE^E7zHdyNUEDN%HzW)D zcn{8YA$;p3f+yM#Z2SVjpPnGNWER2myqSuzga<7o_}xBmMwP?eujsrD24F5y$CKEPVg_@@Zp|>k7`G-;1Pnc+;zD(;oc5{ftdu; zHW9o!onZe6g6ldFd>M9d7_gZKvrjRxe&(UOFq`lNJfz?99^d8;Eq;jj-;N|m-}1}C z6`nEg@+e;AnH0$fE0sI(6d%OxyaSOXr2oRx1TXOpbfw6-gfDqOhVyWB;<@@~7AZ-5 zl3dRwe9dzNdju2wB#K~dLxQV=2yPfhFrVlAKA!VW4kgZjCkg(+z~eC)UJFa|Ft&K@4j=6Qr4;x4|y zC+9QC#JR|IChjJDP!YkYJgEbCm*%;6!~1wY_H88bMkm1^N(tukRJv78_*cBbmz@c> z@{wM>itwkni}76vKlBvAL0o_B3c~&PprkY>JgOJLIXegr=kfb%GatDI+laM;hh-H{ z!1dh6&~)PezzrQ(K==io;az!Pzvh8W;iaDt!njCr~x z;aeXkSi<}IDNn%n`Sk0`BiDwfb_-ZT{!fe|)t7mq6{ZsY6X&$ybNV-)2lx5JQ`VBy zk8@t)xf1J7oFhDAa`-fEt`O%apFy)45ngR0n9UtM$zwKX2ysfb0J?;qcqm?JN38dG zay_w{@QEV{Hs(gx*atkLahc~0}etSPl{L`%ou5C=PH}ApXIKmq}Pf+2jTgx)S9o*^W zJXf~n5~m%nRnwdBoje{}xYGm25$8?^f}go~`mE#$xQ8cW$SxB6!t*?>E8)2>5^TwX z-@QHIPqrnvWeLHWZUk@e`Td^SOFk7}Gg?N$@U@>-KFRMC`A-u5PcFgV2NNvg5n5hA_!!>&dY%(4n-b?`Zs%qj!gumi&7dy1gc?4s zOL^*9LrH9Yj^I;#+Ds23d?0r&h4;*X;DaT|fiE=&Ol(BAphiDW1Wdj`hEu9L0d~35 zRnrSQKM!;S?b+0N!ccrY?%LBIu)xKxAj-yN?0G7dvtJjWC}jJwG#FQ~@rbl>CHnxT zjH}qA$T#C^cD*5rHEbbr%~-^`bVsq4{f1x}i`gPHZCuCbcWmS;LJJ>5|UVf2nf=}{6_A^c6H`zNSD1K+xx1zYud}&cB6wjibyjJXq3Bki) z7)`0*@;*ax_C11VaQ3TGr*dG2q#r3=FGy{ZP<$@Evka|POY>+rZb+ZfQ2!(aQ**bZ zKIFq~X<4*pBIpRlT8z)i$`p(Zn^W4g_+$cLYVCHw_Fs_2ZhH|Fx%(g&&D#M}hX7_O z(*Xy5o(DK6YYgD{7s$6I3n(3zw#2y0h3pqv>{hTE(p}BIZHZz7>q8^Fk=>+JdW?NQ zsrfi_7NFS9lG9P_U=k(8$83=c#V2g-Gbp}h&4Y;ihV7&TE)f4g59HNivxiU=iSeZ< z)`^zcC`!b2>rreJS5Zeci@h^YyeRhDgyJ=E{A3hI#A(EQSG-O!IxCK*S$9zkpMv6Z zu_MjsFT|&wMR861hU(oC1DDYJ|4S6df?O$WDnd~z4e5)bOu9mS+Ahtf{yr~-&}z0% zx;7QVa8O!{jKC1RjQo;MNZBO&Sn5Pe<|on%wETP}MbPZMCUx6_;yY<#PZR})yKPZy zF#Nh3#YV$AxaN|dHOxTs#+M9FWP`ic5H&*^#y<_81%mUJ;Rwb0z99;eLH^q?g$C{) z!?g`4Y7NIapjaknQlrad+e{QCa@Keh>*c{nHMv}VdK-$DA zeLC<-gD9`3O$CQLWA8zojJ=B_<@6!emD)edmaaf?gspu7#hYwv0*bfTZR+(=)*}YR zF}5NfMJ4M}fZ{moK*b5xiKgP)Oj=0ozr)gqe3xCs*vcoFe;X91*bBrw%~p}^_t?Z$ zC@!!Sv`YNMe#1x@H%RYNqHLDlqK<8qj)LNGh->vUkVZbeGIv4tWOj_>sE+C$Dn= z&iIlX%ll#_;H&^d#3j#`$Ag$-!YFVfqc_`tWKE-~lzp-gFvqeUaFR0@aQZ4r`Wbzj z0p`Ul1zh|_2H=vA7q$997HT5=4rV-0hqY`*F|cBGf+Fw)3-(8`mAyd&{3LUYhFf?G zwG$2I5jG@CxAF$HZ0{cl*toSHVDc1ly6sDI0lQ5Y2iWgknx-9hmfDOzLD~%ukaoh= zu7HV_JiyjX1_QQfPNUcMRa)5F#U=u#Jwbo+L2m!>3=mzPN7HhzhnfS98dC%~X&HGs zvzk0x(wt0}v2O5I-pLwL@e+G3H) zd^?+D7RsH(nN+h;B`p<=n=Ars@)m`r>A^05&0L9yq1-%S9bgNEno8P3$=32H9N{J# z(R=A~`gJ6W+-qnMV1`6#_fQp0>pnS{F~0K;<^5jNz8=LYRg>-5KCHM5S^?)-jZv)I* zLi1;41|?5^;y}PT8)5+GCeYG1Z{%#iMIC8PSlsYQ8viA``+-=xod%+SO{8I2#@5qF zFJ}uVH453KDJWL41{B}btY;VsyqQDGL=k(E@}PuC=_od^4Ns!j$R48DKE~qvpeSQQ z$mSEQatDg7>~b`U9V~-#>=_qZx)$XwHo=MFS@z{aC|+c%XnEPo{-KKdm@lnwud+WW z9}lz1*(ly*37II4v17zM$qvjxaf*47Pam;il-?h+w$%H}YypMn8oM8d;yYGLVYtD* zrcVFBTrSF@pICVV6t`GR35uVYZw`t(>}!hiJ+^~nH7uHBf3VAKQ2fQNl9}b=-$WIP zS?#njoAGmBFy_T#4KOa9LeXxsW~-?J`!pU@37bsI$a?1M+75CfYfiRH*-mo5 zj9Dn$TNtBoKfzA6K(UooQ`C2|1p`pL$R5M;W!%T!C))>EUIdtjSaL3?qwLEuppLPb z$a^F1t~8zAW#=1%I>U-+w9c~m3qf6ELBTGNAF+N|ER9##FAYI`&Zazq;x{%KYZuSM zn3&-}>_?YENxiwIM%%$@T|=>J^Lj79wD&1jJDesstpjx3 zXk05cqEs&y2e>FuCE_NuC9fCTjMAEnx-b!phA)zd1Su3SF=85E%4_AC#y0WW|5e+S zfY)%n{X1u7+&goJdn1X+Mi8+_qE$<^V%O4ARi&*45u%MPl>S>fu`h{T3{v|NMC|)k z#JjT+R3Nd!GMyAJ6&Coc(>z?|tXq$?F`ba3PDvq!+WCHUul! zh(-h}Su~WjiY>)+el-)|HP*255MwQS-ilxyWAwlf*Q@Lr3}pj54#sU{4axY#P3()x z1e@7)@OKLv4yyjd-hn&W%6@?DY-2^n5o~8$X+7ynZ%-KTUe>h;!9F$yQ`^t_^dvaI z?Bxj#vMVI2c!-5S)Wd8Bh;xLgTZRyxW;Idg9CJYI^DGDwUto)91;vZ(An1RIJ%%H_ z%;wZ4xWdZ#5?p16FvDx?)NF#^S+jNo*V*&_1UJ}N;+B}hZcZY&$r`}=Zm~?P&}~*^ zEWsU?rFJ3wgH;D>@3IH82=1{anA?4J0@{DTYR@Nl$ad5vc*F`|z{hO+djx;8-H`V= zYh9Y)1>01SAeq0NL@J5jOTk|DJJl(qX;JQ$3_yQ@#l$EOye80XhDX;$I$w)seH30^hD>c z)u0;F`8vdKaRwiZfoAgUz<^o&-DrZ@d^xP=9KHzERK>Y`4mh)j$Ny=kpBOK6>IkJl zk4?f2eBHL63I_nSwV)9p>kJj5CHFFVp*w!JNS*oJP4L)3Uq`}Kvadc=y zaMdBSAh_ljSA*bp$1o7^x?>ZZ{tZVx@<3va!+#LLO-JFz1h*Uq;Vf=D27{b;9DC8r zAC6owJ=c-_KEYkp@pl;EJ;#Ew1os`i(aj@A*AEB=N%)V0;$UgwX9Po}(Rla_mA=MG z43|EMBp54oSx7KbS`|SsOL_pt&ym7WbDmTXj%dD=)14qgy3>|mfiw;)vQWZ*!4wxs z>MTrSz4RfLYlBn@%-bY6-zC^Ao&S{Jm{bJ1_(ci;$&O2N!LDDWHz46jDHH5EC3Trb z@SAjX6v1gJ>MMe?(ikxIoKzB8J1>O{CAccR!0^|kePH@cse_8!TT+$(5ZsfRLG1g| zN$~iAH0TY2hf=rx1dpWZ)d?O;M*|3+NC(j1sq{RA;7{p%J%Ycab;$(JqzAJJ{+5Qs z5O#!NLxcYhm8Q zQqNO-dj;)2~f111k{Fo%iG$YXD1+dh~aycyC6nO(oW~z)+WW;oNDIC*}@=qlQ zrpbFhBA6pzM&?|3dTWAt@)Q`ye7O@=J45~rbY37=KrajBW6cQ`$!;hpQ=UW2Q^mz{ zA}l9M{;dPS61i6$f~9f`%zK#}gw*QoS?$*l_G13P4Dpayj-V5bzk|(`MuvtC^u5FR4K$YrGay!_=R=EWpy4&On5N*4B z=X-)|xghx&afjR)wA?9Af;sGxw}RxmLzMnww z#Q78!_td%nGlD;zO^Xx!o!FipY#91^E1rSXKFq164BV5Sld%Fa^G zz^BYsroBTjN7*}$V6HMBV$V~)iy@e=#0@0KP%6$RSfF(52m4#7yotxyB89=yGnM+i z2o@_b!D^){l($9+ z!VK3c-(oWBlz}w})+-605^PXv`q;GfG0dqtQE9W%60&VkV%ib>q|^=}*sAmdKej2& z$`Wi>+G3{J%8WS#JCs&<81GbCOeEN)3`FzYiqM>3kD^v0*sFZkmtdc=6@=WcJoF(r zpyYf>a99b3^v9Ia`f{IA&ex?|%{2(b{L!^zJi#{y71gl)NiV>`Fox{qkb?xX!u+H@egk0~Ef(bUbmO=XM zuB(j+vRyN=z&l(iZ3uR{7Jg5#%hjp`!5-J~Rs?%p<2w=Tb6rh=6Ws4gM(%0Xk8l;| zTyOLtIPZEF_He<)W4SN75(5b?xd!(nxa=C`OYp)K4$GVB-VKvWcaOjfXSvs<6U=s> zz^c!2AH$sHx{txe=DGVr&GX%5z|su&JyMV=E^yaNquYh&uOu zg~Tj(8;rZeeFV0$)XlJz%iW>4TjADdhWeNF$VMbqfhhe4aWsAq>$#!&E4*UqkgB-n z{ebZ%O-xbQm(X@9TZlCu#d?4k&+1o8t&HRu6ZRSt2@{!p@-PRJMeuS|Ee9B~=tS%dXPW(OU}jpWoz(;a4zp z%nCqFB~$*Q|e@HZozJONHc zcsU?%fD<3g^cW`EBP7^r81mX6RuEHBPY_d}R}fQ3kQE4I^-?m}69^RI2?PrL$3UQ~ z5yXG~I%hY7yj(_fkr{l&=MBCpW(HrCEpA0kg}scLD&dKmD(Q)u5jw!)@7`ZL3(%wMDwvs5f^$Wlb!kfkza$WnoqAxn<3R>+bioDs6bn;}c8 z8M9Q5!kc8t3V(AL;cr$P)Bp9C{dA)Czx-hj|My@2Wlw$n(+_*t2=*6yX(NJNH6s5+ zQIxM4M#4-ZDPS3iotGR|_?cxR|FtMURqzrsGY8vj1f&(~uke%?0XZ`p_^Sgwd= zBWmdYkC7D3&q!b+fmR@79vcbDYa_vyjf7Y>68h3cig|2=EXa&33{yQuQX;RBlzhcV z$VN(;HWF^xh<9k=OB)H!Ya^xe+DL?HBh0W7)rOcvPuypjSBcNC{n|^icpNGd<+Lo_ zq4FkIoEBFUUMgsErI5uHm*r30yq}NdPYd(D`ZbO3?NEI!hiX;cCQv-S9y03Tia#$G z@ph;I7FVoxA=V(CF<$qlYW@z@>gNCEP{EaACRYmO;Y#tmTnW>;q6&Oja-K#QD)~+; z47HSpEa4uql=g5XA}?3UvisN1-t{3ofgd$ zi)ICRzd{zxT)eM&?aeZ`!7_ELU{&5G_;}N-FfaS&rJ4C`WO>)p&$Rn86iRFaCR?3` zyfy=igGOL7t^ezh$^SYqIp0TYa9&1)n2ZRu7~zprwIY*wie5J2j*DBy9L7r}Ok<{< zbLbm4#T}QlT&X2s$x@apEgkOhq!f#sf84R(tCUlxvV0!m#a?nwkgSKeIS(`LnC0bM zS>l{%x6hBXQG~Kpa}DlFFgrpRt><~bjwSSn)c?d|{1K+O{vA2Y>)UaDe?(*0h27ov}$>Jj|rAQm-4J&)32-jCAa*7{rBlnnE% ze+kd}m;A@|r>~pvj-^cR=m$=b|NrN&o8i`@l)Rqd9V1?P$1)!8Sk~hm%Xz$G`Mln- zf@urxH);6Qd_~h1D(SXB-+zmG^!J*341blXQ(0tQ?^yZu2zj}X#Z+B75-#u8P4nAk z6fxCV(Ejn8`2HQr8|36mMBBU294UgoipVx)<0^tIe8+KIm3c#CQTK3FzJSP&KTEO{ zc+o@-2})IDo2^tBEXRC$6HZi)_&EsKi&ry`qS|qp3utSK)R) z%JNJ@EHh~t-Bze+FOTfzZ;O7PuBIjeU$K_GAsXA~BBlQXAo_)#peg}&(Qnu>x~TY$ z=zIAZUHF^qu&>f^{h6v?TF76RIz7`UkSz9T@Ru{aE$2J2VDf2 zU69YQs8+0wJpyg`;&nwo=^S0z-_q|3*0XP<3w|G0-(H%2xeE40)#>&UXKL1d61R_N zo6je7A@IZO4MqRae^6eq+DP;t{0n6Y{7$Jcr7oxS(2}i(mguwg4*841kM~jPJB9=i z{T?C5zeg^mMdse1_WEya-&f=7{#AILTAO|={Qtz){j2agdj9@b`m_Gy9HBHnLvuqpj#NisgGOkE`p>Z$U&c_K*F!S`?rfzlf^}~lVtH$^=ndqS z%%%ku%RPKRX=DKA5VeoS7OQ-K(l?u2p!BU5L@lv;@^VUR#*vALYOOcc61@8^<`(0J z^{m_UDy0n`?zIunKfesJ2eDWOq{Y+8X2h@>Ic6EVxQXtiE!WNaviqn+tax#$d0(eK z^&;kSDJQMYIuOlYk%07%G5p&iJLDRs6zU5Riv6|DY~p_gVuW;lndxW9)o*gO0$f{WR3IvO~ zM5#WNz{5~T(CjOe2Cq0nX~?jPl$K*ebFqA5OtC^R2`E-1S=R zl|LQGc4V2uRpU85J6$_uA#4!FqkL+6^b~ zp!EF`7~sRcPbqDYh55HSe1Xz-BQWcZA6%leb3-U0;ldh9yOcadX<}V+TVjvexb9Vj z=4O2V@T+^9G6Ke(pfu<|SnjaJScOtEFyV-@+bAuUhDH?!VDQRWpjnkrIHamOF-VQ* z)s)tniot7Fy-sP}6Og&VvlWy!o`0FrCU-D+)5_3cv!Ynv76~dzD}FKzgSGw^U3?Mv zkkZblu>xOh#b8~zBb0V)@Ql(PyMLiHsR~+se>}HrGeH`+?h(OcZVjlE&ZS|f>0DnTrZ|hM zzm8xow;6(DaBTpKxUt}J7WW5~y^OP?)0Nx_bhd^Y1Y20kg=5+qxLsI-ja+kRU=#NP zeA8x5IsyG}E1pcRLq3kKdWX3P9?q>@O%H zofRaTWjMX2C zbP4)QxCCjw>WPjLb72VGav*DusJ|#pDu|lBAELKDJ>WII-H2&@7l=vp3xWsvArLH2 z=G0cV2?ugdwh|2HBGBVd&bfhL7{?6GA%h2g`ZYD;W$(;o|W^+G7y188XQiAzhgbG?M;7$_*$Z2$kxLI5ye&Nmoe&rHi4Zm@PFwryIrzZ){ zaqA%A1#UeaXP3Ckn9LO}4OOmj-O=tkHxYK1!=1)}x47ca?;S1@a^`X(w04gx_!#_u z!0}MjBd!AqpK$3|+rPLISeU=L1~8QuTuX3r0BiV!U=WLeUl_u6L0!Yy3@rCZwi+r; zWtXu`quJLW>sZ$4I>C504+KtQQ{nzK_6;;Mg+)AL%>)lwE>!ZEU4y(&*-|X*U##f^g1=c?X!Zrm#Y6}2 z9G+H#_%nA2hVV~7(qViXsA~lO5vru{XTa)FygC`iHHM$IjbI%A*-r!$_y!Oyjn9B+ z8ovR3PvJ8_?5)z955-hhi7<{?K72KNXP0 zFW*D3ls^WQEa&T}8wgkOk5P3sKNz}L%ZFoS*7JK|RU7$l(CHR_EIQrFe~zhb=NWXl zgHOCiu$ylTbK1+dN6r0wDykghZSYiwc^T9@#y5q!>3<4fnSSN}2At$a9*6z?#y7-B zXZV&N;yFGO3v_|+4wYQuhnyq0!dC!=uJQAB6I|!NhuArM3Jl;D-wF$JhhGC#-s8{V z?g3v2OZb>?3RXYmi!LMhi{FAd{muUjk|hgS4`6?Tgkjg{c8E{{D>_W*g2EBPI~YDy zI0KJ5MktC-#|h=3pos$agg_Gpz~ZJ0Yv6Wf37=qUvxQSI*m**K5Gg~L2b*3bIFXqt z41^Mv2>sAtsZfPzrHU(r2b(ScB8TY{+|7xBx<(7h+N8qA&z4t_TM)(Q86CDDk=w0~5^=zCeRp!bymBM_}kB zSJ(_5-xD$}5j+r*U_Xz9Ldbj~Z2OhqPazS$IY~zM=S#-%@@z0>H@Jn4M<-h7uspRdK)V7ezNse$;tbg*PgdZs<}^tV!c+fDsQ80UA$hp7or{5^1fCw zU){L#z76%U-iCVqdSi7O^4bhk>zz~nf4(W}Z@mF3^70K3ZQWpQ(?EMSn14*6tsBg3 z8iMk^0s3FwhL#*oZvl#WM77?A(t7~j{40k*M{5R7>c}Ps4JQM^hcf`b_31jmmXN8f z=*S{jRHk;RBl}PtW0s#LWHz_W`ye`UgnGXB!F3PK{DQTO4y=CcG$8tkjWO~Yn-lOe z^Sw^yD`g8e3#{|Viy7@`|9hjO7j?8_@hn1ZZr+!vYg8aJ(LZg>eD5=p63zU?#zwtr zbdQfUo^|fI_juNM>Sc}Uw!YL(u-(;uk7t49tV7bh8(D|1TaAWj7vougnnrCoTkvb= zG0)NSgKXA0H-b6VVl&@5>c+}nP5Dr&wZT-3S$~_E|7{Z^gDhG9;H(>}uiCuNK*9c@ z=*asRl`CexeiRFJ@j2b&bI;5l|Dkbjo%muY(K;;NTOYf|+m0 zH;eMIe$rRQgvjOUpQUELv4N&)vlTH5cAEv>`+fdw=ATM5Dq8!JUNrM_dl>nb%zkc} z`QDqMJ~Q+4?7~Xp)ArBCOue^)^)vImH97Fe<&Cj+hP5YDX)eq_3M#q7Njr26pFWT$%0&UB(^5*x| z^NZSgWaiCpRlsHoBaYz*?W><;s$ZCvE}^-RTi+}kZR8iW4XI`1lrsw^PvC?AZjqku zLHgbevx`^GoY3oH`!sazy?5|uG!^70S2wzhFnfNi_xW5;Wvyo-3*aj25ZH_?0xi6c zaOh|hV|O+bdmqyHit+iCkhxyxb7a3h!R(rsxb;E#M160Tdl8W8`u&C{|I^C)D08`P{j(FY4D)1Sv7jw&W5RXu; zlJtP~frG4wjq zgAX_Bw=?To%E&b9dmmuC-pu!HXY@ngE%nbXJ>RCC=+1n&{l>(9L*FdOGZ(X}?V4U3 zO}km@atSd;!RKaq5z0q1hnIzv(w6rmb-Zmhv-ZraWh%3YUd(-DKqsT}V6$@GlR#{? z33_q#aw>MeqAhENo6Tm{&X5z$g1tuPR}6S+Kq0MX63wfKWQgN^5=yvU%+)k%H8pE_ zAH?#xUL5^{S?qltP>PxFebUWT?I^~cWfo%(8+_=uqyEV<2Hir%x|o~Hd=s+uVr^_M zR+LVUGl-MyMFd}MTQ3$6U4e>0!mV*e+qoux-Zt~SPl{=xH{)V;(87ANqTC=OYl;DH z8&g|M?O{0myQ8_hxVk4ONjZf-X|?SZt(G^Z^c%P zjE<}lMW1R>)orvnU2oc2uS-%s6||7=Sfk=y`{+CP_06vm?VT4O#&?bD@gHsDcWiuU zx9;(A3ElIn-Sm65GNfDJlSH$JI-ulzc<^=;p~cT#NkZuxZ=8yoj+d)gJSTl>T=-^Ir?`n>6Tb?e1e ziL4S?)z&vDzEe_suYA?nDK4>luXsbN@!dLi=@xJ685#+ILBeX=G~PO)dI+=BMTUz&e(sDoMR#XeV(*G?J0KILhb#k+%9ZO)-Z4`G#ka>zBXslL%TbYRg+JfW69B4l@#`teD#dc z>t2_Zg!?78jQg8@+6uatrf`OXb!m4~Xle_doBmddPNm)!;D8