From 04a3a748ce0c7429826692496661b80bdb3a276f Mon Sep 17 00:00:00 2001 From: immibis Date: Tue, 18 Feb 2025 02:04:17 +0100 Subject: [PATCH] Player character walks around a navmesh on touch. --- .gitignore | 1 + Makefile | 21 +++- compile_navmesh.py | 110 +++++++++++++++++ compiled_structures.h | 27 ++++ engine.h | 38 +++++- game.cpp | 10 ++ navmesh/lobby.tmx | 68 ++++++++++ pinetab2_framework.cpp | 240 +++++++++++++++++++++++++++++++++--- sprites/lobby.xcf | Bin 82969 -> 344619 bytes sprites/managers_office.xcf | Bin 79605 -> 333548 bytes sprites/stickman.xcf | Bin 0 -> 5680 bytes 11 files changed, 493 insertions(+), 22 deletions(-) create mode 100644 .gitignore create mode 100644 compile_navmesh.py create mode 100644 compiled_structures.h create mode 100644 navmesh/lobby.tmx create mode 100644 sprites/stickman.xcf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/build diff --git a/Makefile b/Makefile index 36e1a28..5e6ce20 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,9 @@ PROJECT_ROOT = $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) OBJS = pinetab2_framework.o game.o SPRITES = $(patsubst $(PROJECT_ROOT)sprites/%.xcf,%,$(wildcard $(PROJECT_ROOT)sprites/*.xcf)) +NAVMESHES = $(patsubst $(PROJECT_ROOT)navmesh/%.tmx,%,$(wildcard $(PROJECT_ROOT)navmesh/*.tmx)) +BUILD_MODE := debug ifeq ($(BUILD_MODE),debug) CFLAGS += -g else ifeq ($(BUILD_MODE),run) @@ -16,12 +18,13 @@ else $(error Build mode $(BUILD_MODE) not supported by this Makefile) endif -CXX := aarch64-linux-gnu-$(CXX) -CC := aarch64-linux-gnu-$(CC) +CXX := aarch64-linux-gnu-g++ +CC := aarch64-linux-gnu-gcc OBJCOPY := aarch64-linux-gnu-objcopy -O elf64-littleaarch64 CFLAGS += -I/usr/include OBJS += $(patsubst %,sprite_%.o,$(SPRITES)) +OBJS += $(patsubst %,navmesh_%.o,$(NAVMESHES)) all: pinetab2_framework $(patsubst %,%.png,$(SPRITES)) @@ -29,18 +32,21 @@ pinetab2_framework: $(OBJS) $(CXX) $(LDFLAGS) -o $@ $^ $(EXTRA_CMDS) -%.o: $(PROJECT_ROOT)%.cpp +%.o: $(PROJECT_ROOT)%.cpp $(CXX) -c $(CFLAGS) $(CXXFLAGS) $(CPPFLAGS) -o $@ $< -%.o: $(PROJECT_ROOT)%.c +%.o: $(PROJECT_ROOT)%.c $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< +%.o: %.c + $(CXX) -c $(CFLAGS) $(CXXFLAGS) $(CPPFLAGS) -o $@ $< -iquote "$(PROJECT_ROOT)" + clean: rm -fr pinetab2_framework $(OBJS) $(EXTRA_CLEAN) sprite_%.o: $(PROJECT_ROOT)sprites/%.xcf gimp -in -b '(let ((image (car (gimp-xcf-load 0 "$<" "$(notdir $<)")))) ;\ - (gimp-image-scale image 1280 800) ;\ + ;(gimp-image-scale image 1280 800) ;\ (gimp-image-rotate image ROTATE-90) ;\ (let ((layer (car (gimp-image-merge-visible-layers image CLIP-TO-IMAGE)))) ;\ (plug-in-colors-channel-mixer RUN-NONINTERACTIVE image layer 0 0 0 1 0 1 0 1 0 0) ; swap red and blue channels \ @@ -51,9 +57,12 @@ sprite_%.o: $(PROJECT_ROOT)sprites/%.xcf rm $(patsubst %.o,%.raw,$@) @# symbols are _binary_sprite_%_raw_start / _end / _size +navmesh_%.c: $(PROJECT_ROOT)navmesh/%.tmx $(PROJECT_ROOT)compile_navmesh.py + python3 "$(PROJECT_ROOT)compile_navmesh.py" "$<" "$@" "$(basename $@)" + %.png: $(PROJECT_ROOT)sprites/%.xcf gimp -in -b '(let ((image (car (gimp-xcf-load 0 "$<" "$(notdir $<)")))) ;\ - (gimp-image-scale image 1280 800) ;\ + ;(gimp-image-scale image 1280 800) ;\ (let ((layer (car (gimp-image-merge-visible-layers image CLIP-TO-IMAGE)))) ;\ (file-png-save 1 image layer "$@" "$@" 0 9 0 0 0 0 0) ;\ ) ;\ diff --git a/compile_navmesh.py b/compile_navmesh.py new file mode 100644 index 0000000..2091722 --- /dev/null +++ b/compile_navmesh.py @@ -0,0 +1,110 @@ +#!/usr/bin/python3 +import lxml.etree, math, sys + +_, inpath, outpath, basename = sys.argv + +tree = lxml.etree.parse(inpath) + +tris = [] +edge2tri = {} + +for polygon in tree.findall("objectgroup[@name='navmesh']/object/polygon"): + basex = int(polygon.getparent().attrib["x"]) + basey = int(polygon.getparent().attrib["y"]) + points=[] + for point in polygon.attrib["points"].split(" "): + x,y=point.split(",") + x,y=int(x)+basex,int(y)+basey + points.append((x,y)) + #print(points) + + ax,ay=points[0] + bx,by=points[1] + cx,cy=points[2] + abx,aby=bx-ax,by-ay + acx,acy=cx-ax,cy-ay + cross = abx*acy-acx*aby + # positive for clockwise winding order. Example clockwise winding order: (0,0), (1,0), (0,1) + if cross < 0: + points = points[0],points[2],points[1] + bx,by,cx,cy=cx,cy,bx,by + cross = -cross + + assert len(points)==3, "triangles only" + tri_id = len(tris) + tris.append(points) + + for edge in [(points[0],points[1]), (points[1],points[2]), (points[2],points[0])]: + edge_id = tuple(sorted(edge)) + if edge_id not in edge2tri: edge2tri[edge_id] = [] + edge2tri[edge_id].append(tri_id) + assert len(edge2tri[edge_id]) <= 2, "more than 2 triangles share edge "+str(edge_id) + +pathfind_edges = [[] for _ in range(len(tris))] +for edgetris in edge2tri.values(): + assert len(edgetris) in (1,2) + if len(edgetris) == 1: continue + t1,t2 = edgetris + pathfind_edges[t1].append(t2) + pathfind_edges[t2].append(t1) + +pathfind_matrix = [[255 for _1 in range(len(tris))] for _2 in range(len(tris))] +# pathfind_matrix[source][dest] is how to get to dest from source + +for dest in range(len(tris)): + # Find paths to tri by breadth-first search. We don't take the size of the triangle into account yet. + openset = [dest] + while len(openset)>0: + cur, openset = openset[0], openset[1:] + for adjacent in pathfind_edges[cur]: + if adjacent != dest and pathfind_matrix[adjacent][dest] == 255: + pathfind_matrix[adjacent][dest] = cur + openset.append(adjacent) + + + +out = open(outpath,"w") + +out.write("#include \"compiled_structures.h\"\n") +out.write(f"static const struct navmesh_tri {basename}_triangles[{len(tris)}] = {{\n"); +for tri_id,points in enumerate(tris): + out.write("\t{\n\t\t{\n"); + for a,b,c in [(points[0],points[1],points[2]), (points[1],points[2],points[0]), (points[2],points[0],points[1])]: + (ax,ay),(bx,by),(cx,cy) = a,b,c + # edge a-b and c is the other point + # Line equation Px+Qy+R=0 from https://math.stackexchange.com/questions/422602/convert-two-points-to-line-eq-ax-by-c-0 + P,Q,R=ay-by,bx-ax,ax*by-bx*ay + # Line equation >0 for points inside the triangle. + # Normalize so that P^2+Q^2=1 so that the equation result tells us the distance. This can be used to find the closest triangle to a point. + norm=1/math.sqrt(P*P+Q*Q) + P *= norm + Q *= norm + R *= norm + + edge_id = tuple(sorted((a,b))) + tris_on_edge = edge2tri[edge_id] + assert len(tris_on_edge) in (1,2) + assert tri_id in tris_on_edge + if len(tris_on_edge) == 2: + other_tri_id = [x for x in tris_on_edge if x!=tri_id][0] + else: + other_tri_id = -1 + + centx, centy = (ax+bx)/2, (ay+by)/2 + + out.write(f"\t\t\t{{{P},{Q},{R},{other_tri_id},{{{int(centx)},{int(centy)}}}}},\n") + + + + out.write("\t\t},\n") + out.write("\t\t{" + ",".join(f"{{{x},{y}}}" for x,y in points) + "},\n") + out.write("\t},\n"); +out.write("};\n") +out.write(f"static const unsigned char {basename}_pathfind[{len(tris)*len(tris)}] = {{\n") +for dest in range(len(tris)): + out.write("\t") + for source in range(len(tris)): + out.write(str(pathfind_matrix[source][dest])+",") + out.write("\n") +out.write("};\n") +out.write(f"extern const struct navmesh {basename} = {{{len(tris)}, {basename}_triangles, {basename}_pathfind}};\n") diff --git a/compiled_structures.h b/compiled_structures.h new file mode 100644 index 0000000..d772d2c --- /dev/null +++ b/compiled_structures.h @@ -0,0 +1,27 @@ +#ifndef COMPILED_STRUCTURES_H_ +#define COMPILED_STRUCTURES_H_ + + +struct navmesh_point { + int x, y; +}; +struct navmesh_tri_edge { + float a,b,c; // line equation a*x + b*y + c > 0 if point is in triangle, and value gives distance from line. + int other_tri; // -1 if this edge is a border of navmesh, else triangle it connects to + struct navmesh_point center; // intermediate point for use in routing. could be improved later. +}; +struct navmesh_tri { + struct navmesh_tri_edge edges[3]; + struct navmesh_point points[3]; + // edges[0]: points[0]-points[1] + // edges[1]: points[1]-points[2] + // edges[2]: points[2]-points[0] +}; +struct navmesh { + int num_tris; + const struct navmesh_tri *tris; + const unsigned char *pathfindgrid; // [dest*num_tris + source] gives index of next tri. Placeholder value is used when dest==source. +}; + + +#endif /* COMPILED_STRUCTURES_H_ */ diff --git a/engine.h b/engine.h index aee7d51..20c9413 100644 --- a/engine.h +++ b/engine.h @@ -1,4 +1,4 @@ -#define MAX_GAME_OBJECTS 300 +#define MAX_GAME_OBJECTS 100 extern struct object { int id; // 0 if slot unused int x; @@ -8,15 +8,51 @@ extern struct object { const char *pixels; } objects[MAX_GAME_OBJECTS]; +#define MAX_GAME_SCRIPTS 100 +typedef void (*script_wake_fn)(struct script *scr, int wakeupMode, int arg1, int arg2, int arg3, int arg4); +#define SCRIPT_HEADER \ + int id /* 0 if slot unused */; \ + int wakeupMode; \ + script_wake_fn wakeupFn; \ + int wakeupArg1; /* for SCRIPT_WAKEUP_OTHER_SCRIPT */ +extern struct script { + SCRIPT_HEADER + + int vars[100]; + +} scripts[MAX_GAME_SCRIPTS]; + +struct script_player_walk { + SCRIPT_HEADER + int targetX; + int targetY; + int targetNavmeshTri; + int currentNavmeshTri; +}; + +#define SCRIPT_WAKEUP_VIDEO_FRAME 1 +#define SCRIPT_WAKEUP_OTHER_SCRIPT 2 +#define SCRIPT_WAKEUP_OTHER_SCRIPT_INTERRUPTED 3 // Delivered to script that registers for SCRIPT_WAKEUP_OTHER_SCRIPT if that script is interrupted instead of completing. + + // engine void transition_scene(int scene); // Immediately stops all event processing for current scene, which is unloaded before this function returns void scene_add_clickrect(int id, int x, int y, int width, int height); void scene_add_object(int id, int x, int y, int width, int height, const char *pixels); +void scene_set_navmesh(struct navmesh *navmesh); +struct object *find_object_by_id(int id); +struct script *scene_add_script(int id, bool interrupt_existing); +struct script *scene_get_script(int id); +bool deliver_script_wakeup(int wakeupMode, int wakeupArg1, int wakeupType, int arg1, int arg2, int arg3, int arg4); // deliver to scripts with given wakeupMode and wakeupArg1. Returns true if scene changed. // game-specific constants #define SCENE_LOBBY 1 #define SCENE_MANAGERS_OFFICE 2 +// The player ID and walk script are globally relevant +#define OBJID_PLAYER 4 +#define OBJID_PLAYER_WALK_SCRIPT 5 + // game.cpp void scene_setup(int scene); void onclick(int curscene, int objid); diff --git a/game.cpp b/game.cpp index bfd6d33..076b2c3 100644 --- a/game.cpp +++ b/game.cpp @@ -6,19 +6,28 @@ extern const char _binary_sprite_lobby_raw_start[]; extern const char _binary_sprite_managers_office_raw_start[]; +extern const char _binary_sprite_stickman_raw_start[]; + +extern struct navmesh navmesh_lobby; + #define OBJID_BACKGROUND 1 #define OBJID_DOOR_TO_MANAGERS_OFFICE_FROM_LOBBY 2 #define OBJID_DOOR_TO_LOBBY_FROM_MANAGERS_OFFICE 3 +// #define OBJID_PLAYER 4 +// #define SCRIPTID_PLAYER_WALK 5 void scene_setup(int scene) { switch(scene) { case SCENE_LOBBY: scene_add_object(OBJID_BACKGROUND, 0, 0, BGWIDTH, BGHEIGHT, _binary_sprite_lobby_raw_start); scene_add_object(OBJID_DOOR_TO_MANAGERS_OFFICE_FROM_LOBBY, 273, 313, 76, 128, nullptr); + scene_add_object(OBJID_PLAYER, 424, 575, 51, 111, _binary_sprite_stickman_raw_start); + scene_set_navmesh(&navmesh_lobby); break; case SCENE_MANAGERS_OFFICE: scene_add_object(OBJID_BACKGROUND, 0, 0, BGWIDTH, BGHEIGHT, _binary_sprite_managers_office_raw_start); scene_add_object(OBJID_DOOR_TO_LOBBY_FROM_MANAGERS_OFFICE, 273, 313, 76, 128, nullptr); + scene_add_object(OBJID_PLAYER, 424, 575, 51, 111, _binary_sprite_stickman_raw_start); break; } } @@ -41,3 +50,4 @@ void onclick(int curscene, int objid) { break; } } + diff --git a/navmesh/lobby.tmx b/navmesh/lobby.tmx new file mode 100644 index 0000000..a1682c4 --- /dev/null +++ b/navmesh/lobby.tmx @@ -0,0 +1,68 @@ + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pinetab2_framework.cpp b/pinetab2_framework.cpp index 472f081..ce369e8 100644 --- a/pinetab2_framework.cpp +++ b/pinetab2_framework.cpp @@ -17,14 +17,22 @@ #include #include #include "engine.h" +#include "compiled_structures.h" #define PLAYFIELD_WIDTH 1280 #define PLAYFIELD_HEIGHT 800 - static int touchscreen_fd; +static struct navmesh null_navmesh = {0}; +struct navmesh *cur_navmesh = &null_navmesh; +struct object objects[MAX_GAME_OBJECTS]; +struct script scripts[MAX_GAME_SCRIPTS]; +bool need_rerender = false; + + + #define MAX_MT_SLOTS 16 static struct mtslot { int x, y, touch, lasttouch; @@ -131,7 +139,8 @@ struct sprite { static uint32_t *curfb; // used during render cycle static void blit(int x, int y, const struct sprite *spr) { uint32_t *inbase = spr->pixels; - printf("blit %dx%d at %d,%d\n", spr->width, spr->height, x, y); + //printf("blit %dx%d at %d,%d\n", spr->width, spr->height, x, y); + y = PLAYFIELD_HEIGHT - spr->height - y; if(y >= PLAYFIELD_HEIGHT || x >= PLAYFIELD_WIDTH || y <= -spr->height || x <= -spr->width) return; if(spr->height > PLAYFIELD_HEIGHT) error(1, 0, "sprite bigger than playfield not supported"); // would need to clip top and bottom simultaneously - not implemented for now @@ -153,8 +162,9 @@ static void blit(int x, int y, const struct sprite *spr) { } } -struct object objects[MAX_GAME_OBJECTS]; -bool need_rerender = false; +void scene_set_navmesh(struct navmesh *navmesh) { + cur_navmesh = navmesh; +} static uint32_t scene_generation_count = 0; static int curscene; @@ -162,6 +172,8 @@ void transition_scene(int scene) { scene_generation_count++; curscene = scene; memset(objects, 0, sizeof objects); + memset(scripts, 0, sizeof scripts); // script state is local to scene, so no cancel notification + cur_navmesh = &null_navmesh; scene_setup(scene); } @@ -182,6 +194,106 @@ void scene_add_object(int id, int x, int y, int width, int height, const char *p error(1, 0, "too many game objects"); } +struct object *find_object_by_id(int id) { + for(int i = 0; i < MAX_GAME_OBJECTS; i++) { + if(objects[i].id == id) + return &objects[i]; + } + return nullptr; +} +struct script *scene_add_script(int id, bool interrupt_existing) { + if(interrupt_existing && id != OBJID_PLAYER_WALK_SCRIPT) error(1, 0, "scene_add_script: interrupt not implemented"); + for(int i = 0; i < MAX_GAME_SCRIPTS; i++) { + if(scripts[i].id == id && interrupt_existing) { + // interrupt existing script? + // player walk script is safe to trivially cancel, at least + scripts[i].id = 0; + } + if(scripts[i].id == 0) { + memset(&scripts[i], 0, sizeof(scripts[i])); + scripts[i].id = id; + return &scripts[i]; + } + } + error(1, 0, "too many game scripts"); + __builtin_unreachable(); +} + +static void closest_point_inside_tri(int *x, int *y, const struct navmesh_tri *tri) { + double fx = *x, fy = *y; + int edgeHitMask = 0; + + // Moving a point outside of one half-plane can move it into another half-plane, so check again. + // If this happens, we must be in a corner region. + // Repeated normal-vector moves don't necessarily bring us to the corner, but we can just hardcode the corner. + for(int j = 0; j < 2; j++) { + for(int i = 0; i < 3; i++) { + double edgeval = fx*tri->edges[i].a + fy*tri->edges[i].b + tri->edges[i].c; + if(edgeval <= 0) { + // edge.a,b is normalized so that moving 1 unit of a and 1 unit of b changes edgeval by 1. + fx -= tri->edges[i].a*edgeval; + fy -= tri->edges[i].b*edgeval; + edgeHitMask |= 1 << i; + } + } + } + + switch(edgeHitMask) { + case 3: // hit edge 0-1 and 1-2 + *x = tri->points[1].x; + *y = tri->points[1].y; + return; + case 5: // hit edge 0-1 and 2-0 + *x = tri->points[0].x; + *y = tri->points[0].y; + return; + case 6: // hit edge 1-2 and 2-0 + *x = tri->points[2].x; + *y = tri->points[2].y; + return; + } + + // may be slightly outside of triangle due to rounding errors, but good enough for us + *x = (int)(fx + 0.5); + *y = (int)(fy + 0.5); +} + +static double point_to_point_dist(int x, int y, const struct navmesh_point *pt) { + x -= pt->x; + y -= pt->y; + return sqrt(x*x + y*y); +} + +// Returns distance from triangle, 0 if inside. +static double is_point_in_tri(int x, int y, const struct navmesh_tri *tri) { + double edgedist[3]; // positive if outside + for(int edge = 0; edge < 3; edge++) + edgedist[edge] = -(x*tri->edges[edge].a + y*tri->edges[edge].b + tri->edges[edge].c); + if(edgedist[0] < 0 && edgedist[1] < 0 && edgedist[2] < 0) return 0; // inside + if(edgedist[0] >= 0 && edgedist[1] >= 0) return point_to_point_dist(x, y, &tri->points[0]); + if(edgedist[1] >= 0 && edgedist[2] >= 0) return point_to_point_dist(x, y, &tri->points[1]); + if(edgedist[2] >= 0 && edgedist[0] >= 0) return point_to_point_dist(x, y, &tri->points[2]); + if(edgedist[0] >= 0) return edgedist[0]; + if(edgedist[1] >= 0) return edgedist[1]; + if(edgedist[2] >= 0) return edgedist[2]; + return 0; // branch should be unreachable; maybe within epsilon of triangle border? +} +static int find_navmesh_tri(int x, int y, int tolerance) { + int best_tri = -1; + double best_dist = tolerance; + for(int i = 0; i < cur_navmesh->num_tris; i++) { + double dist = is_point_in_tri(x, y, &cur_navmesh->tris[i]); + if(dist == 0) + return i; + if(dist < best_dist) { + best_dist = dist; + best_tri = i; + } + } + return best_tri; +} + +static void update_player_walk_script_on_frame(struct script *scr, int wakeupMode, int, int, int, int); void handle_tap(int x, int y) { uint32_t gencount = scene_generation_count; for(int i = 0; i < MAX_GAME_OBJECTS; i++) { @@ -190,8 +302,108 @@ void handle_tap(int x, int y) { onclick(curscene, objects[i].id); } } + + struct script_player_walk *player_walk_script = (struct script_player_walk *)scene_add_script(OBJID_PLAYER_WALK_SCRIPT, true); + + struct object *player = find_object_by_id(OBJID_PLAYER); + if(player) { + int destTri = find_navmesh_tri(x, y, 50); + if(destTri != -1) { + int targetX = x, targetY = y; + closest_point_inside_tri(&targetX, &targetY, &cur_navmesh->tris[destTri]); + + player_walk_script->targetX = targetX; + player_walk_script->targetY = targetY; + player_walk_script->targetNavmeshTri = destTri; + player_walk_script->wakeupMode = SCRIPT_WAKEUP_VIDEO_FRAME; + player_walk_script->wakeupFn = update_player_walk_script_on_frame; + + int sourceTri = find_navmesh_tri(player->x+player->width*2, player->y+player->height, 1000000); + player_walk_script->currentNavmeshTri = sourceTri; + printf("set course from triangle %d to %d\n", sourceTri, destTri); + } else { + player_walk_script->id = 0; + } + } else { + player_walk_script->id = 0; + } } +static int move_towards(int cur, int target, int maxrate) { + if(target > cur+maxrate) return cur+maxrate; + if(target < cur-maxrate) return cur-maxrate; + return target; +} + +static void update_player_walk_script_on_frame(struct script *scr, int wakeupMode, int, int, int, int) { + struct script_player_walk *player_walk_script = (struct script_player_walk *)scr; + if(!player_walk_script) return; + struct object *player = find_object_by_id(OBJID_PLAYER); + if(!player) { + player_walk_script->id = 0; + return; + } + + if(player_walk_script->currentNavmeshTri == -1) { + // something weird happened. just teleport player and end movement. + player->x = player_walk_script->targetX - player->width/2; + player->y = player_walk_script->targetY - player->height; + player_walk_script->id = 0; + need_rerender = true; + } else { + int x = player->x+player->width/2; + int y = player->y+player->height; + int nmtri = player_walk_script->currentNavmeshTri; + int nextX; + int nextY; + int nextTri = -1; + if(nmtri == player_walk_script->targetNavmeshTri) { + nextX = player_walk_script->targetX; + nextY = player_walk_script->targetY; + } else { + nextTri = cur_navmesh->pathfindgrid[player_walk_script->targetNavmeshTri * cur_navmesh->num_tris + nmtri]; + nextX = -1; + for(int edge = 0; edge < 3; edge++) { + if(cur_navmesh->tris[nmtri].edges[edge].other_tri == nextTri) { + nextX = cur_navmesh->tris[nmtri].edges[edge].center.x; + nextY = cur_navmesh->tris[nmtri].edges[edge].center.y; + goto center_found; + } + } + // shouldn't happen + player_walk_script->id = 0; + return; + center_found:; + } + if(nextX == x && nextY == y) { + printf("in triangle %d, next triangle %d\n", nmtri, nextTri); + if(x == player_walk_script->targetX && y == player_walk_script->targetY) { + player_walk_script->id = 0; + } else { + player_walk_script->currentNavmeshTri = nextTri; // even if -1 + } + } else { + x = move_towards(x, nextX, 5); + y = move_towards(y, nextY, 2); + player->x = x - player->width/2; + player->y = y - player->height; + } + need_rerender = true; + } +} + +bool deliver_script_wakeup(int wakeupMode, int wakeupArg1, int wakeupType, int arg1, int arg2, int arg3, int arg4) { + uint32_t gen = scene_generation_count; + for(int i = 0; i < MAX_GAME_SCRIPTS; i++) { + if(scripts[i].id && scripts[i].wakeupMode == wakeupMode && scripts[i].wakeupArg1 == wakeupArg1) { + scripts[i].wakeupFn(&scripts[i], wakeupType, arg1, arg2, arg3, arg4); + if(scene_generation_count != gen) return true; // scene changed - abort early + } + } + return false; +} + + int main(int argc, char **argv) { if(getuid() != 0) { @@ -296,7 +508,7 @@ int main(int argc, char **argv) { uint64_t dummy; // don't care about expiration count if(read(timerfd, &dummy, sizeof dummy) < 0) error(1, errno, "read (timerfd)"); current_animframe++; - printf("animation frame %u\n", (unsigned int)current_animframe); + //printf("animation frame %u\n", (unsigned int)current_animframe); need_rerender = true; } if(polls[2].revents & POLLIN) { @@ -319,20 +531,18 @@ int main(int argc, char **argv) { } } + if(!awaiting_vblank) { + // return value ignored + // What is this really doing? It's giving scripts the opportunity to trigger a video frame. + // But if no script actually does, this can run over and over many times in the same video frame. + // It's not saying a video frame happened, it's saying one can happen. + deliver_script_wakeup(SCRIPT_WAKEUP_VIDEO_FRAME, 0, SCRIPT_WAKEUP_VIDEO_FRAME, 0, 0, 0, 0); + } + if(need_rerender && !awaiting_vblank) { cur_buffer = 1-cur_buffer; // for testing, just keep writing into the same buffer curfb = fbs[cur_buffer]; - - //printf("%d %d\n", sizeof basement_pixels, 1280*800*4); - /*struct sprite bgsprite = { - .width = 1280, - .height = 800, - .pixels = (uint32_t*)_binary_sprite_lobby_raw_start - }; - memset(curfb, 0, 1280*800*4); - blit(mtslots[0].y-640, mtslots[0].x-400, &bgsprite);*/ - for(int i = 0; i < MAX_GAME_OBJECTS; i++) { if(objects[i].id != 0 && objects[i].pixels) { struct sprite spr = {.width = objects[i].width, .height = objects[i].height, .pixels = (uint32_t*)objects[i].pixels}; diff --git a/sprites/lobby.xcf b/sprites/lobby.xcf index 5eb4c52608bdb73dc98a7395903c6c01231c493b..b22aded9b7fccd7cc5b142d9d51819c63f34632e 100644 GIT binary patch literal 344619 zcmeFa3wU0|buK*mB+I%ZY)igK7Q%NK+4w4iEK3Rmx1rFcYH5>_G*=)bI2Mrf@)Y>& z<|)Mno3ucQbCT2iZS$WK2a;eydzysUO%E7Hq<>Cx0@Nm05NuLvaDpXUm+$-Lf8Tf3 z-r6FBTTH;P?MGU(N3-U(XU}D=cdfbX^7VbqfAXPAoBwFp^5xFCN%$#l#xMT+8~mJ# zpQ0lCnu?#Ya}mWK{F{cK68zNRr{2O$$LFK?slE(ZFZs}h_3JPB_$Tn}_{S;dUUkU_ zK5@y1oB#OoPkf~L*WPjAJNcJdCB1z82QIs0$z@kv{$a*3^&N|@{=}bNaY^&l8?Lzg z!z~qyF1_qS8?M-JRr4Z|C0AYc!4EVq)Boiy`11!};LppO^`C$KldJna@S)2;ep&PK zWqA722~YO0zw#kv?V*dAWr_ z+?+(XF%hmvgqsuL%0##-5w1>zPeGXFMgJxvz_OYDd<%oPc?^5}1D%@)N24W~2mYMd zj9>OIZa(wHzs&an{R#hoe?Q?+B%N)v#pvol`8&=7;fj2SuVg#$uhRG`m)P@KqZb-| zuhI2JuQj^W=;w{zY4l#B-!u9nqt6)42U=BabhgnYM%Nm>(CB-Ot~YwE(XB>5Z}d*1 z_Zt14(H|Lo#%Mm!>T092jV>{|*64*s-)nTe(QA!vHTrp@cN)Fd==Y5N$mlah^MTe> z8=Y-*iP5!2FEsjIqw9@cYjms8&l|nd=)Fe2XY@x#pD~&b^pt9&vyCn>y4L80M&E06 zz0qrpZZ-OOqjws;H_+PsM*qv`SfHo!yTZRy8;qV|bdAy9FnY1kj~V^5KxbGzW?6X+ z{Pyv$;kH1VvVordYes+H=w(L#*yvvxz1`^lF#1nM_ZWTH=u<|I2Rdi6(dkA<16}p0 zKv!QGXxsY&J?p|i+pRtC_}lROj;|WsW%U0udcf!rqdw5{Ip^Tt`KK8@(`dKR-!l3> zqZNyKIrova z8tpWCfzkIEy&}**`RhQh=W2<6*MBR}zx-gJH~e0pn=Rdz=J34bD}jE_-oxi@-uwL7 zA^!94F#2wzmm9VAe}1z)Z#ViSqyKDlZ=nCv`r)fn!}Hhf3G}YPK<~aQ(68IL`N!Ge z`Je3lfBS!g=e-fNbbI$${KH0{GI~7F?@l&4-RMH2XBqvqK>z)7f&Re8|Nkuy&;NHM z(1+~3JY@Mk{L>Ksh>eH;_}%dQ%8NI~lCyoAv(c6rE(da!!?=$*CqX&%+1^Uz^qjg5-8(nSmJfjyG zy~OAzjsAtv+l+qE=sia7Gx|fL2aOH|>Rh%q{Ym>E9RukYI7!Dq$*Im4mE&i%E1cU` zys6N4?pbd5+6N9EI&|=XYtM3pt&bP`!sA;Jy6FHy2X0EnB@-I=YRfNM{$rOtnR7oG zX7-HWVVR*I6f$NCgH^SFHJX}zCxp)g(1}1SNtaQ1q zzOOtLg|B(w@QA`^hE$seCNtG?mz%xrvrk0f^*i?sBK-K)r9q@-!qf_*Z^c8MN2~kCiz@p_~Gl9L{&iIXYRZ8T}aGIO!oPKZS~7s zjv>B>%E258#-_UIi0(4;MoOkv}xUK`-Tf@XR#Y&QTYWdWdBe(+lx3B=ohG6`O@0DPM4q8w;dB|Rm;b|n*&{W%R_^{!xegVWqiBK z71#EDM}dV`-hGIHe9t%X#r`ap&z!fb#J9QJ%nP0R(Q;Fb?0w;q{1(Cqs6rs+2KV4e)%4>SCnkf#E3`|dt8!#9T>&Cf(A$3C5f0Ma)4rjS+vmd^mopN)BPBWB=i z@oxO?afOz39laTs`}ofO2iyA*z+CFv3mNQH20Hv0X673XfI7~_q?~^{eBRx7pc79w z9w_*Z!k8m>M}OY6tn2LUcK&T$F2AXvyt5&{XUCU1cleR6p{(2Z)+`xv^h{l$wzR_) zeKx=S%0(Fb1)uxoIUO$J3*SCh8+dEUWdSwcW?hp`*zf|knhN4 zCpn+3+~~S{yZgHf*`glbT|lT8Z`XA=@LMPbwz4&B+; zh0O{0R{7j0c4&B5cjZ-W{&?6fIrr{1uZ>i(^PfVHJ1hj>*N#2kjR<7g3ONQ#Tw8zc z!Ty~eFLCWG6}wf`qNv;91FJ809XrOpyyMo3UB}Sa@u7#Wcb(YBZRT%m1hZ))-Y9Qk zGLDBeEyeAHmg=+I@m06%*}Heot!){sWN+VH>~oLae8EhlIOkr3b4Tu6t1!+2yLv2? zfAESHtZwJrJIUvdK6HzMlfB;+1-=sn4k=K^rSP14MY_L<^{*~BwXXL&2yD-NX8YYw z;t#n(zL1?%?z0tI5!}CEMd)65SiAq`_V;zVqJQ(BLiqN-d3Ofs z+Hp8K|0;bL*W$y#_rb4%e>uyI>YLzc>WaH`n%Z{Yz}7Wx4CK@G9d2~P&j0=OTmJy3 zsit+e?|b-$vv2??a=EQfJh7GhE1bt?GkVvRXdjh47io;u7typ z1j|EhaT^1NkX@U@kVJ-U4yQ)sxEeIaELSnWJXg6gvXbPO=L!ax=L%QBKaeQTWehOS zWv)_rE^}4N^Gs0Xxs(CsxzyE=m4ta#w!Zl!$u;-ld%#QV!VA2n17Un0oAL6n8N+XE z#j+5Bnc@DIvJ0H}2exD!x1d`eS1e^H5JXUf zG0BZx|M1Z9p=Naoq$$XPq71}eeCv)c@4!}>B8_s1G)i5eygt)_I7&9kB-uD4Fm49p z2-jV#r`XGLmy4Vz+(2bo)|K{RU(GFVxgU%q6(7B;|G|>}W{Ds$cn5C6WYyJo=b?fx zDV(O}RImgr;4E&mlw0x89$Vlc4=iIOn=@Y6O$W;Stf)1W{#dj}xB>BvE=Lg)5>wEF zjM=s_-+(!o;wHpX<`W7;`(_2v6EmUk2OYS1pn|bhB0CU?+1LtSKVGJK5Px8UEBuU5 z3_e3hg-TrE#sgK1V;8D{n*Bx;6g zqZU>BvB$R}dmLsq57hc8QG=4bsA#q+E>JD3^)*qWs*~L~#n;AdN_68CU!~-^kKDzU zB|CBoavIb4z(h8%6+KCr-BiSCcvPe6TM!4)-85ejm3c~#cIE!y_6LqkL*9B<)nVvk zxNZEmX9tIlO&P);*p>JL$3EWNdvCwvj%hopR76em;>zpm8!A--q9D|337uIT4}6?N z*^9^~9{4kQOQT*q#Scbfkwd?}zby14l84b~qrbj@Kd>k9hwVQYw<<9pXZh0S zHA{_D^u$K-iP7vgHY)1F20uxyLT5!?*oeaPu|*xo4^NTSKznC=YV-vSjV%MGME!>^ zv&myj@?$$C>b@-pntYLcX`uu8y0#89;rvSpFSx_TU2luA%pI|zGwo$H4&~jJfm6ev z=K$ubYTA*Oq$N5=}h`WI+La|X}TvJz;2AobGj$BEh2YQ>7F#*li~pJn(s+xOH$Cp z^D89<3Q$tO03-#?Jd;vVpa3NW4B!uQc+jMzKmke$7@+!UuAi@gB?#42!Z++3aKm4Buu3P1D+aw)}RWHk& zhh%m1hKKjvzOD&+n2Yi72e*Fxf8X^{DrS~CUta1)>Tf=9=&OBQP~Y4*F#7BR*8ube zamLoiy{A0S7qz-fP>l`~EJq>8Qa9F5^<}XeraWeF|IYP@D)_=TV5j&=kx zAvOewg4%YH8`*L|Em`PFg93Mw8)iqbB@0{`y9qHA7f~*S4llAU0vANzzGxKyh3p>I zeV(goDAboD1>|6!jhN>ucI2q~MI5(vQPrDW#ZZo_;9_@-o#Z{+F$ap1pC;SMhA?ux zlYm@=d{A+rla8~K)P&QaW{J58d}JG%se6h0D6~Rxi9U*&(&!*jL+&ML5WF7k5f1>O^`m5<7|Uqu3^y$rZW7rS ztF_ZzeNw!SJlL1@h#i+;A(HJ=WavzE2DHJUbyM8*go2{JPN8y6rSQ{*~?>(A`YMIsfe?eXI-kc zp|J7S7j-DxSLvMv=0$(9p7Y;@ev;y>a1&17y;Rt8mR> z>H*LiSXVZv$~A>gPs0h3Y#fC3=`47SYaZZO>q zzBP7(HGb^qL$|KZoWZjPftZUKAjoX7n?jHoNshp^MGO$Qwg_8${DDNkwFL|ixVFI6 z3AnZZ`+0)l=5t?9Fx)%_nCCq1(|7fdD9w4~%CngP=Gp8TlxMSRRGz1S zD$gbcm}iq~A}fjVY-E6WHo9j1fkb)EVt{$ha;GcLS#FN_w+qiF06O+mAKw5P~tjJRbUzetiUw4h~Z1VbQw3ui%UhN?%v%BG%>eU0#h)RRP%X@BR8blp z*1{Ucj13vYS#|%AEOfvi3msHOhB>T^0<6qb2p#4`)v1FB1V}}85P|~;vPzf~3Xd5m zaq|FX0-P@9gr33!4y1Ts?dm*`Y;#q?dLG*6sE(L10319$$TI4}Srtz#8&5pW&W?(o z4$Dp&T>?i)v=aWz^BnAfgb2hVB?6~0r~8jg_oG2PHapIXhi^#jAbDtaaPt7zg0vuyo`TYbuK;nZDkLqaIO5pe>Eo835FSC7 zgN`<71qKXcOi=5f&u5reV~pid#l!xO%YX%>s}IdkN8hw&%ZwGX;o816FWm5VR1c)%W%9eJ|4w{gJhd9VZ}TNpJcY zrJqsy8Ks{QmL<+6>1vd&M)dIUI;}>l1P_?(R|+1WEf(Pc3J@N^0N?@ISrML4;m$u0Ib5GuzUqreiDqr@&!g=o(wS0)BQ~4DKH9c#^+!YVm9Lp3Ufk03KP%wbxKSO zitrfYrM0t&DKNiYg4ATSCmzyR|+!=Iu&1x8_`6kwhVAWvaXn5P2FGYLjv zp36KAv_ax83-37vJcrE>Y;IPMn>gHXU}dCW)s_cO)J|cK#BJQlgvJM9sq?sRL#nV1 z)P@aDVFRe0+RE`Q*%l_WT5w;6C)V_9&}kcG{sV zE1TJ}ioN+bkw@ zSny#1ba3~TG zb{rgoCyY(kb!^JRLk46fz3W;!-OH`;YoEz0X;P03i;XY4{=WVG=tSI-t{jNYRP?S`4}=rA{E;)FBgsw92R;kR*^h zjS@d5nAT*f3lcj+BqmU+l+i)Bs0|CE`BVx;Lc;bF4&DNgDMJNAVhgAu`?^XPo!BQL znolKAHYDt#nF};@g(B)8!afbhFBph3oMB{WBgBU0zAi&01zoG?z#d%OAz^^)A(nem zy3B)o(=F&9A!acEleP>Xnyqz<0%%XWDr+1i)VAeP!ywbfMhxEc(6H73*<;V4I5c8$ zgxJ%58vZ*57Dre;br@ovXdQ1QJ@5HJ=tB~nG;t5jy}P{c(Nhz4#BoO;9JjyC{n z7O8mjfIHfAZ^7y{zTF)zpqRuM!Gslz@9|uf9{)Pj7#lal? zVFHtP(|}(^FPR8p=X;jAkKPP0IY7z^M@cYQ_nX_91TyMt+5#hjUG09v8rvSdW&~Kx zj5}L3%s2qw^#Vcl#z0voxy9LHZgFB1@8j6X9>CAzod@%%UDqbx$8{k6?D#39pI!Rd zU7LP(041lZ-EbjY?Ifjn6Rvh=2{Qrba>7g$g9-?eL0}{RLAacw9TtxwG z!EXRt@EgDitf90gdk{ZIv(>P$D)|o9b$An#?;>~>5|*mN<*_%zI*%0_zpDhF03Lq(U2sY`=ILCJ3jq;*I1Orb;)1|6=WMP9gi~rYAfhknmXHultpr5$ zaRmUPk3@(*Edb1OmBZm2%NQ2|=DCuq0P~bvLgtxtOUOLsmXLYU9U<~0QJ(Tf$UK+2 zYUN3Hgv@gZP2&isY(>D}ltPtq8C~p7Rbs+QnYe|hQdU6lQdS@dFJ%P;FJ%P?D@6rJ zQ~{w%S%G=92}7d@D`lQ@i7I8Df|oMSB)pV)3SP=Q2`fdOB+65$Qs&v@W-Cv^N}1U@BxRPDY^X>q+A;oVvA;oXtA%I-YoVSagBf$`)#6o}q z3ZYMuPzVJGglVBR= zDKHK5WPo|r(X%S@6qtsX6@qCDv%;V-D@4;U@l1cZ5(`bk3e2Lz6iy#N$cFQ-F9H?@ z^9a@!_+JcePG@@fT@-Sntijx05?hUEp*0AhDBV%x3}=n3c!t5jgI+pIhu~m^sOyo3iR_9CTj2W??p82wAR}+9$OC7!gWlT)swwhOGh%C;lXabNw1@dW^srPy=jgtYlc+V?4W#!JXzN6 z7<24Cq-JNzm*td(F~^=n9DA~XURY;G?koWTN3S6lb7)!LOOOekW0#iG`T;n>j>KLL z@1>Yl@W{d53r@ZDfTGMEe;qd*Km;qCcoWb_BwoO4j9-#>+JLhW62M&2&Kd&L{qe1M z;x{pC2exi;Cp9+UiQU7EoWb*axDrUZok%Mdt9>wvVucX&Y7_KKNR;?y@Rayei1&)Wj|J&WlFlTUVA7ccQ|T)} zLZ&kb7LIf#N%th_o+NAqvBoAgwdqVkt;eh0lVFQa0|WYH3>D;~u(B@1M?A$R%TRsaDDE=Q&s;e$KsM9N{Z=71wLe1%%qKw7gf>wwGDUt{whM za1&U59S&5Tz4>)5uA_fU*LvZKJ6`9t3GWAx#%yNy%WC!OnjhMnfw~Z&{+TqEg5;iQIsDV&ZD(Rh-?1DNsEA<4V{}PJB3*0IzXkK z>{4I6*~$?jGys1m0l)ck&Q3Q@1P5a@bianF-*~l|gmDEKzzqjtHFUGfY$|N%!Kpvi zL_^wi@X*1%SsJK}tE1;odvgSe?dR*HoA`&svE3BY%~0>hr%4v5?EquPg#fr#1)?Fv zg)=G3<6SG;Ag6)`C^j7eH;>UxjHJ{d(txvAM#f0U%>%fVB>)6wAwGGyMIM9;G%`AI z0aJpW5+Yf)BF6r|1Az(olMYCwA(>fOFu*EY_kLHzhds z(?Jr+*q&Nf8@cwAv<%T~5uyc}mN0EAG#+eIEj4YCAS_(%atf7hL9U|CQy2w3zw6kX z8c1ZuyDn}^1*4k`<6!NLGOEAW;Dl zRY2Y#2}Z1OOOz+wK{C&3dV^%1atp~klWrlIr`$p^Pr8Fdo+Qds-XNK0nFAsKph>!e zWS*1h4U&1vEhO_yx`kw(atp~kX)b|0Nt7q8CD2iQb7_eL@F^Hrxmypo} zkgbraq2#r`kpG6+OgsXbqm6mCx(8>dEQEIcU4SHBj~^YGVKsrX5wK4<8{@ZKP|@yQ z^YoQ2aWiz6E1Z{E>+A5I{zaJua4c8BW^(AUK4vaipg z6o-8+z%Khb3D{+p0_-x+`1)`N!`{$6d)XC8ca1(^3NT&!hz%kdHOR)BdkK-t)A zdP2Hsph*Om+w$p^li4`diW7mSqQHOxz#L)0ih?*nM?pZxEC{K|X)IO8cqyYXJdp;gRRTMEbk|@v+ zIf@A~A{r=L%(!^RA|wNnH`OSDVz%H{RWT56a0y2oUt#ER6O&*{-}d876cuDtV|2lD zP@F;D0x`?EeVI*)F<}tYKSlG{6?kUzTSC~HzmQKRPD2Uj_LT-^M423fMU;dxaKm*3 z3?e>RrSM+rNJcsy70XgB3X;qqLE*TX95^K+rB_Xiu`)VWO}_{X^Yn{IzlijUIDo|> zT_ZR*PYwEnbdA6o0cVZ`P;eIm0EPA|1W+hI00jg1gFH48L7@O46bulQahh)sC_}Cr z3Cd7_c`^W2xo%{h3NTLw3UA*%kK~+tQ*xra0P4c9|RE@`tCeL50Vpx*7F8XFwJfPvo4 z@qoi3L`U>#zN)|zWaP(uRX?wHL|?S^dT8K%(KU2?+0g)eE`jOoI|S4nI^Ir*|JKJl zfFOZ(uLHg#sre&riOnG8maYRA%WfIKaTW&<{Kn}6z$JQzd;&j%*`n-3m_$*JPsapK zbQlFecc^1sIwpRp&nlfK@S*eIACD@0x4+P8<7Am92zkn4zW90Q6`)q}ebl_sS9kl~ zf_r|C4ei6MGemEWwFh%g9y~k(=gFH!uiM0VeNh4CY@G5J;UWi2e~Wu-p@4^BHt`3r z;66A?$U#GSYXfYypS^F#ms)q!Kt4CTbO;_G)0(_cpS;K$DlV+?nf}85p$%OibKa3#^JZ5J@ z9so`B2^=646?xY|xD!Om1UT{b<@Ume5UAH}!tzVEng_Eb?iYL@a0$8}_*Ha$=wn~r zLBtg@q3^+4E<#{v1Ro5#zPG~{hW2Or*ZAT>w?=werI+j_dwD*O8Ryw9p9ieA^Pu0* zHSRC=gF- z>~$E0hh9e@>h;=#v>@LwWz!<`I@ELQbtvpYuOkrk`m{|8La$Fd`1AeyCMyqp3Y}&G z0U2+ev?bU1%e?8oa!;qQajx<6B3Gx{n^pM*!P}`Yu2t}@k%KG#0HLm;*MOT2RQVnHMUnGUF(-_0Uki7w3E(6)kqN*gdMJUEOw{6pyPOU9(;yaGX}D8q zR#rrSQ>w>KsL$9N=`$ARZ@G@unH+1ZproLZC9J_A1$a@Ma-oXCZ^$z68{z=006g(N zg`W}b6}t}lL*stK(@|#Po}}c2gC{l*Pe&O5%jqaf=Q4MK{9nIja~aR%W1h1jfgYR{ z<(UoBqCB%9pn{F@?AIGwU$%s?o$Hq?@C=Nm&hCIvN>l zfsd5|%7o}d!b=dtDmA*}HmlzNa0YB;pqY^z8YlofAGit65>gW>02g+O@G+hM9TZ|> z(1FE_B2CyV@jBIzNM7XCW@ypGwu#Q<)o#T=p=3L(Edz=$TNK!h9JpzMB?`Gql4dB% zFY`Pj6h)?^Ut=;I{psjW=l*o=e@o5%P$Uz}D*v#=vaX0t zv8+i)vBa`!A3`jv_945VcEHwyd1?mU*5IsyyW)m|h`OS0cal=pH+vkeh8=hWc@AhxuEO4RmROz10Lw8D)r0eY$3jWT4nhfZr~a-&-h3_eP`VBsmI>_E)6 z15bR;I%Vkil%Xa!xb47!8?mFs26gkmG*m5j^T5E()){)<`q*Q@N@{e9jX8i1ogmE85msXan9HZ@O?9YzL`aQIs0Qq z0Rg%foY9Xzw5*%eOXh6pe|PDq+BcYvs&rJPbJZJvu1dk2FN9~sB3H;aPDy5UAXhm!gk~GV_YFlVE4|f(=J!1cy++uwkz-MMaPA ze!Bb8?iVeymik>>_8#=R2t@kb#RqGt-)-Gg!_|7yPk&*pf2BE~O;t}9j*Kkx6_@5N zx%B4!2o#SN6}R2GXYbNIRjyFovaCH@vRk!XTPX6K{rUYvzN2?c!0rWfXyL;Fkm&-Rnx3lE)6AVO()Z6`sN6;KxL@eg&j=iAyp2As}3 z{FG)(@U;*qattt>FL&+ePQXLh#xdZ24vzp=wJ8AG+6%x{5!lw=52$X-I-rIeM!|J& zq)gCI{~S>=xk6_y-?#mxlEtK= z;`3=7l{m)6anWg%M>TlT3)v-M78Y4C?vYA&%P}FOO^LI1dEiDQl}TtEPvsUF)MDZE zZc#x)7S8x+0P};gEaBV@w-~FC=ec&X=n0P9ZoqxZN^DNu&|QjHDNAEH+FK_31NM-P z?v1Y2T)FWTSX52_pd4-5u{eqi=p5(!-N z3uZ{tLMIKglR{kNKz{^Q4j~3oHHkq+w;YHf%z$Nd>*H|@g#^WJ^!kTKR4-_?D25ot zWeU$6fc}eGE;ykZtN%0(_7)Db|_>>31}K}0~!$ge=j-=-f$7(wYr0Wn?rQE|ZWQ%WqL;JCLqied-`r(N9 zM)QSKhB~D`ueuMM%WQ;R@Y7EJih4jE2x0dH&<|VqouDf$ya;q=2t#JziktBZdPP_B z$-cfzu4=yYiVYjCYF6S5V)+jOGFO5hkDt>S?%s&s&f&c&p4{aY261x|;l@O`A`xy* zgyAtv`GB~pM7TN;J_TWx7yX-z0PDp3=UW)W&12Z(AL!gfcpAg_VV;S9|M^?v4{>iW z9sd32Eh0saFEiR{^w*94uF?04>Q|fxo__YPA^vASF#2PoM+1GX*yvQFtS|mOw=&S9 z>{I+3yx-`dK!^A~@b9?sA2?d){C)YxL$o z%dDKLUE#TUcA&M72U>6AXvXyLJo8GUe`WNpKpT1jZ4TqHX#N@Dc|jP%MGOBfJTLi* z(LF{VHu{v&G98(L;f5yC%@v?fw4k9pU-!EZ;9K3eR8p zYomogzglCo$>>s}T}FS?=pP#WxY6s3ZZrDdjef=Gw~hXr(Z>S4>x+SYE|KbfeKv8~uXOuNmEK z^!r8!jQ%vx@aT#LYVEn%=rW@{M&D`l{YLwYZZ!I7qhB!kHKV(Ye&6VT(VqqyrhQlR zc&$A*i{jVox*IRXg-kV2Ag;pC+wpVG$@$~Xnb3<+;`o-X_WUh-_IB>^yJ2H_Z}bBJ z|IZ$3-{bEEoT2}U_O`Zm1`FTpZg&dYdrlgF{N`8N3D19d-R<3bvM`G6-qYQlt=K*B z6T!=UslTtFqy#>kgXBa$oOi!nVc(9iJd8MU}Q*VcYTzn%bM>HcOEI){Vf z-g6L_hTf2UP%&|EV0N7_nBL^iC+BQ^qE?xSvwk{#|B7erH(7_jl6j-`4LKL4tJGU% zrA}A9x9-Z9u6kil{;NHryvY{3xH;*nm!9xWmb2|iu1G{y1j=-{VM$_*L%zTM>4+6jUx5F;X=l*2=QPUDnX*a zHOa38CX{@oe(5-489c!mW0`LqXRJV?z*tEqabm3U*|dr$q8BT0)mAY!A#?GHD_cIc z#^o}rZ+!^wx9azG{3JF7`FiFkI{_#)n}m z5`|&7#8(>QQeQgGxXhPDjLSSR%P5iqe+3c+#+81OF|P8kQ^DW)!L-54yp4MX#nbLb zUHHO$81V2lkEHOqhtCRL=7+LHxX>*>T!Gwk&)&b|OJzHj`O%TXd#`IKFKbvvsPu+4 zy#37_K9%vRIHId{Ros#LZ+%x4u9q7d1w(zcJHw9^4&Aw7O^r*tE$ueU%fG78R{Gnn zP+HqsSL<@~U>LP{J3c+mF1fgA1#Sp6*`f8A>NC@dfFm>0rEcVM z1!fam97(egxUdbrYdOQzxCMpb;5B#yE{t5{kBuBY^dvpG*O&7HAAR<|FMsKlilX*BOavN+;lz9IlZOtEa6&)cvmu!2!IQ>f)B&%9wtD-AxGD^`tP3`?Lqo&) zj5Y!#ZkPsc@CN>D28+s2d3{5J<%bnXnWcSk=y2K>FEB3f_TgpK{Ow(|3 z>kBC4b2-ZaBVX(o`TOxRlEuQmh-P@W)iRjjAy7OVEPNk&jyslP)h)1Wh1F-ifbD8I zbh&c*&yTU)jlqIwlp+|bkJGRaSw?jh|{=7wYe9*3h(c@iguMX-m1 zE%2oAnPCpxL6(ls4Rp#l7|jh04fW+su%{a4O%L>k&*EnwVlY2EG!)Gcv*61po*_8> zoHk*Kn1*X{kz+hXlymyAN^(IAZ2m8->lH&uiiYK}1W=;ZOnhf=sx z>M;jctr(n8t6DfGn@}t5M?$R_oKUM$>_*~R@!@CVwPF)pn?D}65QiXSgWqUZ7Sf4q z&Hb2fFr{ADi)jW^s%DrMno=jsfXm#kp79MR?I&7_s3}-SYv@W)}qd0etj~FgZ6GlucmZEsX@L|G;p>JUuF$_)^F>|;^#cvrkX_|n6h(*0= z;O7+N5$r1o1q<*n!;1ksW+*b?$+FlhO^}yk5}E)-dWC;awaBkhUu*cRiMTE7lM;w7 zNO=-iFFX+dHVz1rDP8GrxNNz{9C!_WdYoT_IS>cHhU+Mmh57wOw|wc#_v0gu4qU^_ z6mMrS3Tej=YQ=uJ8>tURxKcZ`K}vPskqVsWhC>eYZMYzrMHP0t<5^Vug>e?OzF7&C z1@C>2vzTVi`>Yo9>^GjpbX;0`j7EMKYo}tNoY(gmd~1?e;rqgpRZM|66(G~k zzvQx;_w(C2hNN<`b!3E(qu}}MJwKu5BXK}1g=S+UL+?-zJ;yIi@~awrR>S1JVCRt> zAB?va67K|WEyUgtFF!Hy&cOE+^YX!XXYtD#KbZ2%I>vg3qMPt&Rp+NPTwHtM-A^Ar zGQtOm&lcdL8VT(Ag%Hdocqv3T-d0HE63ynL6~7F!x#1w;%NLeG7B?Jq+A4_bFUFTF zk$rRT41Mqt**EpiibVEJ1zcZPUSCY-U(_EpqfAb5$0#=1vExfS?tgX;#P>GI3>_<` zd}51kKa$YRf=85L zO5`cMYleU0ki&*G+@{+}9NXQZIoLQ27l!ErY+cI&I)gcK-z~k|@6Ll8n~`wJuRjA0 zn#TnStq>xny_@zfWUnXV*q!un?2+*-H%v!`JR+}j&qZ@p98!m4!;bqQ9{3D4fdm<}U30>=PAO zMsdp=34KJ5mLV{v3(O}&uV8xDeS`3w7rdNN8O>Pmlwxfb5AJ0&o?ML8Wcn|{Y$-U@A`0A&;8NU33sF~~0 zVpkR1lx9s#F&Zl3nBgWW_ z2V<1quZXb;p85kLJ$?no)A0Gkj1*NFqg?Svj58p`4vh4_9~fssbQLpFtZj_)w;wT1 zfzSQG2nC!mPKAg&W~`z3o2&A=rdqd{GV0LAs)TlZT;mRHeAGs&=8cgG`_tsgE730gk{a-)SDmr71GV_ZbTopg45vV5E(Yi|BL;za$WZ0ZGzLx~ zfnkE0(@Mat!=Z#yx7rxsQP>!Yp=47DxE|Y&gkIv+j4Z(60#M$}f_)8obb|2k6eu<; zyIf&)X6;0&;>)pFD@%%G*1AIdbp|p7FbXGY!3f*1QUJ6;`3?bT0lekUG9*=uF(j0V zP&9*5m5gr%=tdVi1TjvAd@CTTVvHdf2}v`?3Q4^TheZ@aV666M7-NluUk2WyqSqLC zEVs?a{vpEC0^?La-x#M!7-o$1IH?;WWnVGl3?vGSGkrGg9>Cqw?h)kmm5-juyPU6s zlnRhc{04l}WL0^g3-p?% zppr48S`irI*GERRM2u>Q7-vWzZnJ}06BsG6i)RP5NQ`Qc7%8-iOH``@V>5(yF{4^0 z#<{-E=A(HK=EaN)AV;_PXaPiMG2_&j5zpf6@5MlUd)>C25V z#>JA6I6Y%r0ZCxYNUUC9TsZVX%o#4rzwgE26u)sIU+U|8s38le@O-?bQI77^B02E`zg2rcuVp4}u3e+x7 zXD46heGU^n#0r8e z8gSH~MsN1C-{9fX>^BJ4l>LUpV6@+u1JPIz3e9zOCMeR?+fnlgr&05H=(XlklceS^ za;IAJb=!BuBW)79j2Cbk&mze5#MA1kji;5@B}84e7#JVxfu#t>JwWUadtfQHu>(5#`$bnki8$IAdEBExDoNesFuoeV_7S_ursk~5t3yn5_xT*%H2>u`A=E+KDs zc^JE3*NdLQH9FVTuLUdu&Y~R>SfD@_pR#TPe%DT|JWD@eW`G9=-X3nX<~0%u-f)6uDK_aI)h4$kHqD z#$+vMyLu!q9K=n*TFi8DvKBL@rC3q71~Y(Lgr&@2+WJTsSw+aM#En|Rg1k>_*dyD5 z95dWk9Nk}xn~k5ohZh<{vl0?Bn4{2>_pgK&YVBeRwRY|5(Q?HWD!>+MoT)eFQq#k< z6vd*7iJP0Taxv|KgajAsm3l+#6y&y!>lD-K?rElF07dDN zYNlO=#VK4ly$mR7^@f(G&_FFu?2T1ins9rwmL^zyX=!3_XlV+GwKTCea4W7?1Gy}* zeO#7y^|-Dz;RnT5zd}+j(fRru%r!|Z^~Q-Bfa?3Pahd6 zg@i^rbKXP8he2L$7(sq0@HrjR)0T%14HY2dxOo^ zFu*Vglnf9!<7hqZ_J$+NuMF@tgx|oli_jV7vls#c7=MjtwE&U=0dxZBhTG6YcHFWi zvYRcbMk2dLY<(wWHv{|LM0VUjPr&y~fjlV*06Ikyn;0KNVb8H~&`*T~L2+9t<(iON z2}H|B6L2CgxpS!-2}mJItSvLjv2o`V8i_%G?z#@oGz&`mm;GXhtF(XfC)@bV7CE2K zbqfqV84lY&X2x~086ve=WSfiR&mm_Rd17#!-u;Dl_-I6EY> zkwPkD!{AUfFCQ7<#1L{}$m)WL0o>WLjaY9cSm!N9#02X+E^P_xym>gAB@K9akegtg z$7MHRoky(U1nWE@jw0(kVhQVA18nPJ<6>?MCYaCgL_DF2Rfw2SMebV?RV)P%B3VV^ z9wt<=1VYu=U>T;Ek@4Wfi%#7}p9kz4gAGXVPJbK_@c`Rw^Mfui53i(jIn2S7I!v%O zZpGTAB`LBtZp8|OSv|Hk9--J{9F9I;0&&byAwLRC5-UVAhGAj`qu6D_3NZ_VExFzh z+@8RrQWucOZ3;$WA~y}b@wJsBF0mMv+u{_jtr~#IwY3Dhfy82{K{%crhn}s}wmPAO z7=&1{I>44KDM<%nIuK=akq*RkMoec!&WJz+1v6G2dncH&&Hx@LHe=<(1mju?lqZ-< zQWzbZO7dZXsU%$%n5iU#6HFy#DW5czBw{C2iXp=kV~vE_CVs|r4f0{aZje|8+YK_9*jB#aiFkVl@yVIGY_a1t&=Fp^ z^leZxul4x{_Z>w)1DlNB?uG;WebbBl&Srpeek0|A`uM3`b^bG5@;w8W^*MN+9o(^7kAxTn9_kY!31Z9a zyowE1?{Fj&0TzarwpaP(g>1=I7z9Btg+1y-00Q+U{78cagxCX`?+{Ty)18BRv-QQ? z2tW0eP1kMc;hwl~;0A72nF6;gm%Rwd7QZ8H=bP+(LP}JM?_eGzayl~;yCq}27`wG< z+|Z9+lWZF17){KpJO?D^ID#K-_N#&gz;JZf#zSNmAUlCT7{ZWo;y1*b9ec*) zMW+*{$JN>5O^&j=SbRexz{Fu@kpY72;KXB=;WrCQa3~w*NrZNM@KfiaOzwYnIlN0{ zlG&VzC2V*f?0>_j2_qbQGLdVkWzo5`UVf*R#fQudJ?_ZL=md%{sIYw8Y>o?PY&Ms{ z@*0`VmBT5`2%tjz_~@}lYEFKB^k-v7(sfM&`v=c71TOLDoAA6<3lV#i$21Dr`N=bn zDcm1~W9_;o?hov^%RK6_nMmX@3lq1_U`rF5 zF~ZBIEEsWs9M`x`%BJHa9Vad6IEm+ibUyhd=MyXkL4FF~K(U2AY#C%;4}hl}uXT9; zTsCtJH=TRA=L$xc2nAnC!0a6l4&Z7_iQl98j!Q%2DsB>NutxI1g&f@yNkJ$_W;|lu zePL}eAM7|-g%#phZMPXsgOJ_*p<#I3_@$$iV>#-OlcUa+#ZZC9hNko?WyjBDt|V!v%12|z9@&q# zc$JIl4EPNSg&+}zHc({NWlOr5-T30cg(kLPC-5g;jF)1Si5BD46I|jYUFAjY^Stcd zv+kdf+#@ia8+Tn8apt#26;ZreNb?wg?{Fonb;<7UoE(fSKRLnfT zj1j=?;bNMwbqtO*8@@s*Gj=~)u*1C`Kkv#q*eu{p_P94i}F3+fG=%q z<`-T`_uA;Q0D<(_@Dmlu{$k$fFJz29nv0*}Y~^m817jo{&xW=sBuZV23_P_L!LOV_ z1JTJ(ofX_m)H^qDwjZYbse5?1fLI+xZ@vErVzEn;ns*@L+9ztw&a2SD(XseTwh^zS_c;fmK9*UXPMiFz_yvvm#*-Fm5C;!FC{FQ@{g; z%p&f4rWGa#`TA`Gt&lP0H$Mh!0nn-IcM?+o`BNBdiz4d$fZ%CN1`zY5 zudx=*gO<=3DVmB)n&W4xq&W~zv82;MRZ=qo#y~$r#&G|UCW3O+b&Uk-s-y;Jew5%N zckLUTMN5_0>puGg3GQLbAC z$~e&Zc4cnQw_8fj@TwfNP3ag-$7ni6H5;V!XgZH-UVIhvC=DF&lY`;_9_hP+Yx>}& zKJr;lANJcG>3~;zZY?^nQgdr@HmJ51TDl|a3OK_L78h8z%?JZ`RG49gY&Gsaq}95( zw)Z+{(a9eQfTFmCqtoSR2C@cw?#M?-n;Y># zU(iki2#WHsp#xyK*tT~Bqy}q{)jCX>{}k@@ZC_~S7lCmpVXtzdK_qNoJQK%;ctgo^ zp)m?q8c+%)NNpFp;1XxQ~4?jRTZ8$Vw{sOQW-Z~fl*7ur~_?aBz8D%Vz7w zB?ddHDh)=Ak1?VjM2%5GzV&F)SV@&n%XQ zpNMh32S#vt2KGBnbAnHc1~OjVNiGBR+LGX@#^kfEMl%f!GHE|egzWn|#$ zW(=|{B10{`m5G5XTVSZhVy158s%8xGR7QphdMOiwyp*X*lPQ{F37l$-L1HN~l+ek7 z802P1430|}8A$aSu!te?TDY43E>^O^Y^Dcp{sG>=orDk&%BdVSOYpS@v6yX!Z~=gp z!w&fMe+^Pr?Y4{Zx?CPcS=gk}qKlg}R=finv@m|OL1RPPxj9oqwK-EmwK-#Y4omA9 zZOq89BC>-JaG&eGN7~O!!(j+341EcQo6JzWliHt(nhZ19- zDJ)U<`KhY9&rgi83m`Jiz~0?TjD4n%k#e!{mk{06k5^TO@+wh=@?xA5 z2?<%EjO9aBW1lH3ae>dK?*Vz~NgZ5O|r@n80w@#(J)!Jt$Ai z)PLvon;1A% z>EKUcxt-S;6a%NJP=Xw}i9sHzSORS~jDbNh@G}SuGyQ4S22M>XK{iOCO7h*oHWL9G z7*30%8iSmY#6asuD?z?H$iVIm4D+epP?cy4B?cjJLkSG3O0=5_3}^V4d95O9u6Z!_ zKE-)ZwGZ=PJh5^fR0}kLss&<Q7-R2KWK?ScV|+;~8Py^& zszqXqy-$%*mqiA~_>xvK>cU7d>cU7d#@?sMD7)6c7+umzKEk8J;-Y&a#YYcRWWlCI z*B!$*2~y(T$U}ex`_b&=0uJHfIF8?NbCGuHa3Sr~!=rEfkqQ@anpXIMYFgp^V)Kxu z8qP!fIK#9e*KlIshbacRg$wf#gPMor5>At^T*8S#zJWNG${k!_U{DPF7()qi1t$i6 zi7Ejo9v9N{Lu7^E3XWoFxPrqi9PkblMCKJ)AH-{YU3AZokh&$LagfqQerPDAqaT_| zI8~+N8aZd69~#|Y79@=f#&RXx-(#+OPNA5Po@j#0p)C~B%HWn zsIN=@8X_LSis_Lxb2cdn-c z2NPT}828vb3XkQwrv)MPfV?<_9+1Z&_LxM^>;YQ4hV)A)rDl)GlS4=^U<=dBtpn53 znM3HYo zqv?Repy51??p%-GI+;f2)O7Tvqc0tO{QA?mkNEqy(%grQFI?c@_pY8G+`Dsa5cXX# zlSWV`{u>twLg__^JrWnvVUL`y?!p!85Gm4OPbpPpl&V!}EvMW}SD6Rl8-qDI?4f*; z4tunQ!(orsa60VK8XgjB4QFDCI+^$s2tRqByGcW@T&OFJLt+MVl-z0YmU|y9-t_O2 zbg@KVM_Rb)zeo$W(oV+`E?-BK(!v3eG?h%N0MqiiJ{ z5&D%2b+2ql%%HkME3=xYm6_d<^s&SyYE@p2uad6GXG)65FI4_hsQ^ojY0bTq-z9HRUiwx(aL&iUVE{2z%c%ZGMtaqis0A z5H-4*2N~j1iHkLvHLsJ3Wu|W!B<#LH!fb?3<(W_5&dme!D2Cz{O9b8o$mr=v77O{` zSYTM*f)((o6xyi?TLz|3xJP`dAhE=!)+TOp7{A@&H37n=LkqC+bZCu#FeeUUoer&Z zXuU@8efkPXfK2Z`gw+sGP5gE}yRarYqCmMO3a6~%1)!VT$RW}T_{mkcSVe}>@-HnccT(( zc!if3d72E2y22}Bl;LP3Oa{OvVl3lTUSiZ$UaG3D@`@N~pK2xQR2(s8c%_#Zd1ekJ z>PoM`Nb6VKPRQdod3dE4ljE~SA=vub#VNaeI(nMY(E|i}I(q8Izsq#)!7lc-pL<}9 zAPJGI5h!ot+G0pKse>ruYNZu|#7A6L0)wm&$iOwl7);F7H+KQ855&OrBrpgXP6n23Z)8p@!B4Vvu!#7-U^Q2CfyxAj<+WltrS_NfUTolOQl+T$WJZjjQxv#~v}tflXN0I8x$ebg@gT$-9V8 zSZ`JUd|C(Wt2{ac?+#%!cEH`e#)@{E99w+HHnz0WmMmyG$`?mq`XfV2wdL zOfoFv?otfeU5Y`wOEPdKFb0!O^FDy_D*|5T#jm*TNKhbMcO*zp3^F3Fhgb#^+Qm2C zQTV58kHn~JkHi>*jL1k#gE7W8-jPw)ABj=dABi!-!;p{A2ICXTAxIiy+2fdeWdUWh z<9>RT8ye1ME3d^#CvC(bxD%^1#MKaEl;iI*1BV zCI%u|m>%=5?qtWymQQv1SI<^o>+#wNHo(sPvCUy4zjOWboC#_g#sNU^ieg%k5iTJ; zT7XOF@ScNpXuq3G#oH06DDs!#6<84c}^p| zf~%LoD|F2g;T5%ZH0tY;QZ1V5Ymz4^z+xhR1y5LPbRBFNh_R4%jc^=l*KEyTFlL}z z9WukQFRa4^g=_KH#S ziH8v$hr11HzC5?E`3vmQ`@Sw|+#(*i>S330|6)A4j*C2t&Fr$TONzIs%jD@LEPlG` zB>`@s$g;*oMSfY`JYG05#kbriGR*)Iw{37Pe4}EL*5WR=sgLA*f8tgF31xkucLL zz_h&gGMrcEb8%H~XmMo=xt{7KG%c*V0-S{{)S{~1(4xw;k}$A0T8RqaDYpiwlNSg9 zDatH_6jc^NiZTn?|1k>&P+J~@nG{qBVYY~_1Vl7)jaR+vq{p?q6fS4nAJof7tK9dD zJjHDr@aQW*DexOW3jBs`hS@;&nzuNZX1*Cpi2Q>5a!8rG56KZ1eXEqh-yD=-B=W67 z|8v1{iyY2TXZH#m&h_9!fb*Fl0A%(FAcF%dlz}?LQW>ao?XMajvu}{DX9QcJae={B zmeL4;uoXI^39ywjkSvC+yh?9zuMv=8gl=i%R*m*m23u*QgBrqCQnMQ`BF2BxY$VUMSQ89 zc%;j=N95`hU=+DJ1sFxHP6{C-*hAK3qh5*A70R!XorCIcrnV-R$X3^Srj<|_r8Qwf62k%1GMF-ZDEhAGqu zsY-&&i9v8VGH@a@2D9Vpn_ESgoESKX1>uiia%5l!8iRCPETNR}I57wwrxFBkB7c~ z3=9m$daW`p0Mct!BP6|+B!WS&C4C(ATAF^S*P>7`q(7C`Zd3zGDj3r14hyE2h>+>TvO6dZ>1XAtqos%{FfB!4A=OgE#9XtPxEfdyD#5r0NeQM4;zMEvwVTiyB(;y$AgX#!0@Ma1m}lrGwcFs%Yi%lqp?U(8H6(F6#D-Jv5Jbv9aacJ*lE z!|u>}qwdgp!|vb$V|xp&HEbcbQEZ{s8MILA47+0<;1luU!n<|CVsREiS}dd^3d<`* z^YAY6@b%Oe@iW0yJHZQha0wnc2=}vr!vpw|?jW;OyH5K2u~_cv5pt9Ly)**-RV}4! zR`$0bD`Aibvcmo*UXcAQxC;7Pa258q;3^?8gBnrP%mt;Rx}75`p_=0$VV84^pv!|# z&pgrq+1dlY>}&BeGh1=;+n&Faj_#%YKEYS$YprhE=-%ALwNfsq`*>(dr~7zhODFSq z>g8UcdHji0`dxuBpBVeQT^6g>%TxUA8>AJW^l>=u@Pa7Za@0=5Bh_(jbm!I8cjqA( z#&aP=NIvo^V3ZoC);?b<6fC<{A(*~ zzwa5^4N@I94Oa0~$4#YmJk@bDlQ(r-tr^Pa2tR(6hVd_|_)CXQI&}Drzp&wZI&`A@ z>C#!}@Tk^7O{6cwu>Hk{4qU8^pNN21f%Xk2BBXIt*7+?}Y`E#U%aFtoJ_jTz2 z5Xn?^uW67F3aJ-K2x$~g3E|l=P@{y9M*#{5L5FBQ1+?CdTQ1^W1vhmz)R$)~@1>O) z4{B+JU$Y*Da5fy`B%I}mkNR4k_!dHgOBsUHx;*hMqN+C}W>6KpKlPMcMMTZ+aN$OC2#^>hB2<*~>p3?i(b=Q7005 zlGlEI^FW5z>+(oKsuM}O{*?ddUHy0=E$e!TG0j#(=Mrs|OYP26ZIzREoW202^`tBm zezF3(;+H#}9@Q^c@Jm8c+iu;1H&flxo~`Uj zKb4cr^WjT<+UeijTWd_0p}pzPtL_8mG8>&M`n1zOTny#h10n3b0QzAIzY}zYg%^R& z4B<&2#m)Ey%N957iVc5!$yLplUa?`rRn2`HuKvU&S6z*0SBjq!{CNDF&T#ie{B{m+ zP4VO{w=jsClL$8^!WD^db0S=s2v;S-)rs&a2(!HC-(&<>C+0uj!XR!Q!yf-Y=O)6_ z7{(9lF#fOTi9Z>Ci2H)+&?8TLOSJgn`^d-eL4xMjtf#sL{hlbAcYNGTLag)o7>D3yi+U z=oLn3iPKOG#C#*-DLEuM(yuE48nwUYcG&YHf#&)Bqx}3TqaQRH=A5GZx9$0GpoNc#W{MvTbn^F&4jBDup!PXu z%4+SoIncT#fzJG&fzE#1=+6Re;(UW?ujy2yryC95X{PCI_WavMKVbAqqniSq-w^2X zmUj_Q1`;9(i^pMeGfqppjTjs;{_PoGoo6&Vf zf6wTpM*qm@^?_bJBhbGLb64iZC&TlNgMn^880a0pALu=rv|Z+&PucS=M*rUE-A4b_ z=nstk*yzzf|FPKURHJi^t~7dXp#SUqK<~5ny6>s*{MdT~eQu9vanW?6?>2h5(LXi1 z+30qoUo!g7M)w;152OESbRrdX98Uv+F86h zw6l11XlL>2(9Yu3zhmh>Wb|sIpE7!j(Z4r(x6yw!`U9gsHhMJBwqm1G16>owfAO#H z3(voKhS4=ff5Yg-M#J}3{F{Gf&o>(VZ$`gt^qWTejqW%4Uq;6Q{jEx)4Mxu}x+c(f zhVQ-jUDm(vIw!=xtJi3lABx{~l|BEt(Z4qOcSd&_{f^OpH~NIp=K_6q#^@BIbBwMq zdXCXvqaQT-vq1l#$mpp?PdB>U=-Z6`w$Tq5z0&9=qkm=e|1o-((SI@ee~dnE^k;!y zTx9fAqo<4FS9;b-`yd?yZ{aae^RJLC_P9dJy7pcmBR;;f|G~C?1hza@@NI=+Dec>F z-|-1ehV51s$Eoh#?*8sVxBrFV*E3zsKe}SdX(-f}!)Rki?#nxFy%>R^ z-0`7@ub-8K=mWM-EIZMY0kJq;9rQY|va^51KR`bfU8675cOiU@d7I$nZnM{Y*7O9p z)&QD=;Pb$Z$_WD13`7P=-$1NT2J&yi4^hr7Oi_t9?A%DnM14X+&ycX14`%d{S$(Ur zg93ue@1>DqBEF70;4E;Zg%ldqxR_h0s~W(4Ozj~PN;Kk$827{L8F<%iXv(R83c5Ur7pAS&#Jh-?Y z&K#AMUtEaYLnK^A#BL;D>JyM@1ejG=&*;KRz2?}XBOz0|v@+ZlD_?(XDdB8v>1v;j zq`ikn(~-n)EFDRNeWr8L>pmxOHMLon7wCq$i*84`df)dF`1b#L8bD28IFVkkhA8F28%UlF5*f}sdzZDbI$b;r;+$_vAY zySU;m&N#d~ItDsh)+*7+&Np$+r!#-CEEkJ*LLCd>Oj6;G3Hp_!(X=?2v_MJUF~{=p zV(v#4G_GZVVIYgsJqJrS6ALDZVLLm{%j`LD0=QY(h>t$eV7NCQ{cOgxDH&Tj#Vxi+ zmLt^R@|X7Q8@>kzD|h@?-S8|9Ca!q?H}rU|I|uQF!`+1V!r^Y|ED;dTYUB~W&PVxH zxZ@TwqOB8^sHGVh%(qSmWW>v&%jrWGQ%JObKyZp%KiUm?Lmn zE(k{%z-w)3!QQesA-7geH3A{b#L8SuLRo&efW*argW!5uo^W1U{tB9zez5ZgwSa7*%CsUF6Zy3ISAm;KFz~MdVy?b8xGBM%sv!1Q@WGULn z6BV690FTTn3>A;=>OvyqR>D@{oFbnsAAgaljN6kQ^5gdWtoBc?2tV#Wz|d&+zS($l zAXS5vJQoz+DhwTCmOZDTvcu7{gP7WpP}{(2iwrPHc`WhY`EX4tYm-M02|Ss?Q6K3| z!A$`QSm9_ZxHq-J(bf>Hij0sVz=$Lk(XA;0q_rDGfbBgv^@Xt0iC{(8*#QxW)%>!9 zGr#2Ky9ff|thcfqXxT(bGCwbsF6iXJ++>jPo@j+Ed-#?fQX1RNQU@4sSsQzZxRNDi zm!9;okJjb!LYvu__cizKptvhYg#;7(JonO0nz9eAjtE!@l0 z_rA`&o1dro-EEWH^MX09B_Nm`v#k7ZCtJRUISu)#sW%0hZKF(|E`NN?G2o1fY^f4c zN0Efd=I1G2iK%Ck8d%Cn6TlGn(YIH6#rCWiS6y=my`zAlTy2^nsY*TNW&6*BvtVz!e~D8f+-J9IYtjG~dYaSGoU-D6WI;Nd7s~2j>bRu! zyy;$h@XYjiI+&AO^a7vgvGMDX;=f){Wzee*C1Ej*FgDR#h^5iP-;=yHrmlb=Lcps* zZ%+HHD?^zmYX$7vkEM8Nd1NW6clM(cNp>rf&dc{qxPV3~XX~_bSC}3yP#J%h@pl=2 zm+^NgBTYPC#`9%7Us|Uo&CHjreu~9MBALu4@~$>@rPC^wF0GhWio0kBn)31*B}y>!l$YK(al)%g;&l<^^Z1*OT~$^kw4ri?eD5?YX$Q6|+bF~#Cf#Ei z?@>pqT4Tzp9hoMCAk)S+M7C|Qc_K7TT6B}zgRP^N0^=|tHR^aM!6t#mF(nAAi`i7D=w|x0DA<-V=D$Vrt;|;QL|MO zuy#}a4kjgg3J8DcUq`kSXA2xD3s%Gu#Nrfg5U>(e-QIi9?VYYnZSuS;QAB8(B2vwW7$A-~#zuWg8v zou2_}2SliD^^y>?Qi&Nie%$!Z-T4=*=ToMGsMw-}`V6_>mGS6e6NChSe-8HvGZ3bH z!u0o`0}>-f%Ybybx))hKUIfF=Rmi0fA!`@ElG0?SnWKvl4oD;5VTAfVari)uAsvb+ zLrZ;&Xn^b>WVS@m_Qr^yydV=dbKJ~!jFGUe=X-Dd*oDC#w{RKPYa&kA{^NASB%VVU z30$SbL*W!qB*%2kWQECtP)zr~2Tss?ph|c9tN%b*qS0RMsn*`X~-C=j@3FoyU?qbFG!Y$+e|HYxP*lYf@;i40F2`vvkXwdxW^<+2473uW8yJ}1|T2r7{i&fyIrkb zgn$>if|bQL;ad_c*R2kE>8f$r7`iXF9`t%g!`%0A>r`0%5L)))eLc;EvY4gy4;Qx* zo64aft15e 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 literal 82969 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 VmFGvEA8qSEm-6KjxY@Gr{||y^Qk4Jz diff --git a/sprites/managers_office.xcf b/sprites/managers_office.xcf index f668dddc3e10c7cf0bc4136497e26cd8f79337f5..10d09acf9a2688a8f3a895874edcd75eb5ea8d55 100644 GIT binary patch literal 333548 zcmeFa2|!dwwl{vE!F|^lqlVxT7orXrT;ke-Cj6JM_zj0&Pj+Lx``~vGejPI*>EUTPOO|9TT>*Xx1G|MU%UG}?BRw#8;fk!l=`&`{ z#*i)|>cS-pGBbu}E?bz6GK~H9kmW1#7H0%5&sn@MeQ3KO=FGI5#W~9YhX@$HEHiaM zV6gZvWGDouItdO56#rrH&zJw(g0zK8GXq0{!Ix*}W6$uFOBb#PT(~qXD`Poo#J{Ki0O#x_5$BTee_nT1H@c zPR=rn*9v~v;JNVYhwe%LyS)&w4Z7inT9_)j@n3)VDek^1cRQ6kP~~o~a(7Ud(0dCST@8^#;J@Z#&pINjO!U+X57VifU%tM3&!slFA;X|W9-2= zkTH~TDx--popA-@dd8O-cQGDdENA?J@jJ##gdP1DdoT`U3}u|kXktufT*0`W@nyzc zj0YIY8NXosj`0#i~|`%8K*Lu7}FV7Fs^5OnQ<560mgF1FBrdLyhPa9kFf{i zK*mtUsf;GZbjB5o>lt5W+{Ji+v7GS>#_t#}5q9xo?7=vYF_dvCqlqz{aRuXg#+Mm) zF&%Q|zYzWkuL1CHMD?q@7x{G9Py#*2jA42<0w2QWTL_;4g)_)x;sXBg?4 z=#%;e``=?MW&9Ik4dZ#jGy#%NS{L>QG6pjm8D}%5F#a3kGmOs@X7(Xm97ni}uKzyE zda-{9<5)(n&oU)`7R!ImxS8=4#@&n`F#eJ8zZp+4UL{=KhOrmp5XP~Lk&JPSS&Tnt z+|2ljK=_m2MgQq-pxc0M1G)|9HlW*pZUY`{pi_p__;}uZ1r2Kx#t)S0^U5qWT`hGr zmSZoa4wM=TEceL`|J?KM=&S+f_irt8kg6iEGar(y|Jjo%8HTL087ZlYa&nd|T(~56 zLqWka8MDGhLngD=zqZS;`|QrwcD!9!xNq-U`%1p7sj1$XzcdK~=e@GO$WVIr$o_*B zRaM8z%8q??QI>x=@(hEF#{o}Ct+@bfj9rkS%$adDYz zR?ZGfjEBI7r#vyoU^@Hc6Istbmzx?FpPFILeQwjdSqn1AlRC8wTw$1aNSd`^K)or?N0`ogqr24KQVc~tl0;KwoEyX2$ivy&_u;Kt2AiP8X z`!oz_h z!eUdim*(UwU6hJObSX71AuA_mQEKXTj&LvQXmT3uan z=uk!b>dPoQdK9fwL^xF8SKW*}yf2m48lt5GT6gQyKPY5GzkVY^g3!Xx4SKNOh|tiG zpr8=4@O~o zQ%t558X^&i2J>YMGnwW*VM;NW>oLsF{MF?9gT_yfT_99rqvzlNngzOFqmj6_RaFi{72TpCCZ4(S-NCl7Wh>IPMNhAElGK-m2{;L zM^ItmdwczNU)}p&q3{|Cuf4Z-_wK##Sx4I?Wjf!x@3oXx(rGb@a0V|eJ^Jy-N6U`U zxH42-Ls8i=>!7=&O!ei*3UfeF3?`i2j~*@iV`W+SaT;ER>T4(}KW-g+mz2vu#qs^9 zsLJu<%F2(m=crQjs;F12iZFE?{rHpP8mlNegooM4;fA0ehX&y_g~r{8eh&@`0>2n+ zI4UpMt~X}FoqNfDD~noRMjVvONnyrf*O5>n$vfuJ1O?Wc5bS8-d== z>z1Hf!fj~@w)L83t0UnDc0=;A)}Ss&G!7LuJw7qm{?oI$xW1u5!Hc z=;5MDPb$3FjrHKg?zUCjg2e|vD6QnBEm#4!=3=i>0qf(SLM>QQeE5T+N?HwbtwPJ} z+=8?S$gAuw^3WCZR=PJ#!|MT5d`Qb6#Q_8}0S?kb#r7Lp+_Wob&|K<`hO^Bx?(^_M zgC-lN8+5KC54)Mx^|WcIx_aE2i=B?^*%@>ytvZg^45ya>&?tAQ;q)rwR>M^u6)y8| zrQy0%sG&BL^Js2WRnU@dGf`V3t3X4#R_R!E6-|YVkrluoyiDh00>M zPdPWyg40LUhQR1Ywm|D z*mH{ALRtTr`eV-Qm?YS_4P|WFWA3!6KVqOuY2TX{+WzJ*Y@1)b%vslMGOk?qlHOK& zTdC$AyYb%wwxJ&Tj@LI&HmRO<951Xcb)f<@>)36YKdrhZyHn-qPVBdbxf1r%n_=41 zsBD|Btef?<=6lO8HLRu2f)h7QrB?Qgz{wn>ADbs_&-po{jWJ~pEs#^|=$NYgT-`DwGSrn;iF zn^|97mnOERchq`2-vZmXf_dUE9nNIPwu4iuqf)w1b)f9_ZWp`5S07g%|5W4QE45yu zIEIF=DLo!bYo^)-J|cGflaG(`sW(m8DSDqCul(2>y*iPfx;C1!)71>64(AZ{CefS3 z^RytW1kQ)s4z=FM@phq#mYC>Rt@g?50xrV9E&y-!e5)>Db(*1uD|F3JYi4dOqlRTx z_av?|H5miVZjv9BLefFuP7Of}7=yrgtEmXddn zXegxBys%NkiEs^FaN26kcvbb{(tp}IeDJdB#ewb9V)PuZ#BDHidR^nq#%Zx%r?R-{ z6E78g4xWMWQ*rP>N#${`as)--O{qBe-hrY@Zxuz3@4S1c;#fJ}b7-uiQq*_fIq03@ zX_%34UOMm|pce^)%E_Ss+8((Ok#V(59eRQ30#8Xgk^! z#V#nZO2~9JTI(owT=DXv;K9+T=v(z8jzzHm4W^^Hq@agQLl+7!^iEeDEC1+2+U*6) zj^#KWaq96n`cGGt6~6Zo4k;|}v2q-bxR~luv979gH*Qn=3CoLy1Ik+TP7A%NYO(<` z98HR<3=dYI-Du2EttZSzqn=XGYM8G+{HXlcu`-Q{)(nqVe)Qh{vSZ~M^-fn~i(>R@ z(MH-8A^M)uvi*f+)z&05HR}ywSVBdTI0GVu@WtV}^=iM%w&1uN3Pz{TUG;sxt$dv7Sl#KbMoe4%J|Nv2g))4`0(3WcVWenUg8X*Zd7#ofgDr=C50Z9STc5ke;Wjp)V{NigmOF z@r$>>)+wtgkz(>v*vKW;#hb7}HPKWTHpZ0oE7-*a7b2&Hy`+n;ir|fB@+^dSgm7a?IK;wiK=%`oRtBUSR zjgMd8wW^QlFK`!>Vw#hf3Z02J0Ge}U)tD!qj8FAa^(1VG!hE7;no_(}RSG;a%4^k= zFnQsE=##KhVL^NhZ?97B0^PST3=bS6iF3TqRn(N0kg~GPiP%XRE%+p=#-M6U%CdF& znck?1eta@6Zgxz{@(sVrisw>ju_iIGJU(sO(%LmJ zS4Jce6QyDjnpG30s#U=d7id<+91|lV5>WwXr}$K_RFwkbQ-YVO^JmXaPK}?Nkem(^ zjd!`GB`2q4q$bRYh6J>$0#9H>Qd)9SQgRx)QWLbRiq1)%9WixwGN>kcqnaFJgwB~Z za^y78yP&!tSzPiwUT>_Ve;O(N^!P2?0y<@)PMK&&J+9Lr5(WDm+YTPM4S(y7^4$&j z*FREsd~gKMc+BLulz+1-TJPF+wsOwDK-X08e)80eYYee zCdq`y3>B7m`>&deio*Z&>TZsepdTAqwv@z5*AzE_A-g2nC%sVocL*=D6Ore6=TUs`U z?-afyLB<5z&XFL-Z5ApG+Bxox25mgY&6!&B01et;t3iX9&Ty|F?c?;E2a>5_owaM= zE5kz-x`vh>bZjfPqe|+l{tTIcM7Cl(6H_RM%XooHKPeTMP8J!3>nlc>RRT zwPo$7jK@Nt1kF%}@rDIBuO>CrTIxGlSIyApZGF|$lV0iinQt;rxagsqo-123oQG+y zK{l_*g4o=Vyj5!l31vstSg({F>BVnIMsG{ef6x3H!|13YwqU0 z!rQ#@I&jakqMxDOpocrFt>}D?jkh;hqXu5h)BE=wETxB^KrILHV)5oK})h-Ti$2+D*^@X3tSlrFZxW zK@_OkmZNZ46xm-$^+M^h|rgz6o?WM4e-$ z>q4FxgD(mmUE?b=Q@>hGnsfHsfpGmvTxUG%J8kK`t&#vK`Dmq!dxuS z6#EVzdJ~v{gmJ{HXV->ak z529(r(A1D&El^}3-I1ZnJ3Zg3Z>S5noYe{ul*e+Cg7^8=V+9SRKR{{Akmro}qm=Ai zPEEd5^;kp0?jNvuYz$c{Md#C@UsYpyA*dC?W)2&ZmraeAoE@lHLF-rZ#jR;jRF) z9=0iRM*c{H$nomryi2YyyQoT$80b9pC9ww{D?{2irG}a=`-&pc#;K~P;j%9n60ve0 zR}#6hMrJ)F$I{ZH9}}CiM#U?F1riJCUwTzDA>S22I*D!Kjn-*#3q!4r#nhbLX+gtB zir6q-DB3Km*@|8jRn5hH*$Wy^J3TLWL)CgZWjNoC>ipPExPkR1Y0@Moqm5&cA|)h* zh*G>E@Q4^|ocWY#O33hubLP&RIX5vOHD^h@DJ4^oTe&Csi7>`IHFL_?;ekUY%zSF@ z%vp*5w*HrCreqEDH9ir?k`kvp5;W++hlXR3rzYh-w`K8D@clP6ZHV$lN;v|TkQz6t zl~frqEh+x7`+7V$c$lbecv9}Rt;^@ljZanUD(|D5=#J~tZ)ot?Dadt#`97D6^fzi< zt5E`I*(sJZjgz14ke%EY0M z#V1XRNWvxAZJO;0>pN=f=-?@diO{=d(A8>_mC-ZjJ~h)gW{goV_kixQbwuan*`6z* zeP+&$nPL>yjCPr|Xi*j}3u(|bBPUbx?CAMu8K|o;6=~1~dx%I%PfkupYewA#$YG@^ z-&*th=%~5L=?3$kg=(huY-@q{YHn0?vZCrmiG9t-6Q@GQWI}^tk)>C9>A-l!dfpTj7R7)(EfJZN)01PTPmPX^ zo0n#5ST}@@CxMzSJvlJ}xe=42r$MGcuy(DQR|JbBlFIp;&e`)oVr#joU4&>+~+pwji5IId^YJ0Z3MS0r2lYBVEPXabgtJyoa!Ov z+mk4^xuw$S6R(#(@z%DWPI9P?Av=25I2w z2Pjnw=fMZ(hz^lXJUGh)xa<@%H|uF8(joFb7di@OoWC-Gkq$P0dnZ*jc<$Isx_>v`jsSCzUXBTj*x7aCd zO7Symnl?a{&MuH@4Q-3I=bUnvuWiopI^Wwy)is?h?(UCEr3qHdAj%-(${Ni7qh>Kv zH*9Kb4Pe(|>H)#p_Pl_u zo2)5uu}EE0&Mm7ePM0(@Uva*qnYyC2bzO1iU~gGX`&Vx(+a2lc+*VpCgRf$B=xQkD z4eVc?wA|!$EPSH0l}=jTbLhC~c-9wB;JO|VqQM-Qk-Z{nZ&42J+dpR&ccPeR#brKG z=T5xyxf6BbktW0=qDkz?pm4dxBPV1tTk=8^{zv|h(KRB`a>ciGp{fbJmZoC*+H?8w zTAs(+ftmw**bUANlUFf-H8VFXvzEFwFSj2RHDZ!F{>f4JLZXK3ta`*GMJs?B^e!v; zAy?Y9W~yl}rM1JclwR10Qb=qRVZ9o<;I!466+$+R1Zk(O!$+Zj)2b*q(vDXWYaKG; zX;l=IY?Z}DpD5<3QISaCDh?hfsXR_&Te~8VxmFx}??6$dw~At!^PP7ORU9k#qK-;Y z-+kwxcZ#Qh%n#?K1MfkOz>}xFRe?URvgpXsk^^2A^)%FwmJwmW6?pQr=SbfTt*8K| zV6+|Wij_)^#IdVg5eO2kE1rTXQKJF)R{e+*8POsl#iDjS%#SVEe+vD&wNyVe(q>0<1Jr7GCCfhbqRz z#4RwGHMVNA>-cwTt1gI7G%w16x3df82?{cgbYs5eZ>T>O#AoKOTSlvxaJtDOXPB=U zKHP?DbPM7aZ+R{kzM~}wy%a?^v}#Q>)rE~Qx#4p2HD6NlG(%wx<{!w5wRFq1s#3)E z(XMzBzYiu_5}C>zd9mE)c@n=%CK%*^t?Vh&Q}$e3?o~ye>8aQcG)|OJwAJbo;J5x+^65)evVm{EEE33vl@g(xx;Z&ko^(1VXz{pWEO(|ZgDg~Yy<+bWb z=u_<3Ct(A{g7}yiZwd^3ianb+$NOAGP3iNHS=r`9>?DmAd=gcGXczaGEL)eK>5Z!B zj3?vbX5;phUuDH}DQKv=H$*Y9JU(sO<1s1O%X5;w$W@H;Y2zl&!ZENQJ~?N3HkMyQ zrmPwE)I20MjmP;wqvlCqdQ6x*b7DjiwkpkNnpJ^cGGT7GqMB&V7G$m($_qT2unL4f z%$00dYp)6-Seq&sqM&lsoNHo4L?Y&evlB6mYF1TpMJ`1zRp-y1olLZt3W2QVT!A1p zEh9ByRx~7_J=aVuY+7x|;+@rPGX+@8?DN`Oy9&rKNbh5MOMT9sBB{tdZU;`|Z*X4;H)9P2KUqk>U~;p&lsw zn#-`}A=y{<7a2;=I<2a%sdEb6N=`xDG$nlq-a|vs69-pwIjIIpw=U)D;0<%jSLT-L zOsBKd=`3|7$2*k7P#?Vd;Jv=Vdutg4_1v$Q0rGC;7S!vdja$;j!RU$@2j8IB(WJIjv8fNYq(`Ka*_ueJn=G*gXM0xnc7!rydPol}agCZ79-He({+U~#2j2!nm?wv0eaDZCS{;)5TQR*GHWw2NJ7YwJO$ z%TAQ&Ef<|EvCoR@d?zc3g9z}#l8x?0H3Xd(5`VSlL}v%YU$;tjw2Dm#`J7kDUWbmC zK~CE9;gfP#6?Q=l*(fRsg`pQJ&B&!0DhlJH7X?#@CAF&9h&y$SQoD)6&LSO1PVeQm zayp;8Z!D)54tFX|X%L+fmfDQBse)7XQMG~{Su4$l&WKlCs?cocNrh{PmoYFJyj-gf=jV&vuLLg&2HYOdazzQaL%zSu1ajQ)O4wceKyhL!GrL8_eaz_2tNnqFJ4Y z#@woBx}tQkewVz;zQ43)&If>q*1M+T$GK?4`xje6?Kh#?4J6TuF73pn#)g+Z(>H3*3G`EZHBvrO%INfq{ zYYX|pL7HXDvYV5yP}aMg^VT`gfyCN=Nb7CYa=hO3gy5w`>o)0)O$xe4_1G8JH=XYB z&Zm3y*@KKJuWsM|>Yh?!PBPf@0a`y!rR*ywZV=1hRrTp{ z;)GI2&|E13DbT*dhu#EIpkpG#s^gy!CzK~eL6}qyG(=TIog{clXt9y#a$M!;Kzu~! z05mAp0(sTG!{tD&_XCww;b`(u(pq54I=pW`uw!|r=Uep+bwM?ALut;B6ui%`9xDjz z!%*5Xq&y=kDW!TY>4$u)>am7~-9KRS*vPU}ipqMgz18?tHI^5GS|KwzI_Ae~x0jk| z9V>%UBF&kN3e1+7bFEHQ=Wc9dBC~4IV#vskhyw|lUZF3fWl)6>%6VO7AepSkafDq4 z++_+so2SBE0g^q8gY=Ox8%Lol6IG=8)+pv zdpK@*bhrg*KE=81QYR*6ychF$`Dk`-KPtJ=HBKWhH*uAW8aq08N@8NfR9K9}mrcm0 znN46icIcw3PEL;WBkgp(A zN}e4(9~p^ISD_iwpqrUAH6kfJIXOL(br&E3m8N`a&GVz9<|e1Z+fb2hruJ-WfwXFF zRCKbU>P3lt&Bqg`LdRr6fu~MQMDi=*RPtO|UvoXGaHh$#XUz6OGa2e?Nc!{KsM*Q$ zqozL5R8x7!ZcoYr#Z6CsDk@^?)QG63lGE{Jc2ia5<-Wb@Niz^fr6)(DZZtR&<|4_Q zW8ctX$R$VB`O&D7l$e-=Nz9n7S+y3L6|KxlAoovoD!~aQBCu&!% zH77?K$4pHUS$d_H4s=zl=S@*z4Gfsi64LWrr#YX zHXJ=$1mD)Gu0CE~cKolGWcf_di_dtZXqvtLwOxkYXLr7~9SMp^|P4&+F zrAg32KYKDI!;p10BPDfFPR^2r3zy_>C@6R)V^-K`Zo-GB;I{R%%9B5kyTi+>P1i>e z0r}p7WdHGSSaggjHrDiHbk>$_xvB99spibwZJXyku_((^i5?moKHU&`c3ODC&(~y{ zX3jFj#bvHpIXf&d9yB{YG@+8aZtE$k5P9QPY1mX!Iy-!>0Jzt&cR{fy~Fa`mrBj2K6v)Szy52StmxM! z*P%-W&;B__k zhn7Htb}o3MVfzx1);zq>pre28&q+3IDinjc+T>X?!Ut2fV&|!SnXC)0)S1YGH7QJN4j<@{_&%eFn zwVm);rEM?mF5Lh2jva5eFT6}5oIwnQ^(ZqG*1Y|2;E1r;)a<1>OX2@TsVNy*S*dXe zSvfh2QgJeAz4UuUjI+zq9P}}w*_>8wm&PZ4W&f?+9$4PoQ z$i;~TKeMK6L6x`O!jT+<8TResizWL_?e6lW+B7TQ+eY=P$@d41pB}pa-@0eQ?&|0{ zv9Yt@yBpNbdcQpphiH4TS6pd`i{2%o(33Wr^TSAwct4Z1Xe^N(x z8!&R>jF{;0&eMefL$xcJO9t7eaXA}&5Y4#OfNr-h>weT)IEyY=ZG z6f&Y;zY(FKAwh$O1_cdzP`HN<4WY@o-v~qKWeOTPI4HyrS|1XGAcvrB<{L`o$;Fe! zA@K`V*%LM`<*ma;tX7c}NQp5Jl01Yd$wR*h(f0}V_Ki&XlzW1FlKUdOj% zaR&YLkCmU|?bOku<;Sb5Y5u%MUNN5@C^8(qq}+2=9N(YQN;=)_Z^!O912EhOWhN==~&;`Tl#q%utSKcEKF2a? zR!r=Yf^E5(a7~P!V}HLIKdO~Q{<{7Vc@s5ni=&Wenj6-$$5e0=oyQDM_(%+Fhs zNt3D}@{;Xdcjj=g!J&T%85J5L=FgGCgM#oT7iY}S&=LI}95gg&EZq9iTx$rrWV;g{ z)(dUW+ec}S@k_!v&2hzbCB<7pq;X;O;b9?N^V=VlZuoO}8+gvuf6Z##b5lG9F?4l<_OZGmLeFPq%06!}ti}c*ZEkM8<5!)r?yhUuE3O zc!cp&#;+L9FxC;~w`c6b_z2^8#wf-_#%#vbj9VCAW!%engz;0xuNcoT))79_p0N+( zBaGu2qZktzvl&-2Zee_taWCT$#!nf)Vm!lGNBGP3jC~j%VI0pG#hA#L&A6Iz3*)Pd zdl`=~e#-b2;~B;}!e6y#?8Ep7<9Nm>#ze+!#?_2l7++=F%XozGQ^v0t&oI^zu4~WO zhw%}{@r+T7iHzBds~NX2zRI|l@d)Fmj9)RHVXPxu-=47#<0FjY8KW2z8M6sDE~fbmhraK;$MG{)tO>lj~R+{w6~v5fI^#%~!f z67DfDc4r*G_$XsIV+>;&<8sDzj4v_nWZchK#`rnow~QAF-!d?EXB@!zC}TKd3}YJO za>jLxFEQ?9+|O9X_&MXZj28*_8W_7X4q$wgF`O}mF^zFK<2uHd7wh6cQWp0EMxqf@mt1=gzp#_yE6`8e3UVqF@`aX zaXI5U#+Mj(GVW(AWBi=)TY>QBhTl?m(eu#TShoS)26P+HZQu^Gfwm{4`mP~i;lsi@ z(cbG)>(6~wTr`Mcg732xVa7p_0O%Ry#^SIs>?$%UE}QIj za1F7)CumzLjionmzS7v@dVD44D~-d72q+0x`%pNtxW1_PvvZ=Z;0voahOPL_uI8ea z#-gS&hZeeZt>J6m2Kqfr)AsOPD>ZDCHvdAZds&`Nw3Pq!hF`84hw@)O zy>zs6WuvrinWm87Nf@RzGm56v-H>QOpZrt@@8Tj(0b@`do&A&TP zQVzaVQtqnkZI*+btsX2Y3*yWQBv1Z)dCJ} zW8Z2UC2mi3JKMFswNI3Ovh^JGq>w|ut`Ys3?^`P6>pkAoF!UbR$2dxSfoz{w*!LUy}W8^=fS`F37t( zliw#bvrn)<62lEFV#7zzA-BrEbZKJtuZg(B!zK`7+NLR^?ae1=KTK6{XW<0ViXfm5yZDu@>vFRbX9UCQc)Q>kiP^d9w!X4>?Z(a0#sRKX2TA|hvUW*ET4wf=#o1Yg z%=1~FEIJ>-gA|WgCC@)`1U- zN{*J59W5#P;J{nI+qf(xHh$^Tzr6Vvjx?K)7>zWjX2fnD43(h}1bulVJLjq9Y1 zeWfee>tEmZVM$pH*Ue?8s0B0>khF?-+yC$TI{0L@T?+j>@78Z zRCZtazsf#3@OoZ~dGQiyabHO;yTANWS;@X_%N8VLY@XXdYy@`bmod=9q-m?JlmWW%k^aa9)?dpcSFzps7-UNn(v#b z&j|XApw9?RE(Q9Gpx-0t_Xu!bVRyrz-y^uVvAoOg5kjqR99sH`#2?>z^dB*HqR~IB z);MwOi2mLEAGGG?FJ0|1A#LN1cMl#m6kR=h@ZB97(tnxPJLgeI=K*UvzS5O(<`)m1`1;(H`quL0`YY$YK5_6x^SJKnD0QoL ze|e#Og$J~`U!`APTJuwVSGl(Sr<&3i;sew{jb|I~lWQB!R{c6Upv`?M z9l7p)`C8q%s$a(ksKpP+wT}pQI5?+=e^*t456X3QC)Q5ru9gMJ^X-Z9oeRDb^6 ziE7b9azpJwql2X3aF~OnvB*vmD0>n>x(-o5(llL%yrE`}1q6|kYB;H^W0N>*xxTWK zCU(*l&U(yg*E+WX7bfG<#N3#rTXWVh9JGxrPb1X*_-^Uh#C>}DI<7Z+PHbcw3dalTh?vh*4qG_6x5HBHopy8@F;0J^U7sQ7p_>j zECUZc`0~kzyXizJodV^GNk01?Q=F1yJq^kyO82c5VZJZ@fssy#_`X!a{!bZC3KV~= zX~2onL+=QY&!J+*YR11Yo@Hzx`~XkTg5C!YG7e{)$T*8}9^(?mwTxRCw==%OSj z_&3J0j17bzc4T~zaX8~d##xN>7?&`vW!%cRo$(#UV#aF5zcHR=Y#=<`k?}#s;fxa* zXEDxWT*A1PaVz6?#&;Nt8LJup#(0*of$&I2#s?XPGfrfj#W;^~3FBJEt&H0l-(f6f ztY-Wh<5|WA!lI6h4>AsCoX9wfaUSCm#=fAMhmO0>V&gKi@HwukRSj z*LO0fJNa9RH~Au=(ZJZ9aRB3^jGT@!hWyh~2%}FC&ZhSEojsQPvAYNp@zgz(H*p|i zC}CO!Va6dwE=Tq@@@Ma0Bs=lV=J_$3+SxbT!r}kRC=)L3%=i#t&M?9igBf=-e!%!g z#{XvI`mDH0{*`SQdod1S9LpHV7{{2!_;be1jIS{6CR{})Z+-C|1^)T|$5p~D|IK)c zk>v#(ub>yn3x+U`WsGEuW6WawIpb!=R~UCQe!%!g#{VYVI*;(VwS?PF5k8;En9I0{ z@wbeBVB~&%zLNbX8NX+|Lij>!#`_ruGmc@L&iE8#CSxw+CdS_~{($>OzMKgQRYFs8B#jxZ1};1dle=?klN&z@*5?!0ElE`ibV1s{&UF z$1m0g!UoLxev{^}4#eG^6V1O^AFv4=0Tbu_B486V%7BRz`}tEqU-VBhn1?`6&I!T z7}v0=-WGXX50zLI+bZ_A#-6@v)8=kUY!GwoX^^B<+*-sAG*H#mVvG&qKxhHAc=M)} z)3_PBY|7UgeA8yV!8fby@NTp4w$aL3q4q=I>g7l4$?#hy%x?#C{Pf8yCvTd(Ip5C+ zgVuw;Enf#(!F2%Q_MhH3F|fB3xUzoLO7q0tQh%CYdP)5^iz%g-G>{}c(SfGWQyN5) z9_T1NJqY*b)qdBMF!WNx(En z0;WL{Fb$G`X^;d=gCt-YBmvVP377^+z%)n#ra=-g4U)7%2j-4!&Z0bi=s<~|G?pYl zct8@QIHYoDI$?KX(%C4<9Vbb0@Fb}LlqPt-ZGo3pb}6*9zqKsM zQ=mk76QqVIdHdmSUfC%);tlRoG9dVB<*`yd`hC%X0$+JFN&L`(5MGWgh8T2*da<<$sKC4=N{6lVxJ zP%=dBLXseKpd<(m(Ta42p#vquR?#mWFm$YPF!MGp+pQTl!#%45;3e$B8C-8#IQn%7*;3| z!wMy0SfNA=E0l;~g%UBWP$GsEO2n{2i5ONW5yJ{4VpyRBhZPENSfL+=75HFSfg6U^ z2^dyC<+qh#Smn2Srpe&)MhbU6w^b_bEaI~s!BPkOJcxiA0`}?9sA>>fbBV8@z|9}O z@UsQnxOTi5dDzV0&g^)-udMcW+jrpY(pR>3@v67)x=^)7aeKFmr?&}k8-fc9@bZ82 zrd88<4Wo;)RM3`QpYdD%PAc&_c)iB4t>X4}u{$WSL5wfsIJQ;X(Jpp7B{qmvv903H zcCp(iu|cegZ54O5i``0z4PsSntGK&eY(FJ7h*hzz;`{7k`)=kI1hFc%uae09O6)pZ zgj&gwK}wMu11I`UXW;`B^+DB%Hi|AufgK3Sgj=?;N6($;dz;?@un-8FqF`gx%E{Bk;^1_7)ufg3 z=1H53@I$;Ee|o8JUccb#6l^EM7ca0?h~Cw}Rw0tWRw0tWRw0tWR-sLGxLFqwm81!q z8o&>K!3V|u1^m|MOV2o%9q-O-Te|7)%}gvAb}p6keM%)c0JbAdgbh;ARIvL48ft=6 zC$>bx?vG8_aN{K3&GoD2PwF>T@};%~2W>$F$8?{_#z_P6eIAqA!S2KXBc(PJ1P*)$ zwsQJNsomzrRRC7M?zj=Hp?9V*w!6c)^v=ACI}BZG|b6 z_O_0d{75ny9T;b{)QTjb=s-!R)P^K5o00@(SCRyy1LNR639*lM1UgVMLh6K)kj}%< zfs$cT7d+!5pd?)FW1$X8^LT0rPYZlEI$X7-*V0yQxN?d%`GWJ*e%LGn`+eKusypli zCfBo8mrbU-)Geg9hSt_-uoOtT{pt3i)m~aUo^F5kbGvSdEp1`$(?k2Sokh5Xrw{Z( zsLq6V*AI9eL4I};oJcU>VJQRdoo#D%8Ki5E=M@y>J>EyUiiZ?xEM<9ZZB7WzE32s~ z%j<);SMVi0O9AMz3jzx)vTP~vml|cb;r4})8i-RP;*bmD)W~v8fz|}HWTMA$-wF3v z`_!lnu-SFLdb%u6Wyns_*=jlUeqMyzIQ83VYPP|b6P4l6G?n`2ES3WIG1ioot#KbC zDladpmDJ$lDw~cl5@81^4oJrmbcVt$q_JuXqOs~m%Sn)Ry1+1tLuNeBU{Inu=po0r z%@aIpmtT`Kx&w*EnzueHTMeWV5pYCHT>{we2xqshszuPF1(H9`ix3|h9|X@@dZ?NY z1Qy9ar!^qXtTn46QK`lujx71(4B4K}jX4Xf!9dL4Ss>1>;&fY2`>Z)x2*guo&H`(| zqC`!5In{(f)N}~6)(C9vSxawwO>PhfDyUHh-A5&K5MhnfqV5!{uPRLtVHwmS(e7;v z>YpvZy-XHMK2k|1Ku6+JeBWrMiw8c>QW5UR-dg1Gj<6J z!bNf9ylN~m3Si%D0VUzqA^|(s`Omfl3z{xm*GETVNjUO%LCIBoUV`B(q;n5xAZY;k z7wru|2WS9c9BKf89PJAb4otBZ?i4upS#eQEA`9z{er%+U#3F`%Xe-=V0Qv&hcY{Hp zk9kG{mz3YpC?1TFP{y4Ew$sRyizkQWcPvFcK|td!e$zPiDNM4+rzR9Mz>_&_o-2Ug zvyA8#ztM7|B>OvhtWw;Lif>bbB)~!KU`rXi-*J+fxHRwiQo7g0{DwWEki|dPu zKRX9hd13X&uoa*A0i7Pu*9kBdseLTeL1~^F)e=l3BwuNd>k+|{d`fXxbcZDCjQ}R$ zx)F5iao0L-8cq+gvDfKy56-);2bmt^w0(5uuRDhM%V}46It|d27D}fu(y319i2IGO z4frmN78(-xO3ymSc=$OQI~j0T<9BX=IF0Gh;8;G$@FO>lGEC1=hUwYKfE*js1Fkk( zdLYB}9A%iEqYTrtlL7rUrUyiEw)8-T={d^qt3-}6OwUe6UoTn*bWFDN_(Mi^GT^ty ze1ZJV77t{YucHj>;V8p=?PP(J9#HSu(gPW$=P1MU9A%iEovc5l2gHB2^gxE`Im$3S zM;WGPCmTrV0qvkIJ&<8~jxua#JK2q}amd%sPW3$WYl?DBfpMwDHqh=JgTo?4Y`1Wc8ef|^oC3g39a8HQ$C5|$j@9kvz{ol$>aG%(s_kZ^) zkydz#iaHBEO!C=z@vV{0A^6deF8G}z0mdQ(5iY(?g5g2%Js=1dU@Srq;o^HH7(N8P zAOzt8j713i;S+FR_#piF5Pgys9QdUX>ql#?pRg6-;&Vl)(I38K1StwI79ogm@qr@@ z4}@L=eFd_{UKZUm*5-l}@5;yW~* zJ5O%}dYgLtS%Qs7%o9_V9#h4-cH1--+>6}UPabOAvQ0aRLGGu&#v|02<~;Xklq{D(|Rqf>rHRyBun0rEQOaC z;MCEH;-YrNqUpegCy3gG1xZ&!wiK6?6mJO`BVFwp5*8jF7Th`CZARH%9*E&F4Z#qP{PO64G>|$T4rZ&UZAW8o)Y;EFJ%{iT)sf+Pe2(@l9xK)3Q?zebz8`$hNk3H8?2~0RaQwGMeekLQ z9`{<);~pfM*Ph;!{=44D;@EWaEKP6Z=CzwwTACZ#=`l53s5)j?5+0=Zx)2*ukklot zK0GX>YrfwZkBet;^aZy_+8uKlB(|8YYpXsY1F`^!XD1s%M`^^@o>%ghPC>*Cv`*uT#nb-hheof3Y%> z4&;SO^)ptjnql=!U#SY2WHwK-h76cEaR7PX6N|73-n+l6He2IQG_M5rfQi%d{Yxd? zvQ};aYtt>O88$^Ws9P3|N`1~+xd~>on=og=UU1wZ9v}zc7I6W_A_UkXe&VOT=)my4 zGMs3|P3gVSft%8M%l%P9fUyWcg!e)RYV?u^Vz>Zf5rPQsi4F|!DG$PM0mdQ(5#9qG z7~Vr3g5d&;MF=9i8#*w&8!mo^mk2NxAwc+vpSqv}!@I~}L|EcZ=)e+pl1HG10Amq? z2=9On)aW3?-k0za0mdQ(5#A0R7~W1EiQxi_MF=9i4LUHqjU0;M0*pln5PssPR_MU+ zR`O^`JRtfNgQIhBShycNAR49HaTm7u$TxiO8$SLG7dE|w&1nJqHq37iuW*s_5_%k7 z)7rjr4ejgEuhP}`Ah+Q5+a_PaR=$-jzMY-#e^LKPc1!Md)|>mL+LPzz*0%tAw*^@B zZRSq&>H$9C9LBF6mUw*iaMSnpw#$6`YTe1lf25X zTFwQ>^rhg)87tKqvsbTKvpV}$x$^aT+-ChzC)ME%Y#1z3^&U{TSbJe?>p53A_ll_vRG)-x3@gTyv2cSez*r;zg*_;? zaNrF;Iv}>=IotepMzH-xY4rd!|F-CwMuL7QXpe$cjxku!B!*fbul8NjuvUuiC*eS9 z#XcvRbvfDD<~a}30K1ked~KvUlX3E613-$S?OKlTwUK1wQ0XcUJ7Wh)o^10@2CqZt zZRyn;9Hva{yPMTJdV}Be1}_zxbV9lgmM)9=5T?YCt}v#>4jvGS$x(RPz(ybVLIZ4B z#ilnP?>wJOdx81am=?cSt=QR+#zECZ#UbQ3dB>V-)QC<#~lSm+K^3O#A_6QoO< zo6rI24zgvgF37#=?vO9Zo#DF_!SD-%UpV}X=!TU9unqVNS26f&ERx}Gc!>-bS+p5M zyuJZ8h86oFgqH{~7UA_)!(H0y)ym!6>eXF>>X-dX=#N1O2T zBrrMQbyzSt;e{9-aGz!+d;%sY3>QpL7>*7Iw-QEmqHw_^h2i2zRamiLnqtB!W0942 zssqKwgH~dlNu0Pc76s$MtMHOwIBq3!6Anxb9dKVT5+S@qfU!sb3foX@;lSAFfU<=m zgqMWMttebLFdQ9_+GvFE5&^~{0VwpN*usIa(E+KAMF=k$iwDQBC4>XR(E+KALkKSs zU@Q`V!a4~fBVycfa)V?nngD;pOW-erz+aG0kmce@vRnecBKV>E1pLnD`^d86BNjd_ zPo{TPO&`D-;1T;_5A=5N=)HI9m3tD~U4`bQoA}3+Gr92i-fu>$ZZ< z8b}|bH?3c9UEerb_N^<4GZS>^0Jnv6tcio}9pQCbL1zu5kI|dfueYvm;AO7e3tf1{ zT4WrgylLeZt{$Ky+^W!n-q{Y4z<~!+(E;ylhaeOg1+Y&8l!RLqx>34AV5`1J7afqU z*t%b2wC>=y2|3IusJHx6y0GP+(nSZPI}D-7C_p=xmwG*)(uMVWN*5iFZu7pV?CDT( zahUZ`F&r^wp9<_=*x#$~$+_PAwi{kj<5ME9Fn@O5afKPTR6;m>){`EW(E*Q~xakre zIR&uKnb5W`6PKxBUnZ=Q@LOivdjn^06&z%ZQ?dGZl z*0{ku5RE_h-a3HtWL*N|)>mv{4 zca-m;Ow~=To)4T(7&f8;oJD}207(dh1Lt&fz$`Nop~xtJeGDbxR$&`j5(HvP-q+M& zxxRdNk59q*ZD9Ra|24Y}B+2&~N%DDK690UR0DmO6^afx$yJrKAWcLuj2gvOYUlt5W+{Ji+v7GS>#_t#}5x(xn*n@E( zV<_WPMiXN?;|j+0j4w0pVmv_j#)E`ApJ1HNSkCwjA*o5ey8_rhfiZ#c=ZwE$lgIgmv7`buSCQ!9eX~ zFpOaTBt~jyL)%W|?}~O0X4K;|#=kS3BkW7z5hM{ustI!hg>pToy*Sn(W07HV5H9 zztvVDxPp=F&yTW~{0?)x zQnrUAsCoX9wfaUSCm#$RQNgF)7i;{M7{=JoL7kpx?20Did{dsgz#CYM(=wnphh1yx&0*gh zIA9!qoh?%1<9PuE`Ar?2;^BQWoPg>d){BlZ^)K!rUF#fd3}5ltKsbPOEo4hk$%*p= z3xb2$uX`9c9 z)SM^9@zS-e$bdctCPkt~f6U6NJ_RO4q+Cbl@i9OyZUM%8pdFtwirpv|Zhw+LigIwH zT)5#72F8a^dK6f|jdI~`OY)zg9NZ`u?)D@fj&g9LT(|{qdft>rP!4XC3wLLVkHqH| zaHCwfyOJE3(+e!%M!9fzCpnxhDX@SW<-&a*$>CsJfd$+s7w-E>4u{ArKSGHhLPAMj{CX}*0?>hy0Q}xAO2qeeQ4)y9olzpb(2J7(G8}0}i8#`X61+zc z5^-!9C4=xw!5ByEFGmU9F$js+QI3)z_y~uPh&|*e8HU@#QA_L-M+tt2LrBEVaFpPe zID|y({zl12-0zKAV!t;^LUB(wO2nRSl#Iq*+$a&dxKT0|c4(sjcWR>_c4~tUc4vbd zc4wc0-PpDHzA`>@VX)qr&^mf&3LDZ#CJcyMKQi$Nr)8d|^;EoV$l;P4AzBR_dBQPN zs*A{bwqU>F!EYJCbq?NnJS<%kA*bMTNWv$At_t4(nw9Uv5OCv6E8Gt$I`?A;_((_i z`Y2%?WRZSLy;IQ>(`*HL_qW)aygSkAZjyF z1di7qo&{JN9}8GI$jS2nyhx-H;e!Cj8wU6LEX7-YmIlKeK1=atpQWMB?(*@Xgm?LP zJ-RxM?(DDPIZM4CutoHKpxcgaIDYT#@!$*d5=^5oFTo@Vvk@%-;Jid{`eBWdCox>E zX*|ovRh;+rgM9N}bBB_{{NZJYBZE#$C&B1A6Ux+lt`wdL9Cr(DB zE#@WC7V{EG#k@q)zVOC^w=m9T!e|pD=5f&+(2UR=atpel;yF%i*%Wc7Z*KkGQOb5HHwU1 zxrnt+js_yU?^cW2DMLZ5eR4byQgUixDnjD~ zU5|ho0=x&h_Bh@)Ms%Z4@Y8Lh)qfc`h2V$m^CCJaaV{6s$nw=wn5tC12Wq=OQT zM7WVcEov=aqvYDC;(?ITQw!TGG5u6AK}a#xLf#wVtBS{4MAV|La-GOow1c?&1Bpn? zCbeZ%qkqm$zGmwGGG0CbWxKnhT#z0pb1-co-`vllur&0f+# zC0-A7QoJ705JlProh0od4I}MN=s<0;WtnaP+u`nIiidr|V2X21w60lEQ!M$B~BQ?93_qyh&hVpIx$Dl zWQTJUA1@e*PLd*jikLqI=?c!DVvZthF-K86F-MV9^aV+Aj^Z>2qLZZfAqJ6Ve{^7) zVvZthF-K86F-MV9%uyu8If~QliB6K@K?;#(4|HIfVqB26n4>5j&QYx00i7i6AO(|l zJ9MD7n4?Hr%uy6i%uys2a}-I%93`YMM+p&JE0DwYr+hyntSrI9F`O*G$?G9>_n}Gh zL3X2DxE~~WAC!X|<-+|C$sa&DxKS?L{YZX4%E66t;T}Np`%n&UlneL6B=3%LaHCwf z2jhgACyEJ95DVu}csf=bwZb9zpbISb8Z^N4(p74d7Y>md;4MgJY`#a7D-}>U`M~Q1 zdEvv#1*;?Yq~RXJ#g)60RObUsCkqEtZ$Q$rBBF#W_V48taUqu^^e;SO;1OOF* zM;E9FTx%ytb?|aMZwlOniIbOj7bdO(W6^7ZBpCDHf-{qG3IKYL&n>l@Fl? zDv?NpJeO0meoT^&H$5nf)V)3a}wTKU|_EN>-GpuS6A7$;S zip3{d)goTJ=%I?mix+AUA9L-dip8g0)gnIh+C>$M&%UZfd<3?WDi)uFRg3sQEF65* zO;tSr&bX9Nb^jUX`dWzL&U1c*?3(UG&j&R?iL(KP9w)&B6+=Z(j*%q6T_4D^| z&|5!$FAjR^WC}1Zv?Q4V9@)+}ER-9soHAG%PhA-UyUgI(5>IH^Hd?ip8y3p2z}RSk z=gP)sRhu8%%5@MT`Cu3=azk7ojkfvW5W_;*AT_`nR+|ur+9cTi$AW9P;SD3nKK_af z9y>u(f}Mkk)@TbxXsh^zk_6ihMYul%btI>sBwISc>H}okU7YF@5xOD`pk)vi&Iitr z(2<70m_ujfXoT>!SHd2_F!0g-ZsBW7N27m+A>hU-TDbjjOCPpa2!?=t@EYk8Wl+*v$OksJnPg4)2v=^E&*6W0Bg= zXa+0$;E_a@_rbSuebBvY2vR@V9dsXpA0X-h$H?IWL;~1%mw|Y_4Gbf6QSE~_8uu#~ z>4(@yVZwJGU8DzK2)OYg4erE(u8PjX7y>@h>4*0T*07;)p)TmCgbm=E8$O|lfpE8= zBuO_c)&ue))T%0y#rqW(;RE6B$7SFUCp28v^PkA_!(|_V=PKw_MlJdIKK@pEg1oJ(dO_e;yt; z68w31mc2h7=BDG|-jVCJ-1#TL>f^|wpI*Q~uQ;&4a7v%L!X z<4lShso}*c0s9ny>-^(+T?-o4CX5$x4fyn7sp)8`tFat=DV1el4PE7ifA0BrtG@>P z-@moY>URvkL;d;9X~EN@60))~Qc@Semkk##T#~z?px~K|Sz)8OaZV?^xO?}`*LJ*J zSh#QRTl-4Btf{HqnZGni3C`MGdi2QtgB4X($I8l%eRWZme>n0&{vuoO(T|G`9IB|U zK3-mS{I8c}`ApG^&!~buXzRgF8}$Y>OY@AU+kl{;A%jQFh?+EV*zl2|p_8Jf|7_6c zQA+m@m=rl)GdWQ{&=OGt9ZqZJIZ0 zVWu^BMr`bp(OFxz<)+3bq?$8xw{4#H#G))~um^2D*lDBQh-MMC5bzoMMsYwdUMZFLv?+{p+gnztIv~+=28^-RePU< z*G1A5v~=9P(Ml!7hd(H)tg0ewRgbIF0j<0B=^qp_qF=uep`jr`gNFtM4SKNO2t(-Q zkf5O$C;#mB+_7#bNlEj%&?V`A8v%=pPYhmMMr^hZp-OS7sQ}mqJ*jcEXNxE>k z0o_c{#gIACrWA|?y4$wpW?omm*HdO)S9|~JZPmhUbq2>#Ow62^_*5E4%QtLTZdNY; zop6f`Y{e?5$L$^?V4ddwZ}01at17a6cfKHe3IP!nF(5*WF_H)vfx!ewL_vup$VY;~ z00DJIr)IoQslgln7)I-O92vE)R*eq48oiZxc~2i8aTqd&;lv1rS5vpVRa5h<+NW+= z^}^h#DPNTt5((_Leyi8sXYZ4p5L)7n6V@@(Uy# zLCAQamiB2BAXN8dTR{O${3my=g#j;~>uZ-O#k0@syiYE(oo5TjXxi}ZPFuvoX>03+ z)??4uq6>JvU%2qUFC2f?7Ww4rK|~*7?y~%HwVXb6rscdR*ZGz+r%t!HM9Hlk80Wo` z=5CVic?LuhZ(m=g*GYC>%95)&v+W+Em&Lj=yhJwS*rGi<%Q5=zt=YOnM3?DRP`)!| z@6~O#q`iBlYY)Hui+t(JTcUBVXTQJLaXN69OD;TP1R1X`s!<)=U1RY3_Me1B~ zv}%F@Ll*UPNmr8)YS_NqyVdFN$%NX)r>lXGBbZ(3U{yZGQd9U|jHRZejHRZez*18} zg-^7f9KYzWHeur+svhm@MfWiy%IQAd@An7|J3A%-2!##-*kwVImj_IIvb<~4&G60!w7kkr81N%RfwOadh)_GA}mfP}`L=oJBX!7UPK zt8`Z`5+RpcBtTc=T)71A$}JMut5jDmLBDc~1OzMDl}oU&+#+(Q1ptLB({0xGXqNHh z6z8gMXB@0ZFVJtwk_>dG2~H;RZf`RpI*Y81PCA7I5U24@o-FdQrJ*dMl*LDk=+oGG zGR2iE6}jAMXBEj%tg!@%lii(Hgq7&r8@rQciny%o!oLT}=j zo~TH^g%lXG(6~~#_&PddcKX#kK$rnb8xUqdJ&PAeR%XSygefbtVgQr*W3ka(Iqy1# zB1268lD*nU&}2kDTjTyE!qGw!0KoOvPYyib!j7A$whT!UOnU9=f%UaXdB#lIQY4J! z43&iL=P9BGd7LE+2zQ+4fsFC1K;H=C7q2=7&4YwN^B@6e9&6170|^j+SuzI0$O z$xUD&@y96VJp5^eJd6g6x)==@5}*Ndo(wRMWYBU4OQwN=#2>$$^CScrP2U)OW7zse z=o90EYDE#YaWEFaU>R0rG8jk@Uz;UU!9ar0uq>Gd1`>_OlQ29Ub!6A1BfBXtB22oz zi5bc`vj}{fdn3!5rX<;5&_9S7%m$nT1`@BrG}3)ORH#JS6t%5sThn-HeWA<^+oz;2h_k^!1BTP4*gL|ZHbrfUF2GA|4#UM9u(LK)7?rx7!NmaWZ~w*su-Vw~X;aI2 z8x*lOg$b?yIN#FrX+tA0KLrPrKtFrIjwFqi)1RJd{45@g2(Dr3PBsyyJMwzeuHGC!4+){gT|Z+UbSpji((Esl<0uBv*_ut`3bLbZf?)M$=dqo+EW zd#s};jhGJc)KG(aV@sb^xHQzz9*>3^{6cgoygh%-A&4`<`ttMh(Cw z920%>Z6+8RZ?32Za3XMr}|Gdo%7m#q$1L?8}FmlcoOqz+xFdB z(w2YtC`C~8)yu+uJ<|+WUGqp%x~RI(xh5W(Xn?vH2jKXo(y~elr@=tyPygg6PuIkv zONi-vsw>M%HvuF)rKSs@w5c^QRZFVX+Xxi8OsR$y&@MF~#(E>*>~YsSY*hbG57$~# zvxgvmw^l18dWNM3M!l<(Q)>RQr$=Q#2tTo>SLNy+m2n?bRF&e29%|k>%9Y)A`R`(v z)jMLnX!ipl+H^x=(oU=CfNiS#EV@*G0(4=2J%ve7*weO+bZ;{wSogEd+}m20!%_6r z&$_SFK#p()!?~|^UxPhYU4w4rDAxVl9w*hSa$7YXhFCAyrL55Q`>D(iAOrFDqvrl9 z^E9oW$|?v)Kb6(|V{9u|#P~?Dg$-zjJ$@}U$2tP}HoK<@dGwHb4azAsAvJ4??y}hG zCUrGs>s6h?Fxi2gyiMothetN0l(%By6*2HwE2poXKD6zN>;9&qrmJQ}Kbr2!?ThnM z|BF&rUvK_xSIzr-Z`u;#N(H*2zb<1NmD(4j*WA}#M%RrU+;j)fbU2+!(rroHiNvAp z`&`R6kP_CYy`h!5OZp79)Gm9au7cWIyT^9o$WG^5zBqr(i6+JIpIRClKX*h)Coj?R zbo0qiK0Erf#6}_!Ej=}#{9h*yS4Tvg>!bhq&W>o&|9IOLwNoT1?Av|vv6HKv;!U-j z{{5Mz6A_Uthc`DwL~0ej`E!?u;|(^1nj7A(lp5Q4w;du!k@^_D)zav+lzY7)^kvJ@ zr);&>bD=-{&J*LRz4h#|kN?1tu$-=GZK}gAw5Ly5bfLS*Czp??FU1Qe{#>Z}oGaQ_ zQ(b-2+2be9I`^kNbn2typ{DwOZK!+FzM$hDoeG_6s{76RZ*I3m^(d*~gSQX;%#N&< zRClQEvh?I`{K(#TknW2HJzz{JJn9i0uB$(MFiKSaVKgbP7HGJ@atE1T_LY~{n<~okyrQy49$l9$qIL?-iTU7$4Mn$m zbCqvc?}*wd02|iCHa!v%QJ6Ngta4LC#3hyQe4^YdqN#;j#9g+Wy#vACy!&7u{a-_{N8~Kenc%a+}=`?KKEi zT3PJLRk6042)QbXiz{4Z`6xp4cxh=>RPnp2s&+Xs^4j+z*RHC{%8j{BQz5DE2Ku0+>@VkgDu)vSb%or=iTXuiVF%iY$-3wyK6y)ovXO8Y|DnCg51m*<3*HI ze5tac=+5j#w>YA9y5Md1T|aZ~q6IS?MG`H)d0zHnr+B59zhc$BP9u_vlPWulSCl-k z!Ye9)=+0SAjVf31vIWzlL~C+pq(zJFnlUa)NrhAKDT5#{;Nat+a z@Yt3Oh4&T|u9z=1wpTs2e#2vBMMY($ciW;G7(i8N>En^Ry|e>&yQ?;O zM2~OWNV3Wbw;`=9EQ@MW<=T4-sZEg1c5pc_OjM6WRi`1t!`8V|i11!Z5`d{2>wsLUSC(O7~ws0*Gh})V3pG;1cruNO-6i z0!isnPFw0=SSrEIJE4n4OO&Fqbw#ca$Q+JkA_YL^fI%F86=8rX z1XM_J4GD#c*k&xr0fXC`V@y+$Y%q{y8yQN%k4-AggFIo;WBfcV zbUY8er=8e6ZEb|5kmC+)b}%<2tYcbOskIS@~c`MQewo0 zl+a(EtBjXbm9YOh3@x4_flWxH_B`&?gvQ6?SlpMKGyU#26{%?o`+2xx3A*G z!zY{lUu8obx33eoonSqaPX50k#|2i#MV7E5f8>j!?zEb()ZIX=0<8;B*&cgZ_f@xXME8|E!wI$x_p=}U ze(UQV=}3*sAE01Qy*>GUfeT}gOBoqpozRjxQe%vB0Qvm*i~G~XZP4HcF2JO`hUryE z?_~A4=KbR8wQBVm_C#Cse(d$E?TLEWscPPtRF3^x9Y026NGI~NQ?BI=)?l4aY5o4o z^Iv}HLR&)iMXy<@3=RZGt#)(+b&S7W1JpaWX>-O3(^%VY`w|~#NM6x677Ww2F z6495RJC}W#o0{Bu<-F55?b3QzR1KFX5aR#4{W;W8EG0!#nh%J@(>tq!A+8wd3Kt>~@K0&#ui* zNEs2i0%x>qQB;5RqjRuyRlUchn6&2-+m1^FyT@%ysEDHsdD<{gl2I4i$?wE;v`j~o z(O(0J{2I{lJQCUaerPmfO{OhSTVP_bPiA#PB#VAaPAf<2uekB6~kkcYQe3t1VDlU}9rE=r{+BGe>r)hp1Uqw^ha2 z8uvf!+1&`!x^LJ1vu1dXY4^=T`{xE{sR&;S3}PtWS@8n;*BYJ-_lh z@>E$=ZopJE7fBu5+O8sQk=@!hJHKC9J+(EFb-Vg$v1Q+}F}#1Pt(l%LZOxuB%}nfG z)-|+6Tl1)~W}bGTQHqIj>)t1E8;COI($)WO_VU z{DT?00rNGQF;RQ|?}tB$zCW2}SJ>ov5oUB#%*$c(+?&<&gID)IL|PB+pB}vO;`SA8 zYm^ekEb6ibUDu%N3UnP07Ci=M{&@OCL-U0T=R;@DfBl_h{nzO?Ug|5Tg7es2-2O&g z-EZGLeDv6{kN)k$k3Rd4aQMP+YoDo@g0sw0dq56&u>>c9=GW)^Jn;+e{@733zuim!3x@Pb5ufMY6k*D_c(dUr| z^0rm$9xPe2{e=U2%Qrk+zIE%~1OHUIx?-FCKxW*Qot?F4>4WQ6<>%a$zhud(^$*;= zaM@D#1BrQDym+v~H-F%FU$-xJuBUVR^Z)&`|1iS^=H;d9c0GS^xo4(oquTmFTuo{1 zXg+!T_dqL5X%);^I+Z2hv@s|&gxtWiF)6e(o;qVgtj44eYM^t8@id7Pn&VZ7y9TX5 zhSSsph)soN7;Q@pq5j;s(1kefbiDVWA#^Uj8X7`p<5g%HG==7q=+=hNz}E1MJqR%R z^Qp#`KC5tPs3W5BXsAQDA-a@aFT+&_Y0zO+*4VJ7@}G}1e4cjU+vbK7r_Y>e_@MsG zg$vCM4b4+7d;?MAr@uS%#g`C3{Au%<-fjlh0eDJWGmbxV9YyzT{L!n2kER{__UPev ze_K~~`1LpIjvYUG`0&vw$6A%>x9=V~dh`fph(`|}Ia+snX71|E)lWb3>@)QLQ`I~7 z?Auqpb^E?&pM9#j`l)B0o$$;>Ta0-lgeqyD`xVtQ@&%5n?Ws|aNFF={L1LhE7xrC@ zSPHDmxPAT9<%4$p)a5giTDN?|Dut@l+x^vj)e|C0_h%uIeYN`in_7Ya##!Z_yKTOX*ctV)t zkD}s=w7t~qjho6!%PXt-I5?6w$9&DdK!+*JD_70SGH%QN!GmQRSFG5$ZCly8H6;(O zTfJ2A>&mun+k4=@m9BVX>$a`*KT_AND_OIytZd!7GUO(`x#Kf#o}ZnUJ8xd@k|lZB zi|)wIUU-Y*v-8yV*1X)bCI6+8?pSz7US2j5@Hf}}j>Bizn1=04IH$wlZJK)YyZJX|fA7>}bN z^kvJ@r);&>bD=-{?sSU_kfXiz?6Hsk&~lzc5d@W{I!yRIxma|eyT~V(kEk!j3n>0v zsQKJ+cO&YX&K^H;Hqx%psgI6_n(F_xq0R=!X+QqasnEHmy5GG2=63rU>rqm}2X7zx z85YumX0DY~cd03K{Db#?Ra>*t7S$&;b=LpOp;r#n{J<@$J5>AP%RgK1h%Pmqsej|( z%WoXq-T>1>t8(T5go3pKYTDsRR3W_)L#GLnKK_AssHeZQVdhOxDj5(Hwm-Jv2PKtTmx@|D&_uRB zwx*;qf+tdg@vgGildEEFHxY7G6c<;x%JNZ!=<(9hs;J_3RaLp*O7~TWku1Q*^6#*MD29J+wQx5=G;XKW;lu@T7L7q?8Q#;N-=-Ms(YPABo!xB zb{4NFd0>TCR07eRvs`6WlBi_a?c6Syj3}~pU?*{M-v4f}x|04gdw$7O( zW_PWboVS>7d|O9`T@L+Lu2by&WxH*`6^dQ0mb#t1$Z4y~f5Oj{O!;;0F+;ou6b7GmvZ)sQn>kkeqBR zQ#(4TU;r-whWCoBB4U6OVC`RG@A_OJSONM0%@pGbZTl>7?JIF+4Jr^1pn+@eO+hA5 zx4L)J2ucB~3JzFPv0R7N*H~K+ThN<1r{!+62g6r2v zoKJ6Lad%i^U7;5$)(gT*EQ=QAcoU9T1=!QpL9C6Xv&^z&?C)G=rQ-G%fCR$@R`cSph#VAT`>Zf9T>qd{iPK8OY)U!?$B8~!O~Z#W+^?sO-I5# z>^4K}WoLA-@-9~M!fW$~P}4|pE5ZcRnRdD+qR!Nm^QB@QtER8cgjOcF&UDwF{i@lp znj6z!HBTm8;%WAUnY7HPF|+QdozP_It5Wk#nt4Y1j19Yc#g?5^Xjz?f_vj9)kxoWE zH3ITzXpfEdSSdrNGm!F7?;2`l=#_!kH8i^iY}YUz8Qfh%zVjmJ=5yy7c_Q7I|)Cq`T0XuY!|$+vo- ztge=B`)u**x+xKSPyqJ978eyGq+IER@&Iv<)k}#X6$4VXX4& zaoE)3aJ=L2SoY5w4cA^frMA0IA+5&J&M3Wky?%s6-TeqLdL|pgs1RCooQtUhrkx`# zvJpDd&vDR()kv@-AQn%YeswL_)1)7hG;vxS94ACi-6N)-$oD65OW6^~?j_|4L^qUN zepH_lW8eIU8&HRj8xU|{Ty8-2X12EaA+S7c^)bYg(^l^q4{1}4rq=W}igMx}F=Lo_ z+g*?K%4wwgJsnD`A1qhCfh<>ISjv1R^8O~yc^+KP$w=BLA4zQ;&`o{sSTJnwsW>RA zm$loOG-x}M2GltxnvGfe0XZA!Aj4o=R=$gKp_O6PnxrgOfV=B3~9^)F$1%V1uC5xXn>*g*&t?MwlQC& zGlO(6lztP48Mw*FR5jjY=-Z=jkA8ak{q#&Tj8yf6vb*ODJYHA`xZWsqKRR*YK8N9)%}_4f%K+vYIm6*P-O;DpUm~4$ z5?S|1a+V#VZOzaRf%|)scZTSj(>XuL-=7-3lZH4y&;3y{xafyK-CkK#(GP)p$zxc* z-3RckmBG_P_WGQJBWvP)$DcPq(jokvE_mxP5A>X{%>@`~hcI_I@14j?Jn}LRM4hnB z1x(?PxAP9Jtu5)0Y=&(%pI-| zNIKwA2J=AA3ENzNk#-1khx6Wyyu>3f^FSsE+g!jD4tYCoMBZCfUgqbiGJxPf_&eM- z=7F9Qwz&W!?GWY;*LOYg5|8?r$98Mj<^ra0TpzYxgSV@^%r8=9V4IaTXSqJ+v9%hu zxd3m&(uOS8hiz8ysE>JUu7+(cz}v92A&Ub%Y=p#8R%Y*_m13I-*vx*LDP|_uV4_Wz z%tM>5GFLn*+H`6B)uXN+bq8tG9m|fJqv6_XX>H9LSddRTb<%nqy{K0@L4^i9ANhGj ztvMRCQ){EzLam^+XJ>7Y99#!157kdDoA3v_$(XA)Ip=^ONf8+O;GGL%2Id-bR5~-z z07L1SAZ8%bxJjimgLE*IJ|Dyk%r|DMZEj|eJ|72%v8cWP3~B^J8Vf+H59lGbS^W_|<8%G+qizPr=>v;c%pGbH{{O)=^9DZG5H1h9XntYrU>iqk_*|P`4zbuvVvq$(CB-;42 z@!>E;LQG#9U&4)VEW108hHK|9NcSGMpU*UHEb$9B8oO|ay{ne0*F0?$j4(fBe5Vdb zza}CSF<@qaXM>p!`Lyvm5CvAHHKC|rxyiMbwx%J#p4HZ5e@^gLq8^+0-9K%V_;AUXFnIkGkE_k_3X`5(XlW~wj_H20Xe;XOgRiZ~^!NdflyP&|jYW9lxm~uzb8GYyt8)r{&eBGl)g}ymRCQn- zo@DsSVirs9VVeu^GCeKW^XN1IS&7FQH}hDI58GV86pr(bN8UV@mw7DHhixuE3;L=l za-yX(O@7;7t@dwPWasj*?1ZKR;1S=4@|*Ts)wyi@H+}c=oJ4-}PA%2Z!He(~inuIG z^&Pxa&!S{1oGSXBR`c!O*e&>;R{Q0*4By}HKl|6t@N2o)8&)4h-xu%yq|GD=ZyHnM zuu9LrP(s%O`}eQMFW$XarhEiPzomH}FKu_)?(pDwtzz(hX}e3f-O=ithK3x$U2xe@ zYq80Ac`vt!1WXWqC37S&yhI&@aXHYMs?rfajOPl=tZ~q1g0N%bIK6WT80ast(v?O& z7}S_=O@s!MfC<7iE(QaQ#nxn`GYOa=Nbk%AgY;Z$s?x{-gA#MBY0zL2FhRJ)Y%tKs zwla{;Bw&JYdKMU@XIV3m&Lm)haE%nvT%|9xW+{yYU{K=%Yc@2P1WXVvaXuK7IN!Pn z=}ZD92&ZR)L3*Y&2kA@#CJ5I!7Yx$pT62}g95ASHj+F@wCIJ(KOS}mTG;XryBb`aW z1mX1AV30oBT7YyW0TYC4oJC9VD4y@XHUo5#HUm8xj9D|F59n^L)8ry;1}H}BWo*!b z!uN@y8Sz(AG8hsRfuU_(4s(QPM}*CVuP7JNFGoolM+x*n#&EwV&&K^N9v6-DThtGv zU)1PA`prd)rV<1&)yQzasL{s#EuI>U^jqYE^otT*NWWPqaV9|kQ;7`si*y_Jx7Y{w z7d5(Yf1{9oi+qrNQ6fYBqMN}`jdMWE06UQ*-S#Fg_VFf1jV^EUDF5*yAOCTb=<*+* zjT#q_V>#8xPUI+YfuYR+$j`Vbum^1hunIjIjMdRVUKDs)IRD7cbv><#k#7nn?5Wl= zd{T@935Lg6OVmV^8LZfWq4ac+U^v~%rxmpWpZt{>qzhw)(@jcRf8e#((u1{A3duEl z^wcuAK3{7-n`t>UbmhI;_*q6{meDmmZ}pmt)wPqF2u{Axy5GE?yR}C?rOCR#@qV4Z zr@qqtGidhXoZ_P6UU>2HaWA}goO57w988@G<8(eQhS^L$9Vw#(hoqZbVUxwdtNS0S zo$^yG+an_mjE$h82Y1cwvo(AM5UY9_ja{ELzM4nO>aI1b^QPBMx@gdn0ag-bSqs(L z!b~t&Jm66#7-kYML3r&U0}M1WtZWSNOadkdzaXZ8LHaZ+M`=t2gA$boc$i6m{lU4! z$v8>@jmg$xl*lAtf^hmoFi4+BZxc#q5->ryMt-Fr9WNc$;I|QKbY4@=ON-O-65|q6 ztpb$DBw&JYdNLT4m~1UaI+K72g0mr=ph&jp_#pkJzf>6=9P}I_tW9mwovS-{gjz1o z04Ky5(~^9DFB^C;{1+ZOJ?qc>r16R~o>c!8=MK+`GZ_;Wo@sh%uRnM4`ZH>DtvJ`} zW}|P1s<-J=K^;jiUJ!iJWO7&mnY_=sJWRnM0TX*VIBCNiX&}lCGvE&WysDV>mtnatK}b0*>PAUO+F@rqc(s z{?}_C(9R%6e*c}p4$saYjr`akq>9iE**su3H6 zRHJvF5H>$eqz_tdw=rmKRv@*<4BxJ|1A195B&Wv(O<(r zrI07lzX`$6&e!yC!t>pZ4>&PqLY~zX_FO`HhH$l7YJP}bfwUBLd%8j z6#7GCN zJ}2}gp+TYV2z_7Z$3jmF{X*zhLc>D;CbUD*si{Jz37sP}OXw1zg+ez7-70jq&>ssu zAoLZXZwWmj^r+BJg@%OwN$A%?+k}3nC>~k*FYUU?LT3wIAat?Nl|t7EEf=~|=nsXy zAoS-#4+(u&Xr0g#LYsuP3jMRtZ-jm;v`f)x=|X1;%@mp=v_R-up`}7Ah3*sjoY0qq z28F&O^nIZp3q39L3!z^L4GaC7&<;hXrwW}WbdJz0p-Y4o3f&-dtI*v-e=PKX&{u@M zCG?2Uqe4Fw8WQ>^p~ z^i!cBp??zkwa_-9-zj=M6C>^V$?|))&;>#l3tcI6ozQZjJB9vG=nF!BF7%MlcZJpo zJt4G7Xsgga3;jmuw?exVos}+hrqE2GIYJABt`%A;v{L9kq0b3@NoY{$J3`-QN`Kt@ pq?*_Lp>06hfVKf`1KI|(4QLzCHlS^w4;!Ev`&im0xt1l~{|^eT@8R&nry$Tkin zWbL+C2M9e-8eEa2C#hr7l%P{Xfzl++QcR(T4Ly`n3M8kY5FUq+mmNEaCEb3%Gr!rr z`;vC`uy&=p_UJQn@64UK^M3s9Oz+ss{QvPE~`JRJ@zt2N8K>2+5 z(+E|5BQ8Ks%}FCM*N_rd-9dk!3iS@Gta8~b{89q!rFdUWsM zTU+1y_IJLEcj~p(z593d_H5|w+q;L?X#26%hYo*aUr+0ygZuXGSyQ<>+`IeWzJqn8oLa}92PAj9p>R{f8+?>O|KUAy-l=xy!X1k*>7Ok&t@~iOLNUURLM@~Ix|bgK3Rq4(6kSz_9#G3&`b92%rAy!H(pS0k)h>OF zOJ4^){jX z^F4SzRU> z`CXUTE`RsMu7PlOI6M$yiS^80d`uueoC|k#ce~sdy1BUWdqn+%s&hJKp^Er+sF85& zYA4{KAftc@G#m;K`eSSahX!J?!P3|en{QqT#D>v~2ckaSjrpR+)+ODv2S#;wfp((k zQO5FgI9?Cw&Tj&kS3t+>&J`hf`8SrkK5 zZtaJ3kic=e8u39QIo?9rnzH4^Kkd3_6fxU8oXeZ#w0zQli>~l&DXy`?9xC!&X9bF$N~Jr z|2(|Y?&ye4^LIBe5Y~R?{CejZPB;nEL%&pNf!OPIoNqbVWP?AHlrOa|r_CVM{K(WeVJIV)v5 z9yKKhImAK2O^HL(o0LB11(TH+p@Eoxz=taPP4j}rn!AO_=CHf~9Z6rBO(o+J%_Z9+ zS6i0U_9eYpyc_PfEv+v)lC4V0=90}AJL1_Z-E1z|GY*c@Zf15@U_*w8?*{c|s4E-_ zV}|VYP&nMh88d%)i1Qu(u+tR?593mx+ZTQl40U(&qQCo+o(u_&<@Oc0>F(w<+&COh z#ACYkBdqxb`t`2xfDY_<9K$m@_J@7r@Of;ZinOu3X%r80YUcpleMZYRrsoM=8aqSi>*qV!=vNs?6k2=i<8SvbkpC zz=Zm(33L~NoO{4CI3CFPt*v9!^YH)0E>uv7R%WayOLNR{59Ao%)-m3h*@`VEUz+;V zES8>FlkONVouALBujwEVel?W0+xRQJn^! z=zLy|5!=>hMmJwsXR(};%H=b&_G`JjHN9C=C{U3&==x6Bb%;eHE!>%U*%xfn9!5Xg zAM&B&ctPB<9~p0}GPymMaEr(ahR?yrT;0B!*;|b^oo0lf?ca3pLyuHcGH3t{LagK;4GN_rV(NsW1)G>7(go9_Fnto|O zPkL`UV?cTGe4aex81kKkE}xegK2A?hL_TrWx%Z?4J?TJ~bYH6UT%k+*rG_sx{GNF< zY2eu?cj$g+PyVpDWiQ7PPxPezu(X^cw3&w(UW%ktT*wov)MkCxz3%Rk%u0y3B?)qQ z&bZF+N&TgXlzLKs5NpXG*(-8}KM39-dL99?UG&^je~Hn@&vM|o7FCCK zg?n1VeFx1^BBi**;~{vwggy%6`eV=)=TR67b;#p?dhUyB6USM|Q5ZdPl)>Q^W9M+Y zFeJP_gIip>wbxv~^{B94cvAR?@EgMK3dO%$eYcHZ@<~FPtvPzotUo?%AqiQ?-TO}g?9=+CA?4gCE?@3?+bq}{Jrp! z;h`#Fi*TLr8sR&H?-PDdc&G4F!uy0@5RUhEMD`j=#Msofxh0e#Lkl%9cRv-g^j1;hQuwgNN465=6U+j z*C};(WG4Dlwpuki?Q!LIwyWG#5Oz01<-#iEoN5=lm1^YFh&5EG;oF7~1oIe}o_FG= za^)QGyG>6gna(GfM%<==+f~vXC)ri<6J5R~ha@?aNiTq^>{O)cE$ZTlzMUPaV`txq z&Fb8VUe$Z@%u{Dhf+wy}!#jFTm!2Iu-LvEFPBn7;@$$1nk00N9_a@~$S$THo$>Tdt zbg1gH!;km$cBq=O!>84WjjHzSNN=CU$((Oo>lY-)f z`!dIOnNo|LWuo#aYi_%3>f(W?&yP4G=bt`Mhk~ zq1qW4IaQ^#HMn|PrPkIu&htiB=Qsx{^fl<7j_c0Hbt6Vs@1$OV{e-QAOL)KAfg`q_2mM^79XVGil`BY+lL!J@Ou_a~(t}Bljbp zHTO>M79JGdDU=Z@P4S5j=33mx^7akXie|J12<}<=?34bX3h42-_ zkNAWQ!ezov;SIu@gu8^d3y%vwD||?JM))n^Yla`~6y6}bNw`aRyWw%Mcl_hV{BfQz zi{FWW;XOYx{LI&c-x2;;_`Fd3y;s6@@36T(fEJs-0ZG&QWCZ)bf0*kJ{IBpOA!nZO z`x_pJir<4W@;&u!V?HI}IrU31OL!la@IKsVu0Px+3<+-(zFW9kcu4qX!p{j$3BM}* zw(v*7Ukc9|o(>2bg>Ax+@J8Xg4U2r#I2&4|y1!7J{k3XSe3x~=RC?O_B`w_fd$jarnQ-6Fmd5VuUV2Yg9Wu@7?c0w!d@}3t1!|?P#hX>TGf%B{ z=BhOlP)l`t!8RjzwZvgN)2ioh7U{NUIohB$v{%h4f{{$5O@NLJh&aJupnM^e| zZH}r=b@W#%r$4ARf0dO4{1lNKk{Q=EVa1G3*xV{=J1KYuJa1~eqt^_N= z6<`(E23CX1!5VNGSlf^BK!1m-@5h*+->+J6&0{X{P=$D-J9YZ3P} zd+A-A`OBuWrA=o`o6eSAdKYIp+xpL@v!zXEOPkJ?Hoa44duFn^Ty1fvD%6!)RjSQS zV?SoC`Y~(Ok6EjJ%v$xgtNHz_)Pnw%YGMBh)zaUl7WFSzi~E+G! z{OAhIkFInU=rLwH#;~jPxSC_@;#3ozgSPWv==EZbvNAsJ>sLX{dnKDoRaMgc67|q`X1-?t~1&o%RjA77V|Xs+`?y9m`Kn&8 ze{Dpq03knT6Kai4tvJ$WN%Es4t;CuXrFkNym?JEYqFgnpz@00=Mim6}zK%6NpMz(h z&G0#R2AJy%NpabWRNU;nS&_wnPP0j#>B@E1EK>gY40B>tGFM_)k9jQ4ome(tev4+y zIhgmN*|HJyVKg^ke$36em_MW0avtW@Xtr#|d>hS{^Dz%cv*iNJ&(XXP^L1`wJscyL zbQP&kst$8+v}A%5YgZE-TAr zzdNE#mzC?HY?qbqvNB$j^RlvDR^H3Xq?`44Bl~67@hJmFML965C=X_3!dTB)6$$Q; zp7XXGayUYHr&YP;E^D96)eY@sa~CP;^+KGIR@vfetoY96PRFr~g-p9@+t&n5J8Rq9 z1WmhZ+usDUtp;an7ff4i+w26h$$OZ#+_veF;Cm-r=jYo-6rBB;{T)R~-@$|XDUDqU zHB&Y{z_7&q`{HL3CjT*fc=8;~^6A7EWBQ)2gYS=99dm?BgljeRpSW9?9=*j}e{`Sl zF5x}G`-P7QpAZ`V)T7Uc`32#S;onyqe(6_+gLet<7d|0;MmS`6M(%(0AC38|XAQsp zb;HN!8UD+4!ap|r_FaZQxJ9_n@P}V8{K*xDKiwnzsNu8644?a?@GFMDljmPLY|NJ= zTq9r9W}p8t!+?37FJSEX%FJ_pm49yTSN@goVWD|1U*%b2uK9ss!+!~XW!SXMuq7zG zM`*&~YZ3ojo{;M?!$og1Y@2VmqT8^2qv2`^-|8=j`JaV96TWGCY(^PF-^2G;X#w6=MBt>L7OMg)Ps|Atc_I=9T>9g6XpsY3m19 zBW=lcq%XM==}WdDeaYoWW3m;~(c}`OF}VneY{BOnp+MSaA}I6I-0%qHqRTaYi@@6SS zr&C$6!z^#4Ubp5+ylPnKe-ge*t7AS)0PWEGa$$r=nlNn0-J z5i>N;!4w?Xgk^Se9?AvTj3EcP08@Ho3#R$V#V8l#62u(Y>Od3-T#j-6`f<3(AttABIjzg7-VjR1W~4Di zn65(UxEkqt4Hn+7b$lwKj$!HVlW32xL%zHg3xV5_FRwwK+=lk}YUIhQ&>n9^p4@`` zcqJC!H|wQCE+KL`k;{s#^O;Augvn1dGJVdMizo@}YzOZ|`cU#oKi-cFAg_}_yptE+ z^v@+HHGb=&IzOcKE7em4+Hd0$1gA9YXFQxHv8@D`G}uybiG!^Lmp*KZ!KD$l8Wiob zEk_B;2V0K-$_QH!AIeF@dvh%$P)L3CDNl3sXdTH{iRrRjdLYb8TTsuoBmY!^YrqO{ z9ax5Y>%mf(H-bTM6X*x803F;<^ki&aWIilB)sEhkDR*A{WJ(_|en!u;?RpM?b&4JP zbKK7{za8&$ENMUA&o)x9pXu9?0_z2~1Bt2fY*Xmde;uDPp z_GDkHL!0Zxg()vyTqNoZ%+1te#KhC|-*}SRSF?V_?PPc}Yv)ZoCl(vX6hoKY z3gU)g!N2rKwt>-hkbVOLW7-)Q2#;+iobfrYAgv^w5S+n@*ujJJqegqqxa_3XLb;rO z#P}#Ed+sBLhH*}2)&NeU#l-nSql7Sio}<$h3{S4TK-lT>>zH}bb;K3V-bRPb<*z?{ z375KZx7o$m&gq%iY}y08FKUnB_oP`w6yl|ayFz0W#2d%MDjQ1T4zEU!Iv7R_3OvZ zy{=vY84|9qmtq~2EW;Y9gLP5r%OO9&^(pErAVs6G!s)F4zT%Qkp zHLh{Ji!xd@AlJYsw^a+dgKFp-q30ZDE%Xi0*Xy!cs^`IJZh(8rfz3hLZG@d_=o?Xf z=R#iz{d$n{V;f+P@?;$_b3@%ukn(0Bkn(2I+C5PzuRPAW`~=n-*B9BT5`uX`^gXQg(wHD<#E`VEEz8^soGly*e3z z+RCJ9{yJ7$}N5f9l#L%ADE!Fta#EZ&6`lE+BH7$=rsqMx*1!fENRL zwx|XY?<%SyzNiz)rpGMO?35-cUMU)zrc5_a-eva4yLjn+dGmWxIrAimW{o6~E@xhP zU$*qN<&1q6Pf!cXn=?KVY>FFUvV^qHdCE*#DHDG-VHIm7tALH`F_{H|N-0VeH4;M< zK7tqy*Qt|(Gm0gOe)*$AM*8Z44zvz+Am)n)I-8x6xL1>ILqyJoD5m3&jYKp16c680c;XC&V;T6{Ulq69LdO_$e+*U4yeh|i>CB!cY^k92FfyU}b?z>>m~ z-PvDAo*B2<&E`0#XXaotpu<|o79rs|pfkakfkcj@%~6tEqB6;1#%wtuiy7pc=Sa??3`?Fm?Sb+I2uYQNY^vRPtHrnyGTpi7l0zu$NCz?|HRd@9Pu5S~&OjFEO$iH=Dc|@M6H3Iw_>$kiz1zINUdp$K}|)6M5___fOo4Zw~Ap zij*rdZHV9OrC5E;nJ%}ey|@pwd#9A5lKf;mQZY`sKP468nTl~v#rQYJ?^ft*dhe2K^)5;^@6a0i^|IHOlnP z{U)u=;lw7LS0SGTani*~LB_`bRs zzGXlbHA5oP}9!w!J>~03$U~XR_@v42e;PnP=g? zP^%E0IdS^*xn&Iq(+aE|P`1G^pwBg{LmHU#%>w$oGn&o0X94sCDs=0}^U!$RoQoDv zOR>H{Gs#wz=cch0T@2D}&QoKnR;%riyw3C1=+2zG#@4W2yITPAzB!kTt>_$WkK}cp z+eUZh{5H0}P1@aD^k#USq&=SZMzcBh&9vq;vsLGPw(|7|r@I%B+DmAJJ@y`KZ^HI2 zQhOcqV2`~KOWRv%#`E31nABd*Lbzk^$I|wWTHwyzYf9}^ErC1sw!HNA(%UQFJlAn% zmhZ`LWs9qq5vhpkR^QB*Tq`Z9l}@A7+BR7YzgkwquhOgGW{kcCEtXjk=Sg-{Tn*>x zc2xFs6rOrF>{+=i_uo|wAdwRqj?_GQhi1y&&gbjGgNtICRGd09j01{ zb5?ntCKb<3q~aNyRP%5eEq9ZnYSO3Eu0`9pPAl#<$1^Ue?3t+MyyFgxqBrTC>9{)` z&&H(UZgo5_lZw07QSls2DxRsyo$aW2&L$OiyQAXyo80}5if3|CIZniPz4ykmAdS(> zRh$iBKeHKmf&I<|{V=z}Y{_xLGMF9I6o%~2w#aNIPfoU{Cr7HIMfco^*5#3Eg<0tx z4&ObEnEoq<`?e=+=OdRQrQP$CcK*_m^P8O4WbMd(FYWv`=ek$ojemxGW%|~I{KSd% z3nJBX6M>atj%9@^{$|6^tpldEK8mvNX1yAVmY$qif0W{ zE!J(%GTru=c4w(Rxtyn$^AvL`wmqiZX+gWgwr8PkdrZ4CKYlU~PeG?*+rzUCsZ6_r zy~{9`qhi~$QQ97!jYzc#ZBM7PJ*M5MM!Qp`&${*AfA*$7+mT3lVJYTI_J>Sgs6zTe z<>(8sKUAjsL#8iOB7LDC`a)!jB6-D||rssPJpTZwa3k{#5w9@D<^(;guD_xx!__4Z^F1 ze;@XNw)YT}Qsl36W#%8LUp4~#z#pv9Svt_>>V9Vo^xOL=|}9JTrW Ee+mI1VgLXD diff --git a/sprites/stickman.xcf b/sprites/stickman.xcf new file mode 100644 index 0000000000000000000000000000000000000000..eb961ed7f4d165a8deecde5e27dc5772cf4cf85d GIT binary patch literal 5680 zcmeHLeNau6;IgpdUinqURgLc1;2 z+O_Q1^3iTPXtiqFHA}Tq{YZe0+1?@Ly>tryi7$76r+hSQaJJi znNo>TsHdb9wlq;pw%3OJ7Tu^M5EJK;AR8g^A%vPL~%dT zT&T{MWXKgVDrq5VML*NrO2Q6>ynvD`GP0#=5~0k>QcDXc&fg2W;Ln}OJ$n&P<)t7L zhI#4UISyVW$;gqZlsgpMwEf&}B&#I5PUJ@jUQvoyd;-YCPSP{UjZwgCFFeBw2YF%2 z3kQ2)ffo+(!jln`@jMiOfQ(K0k8xuZFqdE_63RJV*t0@BbHXMUXOy zSuDL>{BF9d*J8a~_3n;&)4&=fnz{9YVer1ay-dMZTNSVW%RW3fP``bqXj%l=vOli7 zXkfKX4OI*MVN~>9LsJhkP+xZ>3ll#TYzOaH%obhsx^>IL{lOCU#JaT={bC|rXSDO)okN~ljmZ3%SUzR@3OZ)lY{}Cn65E3Zh1I9A_Qn*Je8^$WP4u;1Ba}B zfNpqZDmcQkkKNO~hL+uZ^zCCSg)lC^*-!L6eY(nxvry0GbaqeQ_nDZKP+)P;Opi}b z>AWe}%R@1{yGRthr+>7iJRWZy$3wrEzch{9K|7;rv)WsWmra-qOyIJeO*Y$iFQfID zy;rQ3j<>_mI(>iJsO{>$6r3{ejShsbiLsYpU?Y!>SUcYg5(4wo?nc_y`MMwk9FLwH zx>m9>5|~&G>$H9Q*76BBeSdJIR$d?dGBFD7Ejl$k##lRcEqyxq$+^H6txOiLDAzK> zXO>{&oL4npHji4`>g)e`DjQ(e*-MwczDb+vOXp*wf9$fwyE^WhMwsz|qkqi#V%Rb` zXf|J#hE9y+Qatd~zM8*ZA9p(LblwYj>D*y1U&qiy=Hb z#4nl)vZucDgZW(98+%K)_@iMKm&E6q^c6ɖ~b^i_|-_=e{HEks=0AJBOLIQWp( zY9L@{;aP)`fP~{_w*LTvM9oOop|k}smZ&lPCMAF6P3nmWa zp8Ij6E-@O${hrP#2vqY_j#`t`_L&GR0cEY)z;0fbLqCR=`NXoftuIK+8XQixwX$4z za3Y4KytFH@m?}tLxEH*lWLacohNK z+vVcv3xF-ub}6um5W#q%wp)$k{ZhF4+|kpm#=zi^S9>|IbpMs%o&vONyll0%=f!b# zS8D5MbNT9cU;|S2-7-{$iog+9eamhrkA)E|%hr~6Fhh++oA$q7o<0{w`1AkTLyum} zeXQ(;S$A|f1!nYFUDZLGFP8wQFBsVFqv;e3MgH#1Tg>P;*)jew>-jTgR`*Uc7|?a; z2iNUG^`(#C{R8Bm(Hr06>LI%zdG8Hoq%jWy_`vXCTZ`#*nrH^-(1kac|2SG_Z>sKRjbE(A(iuZP z92&Y(ije`_v^SjSW3HuQFOlL;jV(E`{sN$9KKqfbId@fZTsY9%PiSr5tU&i5uwZc7 zk&6xAevbb@d7)VEYFVRZ)fAv7Jb9>}Hr8&7o6PlDs?*mhW5a-z9PVZH=hI1%9gHPb z&Z)ug|0D#v__&T8sC}y}El>cCP3MhFrwpyrHoxD`4BqSeWEol|olNhEjp1DC*Pm?r z&cJrnY{gLn!SP~i{|6~lB-rMx-I`f9#NPdI`P50kimQ&ihz>$m@u)hhXS+Yyga)jz zLX#eko&k2gVDmYw_9}i)P2`-Myob4jM7?y{Kx;o;6Augza&9>P-Im73|H%)yeBJBa zw~D8OZx#DivF}^#`xgJdzQuT$G!1!)`%uYq;52!oG*_BYAXh4=H4=3WX(i`hggobS zxEH(6=Q#5NpU+Vk=IQexH^yBMrXah|#O5I+M|9rgIa(vGULT{Ke*mx5STz6u literal 0 HcmV?d00001