From 96b092d9fc90345dd99f00c9144ceba801ccf8b1 Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Wed, 18 Mar 2026 11:11:36 -0500 Subject: [PATCH 01/15] Initial commit for memory manager branch --- src/kernel.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- src/memory.c | 17 +++++++++++++++++ src/memory.h | 9 +++++++++ src/serial.c | 13 +++++++++++++ src/serial.h | 2 ++ 5 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 src/memory.c create mode 100644 src/memory.h diff --git a/src/kernel.c b/src/kernel.c index c798161..9d121e7 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -3,6 +3,7 @@ #include "serial.h" #include "fb.h" #include "fb_console.h" +#include "memory.h" static inline void qemu_exit(uint32_t code) { __asm__ volatile ("outl %0, %1" : : "a"(code), "Nd"(0xF4)); @@ -14,8 +15,35 @@ void kernel_main(uint32_t mb_info_addr) { struct multiboot_info* mb = (struct multiboot_info*)mb_info_addr; serial_print("Kernel Booted\n"); + + memory_init(); + + void* a = kmalloc(256); + void* b = kmalloc(512); + void fb_print_hex(fb_console_t* con, uint32_t num) { + char hex[] = "0123456789ABCDEF"; + char buffer[9]; + buffer[8] = '\0'; + + for (int i = 7; i >= 0; i--) { + buffer[i] = hex[num & 0xF]; + num >>= 4; + } + + fbcon_write(con, buffer); +} + + serial_print("Memory allocation working!\n"); + serial_print("Address A: "); + serial_print_hex((uint32_t)a); + serial_print("\n"); + + serial_print("Address B: "); + serial_print_hex((uint32_t)b); + serial_print("\n"); + serial_flush(); - qemu_exit(0); + // qemu_exit(0); // if (!(mb->flags & MULTIBOOT_INFO_FLAG_FRAMEBUFFER)) for(;;); @@ -34,9 +62,30 @@ void kernel_main(uint32_t mb_info_addr) { fbcon_set_color(&con, 255,255,255, 0,0,0); fbcon_write(&con, "ExoDoom fb console online.\n"); + fbcon_write(&con, "\nMemory allocation demo:\n"); + +fbcon_write(&con, "Address A: "); +fb_print_hex(&con, (uint32_t)a); + +fbcon_write(&con, "\nAddress B: "); +fb_print_hex(&con, (uint32_t)b); + +fbcon_write(&con, "\n"); fbcon_write(&con, "Now printing to pixels like a proper gremlin.\n\n"); fbcon_write(&con, "0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ\n"); fbcon_write(&con, "abcdefghijklmnopqrstuvwxyz !@#$%^&*()[]{}\n"); for(;;); + + char fb_buf[64]; + +fbcon_write(&con, "Memory allocation demo:\n"); + +fbcon_write(&con, "A: "); +serial_print_hex((uint32_t)a); // still prints to serial + +fbcon_write(&con, "\nB: "); +serial_print_hex((uint32_t)b); + +fbcon_write(&con, "\n"); } diff --git a/src/memory.c b/src/memory.c new file mode 100644 index 0000000..ccae9bd --- /dev/null +++ b/src/memory.c @@ -0,0 +1,17 @@ +#include "memory.h" + +static size_t placement_address = 0x100000; // 1MB (safe start after kernel) + +void memory_init() { + // later you can improve this using multiboot info +} + +void* kmalloc(size_t size) { + if (placement_address & 0xFFF) { + placement_address &= ~0xFFF; + placement_address += 0x1000; + } + void* addr = (void*)placement_address; + placement_address += size; + return addr; +} diff --git a/src/memory.h b/src/memory.h new file mode 100644 index 0000000..65a9ce4 --- /dev/null +++ b/src/memory.h @@ -0,0 +1,9 @@ +#ifndef MEMORY_H +#define MEMORY_H + +#include + +void memory_init(); +void* kmalloc(size_t size); + +#endif diff --git a/src/serial.c b/src/serial.c index ad87644..08f2024 100644 --- a/src/serial.c +++ b/src/serial.c @@ -22,6 +22,19 @@ void serial_init(void) { outb(COM1 + 4, 0x0B); // IRQs enabled, RTS/DSR set } +void serial_print_hex(uint32_t num) { + char hex[] = "0123456789ABCDEF"; + char buffer[9]; + buffer[8] = '\0'; + + for (int i = 7; i >= 0; i--) { + buffer[i] = hex[num & 0xF]; + num >>= 4; + } + + serial_print(buffer); +} + static int serial_can_tx(void) { return inb(COM1 + 5) & 0x20; } diff --git a/src/serial.h b/src/serial.h index 75bc158..cd911bf 100644 --- a/src/serial.h +++ b/src/serial.h @@ -5,3 +5,5 @@ void serial_init(void); void serial_putc(char c); void serial_print(const char* s); void serial_flush(void); +void serial_print_hex(uint32_t num); + From fdc10045266892b9aca7f3e846d70f540ed4993c Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Tue, 24 Mar 2026 18:14:59 -0500 Subject: [PATCH 02/15] Fixed blockers and derived allocator base from _bss_end --- src/kernel.c | 74 ++++------------------------------------------------ src/memory.c | 30 ++++++++++++++------- src/memory.h | 4 ++- 3 files changed, 28 insertions(+), 80 deletions(-) diff --git a/src/kernel.c b/src/kernel.c index 9d121e7..0c98ad0 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -1,8 +1,6 @@ #include #include "multiboot.h" #include "serial.h" -#include "fb.h" -#include "fb_console.h" #include "memory.h" static inline void qemu_exit(uint32_t code) { @@ -13,79 +11,17 @@ void kernel_main(uint32_t mb_info_addr) { serial_init(); struct multiboot_info* mb = (struct multiboot_info*)mb_info_addr; + (void)mb; // placeholder until mmap parsing is added serial_print("Kernel Booted\n"); memory_init(); - void* a = kmalloc(256); - void* b = kmalloc(512); - void fb_print_hex(fb_console_t* con, uint32_t num) { - char hex[] = "0123456789ABCDEF"; - char buffer[9]; - buffer[8] = '\0'; - - for (int i = 7; i >= 0; i--) { - buffer[i] = hex[num & 0xF]; - num >>= 4; - } - - fbcon_write(con, buffer); -} - - serial_print("Memory allocation working!\n"); - serial_print("Address A: "); - serial_print_hex((uint32_t)a); - serial_print("\n"); - - serial_print("Address B: "); - serial_print_hex((uint32_t)b); + serial_print("Memory subsystem initialized\n"); + serial_print("Allocator base: "); + serial_print_hex(memory_base_address()); serial_print("\n"); serial_flush(); - // qemu_exit(0); // - - if (!(mb->flags & MULTIBOOT_INFO_FLAG_FRAMEBUFFER)) for(;;); - - framebuffer_t fb; - if (!fb_init_bgrx8888(&fb, - (uintptr_t)mb->framebuffer_addr, - mb->framebuffer_pitch, - mb->framebuffer_width, - mb->framebuffer_height, - mb->framebuffer_bpp)) { - for(;;); - } - - fb_console_t con; - if (!fbcon_init(&con, &fb)) for(;;); - - fbcon_set_color(&con, 255,255,255, 0,0,0); - fbcon_write(&con, "ExoDoom fb console online.\n"); - fbcon_write(&con, "\nMemory allocation demo:\n"); - -fbcon_write(&con, "Address A: "); -fb_print_hex(&con, (uint32_t)a); - -fbcon_write(&con, "\nAddress B: "); -fb_print_hex(&con, (uint32_t)b); - -fbcon_write(&con, "\n"); - fbcon_write(&con, "Now printing to pixels like a proper gremlin.\n\n"); - fbcon_write(&con, "0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ\n"); - fbcon_write(&con, "abcdefghijklmnopqrstuvwxyz !@#$%^&*()[]{}\n"); - - for(;;); - - char fb_buf[64]; - -fbcon_write(&con, "Memory allocation demo:\n"); - -fbcon_write(&con, "A: "); -serial_print_hex((uint32_t)a); // still prints to serial - -fbcon_write(&con, "\nB: "); -serial_print_hex((uint32_t)b); - -fbcon_write(&con, "\n"); + qemu_exit(0); } diff --git a/src/memory.c b/src/memory.c index ccae9bd..ae3cb11 100644 --- a/src/memory.c +++ b/src/memory.c @@ -1,17 +1,27 @@ #include "memory.h" -static size_t placement_address = 0x100000; // 1MB (safe start after kernel) +extern char _bss_end; -void memory_init() { - // later you can improve this using multiboot info +static uintptr_t placement_address = 0; + +static uintptr_t align_up(uintptr_t addr, uintptr_t align) { + return (addr + align - 1) & ~(align - 1); +} + +void memory_init(void) { + placement_address = align_up((uintptr_t)&_bss_end, 0x1000); } void* kmalloc(size_t size) { - if (placement_address & 0xFFF) { - placement_address &= ~0xFFF; - placement_address += 0x1000; - } - void* addr = (void*)placement_address; - placement_address += size; - return addr; + if (placement_address == 0) { + memory_init(); + } + + uintptr_t addr = placement_address; + placement_address = align_up(placement_address + size, 0x1000); + return (void*)addr; +} + +uint32_t memory_base_address(void) { + return (uint32_t)placement_address; } diff --git a/src/memory.h b/src/memory.h index 65a9ce4..c9bbc54 100644 --- a/src/memory.h +++ b/src/memory.h @@ -2,8 +2,10 @@ #define MEMORY_H #include +#include -void memory_init(); +void memory_init(void); void* kmalloc(size_t size); +uint32_t memory_base_address(void); #endif From e80940bb1fae33d63428f1cde71a8e22bfad2185 Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Tue, 24 Mar 2026 19:27:21 -0500 Subject: [PATCH 03/15] Make memory_init idempotent --- src/memory.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/memory.c b/src/memory.c index ae3cb11..674ba18 100644 --- a/src/memory.c +++ b/src/memory.c @@ -9,6 +9,7 @@ static uintptr_t align_up(uintptr_t addr, uintptr_t align) { } void memory_init(void) { + if (placement_address != 0) return; placement_address = align_up((uintptr_t)&_bss_end, 0x1000); } From a18119799156b82aa38143c4465bc98bf7071208 Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Wed, 25 Mar 2026 14:36:36 -0500 Subject: [PATCH 04/15] Add multiboot mmap parsing and serial region logging --- src/kernel.c | 4 ++- src/mmap.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++ src/mmap.h | 8 ++++++ src/multiboot.h | 8 ++++++ 4 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 src/mmap.c create mode 100644 src/mmap.h diff --git a/src/kernel.c b/src/kernel.c index 0c98ad0..4f895f9 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -2,6 +2,7 @@ #include "multiboot.h" #include "serial.h" #include "memory.h" +#include "mmap.h" static inline void qemu_exit(uint32_t code) { __asm__ volatile ("outl %0, %1" : : "a"(code), "Nd"(0xF4)); @@ -11,10 +12,11 @@ void kernel_main(uint32_t mb_info_addr) { serial_init(); struct multiboot_info* mb = (struct multiboot_info*)mb_info_addr; - (void)mb; // placeholder until mmap parsing is added serial_print("Kernel Booted\n"); + mmap_print(mb); + memory_init(); serial_print("Memory subsystem initialized\n"); diff --git a/src/mmap.c b/src/mmap.c new file mode 100644 index 0000000..6248d5d --- /dev/null +++ b/src/mmap.c @@ -0,0 +1,72 @@ +#include +#include "mmap.h" +#include "serial.h" + +static void serial_print_dec(uint32_t num) { + char buf[16]; + int i = 0; + + if (num == 0) { + serial_putc('0'); + return; + } + + while (num > 0) { + buf[i++] = '0' + (num % 10); + num /= 10; + } + + while (i > 0) { + serial_putc(buf[--i]); + } +} + +static void serial_print_hex64(uint64_t num) { + char hex[] = "0123456789ABCDEF"; + char buf[17]; + buf[16] = '\0'; + + for (int i = 15; i >= 0; i--) { + buf[i] = hex[num & 0xF]; + num >>= 4; + } + + serial_print(buf); +} + +static const char* region_type_name(uint32_t type) { + if (type == 1) return "usable"; + return "reserved"; +} + +void mmap_print(struct multiboot_info* mb) { + if (!(mb->flags & MULTIBOOT_INFO_FLAG_MMAP)) { + serial_print("No multiboot mmap available\n"); + return; + } + + serial_print("Multiboot memory map:\n"); + + uintptr_t cur = (uintptr_t)mb->mmap_addr; + uintptr_t end = cur + mb->mmap_length; + + while (cur < end) { + struct multiboot_mmap_entry* entry = + (struct multiboot_mmap_entry*)cur; + + serial_print(" base=0x"); + serial_print_hex64(entry->addr); + + serial_print(" len=0x"); + serial_print_hex64(entry->len); + + serial_print(" type="); + serial_print_dec(entry->type); + + serial_print(" "); + serial_print(region_type_name(entry->type)); + serial_print("\n"); + + cur += entry->size + sizeof(entry->size); + } +} diff --git a/src/mmap.h b/src/mmap.h new file mode 100644 index 0000000..eb20d3b --- /dev/null +++ b/src/mmap.h @@ -0,0 +1,8 @@ +#ifndef MMAP_H +#define MMAP_H + +#include "multiboot.h" + +void mmap_print(struct multiboot_info* mb); + +#endif diff --git a/src/multiboot.h b/src/multiboot.h index df1a247..c76b82c 100644 --- a/src/multiboot.h +++ b/src/multiboot.h @@ -44,9 +44,17 @@ struct multiboot_info { } __attribute__((packed)); enum { + MULTIBOOT_INFO_FLAG_MMAP = 1u << 6, MULTIBOOT_INFO_FLAG_FRAMEBUFFER = 1u << 12, }; +struct multiboot_mmap_entry { + uint32_t size; + uint64_t addr; + uint64_t len; + uint32_t type; +} __attribute__((packed)); + enum { MULTIBOOT_FRAMEBUFFER_TYPE_INDEXED = 0, MULTIBOOT_FRAMEBUFFER_TYPE_RGB = 1, From 72756b134e2a410b99a502bf70a9b9e6f1895d51 Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Wed, 25 Mar 2026 16:45:36 -0500 Subject: [PATCH 05/15] Remove placeholder for mmap parsing in kernel_main Remove placeholder for multiboot_info structure. --- src/kernel.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/kernel.c b/src/kernel.c index 2d34e85..6939261 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -12,8 +12,6 @@ void kernel_main(uint32_t mb_info_addr) { serial_init(); struct multiboot_info* mb = (struct multiboot_info*)mb_info_addr; - (void)mb; // placeholder until mmap parsing is added - serial_print("Kernel Booted\n"); mmap_print(mb); From 5189276b026dfdc1e2cf4d9cf5d1b44b009d9c28 Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Thu, 26 Mar 2026 17:02:07 -0500 Subject: [PATCH 06/15] Refactor mmap parsing to store regions and expose API --- src/kernel.c | 2 +- src/mmap.c | 62 +++++++++++++++++++++---------------------------- src/mmap.h | 12 +++++++++- src/multiboot.h | 22 ++++++++++++++---- src/serial.c | 32 +++++++++++++++++++++++++ src/serial.h | 3 ++- 6 files changed, 91 insertions(+), 42 deletions(-) diff --git a/src/kernel.c b/src/kernel.c index 6939261..c8415d1 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -14,7 +14,7 @@ void kernel_main(uint32_t mb_info_addr) { struct multiboot_info* mb = (struct multiboot_info*)mb_info_addr; serial_print("Kernel Booted\n"); - mmap_print(mb); + mmap_init(mb); memory_init(); diff --git a/src/mmap.c b/src/mmap.c index 6248d5d..e5f3d42 100644 --- a/src/mmap.c +++ b/src/mmap.c @@ -2,46 +2,24 @@ #include "mmap.h" #include "serial.h" -static void serial_print_dec(uint32_t num) { - char buf[16]; - int i = 0; - - if (num == 0) { - serial_putc('0'); - return; - } - - while (num > 0) { - buf[i++] = '0' + (num % 10); - num /= 10; - } - - while (i > 0) { - serial_putc(buf[--i]); - } -} - -static void serial_print_hex64(uint64_t num) { - char hex[] = "0123456789ABCDEF"; - char buf[17]; - buf[16] = '\0'; - - for (int i = 15; i >= 0; i--) { - buf[i] = hex[num & 0xF]; - num >>= 4; - } - - serial_print(buf); -} +static mmap_region_t regions[MAX_MMAP_REGIONS]; +static uint32_t region_count = 0; static const char* region_type_name(uint32_t type) { - if (type == 1) return "usable"; - return "reserved"; + switch (type) { + case MULTIBOOT_MMAP_AVAILABLE: return "usable"; + case MULTIBOOT_MMAP_RESERVED: return "reserved"; + case MULTIBOOT_MMAP_ACPI_RECLAIM: return "acpi reclaimable"; + case MULTIBOOT_MMAP_ACPI_NVS: return "acpi nvs"; + case MULTIBOOT_MMAP_BADRAM: return "bad ram"; + default: return "unknown"; + } } -void mmap_print(struct multiboot_info* mb) { +void mmap_init(struct multiboot_info* mb) { if (!(mb->flags & MULTIBOOT_INFO_FLAG_MMAP)) { serial_print("No multiboot mmap available\n"); + region_count = 0; return; } @@ -50,10 +28,16 @@ void mmap_print(struct multiboot_info* mb) { uintptr_t cur = (uintptr_t)mb->mmap_addr; uintptr_t end = cur + mb->mmap_length; - while (cur < end) { + region_count = 0; + + while (cur < end && region_count < MAX_MMAP_REGIONS) { struct multiboot_mmap_entry* entry = (struct multiboot_mmap_entry*)cur; + regions[region_count].base = entry->addr; + regions[region_count].length = entry->len; + regions[region_count].type = entry->type; + serial_print(" base=0x"); serial_print_hex64(entry->addr); @@ -67,6 +51,14 @@ void mmap_print(struct multiboot_info* mb) { serial_print(region_type_name(entry->type)); serial_print("\n"); + region_count++; cur += entry->size + sizeof(entry->size); } } + +const mmap_region_t* mmap_get_regions(uint32_t* count) { + if (count != 0) { + *count = region_count; + } + return regions; +} diff --git a/src/mmap.h b/src/mmap.h index eb20d3b..b8c0f83 100644 --- a/src/mmap.h +++ b/src/mmap.h @@ -1,8 +1,18 @@ #ifndef MMAP_H #define MMAP_H +#include #include "multiboot.h" -void mmap_print(struct multiboot_info* mb); +#define MAX_MMAP_REGIONS 32 + +typedef struct { + uint64_t base; + uint64_t length; + uint32_t type; +} mmap_region_t; + +void mmap_init(struct multiboot_info* mb); +const mmap_region_t* mmap_get_regions(uint32_t* count); #endif diff --git a/src/multiboot.h b/src/multiboot.h index c76b82c..0b3d851 100644 --- a/src/multiboot.h +++ b/src/multiboot.h @@ -25,7 +25,6 @@ struct multiboot_info { uint32_t boot_loader_name; uint32_t apm_table; - // VBE fields uint32_t vbe_control_info; uint32_t vbe_mode_info; uint16_t vbe_mode; @@ -33,17 +32,17 @@ struct multiboot_info { uint16_t vbe_interface_off; uint16_t vbe_interface_len; - // Framebuffer fields (Multiboot1 framebuffer extension) uint64_t framebuffer_addr; uint32_t framebuffer_pitch; uint32_t framebuffer_width; uint32_t framebuffer_height; uint8_t framebuffer_bpp; uint8_t framebuffer_type; - uint8_t color_info[6]; // only meaningful for RGB type + uint8_t color_info[6]; } __attribute__((packed)); enum { + MULTIBOOT_INFO_FLAG_MODS = 1u << 3, MULTIBOOT_INFO_FLAG_MMAP = 1u << 6, MULTIBOOT_INFO_FLAG_FRAMEBUFFER = 1u << 12, }; @@ -53,7 +52,22 @@ struct multiboot_mmap_entry { uint64_t addr; uint64_t len; uint32_t type; -} __attribute__((packed)); +} __attribute__((packed)); + +struct multiboot_module { + uint32_t mod_start; + uint32_t mod_end; + uint32_t cmdline; + uint32_t pad; +}; + +enum { + MULTIBOOT_MMAP_AVAILABLE = 1, + MULTIBOOT_MMAP_RESERVED = 2, + MULTIBOOT_MMAP_ACPI_RECLAIM = 3, + MULTIBOOT_MMAP_ACPI_NVS = 4, + MULTIBOOT_MMAP_BADRAM = 5, +}; enum { MULTIBOOT_FRAMEBUFFER_TYPE_INDEXED = 0, diff --git a/src/serial.c b/src/serial.c index 08f2024..79ca4c2 100644 --- a/src/serial.c +++ b/src/serial.c @@ -35,6 +35,38 @@ void serial_print_hex(uint32_t num) { serial_print(buffer); } +void serial_print_hex64(uint64_t num) { + char hex[] = "0123456789ABCDEF"; + char buffer[17]; + buffer[16] = '\0'; + + for (int i = 15; i >= 0; i--) { + buffer[i] = hex[num & 0xF]; + num >>= 4; + } + + serial_print(buffer); +} + +void serial_print_dec(uint32_t num) { + char buf[16]; + int i = 0; + + if (num == 0) { + serial_putc('0'); + return; + } + + while (num > 0) { + buf[i++] = '0' + (num % 10); + num /= 10; + } + + while (i > 0) { + serial_putc(buf[--i]); + } +} + static int serial_can_tx(void) { return inb(COM1 + 5) & 0x20; } diff --git a/src/serial.h b/src/serial.h index cd911bf..08630b0 100644 --- a/src/serial.h +++ b/src/serial.h @@ -6,4 +6,5 @@ void serial_putc(char c); void serial_print(const char* s); void serial_flush(void); void serial_print_hex(uint32_t num); - +void serial_print_hex64(uint64_t num); +void serial_print_dec(uint32_t num); From 37fa7f296d22eed0b213917ae12b33611c185615 Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Wed, 25 Mar 2026 23:51:58 -0500 Subject: [PATCH 07/15] Add bitmap page allocator with double-free detection --- src/kernel.c | 20 ++++++++ src/multiboot.h | 7 +++ src/page_alloc.c | 116 +++++++++++++++++++++++++++++++++++++++++++++++ src/page_alloc.h | 11 +++++ 4 files changed, 154 insertions(+) create mode 100644 src/page_alloc.c create mode 100644 src/page_alloc.h diff --git a/src/kernel.c b/src/kernel.c index c8415d1..97d1279 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -3,6 +3,7 @@ #include "serial.h" #include "memory.h" #include "mmap.h" +#include "page_alloc.h" static inline void qemu_exit(uint32_t code) { __asm__ volatile ("outl %0, %1" : : "a"(code), "Nd"(0xF4)); @@ -12,6 +13,7 @@ void kernel_main(uint32_t mb_info_addr) { serial_init(); struct multiboot_info* mb = (struct multiboot_info*)mb_info_addr; + serial_print("Kernel Booted\n"); mmap_init(mb); @@ -23,6 +25,24 @@ void kernel_main(uint32_t mb_info_addr) { serial_print_hex(memory_base_address()); serial_print("\n"); + page_alloc_init(mb); + + void* p1 = alloc_page(); + void* p2 = alloc_page(); + + serial_print("Allocated page 1: "); + serial_print_hex((uint32_t)p1); + serial_print("\n"); + + serial_print("Allocated page 2: "); + serial_print_hex((uint32_t)p2); + serial_print("\n"); + + free_page(p1); + serial_print("Freed page 1\n"); + + free_page(p1); + serial_flush(); qemu_exit(0); } diff --git a/src/multiboot.h b/src/multiboot.h index 0b3d851..01feb91 100644 --- a/src/multiboot.h +++ b/src/multiboot.h @@ -54,6 +54,13 @@ struct multiboot_mmap_entry { uint32_t type; } __attribute__((packed)); +struct multiboot_mmap_entry { + uint32_t size; + uint64_t addr; + uint64_t len; + uint32_t type; +} __attribute__((packed)); + struct multiboot_module { uint32_t mod_start; uint32_t mod_end; diff --git a/src/page_alloc.c b/src/page_alloc.c new file mode 100644 index 0000000..0c4938b --- /dev/null +++ b/src/page_alloc.c @@ -0,0 +1,116 @@ +#include +#include +#include "page_alloc.h" +#include "memory.h" +#include "serial.h" + +#define PAGE_SIZE 4096 + +static uintptr_t managed_base = 0; +static uint32_t total_pages = 0; +static uint8_t* bitmap = 0; + +static void bitmap_set(uint32_t index) { + bitmap[index / 8] |= (1u << (index % 8)); +} + +static void bitmap_clear(uint32_t index) { + bitmap[index / 8] &= ~(1u << (index % 8)); +} + +static int bitmap_test(uint32_t index) { + return (bitmap[index / 8] >> (index % 8)) & 1u; +} + +static uintptr_t align_up_uintptr(uintptr_t value, uintptr_t align) { + return (value + align - 1) & ~(align - 1); +} + +void page_alloc_init(struct multiboot_info* mb) { + if (!(mb->flags & MULTIBOOT_INFO_FLAG_MMAP)) { + serial_print("page_alloc: no mmap available\n"); + return; + } + + if (bitmap != 0) { + return; + } + + uintptr_t cur = (uintptr_t)mb->mmap_addr; + uintptr_t end = cur + mb->mmap_length; + + while (cur < end) { + struct multiboot_mmap_entry* entry = + (struct multiboot_mmap_entry*)cur; + + if (entry->type == MULTIBOOT_MEMORY_AVAILABLE && + entry->addr >= 0x100000 && + entry->len >= PAGE_SIZE) { + + managed_base = align_up_uintptr((uintptr_t)entry->addr, PAGE_SIZE); + uintptr_t region_end = (uintptr_t)(entry->addr + entry->len); + uintptr_t usable_len = region_end - managed_base; + + total_pages = (uint32_t)(usable_len / PAGE_SIZE); + + uint32_t bitmap_bytes = (total_pages + 7) / 8; + bitmap = (uint8_t*)kmalloc(bitmap_bytes); + + for (uint32_t i = 0; i < bitmap_bytes; i++) { + bitmap[i] = 0; + } + + serial_print("page_alloc: initialized\n"); + return; + } + + cur += entry->size + sizeof(entry->size); + } + + serial_print("page_alloc: no usable region found\n"); +} + +void* alloc_page(void) { + if (bitmap == 0 || total_pages == 0) { + serial_print("alloc_page: allocator not initialized\n"); + return 0; + } + + for (uint32_t i = 0; i < total_pages; i++) { + if (!bitmap_test(i)) { + bitmap_set(i); + return (void*)(managed_base + ((uintptr_t)i * PAGE_SIZE)); + } + } + + serial_print("alloc_page: out of pages\n"); + return 0; +} + +void free_page(void* addr) { + if (bitmap == 0 || total_pages == 0) { + serial_print("free_page: allocator not initialized\n"); + return; + } + + uintptr_t page = (uintptr_t)addr; + + if (page < managed_base || ((page - managed_base) % PAGE_SIZE) != 0) { + serial_print("free_page: invalid page address\n"); + return; + } + + uint32_t index = (uint32_t)((page - managed_base) / PAGE_SIZE); + + if (index >= total_pages) { + serial_print("free_page: page out of range\n"); + return; + } + + if (!bitmap_test(index)) { + serial_print("free_page: double free detected\n"); + return; + } + + bitmap_clear(index); +} diff --git a/src/page_alloc.h b/src/page_alloc.h new file mode 100644 index 0000000..a0e097d --- /dev/null +++ b/src/page_alloc.h @@ -0,0 +1,11 @@ +#ifndef PAGE_ALLOC_H +#define PAGE_ALLOC_H + +#include +#include "multiboot.h" + +void page_alloc_init(struct multiboot_info* mb); +void* alloc_page(void); +void free_page(void* addr); + +#endif From fa0b43dac1fd6b2c410fa0b48e4a885ce378b96e Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Thu, 26 Mar 2026 23:37:51 -0500 Subject: [PATCH 08/15] Refactored page_alloc --- serial.log | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 serial.log diff --git a/serial.log b/serial.log new file mode 100644 index 0000000..6deecf9 --- /dev/null +++ b/serial.log @@ -0,0 +1,10 @@ +Kernel Booted +Multiboot memory map: + base=0x0000000000000000 len=0x000000000009FC00 type=1 usable + base=0x000000000009FC00 len=0x0000000000000400 type=2 reserved + base=0x00000000000F0000 len=0x0000000000010000 type=2 reserved + base=0x0000000000100000 len=0x000000000FEE0000 type=1 usable + base=0x000000000FFE0000 len=0x0000000000020000 type=2 reserved + base=0x00000000FFFC0000 len=0x0000000000040000 type=2 reserved +Memory subsystem initialized +Allocator base: 00209000 From 8e7332eb8d7983dfbb4c8b1a139eec13c3130343 Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Fri, 27 Mar 2026 00:32:12 -0500 Subject: [PATCH 09/15] Resolve stash reapply after mmap rebase --- src/kernel.c | 6 ++++++ src/page_alloc.c | 24 +++++++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/kernel.c b/src/kernel.c index 97d1279..94f10b6 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -27,6 +27,7 @@ void kernel_main(uint32_t mb_info_addr) { page_alloc_init(mb); +#ifdef DEBUG void* p1 = alloc_page(); void* p2 = alloc_page(); @@ -43,6 +44,11 @@ void kernel_main(uint32_t mb_info_addr) { free_page(p1); + serial_print("Freed page 1\n"); + + free_page(p1); +#endif + serial_flush(); qemu_exit(0); } diff --git a/src/page_alloc.c b/src/page_alloc.c index 0c4938b..bf0f155 100644 --- a/src/page_alloc.c +++ b/src/page_alloc.c @@ -10,6 +10,8 @@ static uintptr_t managed_base = 0; static uint32_t total_pages = 0; static uint8_t* bitmap = 0; +extern char _load_start; + static void bitmap_set(uint32_t index) { bitmap[index / 8] |= (1u << (index % 8)); } @@ -26,6 +28,20 @@ static uintptr_t align_up_uintptr(uintptr_t value, uintptr_t align) { return (value + align - 1) & ~(align - 1); } +static void reserve_region(uintptr_t start, uintptr_t end) { + start = align_up_uintptr(start, PAGE_SIZE); + end = align_up_uintptr(end, PAGE_SIZE); + + for (uintptr_t addr = start; addr < end; addr += PAGE_SIZE) { + if (addr < managed_base) continue; + + uint32_t index = (uint32_t)((addr - managed_base) / PAGE_SIZE); + if (index < total_pages) { + bitmap_set(index); + } + } +} + void page_alloc_init(struct multiboot_info* mb) { if (!(mb->flags & MULTIBOOT_INFO_FLAG_MMAP)) { serial_print("page_alloc: no mmap available\n"); @@ -43,7 +59,7 @@ void page_alloc_init(struct multiboot_info* mb) { struct multiboot_mmap_entry* entry = (struct multiboot_mmap_entry*)cur; - if (entry->type == MULTIBOOT_MEMORY_AVAILABLE && + if (entry->type == MULTIBOOT_MMAP_AVAILABLE && entry->addr >= 0x100000 && entry->len >= PAGE_SIZE) { @@ -60,6 +76,12 @@ void page_alloc_init(struct multiboot_info* mb) { bitmap[i] = 0; } + uintptr_t reserve_start = (uintptr_t)&_load_start; + uintptr_t reserve_end = (uintptr_t)memory_base_address(); + + reserve_region(reserve_start, reserve_end); + serial_print("page_alloc: kernel/heap reserved\n"); + serial_print("page_alloc: initialized\n"); return; } From 25b8808b43f551806bd7d858a6b3613b4e66f4dd Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Fri, 27 Mar 2026 01:08:28 -0500 Subject: [PATCH 10/15] Fix page allocator rebase cleanup and reserve kernel heap pages --- src/multiboot.h | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/multiboot.h b/src/multiboot.h index 01feb91..0b3d851 100644 --- a/src/multiboot.h +++ b/src/multiboot.h @@ -54,13 +54,6 @@ struct multiboot_mmap_entry { uint32_t type; } __attribute__((packed)); -struct multiboot_mmap_entry { - uint32_t size; - uint64_t addr; - uint64_t len; - uint32_t type; -} __attribute__((packed)); - struct multiboot_module { uint32_t mod_start; uint32_t mod_end; From b1cd60fd16385e16c075fd43604f5ce44ec181ce Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Sun, 29 Mar 2026 18:05:11 -0500 Subject: [PATCH 11/15] serial log --- serial.log | 2 ++ 1 file changed, 2 insertions(+) diff --git a/serial.log b/serial.log index 6deecf9..b405348 100644 --- a/serial.log +++ b/serial.log @@ -8,3 +8,5 @@ Multiboot memory map: base=0x00000000FFFC0000 len=0x0000000000040000 type=2 reserved Memory subsystem initialized Allocator base: 00209000 +page_alloc: kernel/heap reserved +page_alloc: initialized From 54944d640e660d540ac9a8def79832c6eb30bb34 Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Sun, 29 Mar 2026 18:26:51 -0500 Subject: [PATCH 12/15] Use NULL check in mmap_get_regions --- src/mmap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mmap.c b/src/mmap.c index e5f3d42..280d1e2 100644 --- a/src/mmap.c +++ b/src/mmap.c @@ -1,4 +1,5 @@ #include +#include #include "mmap.h" #include "serial.h" @@ -57,7 +58,7 @@ void mmap_init(struct multiboot_info* mb) { } const mmap_region_t* mmap_get_regions(uint32_t* count) { - if (count != 0) { + if (count != NULL) { *count = region_count; } return regions; From d41a430d0dbbb80099607271765949b8cae123fe Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Mon, 30 Mar 2026 14:44:09 -0500 Subject: [PATCH 13/15] Remove serial.log and ignore generated logs --- serial.log | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 serial.log diff --git a/serial.log b/serial.log deleted file mode 100644 index b405348..0000000 --- a/serial.log +++ /dev/null @@ -1,12 +0,0 @@ -Kernel Booted -Multiboot memory map: - base=0x0000000000000000 len=0x000000000009FC00 type=1 usable - base=0x000000000009FC00 len=0x0000000000000400 type=2 reserved - base=0x00000000000F0000 len=0x0000000000010000 type=2 reserved - base=0x0000000000100000 len=0x000000000FEE0000 type=1 usable - base=0x000000000FFE0000 len=0x0000000000020000 type=2 reserved - base=0x00000000FFFC0000 len=0x0000000000040000 type=2 reserved -Memory subsystem initialized -Allocator base: 00209000 -page_alloc: kernel/heap reserved -page_alloc: initialized From 8b4826a030a7379ae7abc54f53af8746f293da33 Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Mon, 30 Mar 2026 15:31:09 -0500 Subject: [PATCH 14/15] Fix page allocator review issues --- src/page_alloc.c | 34 +++++++++++++++++----------------- src/page_alloc.h | 2 ++ 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/page_alloc.c b/src/page_alloc.c index bf0f155..a09b345 100644 --- a/src/page_alloc.c +++ b/src/page_alloc.c @@ -3,6 +3,7 @@ #include "page_alloc.h" #include "memory.h" #include "serial.h" +#include "mmap.h" #define PAGE_SIZE 4096 @@ -28,8 +29,12 @@ static uintptr_t align_up_uintptr(uintptr_t value, uintptr_t align) { return (value + align - 1) & ~(align - 1); } +static uintptr_t align_down_uintptr(uintptr_t value, uintptr_t align) { + return value & ~(align - 1); +} + static void reserve_region(uintptr_t start, uintptr_t end) { - start = align_up_uintptr(start, PAGE_SIZE); + start = align_down_uintptr(start, PAGE_SIZE); end = align_up_uintptr(end, PAGE_SIZE); for (uintptr_t addr = start; addr < end; addr += PAGE_SIZE) { @@ -52,19 +57,16 @@ void page_alloc_init(struct multiboot_info* mb) { return; } - uintptr_t cur = (uintptr_t)mb->mmap_addr; - uintptr_t end = cur + mb->mmap_length; - - while (cur < end) { - struct multiboot_mmap_entry* entry = - (struct multiboot_mmap_entry*)cur; + uint32_t count = 0; + const mmap_region_t* regions = mmap_get_regions(&count); - if (entry->type == MULTIBOOT_MMAP_AVAILABLE && - entry->addr >= 0x100000 && - entry->len >= PAGE_SIZE) { + for (uint32_t i = 0; i < count; i++) { + if (regions[i].type == MULTIBOOT_MMAP_AVAILABLE && + regions[i].base >= 0x100000 && + regions[i].length >= PAGE_SIZE) { - managed_base = align_up_uintptr((uintptr_t)entry->addr, PAGE_SIZE); - uintptr_t region_end = (uintptr_t)(entry->addr + entry->len); + managed_base = align_up_uintptr((uintptr_t)regions[i].base, PAGE_SIZE); + uintptr_t region_end = (uintptr_t)(regions[i].base + regions[i].length); uintptr_t usable_len = region_end - managed_base; total_pages = (uint32_t)(usable_len / PAGE_SIZE); @@ -72,21 +74,19 @@ void page_alloc_init(struct multiboot_info* mb) { uint32_t bitmap_bytes = (total_pages + 7) / 8; bitmap = (uint8_t*)kmalloc(bitmap_bytes); - for (uint32_t i = 0; i < bitmap_bytes; i++) { - bitmap[i] = 0; + for (uint32_t j = 0; j < bitmap_bytes; j++) { + bitmap[j] = 0; } uintptr_t reserve_start = (uintptr_t)&_load_start; uintptr_t reserve_end = (uintptr_t)memory_base_address(); reserve_region(reserve_start, reserve_end); - serial_print("page_alloc: kernel/heap reserved\n"); + serial_print("page_alloc: kernel/heap reserved\n"); serial_print("page_alloc: initialized\n"); return; } - - cur += entry->size + sizeof(entry->size); } serial_print("page_alloc: no usable region found\n"); diff --git a/src/page_alloc.h b/src/page_alloc.h index a0e097d..36dd38c 100644 --- a/src/page_alloc.h +++ b/src/page_alloc.h @@ -4,6 +4,8 @@ #include #include "multiboot.h" +// Initializes the bitmap allocator using the first eligible usable memory region. +// NOTE: currently only the first large usable region is managed. void page_alloc_init(struct multiboot_info* mb); void* alloc_page(void); void free_page(void* addr); From f43ebe1c28f91d946f01ec750337ab673e4c69b0 Mon Sep 17 00:00:00 2001 From: carlitodavis Date: Thu, 2 Apr 2026 18:57:24 -0500 Subject: [PATCH 15/15] Fixed page allocator memory safety as well as WAD module reservation. --- docker/scripts/build.sh | 1 + src/grub.cfg | 1 + src/kernel.c | 7 ++----- src/page_alloc.c | 20 ++++++++++++++++---- wads/freedoom2.wad | Bin 0 -> 21699491 bytes 5 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 wads/freedoom2.wad diff --git a/docker/scripts/build.sh b/docker/scripts/build.sh index b53d177..84183a5 100644 --- a/docker/scripts/build.sh +++ b/docker/scripts/build.sh @@ -42,6 +42,7 @@ fi echo "[5/6] Build ISO staging tree" mkdir -p build/isodir/boot cp build/exodoom build/isodir/boot/exodoom +cp wads/freedoom2.wad build/isodir/boot/freedoom2.wad cp src/grub.cfg build/isodir/boot/grub/grub.cfg echo "[6/6] Create ISO -> build/exodoom.iso" diff --git a/src/grub.cfg b/src/grub.cfg index afce220..60ab66d 100644 --- a/src/grub.cfg +++ b/src/grub.cfg @@ -27,4 +27,5 @@ menuentry "exo" { set gfxpayload=keep multiboot /boot/exodoom + module /boot/freedoom2.wad } diff --git a/src/kernel.c b/src/kernel.c index 94f10b6..af4bc24 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -23,13 +23,14 @@ void kernel_main(uint32_t mb_info_addr) { serial_print("Memory subsystem initialized\n"); serial_print("Allocator base: "); serial_print_hex(memory_base_address()); - serial_print("\n"); + serial_print("\n"); page_alloc_init(mb); #ifdef DEBUG void* p1 = alloc_page(); void* p2 = alloc_page(); + // p2 is intentionally not freed here because this is a short-lived smoke test. serial_print("Allocated page 1: "); serial_print_hex((uint32_t)p1); @@ -43,10 +44,6 @@ void kernel_main(uint32_t mb_info_addr) { serial_print("Freed page 1\n"); free_page(p1); - - serial_print("Freed page 1\n"); - - free_page(p1); #endif serial_flush(); diff --git a/src/page_alloc.c b/src/page_alloc.c index a09b345..a38725d 100644 --- a/src/page_alloc.c +++ b/src/page_alloc.c @@ -11,7 +11,7 @@ static uintptr_t managed_base = 0; static uint32_t total_pages = 0; static uint8_t* bitmap = 0; -extern char _load_start; +extern char _load_start[]; static void bitmap_set(uint32_t index) { bitmap[index / 8] |= (1u << (index % 8)); @@ -78,12 +78,24 @@ void page_alloc_init(struct multiboot_info* mb) { bitmap[j] = 0; } - uintptr_t reserve_start = (uintptr_t)&_load_start; - uintptr_t reserve_end = (uintptr_t)memory_base_address(); + uintptr_t reserve_start = managed_base; + uintptr_t reserve_end = (uintptr_t)memory_base_address(); - reserve_region(reserve_start, reserve_end); + reserve_region(reserve_start, reserve_end); serial_print("page_alloc: kernel/heap reserved\n"); + + if ((mb->flags & MULTIBOOT_INFO_FLAG_MODS) && mb->mods_count > 0) { + struct multiboot_module* mods = + (struct multiboot_module*)mb->mods_addr; + + for (uint32_t i = 0; i < mb->mods_count; i++) { + reserve_region((uintptr_t)mods[i].mod_start, + (uintptr_t)mods[i].mod_end); + } + + serial_print("page_alloc: modules reserved\n"); +} serial_print("page_alloc: initialized\n"); return; } diff --git a/wads/freedoom2.wad b/wads/freedoom2.wad new file mode 100644 index 0000000000000000000000000000000000000000..a02643d57c449379cbf26e3bd616fa0c1983d23e GIT binary patch literal 21699491 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 z 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%0DKZLXFe z?~?ev#$WOfGgm9#yR5w^zPbiG-lxtHsai4h5L3Th@6*)UnEf-NQLV9zJ~1UfP1W(< z9;0D;e%PMZ4m7l~=~0ET3^J=!BMCEN)*NE{2uo^p44oZsb=+^pYoCo!Z*`QM9j|?k zbojvsm@T{d86)+P`X+lROq18PUuWth_E_J9Gxv?rC-ojtuS`8c{YGtSc&fGhAk6P^ zipTyQ5dCc>S)0We5mWLJ>UQCMt5ekPYR-G>HFNDw!YNjNsbN<~@@Q9l+i;}8Uusx} z_k3cT8DC01S=9Sxb*EtSGLd&T#}P_lH|$O~xA|E0(VEj)^n^AaE9!lbvx}hjMb5Lq zO-aPu!T2z~N70=65%p>Dn*-V`N+jkA>~q%D1XuP~s>ejVCknB8o%*@RYqLu46zN@< zrJ6W(?%MP&HM=fX8Y(?WVnb~3mu=x;D=%A_Og+CX-gAW-`#P&+diESglX;iKKdR$R zolm z?>`D!^RHC>muCH!;{7=MY5onXkBR<1vAoSo;m4v?atS^)dG%R`+4}o`k+*ppY}M!Z z!gv&l-xc58`Hs+EJ*s4?uCnZ7h`IA=w^@(B=+UYV9;bMdBi-}Gp8t8y+bw$IezHrX z*4muZyR)eGxpmZkCa>&odwSOjbz_+h##AY=1nJq8c%xmK6KY-)bzqKgl<}gvSTU7& zotkga%emP)>v!a0>imi{hW?je^XpWXKwYLjAy7}j$?C@UL%ExIqYg$xBTYXyvb)zf6zpfe*L?<^ypI4=OpU{sq(X@-y6xyOH5gpTB*$S zJww&D>QyvTi9hkA@#^zPw1Su(z4-~VO0Ot%8QG(8t9p@G+okp3wW7_f^lD~CA&H+z z-m3(EuT?J-s8^^PMXJps_M(TY{}gruK5dO8S8XqFq>=qtRTiu|R_!NHU#Gq+QdbDn zP%RUw`-)U4&Y?9LT&3Du3aRT=Uex=LNR>v7P<>D24MpnjMQUx$VU1y%kY^*$s~cfw z${Rs3^$>F`$9L34YVFC8M&7)ouZtzSA{A;ItfGec6OzeZ?QNR%DaZScI;*x1n`aW| zq(^(!`OA_cmS-|mUP>e;@3-qDC#kLU{uQ+@xywVzvQ_obAP;esm(~!ITD7^EUfE{3 zK2Jw4tw`eO@FqQ>jH*YxGkp#Yf$;toQ%22sYtPBdlsBsBH)hJK-yoxnjl8?TYEp?g zH>=J?xuPYN_|&={n5o1&S*et@TDexeczYUO&)H}qNl8ikSRFN4zvSIZnfHP^$urZt zzj>~~$jQ7(>hIdn`&KJ2SBrnLQmOylhT5#g4*kpVo?7Qo((iZHQ5hrRDlgyqPV&Be z8oZR0+qnUnfw zJa=yNlXIkXV!f)qg?-e)hrM<=zU4`eh*wx=xunXxgKh90*#_?shL?NS#I*TzF&bxD zsir33q{iuZYo__v!1lrS%f_a@kCgmQl0JRZSVpw!3@cTaAof-U&rtK!4h?04mV#Gt z4_B>theexhR_XI9a96zwUv1j<3<$TnC)SVlXtO<5q`u1P5hH2mjrD3~v#Vs$`$4PZ zTD^_WaabBvUbYPK5ZBvG{iL32^#0%BJ*N$Sw@2Qy+VFRKctrIF414vs`s?8 zN>@92z-SQLOOVw65GB8Rwp7IV-J-vCtLQ^}RJn{~s*WUML(J!ct)3qCSa`WxyI%dh zX05?5wot?KwAu!}r2eYz3(qs}V?}pEmx7KFr=d9>+nmA=uEmhBB zcUN26h;!|k?RIRQId8h!eldloN5o&V`b+8>ky^h$Xa?m_`v13VR%-VCHjm_V;>@Tgackb$*NxgYs`&N@_5Vt&8&_Gs z1juiOT!qtFaWrNsS*nxrvqgFDYkT6I-iY(L7CU463#WIgZ?BkL00f+SZ7hBH?Uhz1 zVDGCL2Pu(nMGaf)6>HA!5_QoYpiVTrn?~L}@Z>43b=1p9u4_SEB%I6L&B+OoT-M?| zaP91iRxuivTm98G>luY1HjK)Y@hs~sm(+g~sqKu;?dWaAizz~bzpR@-G~uXz8E)@} zT%C21Ozv*Y7o$=C6khKH>itYca{oHXOeL;Av5@3_tM$vJEd39oPP$WiD3ShtsRdPv z)%UTd8hb#=v0m*GQ4j41htI?3drjHt!Fiz$w&3gOXY6K4P_5YtS`$SMh6Lns>6H=QnE|e5>;$t7NX||Hs<%Gb-OS zytAuU?eW&uoMeAh?ai9?bs6=L80TLL)DK%@rN>Y_OjJ6OVTENv%#z&I%1f%f6i9ut zW?yfrvzet%tG*!iSKl|hv#T3_Zi`nBSG19sw*T4K%sWzv<(}~S);Gr~>w&shQ6hH~ z>@`QGau2G$&qKV(Ep|^HjLQiPN&FZCsRX1Dx zrHt#XR7T_ay04y+C#L2ty$Wm2b>{a&$wN%)i>*B{bJf?$WNm+Oi(jnP?=3Pm$-2=h z8Xn?7D~My8b+ESeB2&NP#awr4VpHm$>fTAGb>w~2@bWH+&$m*!UwOWIHt0znj=vl0 zRuf6R^4x5_RWIA`pFnN=ihf)-vLf|YmYPHBZmwHf(KD99Kia4{|FC*Q4c++WPaMg{ zCl?E9sN~@&xx#7{ZN5(Q=sGJeHOOt@x;91)d+$xX8F<_LI~ae(sw|EbdAQ=M&VpE; zq!NEcEQLD^b+)`aSjvcP;Wjl#z0lH9@U=#KN$eG71~pr~3v2ZLZ|-}`{_0RN>Pak@ z?@rb_8Aq~1r5YrYTI~sw`gpIY-PQgXgQq2lfcmTTf*wv1@7_?}*up+IPiC-9!DhMH`g%%x(Ts@={a!j14iZlh;<4 zTX)4NsR#)g$^DFsIKf9iI(Xbtnz%yafq>IQtxppiGG%D=L`$x@$VUTqc6I}`Ji)D4>0U^A(9o2TIsWUjQ%uQ;ze z)vA|N@HX=Zd|wsUM_;w_vIf=bO|Fl=s$5a8Cs6ApQy)F5KA2=`64&!4tr}DTyiW4O zk|V*YKI?3RvSht|Vj1l?y$|7lp)XDb}_L^^017C&2Nx3r$X_RK4WW5ROF|J@~*g}zAS!S z*0yS6Pq>Hri%=(rwaHU9)3bQo&swNl30`zFN{>!;_Op}?srIi`P{t#oUi%Ym^2&YA zTt}*P@_ON6HDvLKFKgXZPuLs! zw-}p~GbfhdHw=|`NxVJs?po(>((iAJ{ytTCYv-}1znu2Sev$IvG0Sykycetf8s0h? z*xUSk-CAR2k}s(%1zkq9&!XhH$|ZGUXj1R*jpXE;%(VSdRjY@oMg}~(R2)MeRac2S zC$>{GMlyC?o@K1!yoP#-Q)aTlyJU^c)KTMH)miVhF|_*5eZ%wpch$w2yu^ROIjOjA zFqN}S`w0!sa(`4OnW>bqi`8aQ_5NfLBhKm-wh_~W2HS-j1kT>MzH`J*CL zdnA9My&ZoW%a@Vt67|ZZ(2DmTmT{2vYFPbQpkA(A*v0xpOq=!Es<}r?@#epal_qv_ z@a3>&M-3c z>RMScR`N=-`i#KvSXQZW`?Y`fL(hVAd)D8IYK$cN*zb!w`QKNz-@_&E?dr!u&9Sc~ zS%P}*)o2wZi~FHve4LU=8rYI9;_QzE2-99YkjANZBW*G zg!trQwfM`z_EMnDtvu569JXKb5T9%1FQNwn&-=%06(`W;X1 zmyx%+dg5IY-=rS4lrMXvVe6`#GWM^tD!E>`ppHr&;#RfJ1vm31qcPXS*+kv4LsdWi zQU=TD^U6^J)i^_gkzAwcGF-=c$xB?{x|vEmo$_T~Vp{bx<115%k2(-DCDi8)))P1} z)%He4OtsDHVyc5anEHrmm0X`&m7tC!<4a5pyNWGko%)Q>Z=8Y>Y%C-88~V37n*S!q zDVXOpezA?`>vnYz?1pH>l50I;jOfvBEj&6~uxgnWJnOcvd1(bPM~!N~!S+MUT&+e8 zsgJFezKH^YMoh`ow!ph29Z?Z~e34T^A{TH?4zKif zuzYIhcJaNZVQWtqk5=Cn#g=US+&&o_Y9SYu=A1D2W- zQ*G~e$5hWEdFAp0%s$5r_)Vrpy)o71QB3U@C4<<|2IEqgIhD1&{>>Lt+tJ69dJP26 zpSr_ur(V zZpN4Eq+OMlw7I6Xe;zbFH*5AgVzs{+(I{E-GBvqAx>ysZsLVxtQ5|(=k=(nk)=?s5 z{7$4U65B$n(zkiE|MJ6^uUNHM$*pWQlIdA1-r71z9!8_uUvYiHROb43F&gW{U$DAD z+@1b+XTGKMb?;r>f0pJd)pycqV-l}ZtA*KS2(95%FS`HAWviBBu|OI6Ib8EP`J3&O zH}+^|{{Ffy8vpvdQ5*g~HF%RJj^z6MTjj!I*8Q3C>R=`N3(ES6CQeCaD)Ajn&Oue* zPI}-;quOldeDdoUHAb4QLyr;t{klkfq>h>_g$wJbj9_e)CNq_o)Q7CR%=HlBJlxcy z2dunWGG>p;E?HA`@BQC~m+zocA90np8MVsGyu`6&7qXdZYG1=#h14YegXqyOM4M%5 zbDQ;EL6tXY4eu|tT1DzF@McWxFH=`7KlGrL%U3LZP%XvTd8QKc>FI;ueAd)+D?XE8 zuB$}7nzvCe*Zo)4^&6BJQ*CoX?om{qq?3o3ygxGgSDcv=Gnc%RZ>B0!b%Q)S-Qrlk zfN_#HLBEUZ1z{VFwl+8QfTUto4Wct_0oyiWZ^oU2?We6ej|%l*38M(SmM zeV?(p*{tscCY0n!;&tlZ1)Jq)w3?}Ev#5`@@_tN=^WNCqih0Qs$GKK=EmgPBl)6>i zDZ1CPgTa3K1m~qQjt2MJb=_#b8!ykjrxVH9uGw|0X2)yaMdS)-u~@I_cLNyTsj|{W zP1Oyi5>F=@%$vkdB(HWjsgL#gGUL(g;@l3ey^PpD4_lug(B>bCYv+x|qoltq$?85* zlFIuhvJ`4huu~sB`kmEg=9-RGvn#>dTg-B`S+s(fW7$WnHcyvYJ`YcmSeV4wAo zTGeaDYKwK%)1=Is#D6q4Kh0~xutsxo-lzMiahv`n z@y{@JyA8FSlD{PKPN#(?_3^$HuUF%*nJd+tcbj9zvgThe)J8X>c5333zjn#AF-fhS z?r8RQVbv<~CUFK@o1Yf`Tb)%ic!5p1*@v#KF4|5OgtdY`g-fAGqoxZ)@5OxzqE#UVGECRw3wGY5%1-dh<=U} z^OA>He)cq0_jEX^SLWTj?yDd(E4RV#igDf^dF^XD#`_1NzuP0PT%R|I{%()FUl2X|vPj(?c~^@beMhAJ zZ}W02{aK4W8ErIMByr4ZqcT@3k91eayu_6JQ}YfH??@%SU#o54CH1G`TJnDDUOhG4 zFGfR_d|C_1KeFuf#(Ec7JRt%y>@17h-1mS2zpP$+PV3u&eK}x)#PUT zS8@qfC2wE6)l!(9&F%3@HRrw-ZDGDp`lDi7xLqf^W>;g|MDBaUs>%uFSY z^$w|>ntC)L>a|-%y{)K|mA_WML$z0T{P2IP|c@n2e8hOmF)2d~A%~5&v;s$@s z&OS8FY5tWPXqu?|+6-ewJ0{eyMQ=>4jdQZL%WK#dJ7bky8f>QINwp*96tsporjCeK zt+JFpdH>%0X{m`uFXm8YCSfTfxo%8aYmRwNiC)IOZ)T{Ne^jZ>p2eiCk{K2Iu3D`3 z5yYx`Zerhth}x~9_Xs@a}usm`k8UT)b?|CM-K zeLcxGYM9bT4VKH-OoAFpfu&I&XQmQwkG!v{+mF>XN7v)&d9*$9I(7ciPvZJ|#Z=t=b-WWsh_jHGTt@Uu(3-dAcR&tGlM^K6zrvO?wqI8CmcD z6HBn8j!M16)8S>`mi*SeT(4xCUtMQavewDZfTqLSY&@!OgUPY1`enQ)g14)|-@R*k z!VigK=yZ5lo=Gg1e!b*>CU1QS>WCh_YWdXKz5eNNQg1zPk}C5~r*0%A^1dD3>9iy2 zN#ZBEjGEQw`bZ|*0;Y@jdm?!2Yh6?Ck2btxVs<1kQ~kU8l}Od4pR|S}LDo55T>nZnr~cGXQbUjFC!5u}rz)?m zIqjUGnk}!3K+l$Uvt>QVZ!2AG{Z>g#{U4Ec7fa2Fd8KbUU2T2p5%b!91tX@~zVsMV zWnSCwT*SOPiXL@|RNHSE#FC}&UtMkeu4&Ax+fK6m#8kag*qpkbNR=ha<@-`mvdk;T zxgB1)jAXqsuN+Cad}Us_6rOIscmlcYD|1)lmpi1|-cI>GS?yP{d4u&g<`|6))?X!# zsZu-IVErm)%q!K&4aybT{sz+@}20i#bG^V&w|n3@uKUoBE?bB0)QzsPHgM$BuAWK8W5CEI43 zG4J;+HHW?T4eB`-$uU(oLdKUkramf4)?a<$84O~|*avbOC6l_B((@eh5R=-9_ZMyO zN>(kwcZXw}lRISlTKg;7tn1C}d7m7;`_}zhU((+tqQ83P-Q3?+ypq4IcxSKox1!Da zi2nYz?u1n`R;_p?n_KbbggEcxJk~~A_(L1KziorpHcGM&xWV)cY*oZDbve!iGL@Lm zCSIZz;5!RUC61}R_$?Zy67$^V%W&3IqJBvHUeK^e{kTZ|j7XgjsU6~%h~|pae-o)6 z5U5wEbt3grk@_)_+9^_VBK6rKbytykqCmY?ohnk_D^jK3LAX}^k5InX;$8RVzwB@= ze!p9y_KDQ8Ao&!WHEu5X6#TlGM17t}Jx!#ZAyUs1sh5e=Nbq+Ve$TqON6XY>BDEw^ z2L-E^sbfXzNh0+fBK2N@daU}XNd2`){ewt7Mx>q~Qr{+0rB-&V`jo)?I`u`7`c;v7 zhe&;fNPVtI-A$zSi&WclI(@z!BW08CPiiXGX6hGczq9{J&bSJCacb92<(I{l zIj+ScW7X9ADYTWC)MdtB`bR3U-Ct6xyu2f3H0)IUg-QG*%%aygt=}S{MB?f`@V?5< z%UrU}uW4Ssh_jtaoA(!a3)Z)j7>)g{{!Y(kyIw{^Q@4Hd$MW8j9E}5-dt}}~(PY|4 ztoImE^Hyly_%{?tWt}`gtdn-VRo=y_N9o->N+dRVS1nuAtNu`NrrrTeK1b5?iAG+^ z=oR0#YekhMYbx73G4(FD#+lS!&H5DN{c9!LG|ta4Hq(P7-UVMU^BPL#S;&teLrUPt07Ow(^qtDMxzu|9DV?rjqTyn?}jUJGQ6)wC;HPrmfphb4cCM*#Re# zD2e!}WA-}guw@6R<3*4DE=KY=!)x^5T~cCd$cmCz87lil@({mPV<$D(c}bP^R;m1+XtIB{ z^HTC*#-sl`yoa~p?~}>vHPlJgpw}qZG9J}Z8)q^x)i%$Gsjg)f6jNLAN;d0x9qS-* zEcrSMm2L1fN~Yc^@&+PRH(*+m#IG@}JK4IJYlWjLRV!+m18+OJdpIBipd~$Tnhi zB;LlFZCg0P2`p_v*E9WAmA_Zx*8&{Un~Qzq_@;tJIQ)UR2MDuy|8PIR_}|t1mAEm9`So z=1H-Pjp3@|z3|aDGYc$B)O0O-FF|WSjo$(U~k$HcOW}UiY zDzUus8W3%Ms`9pe)0W;RvFy=tj*Cbp&p%N{b!E-FBz}X5TW>NPg1Mv?q+(c(Ma<0{*5M9>^+G|ZD)^SI(n&xm>xaR{VcMh^xigzCH1>wpaV-W|5Trt&SSoBX6_XKAmxJw!F6YCOD?qYYxlEKH`vi zv@?XZPf5hntItO}`iTnj5}TPLo`-(ITH9IPhu|F|X?E?-_}#QvvWulPts$6lQO29B`wY{w`9#rXO`WaHCyF+oIE&J!M>mT$ zpJb?v4KXA631?}g@f)zDo+R3QQp-3ueT~nj{(jNsx3ppN zTSS{dg>04yF-yPNQdq9U%q6#@HKIprtaSse8;58P+h>hvvt2T+YPGV~J7@HSn7pz_ zr-&Y%B6@U+=#gDAt!m|w-e=-?Kuliw+{jsu-j62_@$`6oXAtLDnU|O{o})fssaK@h zt>Q@MTjR`AG-p_;utp=*=#GLSTEE{dRxRw+tD`3MZjZe6H8$z*TG8K`@KQ3{{uk>cC#mljN6B-<5%!$sl5ysy zO67P@O#SxR7pa0|^k%Zn7mGGuEZSV9(pF+xCEF}WZfWx+uK|RjwNsIX*Nu zpI;%64gCf+Tx4d9v*p#Zui5iT^E%1qR?(1n<+iY)MeDAWoa|LDKrEWax&CZCqi=d| zjAd`N^2SvCwG#3Wllo3)M}hiQv2|x1{p}XBTC$vPKM}M>z106U=ih61_1lzM7O590 zx8{zi#BX!bHM~qEZlxEjQ#L2{zRem*O8$dpowAXs^#1`BiBy?aroPZ3neQ(BQWYy+ zgH^ik!^y5iztn;osN6&TrFx-q8mO`4iZEyRrAn!@1>Wad^v05(KWpAC(A(${C2vuo zh01x(7WgaiN|D?G&PHBFvXx{h8e7B?+=5kiqu$sfn^mN?svAr3Lb2DwCe57!vgRA zb-h`#&w0D^-vVzdy^_suuj|c{dM{Mpf?iWoEK#{b^!EYO*xBRzXb9%ZeO zr2cnVsq~>rj9g2c z%lh-tfACk4qZ>*N(;|9pkD z#?rbfm3PF`v-t|gttm0`7#U`rB8@5MHMh$6`(GBxoX2kfZ}X?L!`5ify3OLRFsz#FEg&<~BUT)=$TS^{u<|QUo9*^z@r#s8} zmF8`t7c)0aZGK|m?iS@Mwf%34de^s6g7z|Eoz&FX#!9wXQ=7-?+v1b-VKI{O*^h6v z;gRNTUizBa+@o)aPk8G`x|u)WZN3*&-IHMpA&y&0Q;*D;qTmyGlDO3@SAVrB$-{aj zTXk3SIKwJCm73%|sJq0`>WSpF#hEtWA?{z@X^lqAtIMd_dZ87s*A{Q{^^vSsF2OrQ zf1gNR&(gZ%IBV+6;>=bi+bmO`ylBAPhW5*7%*JM(Q9na$gI61Bvp9cTJb%?5ul85a zD@5aJajyV2x8RlZN6wzpG3vAtTG&D7yK`}taPeNo|j}0Gla^ zm>TqcY;$V8Rpcf9q@(Kc;aK1hdY5%m%W)>0t#IxCf{n5w_bOB{P7>CIauQ-)nH%h^tit_b9jaX~CCgMdE8PC!AR(#H=}=ab&7e_f(jdyu_ce)^<{NG$*ThM@(6*^!`8PHnsVg zR=wF+mC5;1xI8^7@?QElgPV_sL}m8r5` znOC+7Mm6|r=687Z^q|UHsQO(V{rd|Ks$G=d@SCR%!qdF9(UD{IY|QJL$N8CJoVQ2b`S7T@ zzxqAf=Jo2S%iG+e1FiFRwiLMp|Mhs~5|sVj9(nZ$I@`MOS zpF{~YN{)G@Sbb9Ic4X#&mS2I?bEHPetOcL7jvDmnv*PLKR=lnC@*FTRtvcIk6{%Id zY$>X)H7WJAAr^)wf6-nurSw1VCe*diVLreLxHe{53GQ~S$#!9XmXIe{vb>mF2 zZnWZ+>PD59TEswyy(&A#j}WVtlna^nI3JlQt6SV-cjKlF?nUZ8%2*c zis$*YR%4HHq!%;7I&Q%@3C&oDPT+jD1I zR!Q$Y$SjChG+6ZS=U*z=!z4CkXH;W@qD_+Uw+3?0S z)+Tw{RK$ukG>NONTPlU-YmKT$Nr|*dudJK%+Se)M9TrzWcRBjmEx!m)Ogr8Tz0LjA zGvwyqGuNw__>C%K4bDGNvb^DW{` z<}U07?J*S_#)#jtc$sLkUTe(O=C6r1f2~E$vF+GkHF40&m*8(<9abO>Mrm zy30Dxp^Q!9JZDpjI7>F)D%z~6v$gqF(dJvlHLPwajXPtE^Vdb2HFdT&e_ga$(2MzG zwRN+!iCKbj+y92>(KoDhgKOAth&Bt7+qC&M(dOGkn{N|s79>yE%(xPpc!MghQtvRM zbFnqhz*;(2-WD za!U!tS{I77t{uI%i+XPt_1-Sl_S+GSCb4Q-+gVm}tg3sP%$vkdRbJ`&(aXf$%a=*t zp<1M86pe9aRH{@yy(1=dPb=^K%MV|^0&hs3AX1+JYV)~@ejB>ERnKr-@KO&kt^9Cr-|MG+}t&;Vg;Mm?l;2iuAN53!GO!8vU-$UxC$?p_>ypBp+iC-#G zXA-M+^gda&PnpdC2XC$xD zMKpECRN|*&^>nOQ7m~Q!*}10XH1;Y_*Q>Z)wQ5IRO(c_XmgjY!(qaA=YrnhHcr?>` zrK86PHu9q5o1!uoajP=gLF7%>P#g88YN*sl+)D3$ZSaD%!C#&_c$u@Cg&JE`dk(qL zBirxs#k?=7k=)2@v&!T$>wOzFmRw71lq`Ksw>saTq$F-t3blIw8NB}-fB)H5(X;>U zXiQh{zg|0%N>F}svBCPAm~kX$-UegdTB{mcSuK@3#81_lvpw4E!Dz;n_^4wR>E*P# zp>9n_>b5=PMRqE4$<&uvB|q7`?bNI3_`7`d!K;os_@EW^a|(;mIM~temCu&9-8wm2 zz5i^RIhNUfxr1+!eAq;id5IZkJ1?nKUfvPMl5OwfFghQ0TuVFBy!h4ay}n?j>N%4B zy~WFn&03O9p+kXXb0ou|hMpnz$ir`#U9zLim5Z_jiX_cJYA|yFQXy`^!gvaRbQxMZC{Y&4Cb&=HXTH8L?R^N5z zsT~^Xv8KLm`C+OR@9eGmo@mwgM5|iy4kK3do|rM)M`}VN_7M&l~%wiRZKlM z^-$$oPO0*+b8hNk=hLZgIUdrzj!0t_>8%MsfA`w*-rcV$=OHIb4W{$yLCA7bImpU& zcmNkXo-+WxfsPR1fqzu3=@?W421bEL0R74X1eJU#sCXsVSiyD0D@P@-?3IyL2`iCK zFKsSArnVaRzS>;YaFesuz$MP+@+D4KR*tG@2vt}%psxWwXujiBBF8Ul2$WX|R0OZx zY7`NZeClHO6Q)9({_|3PO6lcc3eo_$2hKaIQm*qyCj`Xeiui`mf%vAcue>TX zcP~jQtJ_a4?ZGBPCsxzuvgAIOG;Y+qt063wZP|K<_;2p&EVA<-IuEUI587Qq)S(ENnJe>wvVW$TOOCCUVs!{%OgoW|qTIC{50rEY$BFd(`b0{4M4tUbccvXSYDmkSX`Zf z9;Hw>!wN83JODL4>E$4JSC-XC{<1hKuK5+Y3@pWmq}USC*L$fsbN z5B#aj^UFbILD^5AS{g2ome;0NL57AsOKXv)&=N!C0YZgql>_*IP^UPaKA2 z0>C}6@AMn4Jn|?5qrd^qqj&(FmWP}?m0*sG z7UrRhyh>o&))3m4hZ>AH0fJt)1f3-hy}}ymcpWk_Nf3K@()$|`$mgzM66e5-0~pmOx}Q38AKgg4RFi(l8gQpI#5GY zMwK*#ogVHz-1`PJ%|p7E@qm2*YypIs01+4g1jc{gL0eZY#yl5e;mN(dr6IKA2j)Cp z7@ad#*a#bfOjHUoqosUiGw^2AgS$%KoAdiZkWrwGBVD0R?1;7w3(!WkWNs{N$*eAI z?1EKjFL|^F53m;XL}gVu>{4Zw4K=M4pxv(pudnjxbv;0U-XEYsK!AIsI~qKsYsdpa z+=B+}E58gt*%?6Z=4&X0DFfwCsXV|fUk`{3c(DXwcVDDMDU1r6DTik(LK7Frcq>T2KlMM5WR0G4v4{a=6Zw#?U`v zeo@9e1K_3H9xoMjht4P<>h>MC$9Gh>DvoBAo{Jz|Azh(=Q3~|RDB!_4y`@J1??K-? zR327&lv6%~UL9pNr2F7*uL8N1&6#|8bH*!s2J&U}vt`Hz&LK}&4l_Pzh#TrasOLjn zUM1}6uXtG(wua@sFuwJ74`BXqV0qulO{r|F4!=@#$Z{O@qlReoFO|FN&bGp_P zj_%s8FakKItFN$okAt`(XM^6Zz z&>1NWDOJv^krIB>3w?9ggSrarl|tPDm4_OrbPLap6<`a}J=}Y0Y0n-h$V~a!pE`av zay-*wl?qUPe)gG2b1@$Jz*klLY)~1?`tZ-MEbaNDwxhCp&s}Bchdp~#KAhdJa&>lT z<-F{o%Gue4$nPTmSOK!Y<5kYj{;+&b_UGkGvzyCTWxrL1KEz}7-2sO=g82ji-PaTRzRb;4 z05;(MYTO6KM{vCb*N-55Bl_?IQ07}QVd)UG!Rt{5`(_WH9726Or|aE?Jo^5PfDr8t zeTqVvsAGHYEu0Lk#M0KuxvVsmHkP(Mh*EnmiWc+-PZ}@*d1rqf)<$aIL`C54#?mvrp;An6r%{{kdJM zCm-tioVEw@b$#o4~A_7@kR-2ErvE&uyl0S&XZvV^DCr96*v9ruDwdn?pjq^h!`E+ z_2S9j&AGQQHfOXj)H_;GSr2hns2d8lDvVDd#)iT4Sb7X&Kv)P%V@`+~pDo=F*z73W z4|Hq-tU+51OL<%e2Cs4a6e5+5^tu3Z;!VZjPQN(Pp+R47Du%#H#}7S^i+%;(!?&pN zD9Z6Z)S>c++7?k%7`DHnjgLml1qp~*qmI@mi_IHdRY1rM`=_w@d<@E%+*#CmK2 zz{6PTA$CgljqoFjK5D$UzPv~2kaDW@uJYfC=aff_BjxWEzkrhT;D@Kj2w>%e#Xv(P z#9Bd_F(&HuHjH|@r4(Qk@+!mV9~I^pUU_L{q=Gh+!dwb-PSCpi@?d4OG=}mFaXpGL z5i!;EwK!bvN1v%GSl?id=3`vXJGXV-UA(QcqjZLWyNjoF7K%r8W=aE{TZ(V)e5iO! z=MJU+?CdWMcP=b_tg{>Ivpn{iyrPRXuX-cwFQGQ{hQ;xo0l=o>X5h`hXrDUvn1^Zb zblFsLfGd%XHmlHgS72jNVSeLhqe?i}FCSUSq0M7H13-TOQ2JU8mj~e!)^gD0_o5~O zhSi`mtVYzB8pJQB52`UoUynG$&WJPS45ExY6<|-wQ*Jsyjq?n+=?MEBD(jbnY&bE{ zxxO;qvA&|Rp5CqL2$e$JU4wcX0yOs10cIYX)TVUS*^~~tL-esB`a1Xz2+`Jk-QKf4 zu&;3mxD;kRVAzRuvjTWMKCrKG2^i@fu!lP1p{=@V#DMM>Lx6{S1@J4N146_^Da1pU zGeGC@5le-AuTb}im44j!KgQeYtXl@241bl9L$Hka+Ds&j++LBUAirm2#`lK zB0$)2LS;=y=&b3;qmRlv9@11tRPj6fa*+1RBOMXu7AI7O0lvOgsxttnl!mCoSAN=8 z0pg`PeE?=Jz`4!<*P#j#SHD9!8bZWZb!<|b0c$(5j)u+Hc^d@`b>y&DmBXIZW+&UR z7O)vHS1Gr{1*lYz9&&Qn&l*XO8pt8fCiET=AVAt^$Ee{SN#~GnMCG6>M1SPNGp#p7 z{>^~3kgN4(VM7-AM$(&+4m;6j`5nXMvC`(wpmJB|NF_+;u{YvZRHs+*4EU%oODY4M zODb;hc(r5k4N4W4Vxw{|!W$jbO6Q!yVkaoL z&X)?iI3e!uC>(~g!<-8W#~{xxzzdPK*x3a9CGc!QI{bBZEI!ZCAKyzA{|5hm4c{X8 zUxBZ^P72Un+zELi`2Q%<{szAvMV{w5OOXBy^sSXiEOQHgQ#%)a4g2(Uuaiap`waBI zS@gfJ2JOe4HY0pocSN7cJEbh76 z*}dmXXRn_3JFn<@m-FhLoq+prpK+G+;O(2HoucSHts znhOZhE@nQi64O$*~d;@vhYlv_kY2MDrfI^>wYXb^>5A+#`I@X{i4|Hq< ztOlosjmn?nZq0VRqvX%YkB4)k39rv9<~jx|xsEaHn_|zYFDwosZ7e&i)^?7U$2xKt zr-s#F=SX?9bF4fB7|UXg&^d@1A^L(2Rq4lEZ3y>c9V2BAeWQo_&ESnPZY9b@wv_KTFpjY%=R_E-0$|J;6fmxST^>vim4B0Zf7wZ2Sbl!`Q{{cqca#r;MGvLcmnTynE$^7Vp}c$g zJLM(m;f~WPBL+?Y9xV?Wh{|p*C?9?!f zy;~2UDw{h8Dr*7gkr5Nbu``FbU>2-*M$!uX$0qDgEA*Qo`cMrDeP0r{I=TDB$8!C^@TT{;F1_5Cy%K4@Id>=Rf2F$}XAU`hv zh7UQvfb~^D%~g{g_>s2&o`Q=qA4`P}@)p2T@aB01f4)};<_7?`=mYz}!ThK=mQqeI zKVR~3?E{Ztm5z9nhAV+mXx&@I zgN|U*1Gsa;NpEhj)$Q{q!#>D00C{ur&=&zm6M1tDyXN}isxR0YA%8g61&+{;3@`FQ zCj88UNA=~$!2_Dsqqc$vHX$GU^!mcBuu1FP>d*DYJ)|ikFR$%{e$Zf}-i`}Ac9m}H)mYOWEQI>` zC-%nuIS&HDf`{wddZWTRU}f$#-2<y}VDguPKjsT-Y4{>qfzk<&$e1~ngM+|@?lzTWgkGc>c z-oe&9`YIn7`6u$I8wzFU>bUlKg^hDJ7b9Q~Wfq`LAa5a<3q7b)A<6`@5NkEz8y+>` zL1r*VO+NI_hKecrXXosG}ar418O?IcicNzY9BD z=nYXe5o~qm=Fx`oC})2%Z|X^adWUiakAi=0UpRSuB`OEVr{=+5lz9jpZl4cq@=bW~ zKSW-nPehQVa)?FF-x|#ew)&72>a_X6)=;O<^Ff0?&~Uxgn-`6{hMq_Jfz9(=q`6xa z@~HV^sw7i?9Sk$Siv#?--kx&(P8Pzv4rd z2f04_9UprAlA4#teOMgn8$|mLAtwaJbB4ZraSUl&`U2oQ(t=`$>yf?@U`^BMBj{T^ zVA$dKJww1_eQt5c0Q5Ot_YlUo5I7I)BMAk1KF6QHNK8uw>po?Cot#wnhKv~1UnrIRup#XU2p7GIV* zws;1v-wWD%Gdtt{%}8HWJjvwWxwu>ANWeRb^O62+T<-|leDDlqTwI@uw09QsnOw0y zlgI8=4(Y1sW(JYArI16Kn;F7Wr2*`2>HDyx3~a<6(MCM;*-{9*#tREFKK6^oLHA2J zot_ylcz9;-VFd70fYS{@D#9~>0BJ!gk871)pT0@mV&D?BKCR*1&MgKGch;v5cYKU1 zVLH?+53Hb23TYoJ77ZR~o})Sfti?3su`5w#>W49Ef21C|)<0=r0Gkm@(EB;{8^ z$FFz}W*&e%0C7QE_U55a$$5nU;O6qcd9+`zkjK~_;W|GbFb~&&{5;SA$UETzJl$W- zS6h)6eS|lG_KUv7n?U{vwAZcZi^hZb`H5hDG~omLz`^`rGMMk8%?6Xc!9K8>jB)^s zyJ0Q@Zv=Thu7gQ;o~!!|+(*!-X#w*2NZ0q8o(Fad=vyWgWJdGCi4Zhk$P6IEM|w2j zYuU&XX<9A>9r;1SHL%vJV21};YSM%KKKeg}eiqjlZvtQi`_)8#KKja>ng{^HVD zbCL+xdC-op1m&;?*T@?I1~AqHpd&A0jPW6-d85aX7qQV0J&t@^ksonGIv|+uZVk|9 z`@lXh;)fVU%6Ld}X+D*qk{N+1~6# z*yB%xkQLww&PMoi*qpsl{=VKn15XYzb65$El^4#C zedG_fZqzz@!*LgL?Huw2c;@fV@iBi?lVPtv3E$vjKX&W_(1%M30DDT2d7?Fpm+OwfM-+J18%_ePXG_%`X_(~Av3}gaOL=Aw0U!O>Lw>N z=c&*i;yjhYJRCHoDvznqoV!B5iE~%rK|c|wE6bo)l)4Brv#{)AKVGHt0EOqc9$;Vd z{PvPmP(h!A=e2&hFMX3)!9^&Y5H&AADQfHie1HpxPf3er75R0^>_ z-*28H+=H`IA|Q~QoXY<1lj_1H`0cRr{X-y5N63k z4)WuARK342guVI~JDI|$x(sj|?uUwd0)B@R5&hN`bz!3IP zhOnm+nSIVYXrq83@aX+aeI0g$*vIs79|A^(VPzE{kC7cVY-|(GdTqk<>YO?MHHfod9`@TjoDb9I!BlBUr;q1l7XyZiyW+Xo8GsS& z;e}?;Er1TR3bP*<;yMK1NO=(Zi38ZX7{Gqd81^g1vHvsBsrM-q_AT^%i05)S?16;X z;|PJ*1Fr|YA9xA&h4JhFcmVq%9WK7_}F*SFo?Yo z0L~0~IAiAFjF5*jW()DW-ovwYg=g^!cmeJgbofYH3&@v7(h>IG_5RfW_E7ZR$r$!g z#{j^7#Tg+V=YpWu$phT7>-gvyf>NaXQUC~%7NOU5 z(JSTwC|jKM@pW1WX?V7eJSmeOtv@WT$Jx|N@x1j?JXaXTxtV_4?}Ph&aK8li``|f5 zKjw`4;Cb#6%o&FP7vlOtq_4+yJ`>{XSBPilSv-G)zAg`YWD)kxve-l0g1xjX?p^Gk zxp*GvmsEF%XPZ8rZTpjcw*vMiNAbKn#51n|-~;jig|kPIKKEmu!MG(4&tSr?eCZ0z z?~luTy!4H(18`1YF7CGgZ^5|$eQw}toDtXpxEf~xHsEZ)7Mw5G0C)t~5g;humeFSq zuE&|iYf8sqZE!tcV`i}Qs;;n@>QXol_G~H& zKAt@(T!)1aF&gc5OHsE6K;7z5We@us9?muRfcNyO;vs@2+>2-D8uyk$ zoX6UVeUcE*o_(B)^~~8=g)>^JG=zB=<~*49jFxl2*<8N71^akwFxMK%Z7v6TA0GSh z3TtMCHF1D-Zh&JHn2!$VxgF+X8!?v}!kTyp>)sKp zfk*m+qPK&Z^mg#ZF{c59dj2z+)$Ho{<|5^Xq9>$ z0Aq;yYPSlH)5*wjDw6cCJ}Gq?a#iyv^|kKPz=hZ1{ z4S0_<>F-qU06xZCpR7(o`r+pKRBeMgT45N&)h6hDt+~Fn8+yIfxL&N@tWL)D3X^|R zH{_T+eUSL|Zsi|i^1lVSlsdxX`Fc0(G3ni~>>IF0%Tdt!7Vr+5Jm2WPbz6EL(ji|R zZt|S0<%BED^_z8m|A=k!VY4@AuHOpJl(*8zdAGU^HoV?kf3^GF;MH-9)Z5fsfsZoj z?^55~788Zs?}AL7-$QiXhWx8co^N*FvMrCRPQVU>@((uYYqTzPq|tkdx*hRZX|C_+ zMr^%RxL&MI1c&ktG5K%rhF+7W4;F;5?I@G~O~|Fxp(an*4ZSA48y4INy;_cf);EFo zFq7xb?mM=n_aPnf)xjpu30h8gh`Byd=l2iYCO;1w4l~z7s42>Sow>e5-Gw@{*2sJ} zYL@bjGwFAAUy3xH9;!>#tyvX*)a3bk_I6zVrAy!3p8Xd5Etue1<^Da0^5 z*2uX=U4oPgb+Wo%eFpNcHrJm~8*#nCT;HUw!S!d&^_-6DaoyFSZ#Jr%aQzA+|88A& z>h+NMO!Wx`K7YN*zd?OcJ@@bn%=LqrPeAYECjYm(AIwy3%fp(x;iKkN$o3HN_eVzJxQ|jBubEZlEed^Ja^1p1Z%jr!i<^4IW^W2vGCVc$cHh;g7Rq7w+ z`WxBXkUn9qzp3Nk&w(tZzMe(gJk_K1-k!Y|^l_8t!3<*P6}oi#LmAlVmreQunTKF= z#a!Rp^#HEZ(1Es`x+SH;4;p*E-TgISZKsFx1ebyO0i6X`m*fA_&GqH#W5Dao^&2rS zQvTj4t?N78>oYg*;X{6xTA#TfqujHNt_w03W>!A)9CLkPW>}5)oNKO!)rFby3(qxn zUWoiFuROOW}Ye?(n{>$A;uK6L`@e7Vtel{zn@yfclQ^D^gWvM)c&T%Vu$ zPIuJ?rH)Iz6y@A+{5m0Z59;&F&GnnK9Dg5kePZfOkh!n9K0fsZr0->}H+O#*G2R>3 zo;o_U8tJ>6^zU^ekGBXmELLww9gnoVj6KJv?nPZautUe;nAFk8vxmw5(vJJk2K!B( zd%Ize$q&c7n?lybsq=$I!`xj{yyx~@|9YhdM#|*)8zSn_xHA?_aPnf)$S(G z(OOQphq*pR=l5T1u3xKd_VzT_FYSPx-hrmhzaa%(;UXh5pW3|5N2Tt;*}7_c^6CfO zKkQb)hhafRy(x7f()TrTPE4Hyz9r`RjruxVY~*~m`;EXlR)IQ6=l7SG^z|s08^7S2 zGCemXX&vrwI{ ze}gXk50mF*YQ5V0A^kgv3N`Y4{C}RgJ}Cuzyv2rhJ-n&%DmB`DZsyHpD zkV(Hxugv@pnDj@|XglE#O}q9pj{v{V$p2CIhcZ=NJE{+5{LG%cA2jJ7(QybrXm~%2 z{YK@VX=GlZu7uvR%=MMJT`1pNU!@*SEB^;Z{=@0B(H7PkIcI0i$^2yR_nYf;GNav9 ze-W7s+EI9>@$2;pW0ZHGk#ke(X2j}rQ(nJFJpg>2xqcw^OO)@Y%=K~V7szv?iRb6_ z*>C?mqxa?%#xZZqTz}lT6?x7w`5#O@ggl=%*N@_jC>25n{%%c`)5`mk$^TFa-}UqM zFzw}m6y*EY8Tk+C{OZ%@`ax|^c)j8Mg_h}!nDk$zevSN}G3h_<{yp%Qk?yKrr~V7| z`7JnK-#G-yJKYbJ!0 zipp<2%lYHCKOf$8pLgxGpZ)CN?6c4C(*AhjIQW~1CnO#Re+zNdL<5ZFjl{zgr*7cf z+aQ6wvXQu|=FQqf{C(m$d{ciWNwvgCTf*(k+dMH9Wo;v#m}m~o{lp{fiHRn255%|{ zG`CY{BJwsVc7S+lVgmSE$$4CH>K583sHSXToAk>D(+ z=146oeK~bHXj!Q%iL)ywwThwh=QPcmewcmiqB|Bk>zH?Z0yupw`D3+jq^={r=%R1P zdg9|Q+FdpiH&09i-cS5v0{t_Xk9ek|za7P#znJ~-y!j0{+7Cs3(&Kxuj`&yt9LB$> zG2NZwHktc9>)0HBWggGv>bUqRaV+NCk*V&NPLsJu$eH3!1?N7-VTwE5ZBp!e)@3Sm zGTYwgXjwleev0#E$(PO^EAx0xYVNT*p)Va}eZO?3BJUCA-D7>}WVX%eYTo0CACXt< zk}5|NKgV^+l7@+`wq#Ubxt$UX5%W644HKOZw>m7hQ(}+Rq}Wl$WKg2HAsNNVc|I`+ z{39&4xdEJ7oc!r-b0f2DE|z;Dk%h7rqTHfVH&H9mq}V6qw@cJbWVVfnF~(z#NUcOQ z*muxg4gAdGJ6LWl@SDv2gg7g4GUnHk7ZdHExs&|%i5HP~7ja$KGml5)w}ZXO+?~WH z6Q|<5?WJa-ePY7{pOIfZQ8Ur7&2HjTiPJG>gnX2!4*fl}XWAb@|8wG+us8g9H#Ms# zK7#%p;uoQrd3+afduVQ$_ZjhNogadQ=sy|8Ir9wk*RaoYOk`rb@1^GRIxbQxF@~9T zM`-S4UX*HQ9{-$pkdBx1BgAJD=VCukNYBK=lqSXYQKwa+C;U7_d@gZ5<`_oTL@U(g zTiWkUbOq--;-0W)9zR6QR#MwCSCo(+o4*dL*{DmpQk@qX&(}@c)Cqv$W z&zWrx(%upL%;N{C^Nu|nnqLwxOz8={k9atI&OH7V@%hBXSf`lLIdL!i{DC@;COSj& zF!9C2FEOW<5m+r@FUfw`GVv(*Ka$fKIP>^nYCf81iL!nq-s?=mINGg4P<}~Vignr> z)7$`kyKbx#U`&-{`~zzm#&2EXuJ9-G_;=K~7ydMv`vdXi#FbcQjvMH;;F_ zo%MFZHct>=N&Fgfb{gr4-A7*@IyQ@$OA<@LnZmWi(!>(@Foo-fZT3>sJ&X1IHE}i8JZZdTF9d%v>$oWK z7BqjN=36K$^Y~BXFG5*O<{l?r2u_o^i|J>2Vj(!kXrJcpbuy3d=2~d4vj_9x=fuNp z%uDGJ=drCe=B3mMtXGzavB_~Hawc&B{_8l(kdxST6J$IZ1IU%w@8051Y= zB6AZ*Fkc?vd^ZzN7)y`g;7{5_s;u}Vo~V9vkH_+%vJfq!pO z8)jZ&KJ2-P=PJ%9Pe11=KmFdMw&{H3hq;Nf%->>vMBcEMAn#;q&Pr4P#(ET~O5zP$ zvfihCc48L%JWu?F4Nm&|Y?md<2`3ZJNz6uGljnDHw2tXL=))|vXPhTzb^>(_O>D*E zOfzvau2(2O+D(+hwwq}Gh;pwG-_&Eo-L-^lwTHtVF>b@{i8x+dC+A1S=~vi}6P1&C zo%qkhA93DvS)6F*NXA+6nCs1zsIr5t%P;TmZ;@=a0#(7g^S>hNImuR_a;eWy()KMf|P}e(GuBqwdGZyOep4 zxabez0rs~l8uRdN9=|dY;DnbM!;jUU^rdlL_>+2)_?WI;gL&+4KbptkzaD4xc#Xcq zHAA{_J%Kg$-9Bj?GtqAaYip!M))K7k-{d%2Z|(8u1biX3FS8_iJGQS!z7-rt zw=M94^RzFsZi9c3c#(y18I2-dqB`;>`AfB|U^MNEt)<|@L&z`Io;=rW>9CVwGHKdNW9HD3%iyrP}~apa^j69_7S5S z#4S;pgmtOE(YyoOZ?v}(>`??a=<^*5`;^h|v~RJX6HX)EXKjHd>OlQ{_(Y75wp#E% zSkAoXa&$X_jt%nj{H+LHn{*QP!u61GWg7`B7_F%4d4Y_Xq27bgC{$_p#{x0I( z26W_qEGsg0f;)r!od$l_B)a>4^eqN{@g=zVuBNwdO z7#BY0nUyl!*xkM<_5VuTigi3$F3S+NIm|oCSRplLw<2e_F$(^;oKKd>Qp9`~Ilovr zFb~{A`#*`#;G62d4aRbOpFz&;#6NMlX|TipU>1)TOSCNP{b>QqlpoC@UatCK2JuDf z7x@4E-L{ZRXqO*|FIoR${?z)4TT3)qFgFG;+^`~rDLOS9q0uvbA6zD7wb6uo1uO zjv0^k?b`o?QE|EOCtSfgZqq#BFqZaRYM1fMJ4wfH)SfZ+AwNL zzT>;GeoomcTfos{2IdNZZ_yg!9Rhy%0^=~s^uTXQybU=dT1AfMCt`a}@%?R>+gD-U zj%1r`$M>1Q*d>$A;IAfsv+Tv3xsiA;?%I@4%N9xc&l>{ge+yLaY6?_T1HSTq z;7E^8s;{<s;B4|3vg9UqUrQuzAS{!4DuJs zB5*z=UPO(V#OnopCxRBz2CZ+1V=dAqtz)o^I-7BKEsh1WFH+6uL)sV0I`E;3v_Uz+ zV%pauHloLMq#8E#!`AGp>+qL^FB3muYrZzb8|4Xnwk6Kye+Ijjms9qbso+6*wVw|&U|Cb6Fzi;E>e_?b%PKT1i&xyWN8TQ3; z8{bHnMV$lYe(>L8-s|!k?1yPDZ0PA0cu2W?;OH0B(Sr~7qMzUfGuX$QV^MA^=DpWP zS+sj7H8;vKSnvc>=Zx0m5LnFmnr z`{d;G^TJP!RSVb=TX~n|?ltd2S(AwK`OpmB2Tqg1Hjd$8S+>`GKH^D^C;QF(h}C=K z7qJVYta9WO@bf`m^Llc>jbna<>upH)D@V%Gx574#`B6FIBFYILCN8RF1?7qJ`|z3i zo*Xa>#G3d`Q_U+6Q}cJZ0p+7AFT2d0;J;0OcACYYS&2Hu?1FK9aTX)Lqo4msenCG+ zY;OUT>xk_U+J93lhZ+CtQV20QLR{EK{|SBsPD8}dAH%kcXCWUxkmEt;e#GP``BO}^ zNzk60B7R|%rFlJ>WKKm4JJLQ$IntIsziUo`y*=?1<%AuGr)pV2N8$s(_>X(|B*b_?nqy?3+`-h(FqQ(pNxalp0sJ;`r0cq94Eb|4FGiexQP7@) zwN?q1yTX7!K`G*;su{h>F`HrFovq<$>MX+(2@;GUUan=yTg0Dey@D}uy;2dw3B;$& z(!JJBL`1ag>Ym6Qnx! zQ?PZR{Xzc=w4HKtg7Kx?<>Ztvr3C7znz+lwu7f@>gt(*+9CpDtx(J<8&>X@s^{Vrl zQ*BQLSNU%`qn%<_Ks?%+=;X`Skhrw}JbYIENNARU{wU@Roe|E~F;9|H$}b&jHjt6d zC}=)K`xxgfr(^9}#BVzzow}Q!CLZg&?Oa@3n|OpX*2y=m4)HkWO=s3Wb&1D2Jg7}#yj~A*C(FfjB!ppkw!exnc!S3-GKNVCv^4=euns6=N;!_w?@QoIqy38nmR5yL4QDv&_yqCm&Ksy>P2#{Vhq+FD#$63Q`WxG8j-)&7QTHO` zl=B~oIkt3hy2Afrw0CeiqV0+jcXB$z|5V~`P6x#50pjjXH^k~e;`UB=#Hu)PPp1d! zRg$=)(-ZY7Mf{4>1@$UT+{<|d^(sT$+3AIPJw)8wNk_fP68CX>qh95RyE=VPuZM|C z_z%Q=JEsIT`eZnYefulH*a;)l7Dqrlp(J?rNbw{C`)W}ia=ykl5=>)EKF16y(RNYN zE;)$2y1o}Y+l_fudXs+;e@QSU)`w=$hj|YQG{b(hPr}o1Bg4Zv%P*8Jd7hjMXD+{OndH0&dt=%s zJ5w-rnh;NS-bcM&AfDk&N4;Joe$SbKdNn2f$e9YCTM*B3K7!9JiKjTTFh*Jt&vqtZ zjI<`6`U8C)FAeNR;&#FH5oZDXNhhbO|5#kFIeY>Sg|i&>>Q21CS%G@>AYSQYpk6(RS2-(DuUCi{Ijc~wUc`G0tYKsx`}`r{ojYtc9XsY_9|QOh&kXoW}M6jH3_8X=69W=Vaoybvy<$$Zu>zM_#9W zj{*H?XsiQ%@B#5Y13KY{4KRZE4|9Pf!ARoYP1u7^ zxi*+(%?7_e?X#`l!5|FFyW6#ige3F%W~2mHa_6VeW2JAA;}2x+^q3w6hO z2x*(z16{``2fue4VUH5&6Js0r*o#Ekt~ywi=^xenF<3La3X~yZq`FkGUsH-i_D=Ml zYTSP)_(hN^@HxQ9sHmx^FHoZi_1!vBFc}t(>_dUV61he4>e?%d{N^);_6aE zB()6jV0i+4yCZQ;87yDi)^k^p&+NTu$ER4Y{9a-B(1DsY{gJ4&^3#oxGD_!m<{c$Z zV(e%gMeg+qqAs{s1F5igFZ}5o-Ps!`BG z-k>9OcG|nJ|5<~+^)>oo@3bD{xzm0Maj3@q|G)<)d>lBGUD`(JHE8c==pJ@g^4l4D ze5gU(&!~lc=6du$T{%&G+Fw=uuq*A;y(!+lqwQJWT7F-wx0U~}O!e9ssh2v@KFyoz zRXf*>c#1d8ldKPj+ZxlotnaGFn(yGV8}ZYAfViojsn{)tKS6z#^}3<^rj5uMWaz%> z^Tg?Ro*4av_#O2#>_+}j1Da6};z7y@8^t;}p9r2Me~8f&pU=_WQ}v@Jv=27$JfC!= zeWIb~H=T$-wLh~ZwL0Vcnt}cJ)HL!xwV#fC)_(FS_NA*cwzYlmqo;r;$vcMb_jf11 zjt`uX2F=#;n)(@br~W%yub>AxLyh+MRR6F-FzWbs`M49<>tLjoJ-~Kvk2maO<#~df zH@x9qwUVFH{y*;xPf~H8D^lqF&)Zi3_pl;8=~s{YWE1oO_$iOGE_>|V=o>YOciR#C ze}Z_gy$Ai|N#fo{ANX8{W!3e;VZWM$@s7NyPq4nb?RpqrHHilp1JNHEl3(A44(*}r z(Q%aZBsqKSH1ubU56(D@-iX69Yc7eU7q z%{#!=HAQFQ*IleNqAtW^yv{~yPrXMCXTjcEo}}ZRKcvy#+upvGdLJY_^v8L3HFL|$ z#zZe`ay6Da&U@KN9se}Tdd294K2w|a!FaA-!p6kCj7AvyFAz^O(C5RB#6z@ihn^SLxe-=KtV-KjPsoIN_@)n&Ax>oM-^;jr?IKSM~GB5cgl4=k|&7 z0*Cu~uKKSz1Uh|~cZds3=}Y`S)r|TPcfphY5(M-oG%${X=EPl%5%_FDd>g;CAkjYh z*~bmRY0a|!QT?a~v1wtw7WO6{>;ebfhzGeQj)}clmT3(Ge_)(f*L2;9hq%xWdc?j# zGwd7Zy^XqbjrqXAKGy5DscXZoq3zn9qA@Xz>gv#!gU|eXkFm z{*