From be50ea69aaf2a18b9801c04efea19825d7f34c44 Mon Sep 17 00:00:00 2001 From: longpanda Date: Fri, 7 Aug 2020 22:23:27 +0800 Subject: [PATCH] 1. Boot menu over serial supported 2. Optimization for booting Solus 3. Optimization for booting .efi file 4. support deepin-live iso 5. support Endless OS 6. framework for booting .img file --- .../MdeModulePkg/Application/Ventoy/Ventoy.c | 33 +- .../MdeModulePkg/Application/Ventoy/Ventoy.h | 1 + .../Application/Ventoy/VentoyProtocol.c | 3 +- .../grub-2.04/grub-core/Makefile.core.def | 11 + .../grub-2.04/grub-core/commands/blscfg.c | 1111 +++++++++++++ .../grub-2.04/grub-core/commands/legacycfg.c | 894 ++++++++++ .../grub-2.04/grub-core/commands/loadenv.c | 397 +++++ .../grub-2.04/grub-core/commands/loadenv.h | 93 ++ .../grub-2.04/grub-core/commands/menuentry.c | 349 ++++ GRUB2/MOD_SRC/grub-2.04/grub-core/kern/main.c | 48 +- .../grub-2.04/grub-core/loader/i386/linux.c | 1470 +++++++++++++++++ .../MOD_SRC/grub-2.04/grub-core/normal/main.c | 575 +++++++ .../MOD_SRC/grub-2.04/grub-core/normal/menu.c | 7 + .../grub-2.04/grub-core/normal/menu_text.c | 4 +- .../grub-2.04/grub-core/ventoy/ventoy.c | 257 ++- .../grub-2.04/grub-core/ventoy/ventoy_def.h | 1 + .../grub-2.04/grub-core/ventoy/ventoy_linux.c | 98 ++ .../grub-core/ventoy/ventoy_plugin.c | 13 + .../grub-2.04/grub-core/ventoy/ventoy_unix.c | 631 +++++++ .../MOD_SRC/grub-2.04/include/grub/compiler.h | 53 + GRUB2/MOD_SRC/grub-2.04/include/grub/kernel.h | 133 ++ GRUB2/MOD_SRC/grub-2.04/include/grub/menu.h | 119 ++ GRUB2/MOD_SRC/grub-2.04/include/grub/normal.h | 177 ++ IMG/cpio/sbin/init | 3 +- IMG/cpio/ventoy/hook/default/10-dm.rules | 150 ++ IMG/cpio/ventoy/hook/ventoy-hook-lib.sh | 2 +- IMG/cpio/ventoy/hook/ventoy-os-lib.sh | 6 + IMG/cpio/ventoy/init | 203 +-- IMG/cpio/ventoy/init_chain | 226 +++ IMG/cpio/ventoy/init_loop | 90 + IMG/cpio/ventoy/loop/deepin/ventoy-disk.sh | 36 + IMG/cpio/ventoy/loop/deepin/ventoy-init.sh | 21 + IMG/cpio/ventoy/loop/endless/ventoy-hook.sh | 36 + .../loop/endless/ventoy-inotifyd-hook.sh | 37 + .../loop/endless/ventoy-inotifyd-start.sh | 31 + .../ventoy/{ventoy.sh => ventoy_chain.sh} | 2 + IMG/cpio/ventoy/ventoy_loop.sh | 116 ++ IMG/mkcpio.sh | 3 +- INSTALL/CreatePersistentImg.sh | 4 +- INSTALL/EFI/BOOT/grubx64_real.efi | Bin 1388544 -> 1400832 bytes INSTALL/grub/grub.cfg | 165 +- INSTALL/grub/i386-pc/blscfg.mod | Bin 0 -> 9916 bytes INSTALL/grub/i386-pc/command.lst | 6 + INSTALL/grub/i386-pc/core.img | Bin 313360 -> 315816 bytes INSTALL/grub/i386-pc/legacycfg.mod | Bin 30064 -> 30064 bytes INSTALL/grub/i386-pc/moddep.lst | 1 + INSTALL/grub/x86_64-efi/blscfg.mod | Bin 0 -> 16368 bytes INSTALL/grub/x86_64-efi/command.lst | 6 + INSTALL/grub/x86_64-efi/legacycfg.mod | Bin 44728 -> 44744 bytes INSTALL/grub/x86_64-efi/moddep.lst | 1 + INSTALL/grub/x86_64-efi/normal.mod | Bin 172800 -> 173168 bytes INSTALL/ventoy/ventoy.cpio | Bin 1736704 -> 1753600 bytes INSTALL/ventoy/ventoy_efiboot.img.xz | Bin 0 -> 876 bytes INSTALL/ventoy/ventoy_x64.efi | Bin 50976 -> 51552 bytes 54 files changed, 7366 insertions(+), 257 deletions(-) create mode 100644 GRUB2/MOD_SRC/grub-2.04/grub-core/commands/blscfg.c create mode 100644 GRUB2/MOD_SRC/grub-2.04/grub-core/commands/legacycfg.c create mode 100644 GRUB2/MOD_SRC/grub-2.04/grub-core/commands/loadenv.c create mode 100644 GRUB2/MOD_SRC/grub-2.04/grub-core/commands/loadenv.h create mode 100644 GRUB2/MOD_SRC/grub-2.04/grub-core/commands/menuentry.c create mode 100644 GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/linux.c create mode 100644 GRUB2/MOD_SRC/grub-2.04/grub-core/normal/main.c create mode 100644 GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_unix.c create mode 100644 GRUB2/MOD_SRC/grub-2.04/include/grub/compiler.h create mode 100644 GRUB2/MOD_SRC/grub-2.04/include/grub/kernel.h create mode 100644 GRUB2/MOD_SRC/grub-2.04/include/grub/menu.h create mode 100644 GRUB2/MOD_SRC/grub-2.04/include/grub/normal.h create mode 100644 IMG/cpio/ventoy/hook/default/10-dm.rules create mode 100644 IMG/cpio/ventoy/init_chain create mode 100644 IMG/cpio/ventoy/init_loop create mode 100644 IMG/cpio/ventoy/loop/deepin/ventoy-disk.sh create mode 100644 IMG/cpio/ventoy/loop/deepin/ventoy-init.sh create mode 100644 IMG/cpio/ventoy/loop/endless/ventoy-hook.sh create mode 100644 IMG/cpio/ventoy/loop/endless/ventoy-inotifyd-hook.sh create mode 100644 IMG/cpio/ventoy/loop/endless/ventoy-inotifyd-start.sh rename IMG/cpio/ventoy/{ventoy.sh => ventoy_chain.sh} (99%) create mode 100644 IMG/cpio/ventoy/ventoy_loop.sh create mode 100644 INSTALL/grub/i386-pc/blscfg.mod create mode 100644 INSTALL/grub/x86_64-efi/blscfg.mod create mode 100644 INSTALL/ventoy/ventoy_efiboot.img.xz diff --git a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.c b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.c index bd28ca26..6cd64636 100644 --- a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.c +++ b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.c @@ -331,7 +331,7 @@ EFI_STATUS EFIAPI ventoy_save_ramdisk_param(VOID) Status = gRT->SetVariable(L"VentoyRamDisk", &VarGuid, EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS, sizeof(g_ramdisk_param), &(g_ramdisk_param)); - debug("set efi variable %r", Status); + debug("set ramdisk variable %r", Status); return Status; } @@ -663,17 +663,22 @@ STATIC EFI_STATUS EFIAPI ventoy_parse_cmdline(IN EFI_HANDLE ImageHandle) size = StrDecimalToUintn(pPos + 5); debug("memory addr:%p size:%lu", chain, size); - - g_chain = AllocatePool(size); - CopyMem(g_chain, chain, size); if (StrStr(pCmdLine, L"memdisk")) { - g_iso_buf_size = size; + g_iso_data_buf = (UINT8 *)chain + sizeof(ventoy_chain_head); + g_iso_buf_size = size - sizeof(ventoy_chain_head); + debug("memdisk mode iso_buf_size:%u", g_iso_buf_size); + + g_chain = chain; gMemdiskMode = TRUE; } else { + debug("This is normal mode"); + g_chain = AllocatePool(size); + CopyMem(g_chain, chain, size); + g_chunk = (ventoy_img_chunk *)((char *)g_chain + g_chain->img_chunk_offset); g_img_chunk_num = g_chain->img_chunk_num; g_override_chunk = (ventoy_override_chunk *)((char *)g_chain + g_chain->override_chunk_offset); @@ -725,6 +730,8 @@ STATIC EFI_STATUS EFIAPI ventoy_parse_cmdline(IN EFI_HANDLE ImageHandle) } } + ventoy_debug_pause(); + FreePool(pCmdLine); return EFI_SUCCESS; } @@ -942,15 +949,29 @@ EFI_STATUS EFIAPI VentoyEfiMain if (gMemdiskMode) { - g_ramdisk_param.PhyAddr = (UINT64)(UINTN)g_chain; + g_ramdisk_param.PhyAddr = (UINT64)(UINTN)g_iso_data_buf; g_ramdisk_param.DiskSize = (UINT64)g_iso_buf_size; ventoy_save_ramdisk_param(); + + if (gLoadIsoEfi) + { + ventoy_find_iso_disk(ImageHandle); + ventoy_find_iso_disk_fs(ImageHandle); + ventoy_load_isoefi_driver(ImageHandle); + } ventoy_install_blockio(ImageHandle, g_iso_buf_size); + ventoy_debug_pause(); + Status = ventoy_boot(ImageHandle); ventoy_delete_ramdisk_param(); + + if (gLoadIsoEfi && gBlockData.IsoDriverImage) + { + gBS->UnloadImage(gBlockData.IsoDriverImage); + } } else { diff --git a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h index 2e2ab031..250da0ed 100644 --- a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h +++ b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h @@ -339,6 +339,7 @@ extern ventoy_sector_flag *g_sector_flag; extern UINT32 g_sector_flag_num; extern BOOLEAN gMemdiskMode; extern UINTN g_iso_buf_size; +extern UINT8 *g_iso_data_buf; extern ventoy_grub_param_file_replace *g_file_replace_list; extern BOOLEAN g_fixup_iso9660_secover_enable; extern EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *g_con_simple_input_ex; diff --git a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c index 004c83f9..bb0e95e1 100644 --- a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c +++ b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c @@ -36,6 +36,7 @@ #include #include +UINT8 *g_iso_data_buf = NULL; UINTN g_iso_buf_size = 0; BOOLEAN gMemdiskMode = FALSE; @@ -254,7 +255,7 @@ EFI_STATUS EFIAPI ventoy_block_io_ramdisk_read (VOID)This; (VOID)MediaId; - CopyMem(Buffer, (char *)g_chain + (Lba * 2048), BufferSize); + CopyMem(Buffer, g_iso_data_buf + (Lba * 2048), BufferSize); if (g_blockio_start_record_bcd && FALSE == g_blockio_bcd_read_done) { diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/Makefile.core.def b/GRUB2/MOD_SRC/grub-2.04/grub-core/Makefile.core.def index e8d4a7f4..4ac0746f 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/Makefile.core.def +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/Makefile.core.def @@ -809,6 +809,16 @@ module = { common = commands/blocklist.c; }; +module = { + name = blscfg; + common = commands/blscfg.c; + common = commands/loadenv.h; + enable = powerpc_ieee1275; + enable = efi; + enable = i386_pc; + enable = emu; +}; + module = { name = boot; common = commands/boot.c; @@ -986,6 +996,7 @@ module = { module = { name = loadenv; common = commands/loadenv.c; + common = commands/loadenv.h; common = lib/envblk.c; }; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/blscfg.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/blscfg.c new file mode 100644 index 00000000..55ee2be0 --- /dev/null +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/blscfg.c @@ -0,0 +1,1111 @@ +/*-*- Mode: C; c-basic-offset: 2; indent-tabs-mode: t -*-*/ + +/* bls.c - implementation of the boot loader spec */ + +/* + * GRUB -- GRand Unified Bootloader + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +GRUB_MOD_LICENSE ("GPLv3+"); + +#include "loadenv.h" + +#define GRUB_BLS_CONFIG_PATH "/loader/entries/" +#ifdef GRUB_MACHINE_EMU +#define GRUB_BOOT_DEVICE "/boot" +#else +#define GRUB_BOOT_DEVICE "($root)" +#endif + +struct keyval +{ + const char *key; + char *val; +}; + +static struct bls_entry *entries = NULL; + +#define FOR_BLS_ENTRIES(var) FOR_LIST_ELEMENTS (var, entries) + +static int bls_add_keyval(struct bls_entry *entry, char *key, char *val) +{ + char *k, *v; + struct keyval **kvs, *kv; + int new_n = entry->nkeyvals + 1; + + kvs = grub_realloc (entry->keyvals, new_n * sizeof (struct keyval *)); + if (!kvs) + return grub_error (GRUB_ERR_OUT_OF_MEMORY, + "couldn't find space for BLS entry"); + entry->keyvals = kvs; + + kv = grub_malloc (sizeof (struct keyval)); + if (!kv) + return grub_error (GRUB_ERR_OUT_OF_MEMORY, + "couldn't find space for BLS entry"); + + k = grub_strdup (key); + if (!k) + { + grub_free (kv); + return grub_error (GRUB_ERR_OUT_OF_MEMORY, + "couldn't find space for BLS entry"); + } + + v = grub_strdup (val); + if (!v) + { + grub_free (k); + grub_free (kv); + return grub_error (GRUB_ERR_OUT_OF_MEMORY, + "couldn't find space for BLS entry"); + } + + kv->key = k; + kv->val = v; + + entry->keyvals[entry->nkeyvals] = kv; + grub_dprintf("blscfg", "new keyval at %p:%s:%s\n", entry->keyvals[entry->nkeyvals], k, v); + entry->nkeyvals = new_n; + + return 0; +} + +/* Find they value of the key named by keyname. If there are allowed to be + * more than one, pass a pointer to an int set to -1 the first time, and pass + * the same pointer through each time after, and it'll return them in sorted + * order as defined in the BLS fragment file */ +static char *bls_get_val(struct bls_entry *entry, const char *keyname, int *last) +{ + int idx, start = 0; + struct keyval *kv = NULL; + + if (last) + start = *last + 1; + + for (idx = start; idx < entry->nkeyvals; idx++) { + kv = entry->keyvals[idx]; + + if (!grub_strcmp (keyname, kv->key)) + break; + } + + if (idx == entry->nkeyvals) { + if (last) + *last = -1; + return NULL; + } + + if (last) + *last = idx; + + return kv->val; +} + +#define goto_return(x) ({ ret = (x); goto finish; }) + +/* compare alpha and numeric segments of two versions */ +/* return 1: a is newer than b */ +/* 0: a and b are the same version */ +/* -1: b is newer than a */ +static int vercmp(const char * a, const char * b) +{ + char oldch1, oldch2; + char *abuf, *bbuf; + char *str1, *str2; + char * one, * two; + int rc; + int isnum; + int ret = 0; + + grub_dprintf("blscfg", "%s comparing %s and %s\n", __func__, a, b); + if (!grub_strcmp(a, b)) + return 0; + + abuf = grub_malloc(grub_strlen(a) + 1); + bbuf = grub_malloc(grub_strlen(b) + 1); + str1 = abuf; + str2 = bbuf; + grub_strcpy(str1, a); + grub_strcpy(str2, b); + + one = str1; + two = str2; + + /* loop through each version segment of str1 and str2 and compare them */ + while (*one || *two) { + while (*one && !grub_isalnum(*one) && *one != '~') one++; + while (*two && !grub_isalnum(*two) && *two != '~') two++; + + /* handle the tilde separator, it sorts before everything else */ + if (*one == '~' || *two == '~') { + if (*one != '~') goto_return (1); + if (*two != '~') goto_return (-1); + one++; + two++; + continue; + } + + /* If we ran to the end of either, we are finished with the loop */ + if (!(*one && *two)) break; + + str1 = one; + str2 = two; + + /* grab first completely alpha or completely numeric segment */ + /* leave one and two pointing to the start of the alpha or numeric */ + /* segment and walk str1 and str2 to end of segment */ + if (grub_isdigit(*str1)) { + while (*str1 && grub_isdigit(*str1)) str1++; + while (*str2 && grub_isdigit(*str2)) str2++; + isnum = 1; + } else { + while (*str1 && grub_isalpha(*str1)) str1++; + while (*str2 && grub_isalpha(*str2)) str2++; + isnum = 0; + } + + /* save character at the end of the alpha or numeric segment */ + /* so that they can be restored after the comparison */ + oldch1 = *str1; + *str1 = '\0'; + oldch2 = *str2; + *str2 = '\0'; + + /* this cannot happen, as we previously tested to make sure that */ + /* the first string has a non-null segment */ + if (one == str1) goto_return(-1); /* arbitrary */ + + /* take care of the case where the two version segments are */ + /* different types: one numeric, the other alpha (i.e. empty) */ + /* numeric segments are always newer than alpha segments */ + /* XXX See patch #60884 (and details) from bugzilla #50977. */ + if (two == str2) goto_return (isnum ? 1 : -1); + + if (isnum) { + grub_size_t onelen, twolen; + /* this used to be done by converting the digit segments */ + /* to ints using atoi() - it's changed because long */ + /* digit segments can overflow an int - this should fix that. */ + + /* throw away any leading zeros - it's a number, right? */ + while (*one == '0') one++; + while (*two == '0') two++; + + /* whichever number has more digits wins */ + onelen = grub_strlen(one); + twolen = grub_strlen(two); + if (onelen > twolen) goto_return (1); + if (twolen > onelen) goto_return (-1); + } + + /* grub_strcmp will return which one is greater - even if the two */ + /* segments are alpha or if they are numeric. don't return */ + /* if they are equal because there might be more segments to */ + /* compare */ + rc = grub_strcmp(one, two); + if (rc) goto_return (rc < 1 ? -1 : 1); + + /* restore character that was replaced by null above */ + *str1 = oldch1; + one = str1; + *str2 = oldch2; + two = str2; + } + + /* this catches the case where all numeric and alpha segments have */ + /* compared identically but the segment sepparating characters were */ + /* different */ + if ((!*one) && (!*two)) goto_return (0); + + /* whichever version still has characters left over wins */ + if (!*one) goto_return (-1); else goto_return (1); + +finish: + grub_free (abuf); + grub_free (bbuf); + return ret; +} + +/* returns name/version/release */ +/* NULL string pointer returned if nothing found */ +static void +split_package_string (char *package_string, char **name, + char **version, char **release) +{ + char *package_version, *package_release; + + /* Release */ + package_release = grub_strrchr (package_string, '-'); + + if (package_release != NULL) + *package_release++ = '\0'; + + *release = package_release; + + if (name == NULL) + { + *version = package_string; + } + else + { + /* Version */ + package_version = grub_strrchr(package_string, '-'); + + if (package_version != NULL) + *package_version++ = '\0'; + + *version = package_version; + /* Name */ + *name = package_string; + } + + /* Bubble up non-null values from release to name */ + if (name != NULL && *name == NULL) + { + *name = (*version == NULL ? *release : *version); + *version = *release; + *release = NULL; + } + if (*version == NULL) + { + *version = *release; + *release = NULL; + } +} + +static int +split_cmp(char *nvr0, char *nvr1, int has_name) +{ + int ret = 0; + char *name0, *version0, *release0; + char *name1, *version1, *release1; + + split_package_string(nvr0, has_name ? &name0 : NULL, &version0, &release0); + split_package_string(nvr1, has_name ? &name1 : NULL, &version1, &release1); + + if (has_name) + { + ret = vercmp(name0 == NULL ? "" : name0, + name1 == NULL ? "" : name1); + if (ret != 0) + return ret; + } + + ret = vercmp(version0 == NULL ? "" : version0, + version1 == NULL ? "" : version1); + if (ret != 0) + return ret; + + ret = vercmp(release0 == NULL ? "" : release0, + release1 == NULL ? "" : release1); + return ret; +} + +/* return 1: e0 is newer than e1 */ +/* 0: e0 and e1 are the same version */ +/* -1: e1 is newer than e0 */ +static int bls_cmp(const struct bls_entry *e0, const struct bls_entry *e1) +{ + char *id0, *id1; + int r; + + id0 = grub_strdup(e0->filename); + id1 = grub_strdup(e1->filename); + + r = split_cmp(id0, id1, 1); + + grub_free(id0); + grub_free(id1); + + return r; +} + +static void list_add_tail(struct bls_entry *head, struct bls_entry *item) +{ + item->next = head; + if (head->prev) + head->prev->next = item; + item->prev = head->prev; + head->prev = item; +} + +static int bls_add_entry(struct bls_entry *entry) +{ + struct bls_entry *e, *last = NULL; + int rc; + + if (!entries) { + grub_dprintf ("blscfg", "Add entry with id \"%s\"\n", entry->filename); + entries = entry; + return 0; + } + + FOR_BLS_ENTRIES(e) { + rc = bls_cmp(entry, e); + + if (!rc) + return GRUB_ERR_BAD_ARGUMENT; + + if (rc == 1) { + grub_dprintf ("blscfg", "Add entry with id \"%s\"\n", entry->filename); + list_add_tail (e, entry); + if (e == entries) { + entries = entry; + entry->prev = NULL; + } + return 0; + } + last = e; + } + + if (last) { + grub_dprintf ("blscfg", "Add entry with id \"%s\"\n", entry->filename); + last->next = entry; + entry->prev = last; + } + + return 0; +} + +struct read_entry_info { + const char *devid; + const char *dirname; + grub_file_t file; +}; + +static int read_entry ( + const char *filename, + const struct grub_dirhook_info *dirhook_info UNUSED, + void *data) +{ + grub_size_t m = 0, n, clip = 0; + int rc = 0; + char *p = NULL; + grub_file_t f = NULL; + struct bls_entry *entry; + struct read_entry_info *info = (struct read_entry_info *)data; + + grub_dprintf ("blscfg", "filename: \"%s\"\n", filename); + + n = grub_strlen (filename); + + if (info->file) + { + f = info->file; + } + else + { + if (filename[0] == '.') + return 0; + + if (n <= 5) + return 0; + + if (grub_strcmp (filename + n - 5, ".conf") != 0) + return 0; + + p = grub_xasprintf ("(%s)%s/%s", info->devid, info->dirname, filename); + + f = grub_file_open (p, GRUB_FILE_TYPE_CONFIG); + if (!f) + goto finish; + } + + entry = grub_zalloc (sizeof (*entry)); + if (!entry) + goto finish; + + if (info->file) + { + char *slash; + + if (n > 5 && !grub_strcmp (filename + n - 5, ".conf") == 0) + clip = 5; + + slash = grub_strrchr (filename, '/'); + if (!slash) + slash = grub_strrchr (filename, '\\'); + + while (*slash == '/' || *slash == '\\') + slash++; + + m = slash ? slash - filename : 0; + } + else + { + m = 0; + clip = 5; + } + n -= m; + + entry->filename = grub_strndup(filename + m, n - clip); + if (!entry->filename) + goto finish; + + entry->filename[n - 5] = '\0'; + + for (;;) + { + char *buf; + char *separator; + + buf = grub_file_getline (f); + if (!buf) + break; + + while (buf && buf[0] && (buf[0] == ' ' || buf[0] == '\t')) + buf++; + if (buf[0] == '#') + continue; + + separator = grub_strchr (buf, ' '); + + if (!separator) + separator = grub_strchr (buf, '\t'); + + if (!separator || separator[1] == '\0') + { + grub_free (buf); + break; + } + + separator[0] = '\0'; + + do { + separator++; + } while (*separator == ' ' || *separator == '\t'); + + rc = bls_add_keyval (entry, buf, separator); + grub_free (buf); + if (rc < 0) + break; + } + + if (!rc) + bls_add_entry(entry); + +finish: + if (p) + grub_free (p); + + if (f) + grub_file_close (f); + + return 0; +} + +static grub_envblk_t saved_env = NULL; + +static int UNUSED +save_var (const char *name, const char *value, void *whitelist UNUSED) +{ + const char *val = grub_env_get (name); + grub_dprintf("blscfg", "saving \"%s\"\n", name); + + if (val) + grub_envblk_set (saved_env, name, value); + + return 0; +} + +static int UNUSED +unset_var (const char *name, const char *value UNUSED, void *whitelist) +{ + grub_dprintf("blscfg", "restoring \"%s\"\n", name); + if (! whitelist) + { + grub_env_unset (name); + return 0; + } + + if (test_whitelist_membership (name, + (const grub_env_whitelist_t *) whitelist)) + grub_env_unset (name); + + return 0; +} + +static char **bls_make_list (struct bls_entry *entry, const char *key, int *num) +{ + int last = -1; + char *val; + + int nlist = 0; + char **list = NULL; + + list = grub_malloc (sizeof (char *)); + if (!list) + return NULL; + list[0] = NULL; + + while (1) + { + char **new; + + val = bls_get_val (entry, key, &last); + if (!val) + break; + + new = grub_realloc (list, (nlist + 2) * sizeof (char *)); + if (!new) + break; + + list = new; + list[nlist++] = val; + list[nlist] = NULL; + } + + if (num) + *num = nlist; + + return list; +} + +static char *field_append(bool is_var, char *buffer, char *start, char *end) +{ + char *temp = grub_strndup(start, end - start + 1); + const char *field = temp; + + if (is_var) { + field = grub_env_get (temp); + if (!field) + return buffer; + } + + if (!buffer) { + buffer = grub_strdup(field); + if (!buffer) + return NULL; + } else { + buffer = grub_realloc (buffer, grub_strlen(buffer) + grub_strlen(field)); + if (!buffer) + return NULL; + + grub_stpcpy (buffer + grub_strlen(buffer), field); + } + + return buffer; +} + +static char *expand_val(char *value) +{ + char *buffer = NULL; + char *start = value; + char *end = value; + bool is_var = false; + + if (!value) + return NULL; + + while (*value) { + if (*value == '$') { + if (start != end) { + buffer = field_append(is_var, buffer, start, end); + if (!buffer) + return NULL; + } + + is_var = true; + start = value + 1; + } else if (is_var) { + if (!grub_isalnum(*value) && *value != '_') { + buffer = field_append(is_var, buffer, start, end); + is_var = false; + start = value; + } + } + + end = value; + value++; + } + + if (start != end) { + buffer = field_append(is_var, buffer, start, end); + if (!buffer) + return NULL; + } + + return buffer; +} + +static char **early_initrd_list (const char *initrd) +{ + int nlist = 0; + char **list = NULL; + char *separator; + + while ((separator = grub_strchr (initrd, ' '))) + { + list = grub_realloc (list, (nlist + 2) * sizeof (char *)); + if (!list) + return NULL; + + list[nlist++] = grub_strndup(initrd, separator - initrd); + list[nlist] = NULL; + initrd = separator + 1; + } + + list = grub_realloc (list, (nlist + 2) * sizeof (char *)); + if (!list) + return NULL; + + list[nlist++] = grub_strndup(initrd, grub_strlen(initrd)); + list[nlist] = NULL; + + return list; +} + +static void create_entry (struct bls_entry *entry) +{ + int argc = 0; + const char **argv = NULL; + + char *title = NULL; + char *clinux = NULL; + char *options = NULL; + char **initrds = NULL; + char *initrd = NULL; + const char *early_initrd = NULL; + char **early_initrds = NULL; + char *initrd_prefix = NULL; + char *id = entry->filename; + char *dotconf = id; + char *hotkey = NULL; + + char *users = NULL; + char **classes = NULL; + + char **args = NULL; + + char *src = NULL; + int bootlen; + const char *bootdev; + int i, index; + + grub_dprintf("blscfg", "%s got here\n", __func__); + clinux = bls_get_val (entry, "linux", NULL); + if (!clinux) + { + grub_dprintf ("blscfg", "Skipping file %s with no 'linux' key.\n", entry->filename); + goto finish; + } + + bootdev = grub_env_get("ventoy_bls_bootdev"); + if (!bootdev) + { + bootdev = GRUB_BOOT_DEVICE; + } + bootlen = grub_strlen(bootdev) + 2;//space and \0 + + /* + * strip the ".conf" off the end before we make it our "id" field. + */ + do + { + dotconf = grub_strstr(dotconf, ".conf"); + } while (dotconf != NULL && dotconf[5] != '\0'); + if (dotconf) + dotconf[0] = '\0'; + + title = bls_get_val (entry, "title", NULL); + options = expand_val (bls_get_val (entry, "options", NULL)); + + if (!options) + options = expand_val ((char *)grub_env_get("default_kernelopts")); + + initrds = bls_make_list (entry, "initrd", NULL); + + hotkey = bls_get_val (entry, "grub_hotkey", NULL); + users = expand_val (bls_get_val (entry, "grub_users", NULL)); + classes = bls_make_list (entry, "grub_class", NULL); + args = bls_make_list (entry, "grub_arg", &argc); + + argc += 1; + argv = grub_malloc ((argc + 1) * sizeof (char *)); + argv[0] = title ? title : clinux; + for (i = 1; i < argc; i++) + argv[i] = args[i-1]; + argv[argc] = NULL; + + early_initrd = grub_env_get("early_initrd"); + + grub_dprintf ("blscfg", "adding menu entry for \"%s\" with id \"%s\"\n", + title, id); + if (early_initrd) + { + early_initrds = early_initrd_list(early_initrd); + if (!early_initrds) + { + grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory")); + goto finish; + } + + if (initrds != NULL && initrds[0] != NULL) + { + initrd_prefix = grub_strrchr (initrds[0], '/'); + initrd_prefix = grub_strndup(initrds[0], initrd_prefix - initrds[0] + 1); + } + else + { + initrd_prefix = grub_strrchr (clinux, '/'); + initrd_prefix = grub_strndup(clinux, initrd_prefix - clinux + 1); + } + + if (!initrd_prefix) + { + grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory")); + goto finish; + } + } + + if (early_initrds || initrds) + { + int initrd_size = sizeof ("initrd"); + char *tmp; + + for (i = 0; early_initrds != NULL && early_initrds[i] != NULL; i++) + initrd_size += bootlen \ + + grub_strlen(initrd_prefix) \ + + grub_strlen (early_initrds[i]) + 1; + + for (i = 0; initrds != NULL && initrds[i] != NULL; i++) + initrd_size += bootlen \ + + grub_strlen (initrds[i]) + 1; + initrd_size += 1; + + initrd = grub_malloc (initrd_size); + if (!initrd) + { + grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory")); + goto finish; + } + + + tmp = grub_stpcpy(initrd, "initrd"); + for (i = 0; early_initrds != NULL && early_initrds[i] != NULL; i++) + { + grub_dprintf ("blscfg", "adding early initrd %s\n", early_initrds[i]); + tmp = grub_stpcpy (tmp, " "); + tmp = grub_stpcpy (tmp, bootdev); + tmp = grub_stpcpy (tmp, initrd_prefix); + tmp = grub_stpcpy (tmp, early_initrds[i]); + grub_free(early_initrds[i]); + } + + for (i = 0; initrds != NULL && initrds[i] != NULL; i++) + { + grub_dprintf ("blscfg", "adding initrd %s\n", initrds[i]); + tmp = grub_stpcpy (tmp, " "); + tmp = grub_stpcpy (tmp, bootdev); + tmp = grub_stpcpy (tmp, initrds[i]); + } + tmp = grub_stpcpy (tmp, "\n"); + } + + src = grub_xasprintf ("load_video\n" + "set gfxpayload=keep\n" + "insmod gzio\n" + "linux %s%s%s%s\n" + "%s", + bootdev, clinux, options ? " " : "", options ? options : "", + initrd ? initrd : ""); + + grub_normal_add_menu_entry (argc, argv, classes, id, users, hotkey, NULL, src, 0, &index, entry); + grub_dprintf ("blscfg", "Added entry %d id:\"%s\"\n", index, id); + +finish: + grub_free (initrd); + grub_free (initrd_prefix); + grub_free (early_initrds); + grub_free (initrds); + grub_free (options); + grub_free (classes); + grub_free (args); + grub_free (argv); + grub_free (src); +} + +struct find_entry_info { + const char *dirname; + const char *devid; + grub_device_t dev; + grub_fs_t fs; +}; + +/* + * info: the filesystem object the file is on. + */ +static int find_entry (struct find_entry_info *info) +{ + struct read_entry_info read_entry_info; + grub_fs_t blsdir_fs = NULL; + grub_device_t blsdir_dev = NULL; + const char *blsdir = info->dirname; + int fallback = 0; + int r = 0; + + if (!blsdir) { + blsdir = grub_env_get ("blsdir"); + if (!blsdir) + blsdir = GRUB_BLS_CONFIG_PATH; + } + + read_entry_info.file = NULL; + read_entry_info.dirname = blsdir; + + grub_dprintf ("blscfg", "scanning blsdir: %s\n", blsdir); + + blsdir_dev = info->dev; + blsdir_fs = info->fs; + read_entry_info.devid = info->devid; + +read_fallback: + r = blsdir_fs->fs_dir (blsdir_dev, read_entry_info.dirname, read_entry, + &read_entry_info); + if (r != 0) { + grub_dprintf ("blscfg", "read_entry returned error\n"); + grub_err_t e; + do + { + e = grub_error_pop(); + } while (e); + } + + if (r && !info->dirname && !fallback) { + read_entry_info.dirname = "/boot" GRUB_BLS_CONFIG_PATH; + grub_dprintf ("blscfg", "Entries weren't found in %s, fallback to %s\n", + blsdir, read_entry_info.dirname); + fallback = 1; + goto read_fallback; + } + + return 0; +} + +static grub_err_t +bls_load_entries (const char *path) +{ + grub_size_t len; + grub_fs_t fs; + grub_device_t dev; + static grub_err_t r; + const char *devid = NULL; + char *blsdir = NULL; + struct find_entry_info info = { + .dev = NULL, + .fs = NULL, + .dirname = NULL, + }; + struct read_entry_info rei = { + .devid = NULL, + .dirname = NULL, + }; + + if (path) { + len = grub_strlen (path); + if (grub_strcmp (path + len - 5, ".conf") == 0) { + rei.file = grub_file_open (path, GRUB_FILE_TYPE_CONFIG); + if (!rei.file) + return grub_errno; + /* + * read_entry() closes the file + */ + return read_entry(path, NULL, &rei); + } else if (path[0] == '(') { + devid = path + 1; + + blsdir = grub_strchr (path, ')'); + if (!blsdir) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("Filepath isn't correct")); + + *blsdir = '\0'; + blsdir = blsdir + 1; + } + } + + if (!devid) { +#ifdef GRUB_MACHINE_EMU + devid = "host"; +#elif defined(GRUB_MACHINE_EFI) + devid = grub_env_get ("root"); +#else + devid = grub_env_get ("boot"); + if (!devid) + { + devid = grub_env_get ("root"); + } +#endif + if (!devid) + return grub_error (GRUB_ERR_FILE_NOT_FOUND, + N_("variable `%s' isn't set"), "boot"); + } + + grub_dprintf ("blscfg", "opening %s\n", devid); + dev = grub_device_open (devid); + if (!dev) + return grub_errno; + + grub_dprintf ("blscfg", "probing fs\n"); + fs = grub_fs_probe (dev); + if (!fs) + { + r = grub_errno; + goto finish; + } + + info.dirname = blsdir; + info.devid = devid; + info.dev = dev; + info.fs = fs; + find_entry(&info); + +finish: + if (dev) + grub_device_close (dev); + + return r; +} + +static bool +is_default_entry(const char *def_entry, struct bls_entry *entry, int idx) +{ + const char *title; + int def_idx; + + if (!def_entry) + return false; + + if (grub_strcmp(def_entry, entry->filename) == 0) + return true; + + title = bls_get_val(entry, "title", NULL); + + if (title && grub_strcmp(def_entry, title) == 0) + return true; + + def_idx = (int)grub_strtol(def_entry, NULL, 0); + if (grub_errno == GRUB_ERR_BAD_NUMBER) { + grub_errno = GRUB_ERR_NONE; + return false; + } + + if (def_idx == idx) + return true; + + return false; +} + +static grub_err_t +bls_create_entries (bool show_default, bool show_non_default, char *entry_id) +{ + const char *def_entry = NULL; + struct bls_entry *entry = NULL; + int idx = 0; + + def_entry = grub_env_get("default"); + + grub_dprintf ("blscfg", "%s Creating entries from bls\n", __func__); + FOR_BLS_ENTRIES(entry) { + if (entry->visible) { + idx++; + continue; + } + + if ((show_default && is_default_entry(def_entry, entry, idx)) || + (show_non_default && !is_default_entry(def_entry, entry, idx)) || + (entry_id && grub_strcmp(entry_id, entry->filename) == 0)) { + create_entry(entry); + entry->visible = 1; + } + idx++; + } + + return GRUB_ERR_NONE; +} + +static grub_err_t +grub_cmd_blscfg (grub_extcmd_context_t ctxt UNUSED, + int argc, char **args) +{ + grub_err_t r; + char *path = NULL; + char *entry_id = NULL; + bool show_default = true; + bool show_non_default = true; + + if (argc == 1) { + if (grub_strcmp (args[0], "default") == 0) { + show_non_default = false; + } else if (grub_strcmp (args[0], "non-default") == 0) { + show_default = false; + } else if (args[0][0] == '(') { + path = args[0]; + } else { + entry_id = args[0]; + show_default = false; + show_non_default = false; + } + } + + r = bls_load_entries(path); + if (r) + return r; + + return bls_create_entries(show_default, show_non_default, entry_id); +} + +static grub_extcmd_t cmd; +static grub_extcmd_t oldcmd; + +GRUB_MOD_INIT(blscfg) +{ + grub_dprintf("blscfg", "%s got here\n", __func__); + cmd = grub_register_extcmd ("blscfg", + grub_cmd_blscfg, + 0, + NULL, + N_("Import Boot Loader Specification snippets."), + NULL); + oldcmd = grub_register_extcmd ("bls_import", + grub_cmd_blscfg, + 0, + NULL, + N_("Import Boot Loader Specification snippets."), + NULL); +} + +GRUB_MOD_FINI(blscfg) +{ + grub_unregister_extcmd (cmd); + grub_unregister_extcmd (oldcmd); +} diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/legacycfg.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/legacycfg.c new file mode 100644 index 00000000..891eac5a --- /dev/null +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/legacycfg.c @@ -0,0 +1,894 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2000, 2001, 2010 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +GRUB_MOD_LICENSE ("GPLv3+"); + +/* Helper for legacy_file. */ +static grub_err_t +legacy_file_getline (char **line, int cont __attribute__ ((unused)), + void *data __attribute__ ((unused))) +{ + *line = 0; + return GRUB_ERR_NONE; +} + +static grub_err_t +legacy_file (const char *filename) +{ + grub_file_t file; + char *entryname = NULL, *entrysrc = NULL; + grub_menu_t menu; + char *suffix = grub_strdup (""); + + if (!suffix) + return grub_errno; + + file = grub_file_open (filename, GRUB_FILE_TYPE_CONFIG); + if (! file) + { + grub_free (suffix); + return grub_errno; + } + + menu = grub_env_get_menu (); + if (! menu) + { + menu = grub_zalloc (sizeof (*menu)); + if (! menu) + { + grub_free (suffix); + return grub_errno; + } + + grub_env_set_menu (menu); + } + + while (1) + { + char *buf = grub_file_getline (file); + char *parsed = NULL; + + if (!buf && grub_errno) + { + grub_file_close (file); + grub_free (suffix); + return grub_errno; + } + + if (!buf) + break; + + { + char *oldname = NULL; + char *newsuffix; + char *ptr; + + for (ptr = buf; *ptr && grub_isspace (*ptr); ptr++); + + oldname = entryname; + parsed = grub_legacy_parse (ptr, &entryname, &newsuffix); + grub_free (buf); + buf = NULL; + if (newsuffix) + { + char *t; + + t = suffix; + suffix = grub_realloc (suffix, grub_strlen (suffix) + + grub_strlen (newsuffix) + 1); + if (!suffix) + { + grub_free (t); + grub_free (entrysrc); + grub_free (parsed); + grub_free (newsuffix); + grub_free (suffix); + return grub_errno; + } + grub_memcpy (suffix + grub_strlen (suffix), newsuffix, + grub_strlen (newsuffix) + 1); + grub_free (newsuffix); + newsuffix = NULL; + } + if (oldname != entryname && oldname) + { + const char **args = grub_malloc (sizeof (args[0])); + if (!args) + { + grub_file_close (file); + return grub_errno; + } + args[0] = oldname; + grub_normal_add_menu_entry (1, args, NULL, NULL, "legacy", + NULL, NULL, + entrysrc, 0, NULL, NULL); + grub_free (args); + entrysrc[0] = 0; + grub_free (oldname); + } + } + + if (parsed && !entryname) + { + grub_normal_parse_line (parsed, legacy_file_getline, NULL); + grub_print_error (); + grub_free (parsed); + parsed = NULL; + } + else if (parsed) + { + if (!entrysrc) + entrysrc = parsed; + else + { + char *t; + + t = entrysrc; + entrysrc = grub_realloc (entrysrc, grub_strlen (entrysrc) + + grub_strlen (parsed) + 1); + if (!entrysrc) + { + grub_free (t); + grub_free (parsed); + grub_free (suffix); + return grub_errno; + } + grub_memcpy (entrysrc + grub_strlen (entrysrc), parsed, + grub_strlen (parsed) + 1); + grub_free (parsed); + parsed = NULL; + } + } + } + grub_file_close (file); + + if (entryname) + { + const char **args = grub_malloc (sizeof (args[0])); + if (!args) + { + grub_file_close (file); + grub_free (suffix); + grub_free (entrysrc); + return grub_errno; + } + args[0] = entryname; + grub_normal_add_menu_entry (1, args, NULL, NULL, NULL, + NULL, NULL, entrysrc, 0, NULL, + NULL); + grub_free (args); + } + + grub_normal_parse_line (suffix, legacy_file_getline, NULL); + grub_print_error (); + grub_free (suffix); + grub_free (entrysrc); + + return GRUB_ERR_NONE; +} + +static grub_err_t +grub_cmd_legacy_source (struct grub_command *cmd, + int argc, char **args) +{ + int new_env, extractor; + grub_err_t ret; + + if (argc != 1) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); + + extractor = (cmd->name[0] == 'e'); + new_env = (cmd->name[extractor ? (sizeof ("extract_legacy_entries_") - 1) + : (sizeof ("legacy_") - 1)] == 'c'); + + if (new_env) + grub_cls (); + + if (new_env && !extractor) + grub_env_context_open (); + if (extractor) + grub_env_extractor_open (!new_env); + + ret = legacy_file (args[0]); + + if (new_env) + { + grub_menu_t menu; + menu = grub_env_get_menu (); + if (menu && menu->size) + grub_show_menu (menu, 1, 0); + if (!extractor) + grub_env_context_close (); + } + if (extractor) + grub_env_extractor_close (!new_env); + + return ret; +} + +static enum + { + GUESS_IT, LINUX, MULTIBOOT, KFREEBSD, KNETBSD, KOPENBSD + } kernel_type; + +static grub_err_t +grub_cmd_legacy_kernel (struct grub_command *mycmd __attribute__ ((unused)), + int argc, char **args) +{ + int i; +#ifdef TODO + int no_mem_option = 0; +#endif + struct grub_command *cmd; + char **cutargs; + int cutargc; + grub_err_t err = GRUB_ERR_NONE; + + for (i = 0; i < 2; i++) + { + /* FIXME: really support this. */ + if (argc >= 1 && grub_strcmp (args[0], "--no-mem-option") == 0) + { +#ifdef TODO + no_mem_option = 1; +#endif + argc--; + args++; + continue; + } + + /* linux16 handles both zImages and bzImages. */ + if (argc >= 1 && (grub_strcmp (args[0], "--type=linux") == 0 + || grub_strcmp (args[0], "--type=biglinux") == 0)) + { + kernel_type = LINUX; + argc--; + args++; + continue; + } + + if (argc >= 1 && grub_strcmp (args[0], "--type=multiboot") == 0) + { + kernel_type = MULTIBOOT; + argc--; + args++; + continue; + } + + if (argc >= 1 && grub_strcmp (args[0], "--type=freebsd") == 0) + { + kernel_type = KFREEBSD; + argc--; + args++; + continue; + } + + if (argc >= 1 && grub_strcmp (args[0], "--type=openbsd") == 0) + { + kernel_type = KOPENBSD; + argc--; + args++; + continue; + } + + if (argc >= 1 && grub_strcmp (args[0], "--type=netbsd") == 0) + { + kernel_type = KNETBSD; + argc--; + args++; + continue; + } + } + + if (argc < 2) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); + + cutargs = grub_malloc (sizeof (cutargs[0]) * (argc - 1)); + if (!cutargs) + return grub_errno; + cutargc = argc - 1; + grub_memcpy (cutargs + 1, args + 2, sizeof (cutargs[0]) * (argc - 2)); + cutargs[0] = args[0]; + + do + { + /* First try Linux. */ + if (kernel_type == GUESS_IT || kernel_type == LINUX) + { +#ifdef GRUB_MACHINE_PCBIOS + cmd = grub_command_find ("linux16"); +#else + cmd = grub_command_find ("linux"); +#endif + if (cmd) + { + if (!(cmd->func) (cmd, cutargc, cutargs)) + { + kernel_type = LINUX; + goto out; + } + } + grub_errno = GRUB_ERR_NONE; + } + + /* Then multiboot. */ + if (kernel_type == GUESS_IT || kernel_type == MULTIBOOT) + { + cmd = grub_command_find ("multiboot"); + if (cmd) + { + if (!(cmd->func) (cmd, argc, args)) + { + kernel_type = MULTIBOOT; + goto out; + } + } + grub_errno = GRUB_ERR_NONE; + } + + { + int bsd_device = -1; + int bsd_slice = -1; + int bsd_part = -1; + { + grub_device_t dev; + const char *hdbiasstr; + int hdbias = 0; + hdbiasstr = grub_env_get ("legacy_hdbias"); + if (hdbiasstr) + { + hdbias = grub_strtoul (hdbiasstr, 0, 0); + grub_errno = GRUB_ERR_NONE; + } + dev = grub_device_open (0); + if (dev && dev->disk + && dev->disk->dev->id == GRUB_DISK_DEVICE_BIOSDISK_ID + && dev->disk->id >= 0x80 && dev->disk->id <= 0x90) + { + struct grub_partition *part = dev->disk->partition; + bsd_device = dev->disk->id - 0x80 - hdbias; + if (part && (grub_strcmp (part->partmap->name, "netbsd") == 0 + || grub_strcmp (part->partmap->name, "openbsd") == 0 + || grub_strcmp (part->partmap->name, "bsd") == 0)) + { + bsd_part = part->number; + part = part->parent; + } + if (part && grub_strcmp (part->partmap->name, "msdos") == 0) + bsd_slice = part->number; + } + if (dev) + grub_device_close (dev); + } + + /* k*BSD didn't really work well with grub-legacy. */ + if (kernel_type == GUESS_IT || kernel_type == KFREEBSD) + { + char buf[sizeof("adXXXXXXXXXXXXsXXXXXXXXXXXXYYY")]; + if (bsd_device != -1) + { + if (bsd_slice != -1 && bsd_part != -1) + grub_snprintf(buf, sizeof(buf), "ad%ds%d%c", bsd_device, + bsd_slice, 'a' + bsd_part); + else if (bsd_slice != -1) + grub_snprintf(buf, sizeof(buf), "ad%ds%d", bsd_device, + bsd_slice); + else + grub_snprintf(buf, sizeof(buf), "ad%d", bsd_device); + grub_env_set ("kFreeBSD.vfs.root.mountfrom", buf); + } + else + grub_env_unset ("kFreeBSD.vfs.root.mountfrom"); + cmd = grub_command_find ("kfreebsd"); + if (cmd) + { + if (!(cmd->func) (cmd, cutargc, cutargs)) + { + kernel_type = KFREEBSD; + goto out; + } + } + grub_errno = GRUB_ERR_NONE; + } + { + char **bsdargs; + int bsdargc; + char bsddevname[sizeof ("wdXXXXXXXXXXXXY")]; + int found = 0; + + if (bsd_device == -1) + { + bsdargs = cutargs; + bsdargc = cutargc; + } + else + { + char rbuf[3] = "-r"; + bsdargc = cutargc + 2; + bsdargs = grub_malloc (sizeof (bsdargs[0]) * bsdargc); + if (!bsdargs) + { + err = grub_errno; + goto out; + } + grub_memcpy (bsdargs, args, argc * sizeof (bsdargs[0])); + bsdargs[argc] = rbuf; + bsdargs[argc + 1] = bsddevname; + grub_snprintf (bsddevname, sizeof (bsddevname), + "wd%d%c", bsd_device, + bsd_part != -1 ? bsd_part + 'a' : 'c'); + } + if (kernel_type == GUESS_IT || kernel_type == KNETBSD) + { + cmd = grub_command_find ("knetbsd"); + if (cmd) + { + if (!(cmd->func) (cmd, bsdargc, bsdargs)) + { + kernel_type = KNETBSD; + found = 1; + goto free_bsdargs; + } + } + grub_errno = GRUB_ERR_NONE; + } + if (kernel_type == GUESS_IT || kernel_type == KOPENBSD) + { + cmd = grub_command_find ("kopenbsd"); + if (cmd) + { + if (!(cmd->func) (cmd, bsdargc, bsdargs)) + { + kernel_type = KOPENBSD; + found = 1; + goto free_bsdargs; + } + } + grub_errno = GRUB_ERR_NONE; + } + +free_bsdargs: + if (bsdargs != cutargs) + grub_free (bsdargs); + if (found) + goto out; + } + } + } + while (0); + + err = grub_error (GRUB_ERR_BAD_OS, "couldn't load file %s", + args[0]); +out: + grub_free (cutargs); + return err; +} + +static grub_err_t +grub_cmd_legacy_initrd (struct grub_command *mycmd __attribute__ ((unused)), + int argc, char **args) +{ + struct grub_command *cmd; + + if (kernel_type == LINUX) + { +#ifdef GRUB_MACHINE_PCBIOS + cmd = grub_command_find ("initrd16"); +#else + cmd = grub_command_find ("initrd"); +#endif + if (!cmd) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("can't find command `%s'"), +#ifdef GRUB_MACHINE_PCBIOS + "initrd16" +#else + "initrd" +#endif + ); + + return cmd->func (cmd, argc ? 1 : 0, args); + } + if (kernel_type == MULTIBOOT) + { + cmd = grub_command_find ("module"); + if (!cmd) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("can't find command `%s'"), + "module"); + + return cmd->func (cmd, argc, args); + } + + return grub_error (GRUB_ERR_BAD_ARGUMENT, + N_("you need to load the kernel first")); +} + +static grub_err_t +grub_cmd_legacy_initrdnounzip (struct grub_command *mycmd __attribute__ ((unused)), + int argc, char **args) +{ + struct grub_command *cmd; + + if (kernel_type == LINUX) + { + cmd = grub_command_find ("initrd16"); + if (!cmd) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("can't find command `%s'"), + "initrd16"); + + return cmd->func (cmd, argc, args); + } + if (kernel_type == MULTIBOOT) + { + char **newargs; + grub_err_t err; + char nounzipbuf[10] = "--nounzip"; + + cmd = grub_command_find ("module"); + if (!cmd) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("can't find command `%s'"), + "module"); + + newargs = grub_malloc ((argc + 1) * sizeof (newargs[0])); + if (!newargs) + return grub_errno; + grub_memcpy (newargs + 1, args, argc * sizeof (newargs[0])); + newargs[0] = nounzipbuf; + + err = cmd->func (cmd, argc + 1, newargs); + grub_free (newargs); + return err; + } + + return grub_error (GRUB_ERR_BAD_ARGUMENT, + N_("you need to load the kernel first")); +} + +static grub_err_t +check_password_deny (const char *user __attribute__ ((unused)), + const char *entered __attribute__ ((unused)), + void *password __attribute__ ((unused))) +{ + return GRUB_ACCESS_DENIED; +} + +#define MD5_HASHLEN 16 + +struct legacy_md5_password +{ + grub_uint8_t *salt; + int saltlen; + grub_uint8_t hash[MD5_HASHLEN]; +}; + +static int +check_password_md5_real (const char *entered, + struct legacy_md5_password *pw) +{ + grub_size_t enteredlen = grub_strlen (entered); + unsigned char alt_result[MD5_HASHLEN]; + unsigned char *digest; + grub_uint8_t *ctx; + grub_size_t i; + int ret; + + ctx = grub_zalloc (GRUB_MD_MD5->contextsize); + if (!ctx) + return 0; + + GRUB_MD_MD5->init (ctx); + GRUB_MD_MD5->write (ctx, entered, enteredlen); + GRUB_MD_MD5->write (ctx, pw->salt + 3, pw->saltlen - 3); + GRUB_MD_MD5->write (ctx, entered, enteredlen); + digest = GRUB_MD_MD5->read (ctx); + GRUB_MD_MD5->final (ctx); + grub_memcpy (alt_result, digest, MD5_HASHLEN); + + GRUB_MD_MD5->init (ctx); + GRUB_MD_MD5->write (ctx, entered, enteredlen); + GRUB_MD_MD5->write (ctx, pw->salt, pw->saltlen); /* include the $1$ header */ + for (i = enteredlen; i > 16; i -= 16) + GRUB_MD_MD5->write (ctx, alt_result, 16); + GRUB_MD_MD5->write (ctx, alt_result, i); + + for (i = enteredlen; i > 0; i >>= 1) + GRUB_MD_MD5->write (ctx, entered + ((i & 1) ? enteredlen : 0), 1); + digest = GRUB_MD_MD5->read (ctx); + GRUB_MD_MD5->final (ctx); + + for (i = 0; i < 1000; i++) + { + grub_memcpy (alt_result, digest, 16); + + GRUB_MD_MD5->init (ctx); + if ((i & 1) != 0) + GRUB_MD_MD5->write (ctx, entered, enteredlen); + else + GRUB_MD_MD5->write (ctx, alt_result, 16); + + if (i % 3 != 0) + GRUB_MD_MD5->write (ctx, pw->salt + 3, pw->saltlen - 3); + + if (i % 7 != 0) + GRUB_MD_MD5->write (ctx, entered, enteredlen); + + if ((i & 1) != 0) + GRUB_MD_MD5->write (ctx, alt_result, 16); + else + GRUB_MD_MD5->write (ctx, entered, enteredlen); + digest = GRUB_MD_MD5->read (ctx); + GRUB_MD_MD5->final (ctx); + } + + ret = (grub_crypto_memcmp (digest, pw->hash, MD5_HASHLEN) == 0); + grub_free (ctx); + return ret; +} + +static grub_err_t +check_password_md5 (const char *user, + const char *entered, + void *password) +{ + if (!check_password_md5_real (entered, password)) + return GRUB_ACCESS_DENIED; + + grub_auth_authenticate (user); + + return GRUB_ERR_NONE; +} + +static inline int +ib64t (char c) +{ + if (c == '.') + return 0; + if (c == '/') + return 1; + if (c >= '0' && c <= '9') + return c - '0' + 2; + if (c >= 'A' && c <= 'Z') + return c - 'A' + 12; + if (c >= 'a' && c <= 'z') + return c - 'a' + 38; + return -1; +} + +static struct legacy_md5_password * +parse_legacy_md5 (int argc, char **args) +{ + const char *salt, *saltend; + struct legacy_md5_password *pw = NULL; + int i; + const char *p; + + if (grub_memcmp (args[0], "--md5", sizeof ("--md5")) != 0) + goto fail; + if (argc == 1) + goto fail; + if (grub_strlen(args[1]) <= 3) + goto fail; + salt = args[1]; + saltend = grub_strchr (salt + 3, '$'); + if (!saltend) + goto fail; + pw = grub_malloc (sizeof (*pw)); + if (!pw) + goto fail; + + p = saltend + 1; + for (i = 0; i < 5; i++) + { + int n; + grub_uint32_t w = 0; + + for (n = 0; n < 4; n++) + { + int ww = ib64t(*p++); + if (ww == -1) + goto fail; + w |= ww << (n * 6); + } + pw->hash[i == 4 ? 5 : 12+i] = w & 0xff; + pw->hash[6+i] = (w >> 8) & 0xff; + pw->hash[i] = (w >> 16) & 0xff; + } + { + int n; + grub_uint32_t w = 0; + for (n = 0; n < 2; n++) + { + int ww = ib64t(*p++); + if (ww == -1) + goto fail; + w |= ww << (6 * n); + } + if (w >= 0x100) + goto fail; + pw->hash[11] = w; + } + + pw->saltlen = saltend - salt; + pw->salt = (grub_uint8_t *) grub_strndup (salt, pw->saltlen); + if (!pw->salt) + goto fail; + + return pw; + + fail: + grub_free (pw); + return NULL; +} + +static grub_err_t +grub_cmd_legacy_password (struct grub_command *mycmd __attribute__ ((unused)), + int argc, char **args) +{ + struct legacy_md5_password *pw = NULL; + + if (argc == 0) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("one argument expected")); + if (args[0][0] != '-' || args[0][1] != '-') + return grub_normal_set_password ("legacy", args[0]); + + pw = parse_legacy_md5 (argc, args); + + if (pw) + return grub_auth_register_authentication ("legacy", check_password_md5, pw); + else + /* This is to imitate minor difference between grub-legacy in GRUB2. + If 2 password commands are executed in a row and second one fails + on GRUB2 the password of first one is used, whereas in grub-legacy + authenthication is denied. In case of no password command was executed + early both versions deny any access. */ + return grub_auth_register_authentication ("legacy", check_password_deny, + NULL); +} + +int +grub_legacy_check_md5_password (int argc, char **args, + char *entered) +{ + struct legacy_md5_password *pw = NULL; + int ret; + + if (args[0][0] != '-' || args[0][1] != '-') + { + char correct[GRUB_AUTH_MAX_PASSLEN]; + + grub_memset (correct, 0, sizeof (correct)); + grub_strncpy (correct, args[0], sizeof (correct)); + + return grub_crypto_memcmp (entered, correct, GRUB_AUTH_MAX_PASSLEN) == 0; + } + + pw = parse_legacy_md5 (argc, args); + + if (!pw) + return 0; + + ret = check_password_md5_real (entered, pw); + grub_free (pw); + return ret; +} + +static grub_err_t +grub_cmd_legacy_check_password (struct grub_command *mycmd __attribute__ ((unused)), + int argc, char **args) +{ + char entered[GRUB_AUTH_MAX_PASSLEN]; + + if (argc == 0) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("one argument expected")); + grub_puts_ (N_("Enter password: ")); + if (!grub_password_get (entered, GRUB_AUTH_MAX_PASSLEN)) + return GRUB_ACCESS_DENIED; + + if (!grub_legacy_check_md5_password (argc, args, + entered)) + return GRUB_ACCESS_DENIED; + + return GRUB_ERR_NONE; +} + +static grub_command_t cmd_source, cmd_configfile; +static grub_command_t cmd_source_extract, cmd_configfile_extract; +static grub_command_t cmd_kernel, cmd_initrd, cmd_initrdnounzip; +static grub_command_t cmd_password, cmd_check_password; + +GRUB_MOD_INIT(legacycfg) +{ + cmd_source + = grub_register_command ("legacy_source", + grub_cmd_legacy_source, + N_("FILE"), + /* TRANSLATORS: "legacy config" means + "config as used by grub-legacy". */ + N_("Parse legacy config in same context")); + cmd_configfile + = grub_register_command ("legacy_configfile", + grub_cmd_legacy_source, + N_("FILE"), + N_("Parse legacy config in new context")); + cmd_source_extract + = grub_register_command ("extract_legacy_entries_source", + grub_cmd_legacy_source, + N_("FILE"), + N_("Parse legacy config in same context taking only menu entries")); + cmd_configfile_extract + = grub_register_command ("extract_legacy_entries_configfile", + grub_cmd_legacy_source, + N_("FILE"), + N_("Parse legacy config in new context taking only menu entries")); + + cmd_kernel = grub_register_command ("legacy_kernel", + grub_cmd_legacy_kernel, + N_("[--no-mem-option] [--type=TYPE] FILE [ARG ...]"), + N_("Simulate grub-legacy `kernel' command")); + + cmd_initrd = grub_register_command ("legacy_initrd", + grub_cmd_legacy_initrd, + N_("FILE [ARG ...]"), + N_("Simulate grub-legacy `initrd' command")); + cmd_initrdnounzip = grub_register_command ("legacy_initrd_nounzip", + grub_cmd_legacy_initrdnounzip, + N_("FILE [ARG ...]"), + N_("Simulate grub-legacy `modulenounzip' command")); + + cmd_password = grub_register_command ("legacy_password", + grub_cmd_legacy_password, + N_("[--md5] PASSWD [FILE]"), + N_("Simulate grub-legacy `password' command")); + + cmd_check_password = grub_register_command ("legacy_check_password", + grub_cmd_legacy_check_password, + N_("[--md5] PASSWD [FILE]"), + N_("Simulate grub-legacy `password' command in menu entry mode")); + +} + +GRUB_MOD_FINI(legacycfg) +{ + grub_unregister_command (cmd_source); + grub_unregister_command (cmd_configfile); + grub_unregister_command (cmd_source_extract); + grub_unregister_command (cmd_configfile_extract); + + grub_unregister_command (cmd_kernel); + grub_unregister_command (cmd_initrd); + grub_unregister_command (cmd_initrdnounzip); + + grub_unregister_command (cmd_password); + grub_unregister_command (cmd_check_password); +} diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/loadenv.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/loadenv.c new file mode 100644 index 00000000..163b9a09 --- /dev/null +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/loadenv.c @@ -0,0 +1,397 @@ +/* loadenv.c - command to load/save environment variable. */ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2008,2009,2010 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "loadenv.h" + +GRUB_MOD_LICENSE ("GPLv3+"); + +static const struct grub_arg_option options[] = + { + /* TRANSLATORS: This option is used to override default filename + for loading and storing environment. */ + {"file", 'f', 0, N_("Specify filename."), 0, ARG_TYPE_PATHNAME}, + {"skip-sig", 's', 0, + N_("Skip signature-checking of the environment file."), 0, ARG_TYPE_NONE}, + {0, 0, 0, 0, 0, 0} + }; + +/* Opens 'filename' with compression filters disabled. Optionally disables the + PUBKEY filter (that insists upon properly signed files) as well. PUBKEY + filter is restored before the function returns. */ +static grub_file_t +open_envblk_file (char *filename, + enum grub_file_type type) +{ + grub_file_t file; + char *buf = 0; + + if (! filename) + { + const char *prefix; + int len; + + prefix = grub_env_get ("prefix"); + if (! prefix) + { + grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix"); + return 0; + } + + len = grub_strlen (prefix); + buf = grub_malloc (len + 1 + sizeof (GRUB_ENVBLK_DEFCFG)); + if (! buf) + return 0; + filename = buf; + + grub_strcpy (filename, prefix); + filename[len] = '/'; + grub_strcpy (filename + len + 1, GRUB_ENVBLK_DEFCFG); + } + + file = grub_file_open (filename, type); + + grub_free (buf); + return file; +} + +static grub_err_t +grub_cmd_load_env (grub_extcmd_context_t ctxt, int argc, char **args) +{ + struct grub_arg_list *state = ctxt->state; + grub_file_t file; + grub_envblk_t envblk; + grub_env_whitelist_t whitelist; + + whitelist.len = argc; + whitelist.list = args; + + /* state[0] is the -f flag; state[1] is the --skip-sig flag */ + file = open_envblk_file ((state[0].set) ? state[0].arg : 0, + GRUB_FILE_TYPE_LOADENV + | (state[1].set + ? GRUB_FILE_TYPE_SKIP_SIGNATURE : GRUB_FILE_TYPE_NONE)); + if (! file) + return grub_errno; + + envblk = read_envblk_file (file); + if (! envblk) + goto fail; + + /* argc > 0 indicates caller provided a whitelist of variables to read. */ + grub_envblk_iterate (envblk, argc > 0 ? &whitelist : 0, set_var); + grub_envblk_close (envblk); + + fail: + grub_file_close (file); + return grub_errno; +} + +/* Print all variables in current context. */ +static int +print_var (const char *name, const char *value, + void *hook_data __attribute__ ((unused))) +{ + grub_printf ("%s=%s\n", name, value); + return 0; +} + +static grub_err_t +grub_cmd_list_env (grub_extcmd_context_t ctxt, + int argc __attribute__ ((unused)), + char **args __attribute__ ((unused))) +{ + struct grub_arg_list *state = ctxt->state; + grub_file_t file; + grub_envblk_t envblk; + + file = open_envblk_file ((state[0].set) ? state[0].arg : 0, + GRUB_FILE_TYPE_LOADENV + | (state[1].set + ? GRUB_FILE_TYPE_SKIP_SIGNATURE : GRUB_FILE_TYPE_NONE)); + if (! file) + return grub_errno; + + envblk = read_envblk_file (file); + if (! envblk) + goto fail; + + grub_envblk_iterate (envblk, NULL, print_var); + grub_envblk_close (envblk); + + fail: + grub_file_close (file); + return grub_errno; +} + +/* Used to maintain a variable length of blocklists internally. */ +struct blocklist +{ + grub_disk_addr_t sector; + unsigned offset; + unsigned length; + struct blocklist *next; +}; + +static void +free_blocklists (struct blocklist *p) +{ + struct blocklist *q; + + for (; p; p = q) + { + q = p->next; + grub_free (p); + } +} + +static grub_err_t +check_blocklists (grub_envblk_t envblk, struct blocklist *blocklists, + grub_file_t file) +{ + grub_size_t total_length; + grub_size_t index; + grub_disk_t disk; + grub_disk_addr_t part_start; + struct blocklist *p; + char *buf; + + /* Sanity checks. */ + total_length = 0; + for (p = blocklists; p; p = p->next) + { + struct blocklist *q; + /* Check if any pair of blocks overlap. */ + for (q = p->next; q; q = q->next) + { + grub_disk_addr_t s1, s2; + grub_disk_addr_t e1, e2; + + s1 = p->sector; + e1 = s1 + ((p->length + GRUB_DISK_SECTOR_SIZE - 1) >> GRUB_DISK_SECTOR_BITS); + + s2 = q->sector; + e2 = s2 + ((q->length + GRUB_DISK_SECTOR_SIZE - 1) >> GRUB_DISK_SECTOR_BITS); + + if (s1 < e2 && s2 < e1) + { + /* This might be actually valid, but it is unbelievable that + any filesystem makes such a silly allocation. */ + return grub_error (GRUB_ERR_BAD_FS, "malformed file"); + } + } + + total_length += p->length; + } + + if (total_length != grub_file_size (file)) + { + /* Maybe sparse, unallocated sectors. No way in GRUB. */ + return grub_error (GRUB_ERR_BAD_FILE_TYPE, "sparse file not allowed"); + } + + /* One more sanity check. Re-read all sectors by blocklists, and compare + those with the data read via a file. */ + disk = file->device->disk; + + part_start = grub_partition_get_start (disk->partition); + + buf = grub_envblk_buffer (envblk); + char *blockbuf = NULL; + grub_size_t blockbuf_len = 0; + for (p = blocklists, index = 0; p; index += p->length, p = p->next) + { + if (p->length > blockbuf_len) + { + grub_free (blockbuf); + blockbuf_len = 2 * p->length; + blockbuf = grub_malloc (blockbuf_len); + if (!blockbuf) + return grub_errno; + } + + if (grub_disk_read (disk, p->sector - part_start, + p->offset, p->length, blockbuf)) + return grub_errno; + + if (grub_memcmp (buf + index, blockbuf, p->length) != 0) + return grub_error (GRUB_ERR_FILE_READ_ERROR, "invalid blocklist"); + } + + return GRUB_ERR_NONE; +} + +static int +write_blocklists (grub_envblk_t envblk, struct blocklist *blocklists, + grub_file_t file) +{ + char *buf; + grub_disk_t disk; + grub_disk_addr_t part_start; + struct blocklist *p; + grub_size_t index; + + buf = grub_envblk_buffer (envblk); + disk = file->device->disk; + part_start = grub_partition_get_start (disk->partition); + + index = 0; + for (p = blocklists; p; index += p->length, p = p->next) + { + if (grub_disk_write (disk, p->sector - part_start, + p->offset, p->length, buf + index)) + return 0; + } + + return 1; +} + +/* Context for grub_cmd_save_env. */ +struct grub_cmd_save_env_ctx +{ + struct blocklist *head, *tail; +}; + +/* Store blocklists in a linked list. */ +static void +save_env_read_hook (grub_disk_addr_t sector, unsigned offset, unsigned length, + void *data) +{ + struct grub_cmd_save_env_ctx *ctx = data; + struct blocklist *block; + + block = grub_malloc (sizeof (*block)); + if (! block) + return; + + block->sector = sector; + block->offset = offset; + block->length = length; + + /* Slightly complicated, because the list should be FIFO. */ + block->next = 0; + if (ctx->tail) + ctx->tail->next = block; + ctx->tail = block; + if (! ctx->head) + ctx->head = block; +} + +static grub_err_t +grub_cmd_save_env (grub_extcmd_context_t ctxt, int argc, char **args) +{ + struct grub_arg_list *state = ctxt->state; + grub_file_t file; + grub_envblk_t envblk; + struct grub_cmd_save_env_ctx ctx = { + .head = 0, + .tail = 0 + }; + + if (! argc) + return grub_error (GRUB_ERR_BAD_ARGUMENT, "no variable is specified"); + + file = open_envblk_file ((state[0].set) ? state[0].arg : 0, + GRUB_FILE_TYPE_SAVEENV + | GRUB_FILE_TYPE_SKIP_SIGNATURE); + if (! file) + return grub_errno; + + if (! file->device->disk) + { + grub_file_close (file); + return grub_error (GRUB_ERR_BAD_DEVICE, "disk device required"); + } + + file->read_hook = save_env_read_hook; + file->read_hook_data = &ctx; + envblk = read_envblk_file (file); + file->read_hook = 0; + if (! envblk) + goto fail; + + if (check_blocklists (envblk, ctx.head, file)) + goto fail; + + while (argc) + { + const char *value; + + value = grub_env_get (args[0]); + if (value) + { + if (! grub_envblk_set (envblk, args[0], value)) + { + grub_error (GRUB_ERR_BAD_ARGUMENT, "environment block too small"); + goto fail; + } + } + else + grub_envblk_delete (envblk, args[0]); + + argc--; + args++; + } + + write_blocklists (envblk, ctx.head, file); + + fail: + if (envblk) + grub_envblk_close (envblk); + free_blocklists (ctx.head); + grub_file_close (file); + return grub_errno; +} + +static grub_extcmd_t cmd_load, cmd_list, cmd_save; + +GRUB_MOD_INIT(loadenv) +{ + cmd_load = + grub_register_extcmd ("load_env", grub_cmd_load_env, 0, + N_("[-f FILE] [-s|--skip-sig] [variable_name_to_whitelist] [...]"), + N_("Load variables from environment block file."), + options); + cmd_list = + grub_register_extcmd ("list_env", grub_cmd_list_env, 0, N_("[-f FILE]"), + N_("List variables from environment block file."), + options); + cmd_save = + grub_register_extcmd ("save_env", grub_cmd_save_env, 0, + N_("[-f FILE] variable_name [...]"), + N_("Save variables to environment block file."), + options); +} + +GRUB_MOD_FINI(loadenv) +{ + grub_unregister_extcmd (cmd_load); + grub_unregister_extcmd (cmd_list); + grub_unregister_extcmd (cmd_save); +} diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/loadenv.h b/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/loadenv.h new file mode 100644 index 00000000..952f4612 --- /dev/null +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/loadenv.h @@ -0,0 +1,93 @@ +/* loadenv.c - command to load/save environment variable. */ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2008,2009,2010 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +static grub_envblk_t UNUSED +read_envblk_file (grub_file_t file) +{ + grub_off_t offset = 0; + char *buf; + grub_size_t size = grub_file_size (file); + grub_envblk_t envblk; + + buf = grub_malloc (size); + if (! buf) + return 0; + + while (size > 0) + { + grub_ssize_t ret; + + ret = grub_file_read (file, buf + offset, size); + if (ret <= 0) + { + grub_free (buf); + return 0; + } + + size -= ret; + offset += ret; + } + + envblk = grub_envblk_open (buf, offset); + if (! envblk) + { + grub_free (buf); + grub_error (GRUB_ERR_BAD_FILE_TYPE, "invalid environment block"); + return 0; + } + + return envblk; +} + +struct grub_env_whitelist +{ + grub_size_t len; + char **list; +}; +typedef struct grub_env_whitelist grub_env_whitelist_t; + +static int UNUSED +test_whitelist_membership (const char* name, + const grub_env_whitelist_t* whitelist) +{ + grub_size_t i; + + for (i = 0; i < whitelist->len; i++) + if (grub_strcmp (name, whitelist->list[i]) == 0) + return 1; /* found it */ + + return 0; /* not found */ +} + +/* Helper for grub_cmd_load_env. */ +static int UNUSED +set_var (const char *name, const char *value, void *whitelist) +{ + if (! whitelist) + { + grub_env_set (name, value); + return 0; + } + + if (test_whitelist_membership (name, + (const grub_env_whitelist_t *) whitelist)) + grub_env_set (name, value); + + return 0; +} diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/menuentry.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/menuentry.c new file mode 100644 index 00000000..9faf2be0 --- /dev/null +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/commands/menuentry.c @@ -0,0 +1,349 @@ +/* menuentry.c - menuentry command */ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2010 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#include +#include +#include +#include +#include +#include +#include + +static const struct grub_arg_option options[] = + { + {"class", 1, GRUB_ARG_OPTION_REPEATABLE, + N_("Menu entry type."), N_("STRING"), ARG_TYPE_STRING}, + {"users", 2, 0, + N_("List of users allowed to boot this entry."), N_("USERNAME[,USERNAME]"), + ARG_TYPE_STRING}, + {"hotkey", 3, 0, + N_("Keyboard key to quickly boot this entry."), N_("KEYBOARD_KEY"), ARG_TYPE_STRING}, + {"source", 4, 0, + N_("Use STRING as menu entry body."), N_("STRING"), ARG_TYPE_STRING}, + {"id", 0, 0, N_("Menu entry identifier."), N_("STRING"), ARG_TYPE_STRING}, + /* TRANSLATORS: menu entry can either be bootable by anyone or only by + handful of users. By default when security is active only superusers can + boot a given menu entry. With --unrestricted (this option) + anyone can boot it. */ + {"unrestricted", 0, 0, N_("This entry can be booted by any user."), + 0, ARG_TYPE_NONE}, + {0, 0, 0, 0, 0, 0} + }; + +static struct +{ + const char *name; + int key; +} hotkey_aliases[] = + { + {"backspace", GRUB_TERM_BACKSPACE}, + {"tab", GRUB_TERM_TAB}, + {"delete", GRUB_TERM_KEY_DC}, + {"insert", GRUB_TERM_KEY_INSERT}, + {"f1", GRUB_TERM_KEY_F1}, + {"f2", GRUB_TERM_KEY_F2}, + {"f3", GRUB_TERM_KEY_F3}, + {"f4", GRUB_TERM_KEY_F4}, + {"f5", GRUB_TERM_KEY_F5}, + {"f6", GRUB_TERM_KEY_F6}, + {"f7", GRUB_TERM_KEY_F7}, + {"f8", GRUB_TERM_KEY_F8}, + {"f9", GRUB_TERM_KEY_F9}, + {"f10", GRUB_TERM_KEY_F10}, + {"f11", GRUB_TERM_KEY_F11}, + {"f12", GRUB_TERM_KEY_F12}, + }; + +/* Add a menu entry to the current menu context (as given by the environment + variable data slot `menu'). As the configuration file is read, the script + parser calls this when a menu entry is to be created. */ +grub_err_t +grub_normal_add_menu_entry (int argc, const char **args, + char **classes, const char *id, + const char *users, const char *hotkey, + const char *prefix, const char *sourcecode, + int submenu, int *index, struct bls_entry *bls) +{ + int menu_hotkey = 0; + char **menu_args = NULL; + char *menu_users = NULL; + char *menu_title = NULL; + char *menu_sourcecode = NULL; + char *menu_id = NULL; + struct grub_menu_entry_class *menu_classes = NULL; + + grub_menu_t menu; + grub_menu_entry_t *last; + + menu = grub_env_get_menu (); + if (! menu) + return grub_error (GRUB_ERR_MENU, "no menu context"); + + last = &menu->entry_list; + + menu_sourcecode = grub_xasprintf ("%s%s", prefix ?: "", sourcecode); + if (! menu_sourcecode) + return grub_errno; + + if (classes && classes[0]) + { + int i; + for (i = 0; classes[i]; i++); /* count # of menuentry classes */ + menu_classes = grub_zalloc (sizeof (struct grub_menu_entry_class) + * (i + 1)); + if (! menu_classes) + goto fail; + + for (i = 0; classes[i]; i++) + { + menu_classes[i].name = grub_strdup (classes[i]); + if (! menu_classes[i].name) + goto fail; + menu_classes[i].next = classes[i + 1] ? &menu_classes[i + 1] : NULL; + } + } + + if (users) + { + menu_users = grub_strdup (users); + if (! menu_users) + goto fail; + } + + if (hotkey) + { + unsigned i; + for (i = 0; i < ARRAY_SIZE (hotkey_aliases); i++) + if (grub_strcmp (hotkey, hotkey_aliases[i].name) == 0) + { + menu_hotkey = hotkey_aliases[i].key; + break; + } + if (i == ARRAY_SIZE (hotkey_aliases)) + menu_hotkey = hotkey[0]; + } + + if (! argc) + { + grub_error (GRUB_ERR_MENU, "menuentry is missing title"); + goto fail; + } + + menu_title = grub_strdup (args[0]); + if (! menu_title) + goto fail; + + grub_dprintf ("menu", "id:\"%s\"\n", id); + grub_dprintf ("menu", "title:\"%s\"\n", menu_title); + menu_id = grub_strdup (id ? : menu_title); + if (! menu_id) + goto fail; + grub_dprintf ("menu", "menu_id:\"%s\"\n", menu_id); + + /* Save argc, args to pass as parameters to block arg later. */ + menu_args = grub_malloc (sizeof (char*) * (argc + 1)); + if (! menu_args) + goto fail; + + { + int i; + for (i = 0; i < argc; i++) + { + menu_args[i] = grub_strdup (args[i]); + if (! menu_args[i]) + goto fail; + } + menu_args[argc] = NULL; + } + + /* Add the menu entry at the end of the list. */ + int ind=0; + while (*last) + { + ind++; + last = &(*last)->next; + } + + *last = grub_zalloc (sizeof (**last)); + if (! *last) + goto fail; + + (*last)->title = menu_title; + (*last)->id = menu_id; + (*last)->hotkey = menu_hotkey; + (*last)->classes = menu_classes; + if (menu_users) + (*last)->restricted = 1; + (*last)->users = menu_users; + (*last)->argc = argc; + (*last)->args = menu_args; + (*last)->sourcecode = menu_sourcecode; + (*last)->submenu = submenu; + (*last)->bls = bls; + + menu->size++; + if (index) + *index = ind; + return GRUB_ERR_NONE; + + fail: + + grub_free (menu_sourcecode); + { + int i; + for (i = 0; menu_classes && menu_classes[i].name; i++) + grub_free (menu_classes[i].name); + grub_free (menu_classes); + } + + { + int i; + for (i = 0; menu_args && menu_args[i]; i++) + grub_free (menu_args[i]); + grub_free (menu_args); + } + + grub_free (menu_users); + grub_free (menu_title); + grub_free (menu_id); + return grub_errno; +} + +static char * +setparams_prefix (int argc, char **args) +{ + int i; + int j; + char *p; + char *result; + grub_size_t len = 10; + + /* Count resulting string length */ + for (i = 0; i < argc; i++) + { + len += 3; /* 3 = 1 space + 2 quotes */ + p = args[i]; + while (*p) + len += (*p++ == '\'' ? 3 : 1); + } + + result = grub_malloc (len + 2); + if (! result) + return 0; + + grub_strcpy (result, "setparams"); + p = result + 9; + + for (j = 0; j < argc; j++) + { + *p++ = ' '; + *p++ = '\''; + p = grub_strchrsub (p, args[j], '\'', "'\\''"); + *p++ = '\''; + } + *p++ = '\n'; + *p = '\0'; + return result; +} + +static grub_err_t +grub_cmd_menuentry (grub_extcmd_context_t ctxt, int argc, char **args) +{ + char ch; + char *src; + char *prefix; + unsigned len; + grub_err_t r; + const char *users; + + if (! argc) + return grub_error (GRUB_ERR_BAD_ARGUMENT, "missing arguments"); + + if (ctxt->state[3].set && ctxt->script) + return grub_error (GRUB_ERR_BAD_ARGUMENT, "multiple menuentry definitions"); + + if (! ctxt->state[3].set && ! ctxt->script) + return grub_error (GRUB_ERR_BAD_ARGUMENT, "no menuentry definition"); + + if (ctxt->state[1].set) + users = ctxt->state[1].arg; + else if (ctxt->state[5].set) + users = NULL; + else + users = ""; + + if (! ctxt->script) + return grub_normal_add_menu_entry (argc, (const char **) args, + (ctxt->state[0].set ? ctxt->state[0].args + : NULL), + ctxt->state[4].arg, + users, + ctxt->state[2].arg, 0, + ctxt->state[3].arg, + ctxt->extcmd->cmd->name[0] == 's', + NULL, NULL); + + src = args[argc - 1]; + args[argc - 1] = NULL; + + len = grub_strlen(src); + ch = src[len - 1]; + src[len - 1] = '\0'; + + prefix = setparams_prefix (argc - 1, args); + if (! prefix) + return grub_errno; + + r = grub_normal_add_menu_entry (argc - 1, (const char **) args, + ctxt->state[0].args, ctxt->state[4].arg, + users, + ctxt->state[2].arg, prefix, src + 1, + ctxt->extcmd->cmd->name[0] == 's', NULL, + NULL); + + src[len - 1] = ch; + args[argc - 1] = src; + grub_free (prefix); + return r; +} + +static grub_extcmd_t cmd, cmd_sub; + +void +grub_menu_init (void) +{ + cmd = grub_register_extcmd ("menuentry", grub_cmd_menuentry, + GRUB_COMMAND_FLAG_BLOCKS + | GRUB_COMMAND_ACCEPT_DASH + | GRUB_COMMAND_FLAG_EXTRACTOR, + N_("BLOCK"), N_("Define a menu entry."), options); + cmd_sub = grub_register_extcmd ("submenu", grub_cmd_menuentry, + GRUB_COMMAND_FLAG_BLOCKS + | GRUB_COMMAND_ACCEPT_DASH + | GRUB_COMMAND_FLAG_EXTRACTOR, + N_("BLOCK"), N_("Define a submenu."), + options); +} + +void +grub_menu_fini (void) +{ + grub_unregister_extcmd (cmd); + grub_unregister_extcmd (cmd_sub); +} diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/kern/main.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/kern/main.c index 2f22ecb5..42bc22f7 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/kern/main.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/kern/main.c @@ -109,6 +109,52 @@ grub_env_write_root (struct grub_env_var *var __attribute__ ((unused)), return grub_strdup (val); } +static int g_ventoy_hook_root = 0; +void ventoy_env_hook_root(int hook) +{ + g_ventoy_hook_root = hook; +} + +static char * +ventoy_env_write_root (struct grub_env_var *var __attribute__ ((unused)), + const char *val) +{ + const char *pos = val; + char buf[256]; + + if (g_ventoy_hook_root == 0) + { + return grub_env_write_root(var, val); + } + + if (pos[0] == '(') + { + pos++; + } + + if (grub_strncmp(pos, "vtimghd", 7) == 0) + { + return grub_env_write_root(var, val); + } + + pos = grub_strchr(val, ','); + if (!pos) + { + return grub_env_write_root(var, val); + } + + if (val[0] == '(') + { + grub_snprintf(buf, sizeof(buf), "(vtimghd%s", pos); + } + else + { + grub_snprintf(buf, sizeof(buf), "vtimghd%s", pos); + } + + return grub_env_write_root(var, buf); +} + static void grub_set_prefix_and_root (void) { @@ -123,7 +169,7 @@ grub_set_prefix_and_root (void) if (header->type == OBJ_TYPE_PREFIX) prefix = (char *) header + sizeof (struct grub_module_header); - grub_register_variable_hook ("root", 0, grub_env_write_root); + grub_register_variable_hook ("root", 0, ventoy_env_write_root); grub_machine_get_bootlocation (&fwdevice, &fwpath); diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/linux.c new file mode 100644 index 00000000..6601d5de --- /dev/null +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/linux.c @@ -0,0 +1,1470 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2006,2007,2008,2009,2010 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +GRUB_MOD_LICENSE ("GPLv3+"); + +#ifdef GRUB_MACHINE_PCBIOS +#include +#endif + +#ifdef GRUB_MACHINE_EFI +#include +#define HAS_VGA_TEXT 0 +#define DEFAULT_VIDEO_MODE "auto" +#define ACCEPTS_PURE_TEXT 0 +#elif defined (GRUB_MACHINE_IEEE1275) +#include +#define HAS_VGA_TEXT 0 +#define DEFAULT_VIDEO_MODE "text" +#define ACCEPTS_PURE_TEXT 1 +#else +#include +#include +#define HAS_VGA_TEXT 1 +#define DEFAULT_VIDEO_MODE "text" +#define ACCEPTS_PURE_TEXT 1 +#endif + +static grub_dl_t my_mod; + +static grub_size_t linux_mem_size; +static int loaded; +static void *prot_mode_mem; +static grub_addr_t prot_mode_target; +static void *initrd_mem; +static grub_addr_t initrd_mem_target; +static grub_size_t prot_init_space; +static struct grub_relocator *relocator = NULL; +static void *efi_mmap_buf; +static grub_size_t maximal_cmdline_size; +static struct linux_kernel_params linux_params; +static char *linux_cmdline; +#ifdef GRUB_MACHINE_EFI +static grub_efi_uintn_t efi_mmap_size; +#else +static const grub_size_t efi_mmap_size = 0; +#endif + +#define LINUX_MAX_ARGC 1024 +static int ventoy_debug = 0; +static int ventoy_initrd_called = 0; +static int ventoy_linux_argc = 0; +static char **ventoy_linux_args = NULL; +static grub_err_t +grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), int argc, char *argv[]); + +/* FIXME */ +#if 0 +struct idt_descriptor +{ + grub_uint16_t limit; + void *base; +} GRUB_PACKED; + +static struct idt_descriptor idt_desc = + { + 0, + 0 + }; +#endif + +static inline grub_size_t +page_align (grub_size_t size) +{ + return (size + (1 << 12) - 1) & (~((1 << 12) - 1)); +} + +/* Helper for find_mmap_size. */ +static int +count_hook (grub_uint64_t addr __attribute__ ((unused)), + grub_uint64_t size __attribute__ ((unused)), + grub_memory_type_t type __attribute__ ((unused)), void *data) +{ + grub_size_t *count = data; + + (*count)++; + return 0; +} + +/* Find the optimal number of pages for the memory map. */ +static grub_size_t +find_mmap_size (void) +{ + grub_size_t count = 0, mmap_size; + + grub_mmap_iterate (count_hook, &count); + + mmap_size = count * sizeof (struct grub_e820_mmap); + + /* Increase the size a bit for safety, because GRUB allocates more on + later. */ + mmap_size += (1 << 12); + + return page_align (mmap_size); +} + +static void +free_pages (void) +{ + grub_relocator_unload (relocator); + relocator = NULL; + prot_mode_mem = initrd_mem = 0; + prot_mode_target = initrd_mem_target = 0; +} + +/* Allocate pages for the real mode code and the protected mode code + for linux as well as a memory map buffer. */ +static grub_err_t +allocate_pages (grub_size_t prot_size, grub_size_t *align, + grub_size_t min_align, int relocatable, + grub_uint64_t preferred_address) +{ + grub_err_t err; + + if (prot_size == 0) + prot_size = 1; + + prot_size = page_align (prot_size); + + /* Initialize the memory pointers with NULL for convenience. */ + free_pages (); + + relocator = grub_relocator_new (); + if (!relocator) + { + err = grub_errno; + goto fail; + } + + /* FIXME: Should request low memory from the heap when this feature is + implemented. */ + + { + grub_relocator_chunk_t ch; + if (relocatable) + { + err = grub_relocator_alloc_chunk_align (relocator, &ch, + preferred_address, + preferred_address, + prot_size, 1, + GRUB_RELOCATOR_PREFERENCE_LOW, + 1); + for (; err && *align + 1 > min_align; (*align)--) + { + grub_errno = GRUB_ERR_NONE; + err = grub_relocator_alloc_chunk_align (relocator, &ch, + 0x1000000, + 0xffffffff & ~prot_size, + prot_size, 1 << *align, + GRUB_RELOCATOR_PREFERENCE_LOW, + 1); + } + if (err) + goto fail; + } + else + err = grub_relocator_alloc_chunk_addr (relocator, &ch, + preferred_address, + prot_size); + if (err) + goto fail; + prot_mode_mem = get_virtual_current_address (ch); + prot_mode_target = get_physical_target_address (ch); + } + + grub_dprintf ("linux", "prot_mode_mem = %p, prot_mode_target = %lx, prot_size = %x\n", + prot_mode_mem, (unsigned long) prot_mode_target, + (unsigned) prot_size); + return GRUB_ERR_NONE; + + fail: + free_pages (); + return err; +} + +static grub_err_t +grub_e820_add_region (struct grub_e820_mmap *e820_map, int *e820_num, + grub_uint64_t start, grub_uint64_t size, + grub_uint32_t type) +{ + int n = *e820_num; + + if ((n > 0) && (e820_map[n - 1].addr + e820_map[n - 1].size == start) && + (e820_map[n - 1].type == type)) + e820_map[n - 1].size += size; + else + { + e820_map[n].addr = start; + e820_map[n].size = size; + e820_map[n].type = type; + (*e820_num)++; + } + return GRUB_ERR_NONE; +} + +static grub_err_t +grub_linux_setup_video (struct linux_kernel_params *params) +{ + struct grub_video_mode_info mode_info; + void *framebuffer; + grub_err_t err; + grub_video_driver_id_t driver_id; + const char *gfxlfbvar = grub_env_get ("gfxpayloadforcelfb"); + + driver_id = grub_video_get_driver_id (); + + if (driver_id == GRUB_VIDEO_DRIVER_NONE) + return 1; + + err = grub_video_get_info_and_fini (&mode_info, &framebuffer); + + if (err) + { + grub_errno = GRUB_ERR_NONE; + return 1; + } + + params->lfb_width = mode_info.width; + params->lfb_height = mode_info.height; + params->lfb_depth = mode_info.bpp; + params->lfb_line_len = mode_info.pitch; + + params->lfb_base = (grub_size_t) framebuffer; + +#if defined (GRUB_MACHINE_EFI) && defined (__x86_64__) + params->ext_lfb_base = (grub_size_t) (((grub_uint64_t)(grub_size_t) framebuffer) >> 32); + params->capabilities |= VIDEO_CAPABILITY_64BIT_BASE; +#endif + + params->lfb_size = ALIGN_UP (params->lfb_line_len * params->lfb_height, 65536); + + params->red_mask_size = mode_info.red_mask_size; + params->red_field_pos = mode_info.red_field_pos; + params->green_mask_size = mode_info.green_mask_size; + params->green_field_pos = mode_info.green_field_pos; + params->blue_mask_size = mode_info.blue_mask_size; + params->blue_field_pos = mode_info.blue_field_pos; + params->reserved_mask_size = mode_info.reserved_mask_size; + params->reserved_field_pos = mode_info.reserved_field_pos; + + if (gfxlfbvar && (gfxlfbvar[0] == '1' || gfxlfbvar[0] == 'y')) + params->have_vga = GRUB_VIDEO_LINUX_TYPE_SIMPLE; + else + { + switch (driver_id) + { + case GRUB_VIDEO_DRIVER_VBE: + params->lfb_size >>= 16; + params->have_vga = GRUB_VIDEO_LINUX_TYPE_VESA; + break; + + case GRUB_VIDEO_DRIVER_EFI_UGA: + case GRUB_VIDEO_DRIVER_EFI_GOP: + params->have_vga = GRUB_VIDEO_LINUX_TYPE_EFIFB; + break; + + /* FIXME: check if better id is available. */ + case GRUB_VIDEO_DRIVER_SM712: + case GRUB_VIDEO_DRIVER_SIS315PRO: + case GRUB_VIDEO_DRIVER_VGA: + case GRUB_VIDEO_DRIVER_CIRRUS: + case GRUB_VIDEO_DRIVER_BOCHS: + case GRUB_VIDEO_DRIVER_RADEON_FULOONG2E: + case GRUB_VIDEO_DRIVER_RADEON_YEELOONG3A: + case GRUB_VIDEO_DRIVER_IEEE1275: + case GRUB_VIDEO_DRIVER_COREBOOT: + /* Make gcc happy. */ + case GRUB_VIDEO_DRIVER_XEN: + case GRUB_VIDEO_DRIVER_SDL: + case GRUB_VIDEO_DRIVER_NONE: + case GRUB_VIDEO_ADAPTER_CAPTURE: + params->have_vga = GRUB_VIDEO_LINUX_TYPE_SIMPLE; + break; + } + } + +#ifdef GRUB_MACHINE_PCBIOS + /* VESA packed modes may come with zeroed mask sizes, which need + to be set here according to DAC Palette width. If we don't, + this results in Linux displaying a black screen. */ + if (driver_id == GRUB_VIDEO_DRIVER_VBE && mode_info.bpp <= 8) + { + struct grub_vbe_info_block controller_info; + int status; + int width = 8; + + status = grub_vbe_bios_get_controller_info (&controller_info); + + if (status == GRUB_VBE_STATUS_OK && + (controller_info.capabilities & GRUB_VBE_CAPABILITY_DACWIDTH)) + status = grub_vbe_bios_set_dac_palette_width (&width); + + if (status != GRUB_VBE_STATUS_OK) + /* 6 is default after mode reset. */ + width = 6; + + params->red_mask_size = params->green_mask_size + = params->blue_mask_size = width; + params->reserved_mask_size = 0; + } +#endif + + return GRUB_ERR_NONE; +} + +/* Context for grub_linux_boot. */ +struct grub_linux_boot_ctx +{ + grub_addr_t real_mode_target; + grub_size_t real_size; + struct linux_kernel_params *params; + int e820_num; +}; + +/* Helper for grub_linux_boot. */ +static int +grub_linux_boot_mmap_find (grub_uint64_t addr, grub_uint64_t size, + grub_memory_type_t type, void *data) +{ + struct grub_linux_boot_ctx *ctx = data; + + /* We must put real mode code in the traditional space. */ + if (type != GRUB_MEMORY_AVAILABLE || addr > 0x90000) + return 0; + + if (addr + size < 0x10000) + return 0; + + if (addr < 0x10000) + { + size += addr - 0x10000; + addr = 0x10000; + } + + if (addr + size > 0x90000) + size = 0x90000 - addr; + + if (ctx->real_size + efi_mmap_size > size) + return 0; + + grub_dprintf ("linux", "addr = %lx, size = %x, need_size = %x\n", + (unsigned long) addr, + (unsigned) size, + (unsigned) (ctx->real_size + efi_mmap_size)); + ctx->real_mode_target = ((addr + size) - (ctx->real_size + efi_mmap_size)); + return 1; +} + +/* GRUB types conveniently match E820 types. */ +static int +grub_linux_boot_mmap_fill (grub_uint64_t addr, grub_uint64_t size, + grub_memory_type_t type, void *data) +{ + struct grub_linux_boot_ctx *ctx = data; + + if (grub_e820_add_region (ctx->params->e820_map, &ctx->e820_num, + addr, size, type)) + return 1; + + return 0; +} + +static void ventoy_debug_pause(void) +{ + char key; + + if (0 == ventoy_debug) + { + return; + } + + grub_printf("press Enter to continue ......\n"); + while (1) + { + key = grub_getkey(); + if (key == '\n' || key == '\r') + { + break; + } + } +} + +static int ventoy_preboot(void) +{ + char buf[128]; + char *argv[2]; + + if (ventoy_debug) + { + grub_printf("ventoy_preboot %d %d\n", ventoy_linux_argc, ventoy_initrd_called); + ventoy_debug_pause(); + } + + if (ventoy_linux_argc == 0) + { + return 0; + } + + if (ventoy_initrd_called) + { + ventoy_initrd_called = 0; + return 0; + } + + grub_snprintf(buf, sizeof(buf), "mem:%s:size:%s", grub_env_get("ventoy_cpio_addr"), grub_env_get("ventoy_cpio_size")); + + argv[0] = buf; + argv[1] = NULL; + grub_cmd_initrd(NULL, 1, argv); + + if (ventoy_debug) + { + grub_printf("add initrd %s\n", buf); + ventoy_debug_pause(); + } + + return 0; +} + +static int ventoy_boot_opt_filter(char *opt) +{ + if (grub_strcmp(opt, "noinitrd") == 0) + { + return 1; + } + + if (grub_strncmp(opt, "rdinit=", 7) == 0) + { + if (grub_strcmp(opt, "rdinit=/vtoy/vtoy") != 0) + { + opt[0] = 'v'; + opt[1] = 't'; + } + return 0; + } + + if (ventoy_debug) + { + if (grub_strcmp(opt, "quiet") == 0) + { + return 1; + } + + if (grub_strncmp(opt, "loglevel=", 9) == 0) + { + return 1; + } + + if (grub_strcmp(opt, "splash") == 0) + { + return 1; + } + } + + return 0; +} + +static int ventoy_bootopt_hook(int argc, char *argv[]) +{ + int i; + int count = 0; + const char *env; + char c; + char *newenv; + char *last, *pos; + + //grub_printf("ventoy_bootopt_hook: %d %d\n", argc, ventoy_linux_argc); + + if (ventoy_linux_argc == 0) + { + return 0; + } + + for (i = 0; i < argc; i++) + { + if (ventoy_boot_opt_filter(argv[i])) + { + continue; + } + + ventoy_linux_args[count++] = grub_strdup(argv[i]); + } + + for (i = 0; i < ventoy_linux_argc; i++) + { + ventoy_linux_args[count] = ventoy_linux_args[i + (LINUX_MAX_ARGC / 2)]; + ventoy_linux_args[i + (LINUX_MAX_ARGC / 2)] = NULL; + + if (ventoy_linux_args[count][0] == '@') + { + env = grub_env_get(ventoy_linux_args[count] + 1); + if (env) + { + grub_free(ventoy_linux_args[count]); + + newenv = grub_strdup(env); + last = newenv; + + while (*last) + { + while (*last) + { + if (*last != ' ' && *last != '\t') + { + break; + } + last++; + } + + if (*last == 0) + { + break; + } + + for (pos = last; *pos; pos++) + { + if (*pos == ' ' || *pos == '\t') + { + c = *pos; + *pos = 0; + if (0 == ventoy_boot_opt_filter(last)) + { + ventoy_linux_args[count++] = grub_strdup(last); + } + *pos = c; + break; + } + } + + if (*pos == 0) + { + if (0 == ventoy_boot_opt_filter(last)) + { + ventoy_linux_args[count++] = grub_strdup(last); + } + break; + } + + last = pos + 1; + } + } + else + { + count++; + } + } + else + { + count++; + } + } + + if (ventoy_debug) + { + ventoy_linux_args[count++] = grub_strdup("loglevel=10"); + } + + ventoy_linux_argc = count; + + if (ventoy_debug) + { + grub_printf("========== bootoption ==========\n"); + for (i = 0; i < count; i++) + { + grub_printf("%s ", ventoy_linux_args[i]); + } + grub_printf("\n================================\n"); + } + + return 0; +} + +static grub_err_t +grub_cmd_set_boot_opt (grub_command_t cmd __attribute__ ((unused)), + int argc, char *argv[]) +{ + int i; + const char *vtdebug; + + for (i = 0; i < argc; i++) + { + ventoy_linux_args[ventoy_linux_argc + (LINUX_MAX_ARGC / 2) ] = grub_strdup(argv[i]); + ventoy_linux_argc++; + } + + vtdebug = grub_env_get("vtdebug_flag"); + if (vtdebug && vtdebug[0]) + { + ventoy_debug = 1; + } + + if (ventoy_debug) grub_printf("ventoy set boot opt %d\n", ventoy_linux_argc); + + return 0; +} + +static grub_err_t +grub_cmd_unset_boot_opt (grub_command_t cmd __attribute__ ((unused)), + int argc, char *argv[]) +{ + int i; + + (void)argc; + (void)argv; + + for (i = 0; i < LINUX_MAX_ARGC; i++) + { + if (ventoy_linux_args[i]) + { + grub_free(ventoy_linux_args[i]); + } + } + + ventoy_debug = 0; + ventoy_linux_argc = 0; + ventoy_initrd_called = 0; + grub_memset(ventoy_linux_args, 0, sizeof(char *) * LINUX_MAX_ARGC); + return 0; +} + + +static grub_err_t +grub_linux_boot (void) +{ + grub_err_t err = 0; + const char *modevar; + char *tmp; + struct grub_relocator32_state state; + void *real_mode_mem; + struct grub_linux_boot_ctx ctx = { + .real_mode_target = 0 + }; + grub_size_t mmap_size; + grub_size_t cl_offset; + + ventoy_preboot(); + +#ifdef GRUB_MACHINE_IEEE1275 + { + const char *bootpath; + grub_ssize_t len; + + bootpath = grub_env_get ("root"); + if (bootpath) + grub_ieee1275_set_property (grub_ieee1275_chosen, + "bootpath", bootpath, + grub_strlen (bootpath) + 1, + &len); + linux_params.ofw_signature = GRUB_LINUX_OFW_SIGNATURE; + linux_params.ofw_num_items = 1; + linux_params.ofw_cif_handler = (grub_uint32_t) grub_ieee1275_entry_fn; + linux_params.ofw_idt = 0; + } +#endif + + modevar = grub_env_get ("gfxpayload"); + + /* Now all graphical modes are acceptable. + May change in future if we have modes without framebuffer. */ + if (modevar && *modevar != 0) + { + tmp = grub_xasprintf ("%s;" DEFAULT_VIDEO_MODE, modevar); + if (! tmp) + return grub_errno; +#if ACCEPTS_PURE_TEXT + err = grub_video_set_mode (tmp, 0, 0); +#else + err = grub_video_set_mode (tmp, GRUB_VIDEO_MODE_TYPE_PURE_TEXT, 0); +#endif + grub_free (tmp); + } + else /* We can't go back to text mode from coreboot fb. */ +#ifdef GRUB_MACHINE_COREBOOT + if (grub_video_get_driver_id () == GRUB_VIDEO_DRIVER_COREBOOT) + err = GRUB_ERR_NONE; + else +#endif + { +#if ACCEPTS_PURE_TEXT + err = grub_video_set_mode (DEFAULT_VIDEO_MODE, 0, 0); +#else + err = grub_video_set_mode (DEFAULT_VIDEO_MODE, + GRUB_VIDEO_MODE_TYPE_PURE_TEXT, 0); +#endif + } + + if (err) + { + grub_print_error (); + grub_puts_ (N_("Booting in blind mode")); + grub_errno = GRUB_ERR_NONE; + } + + if (grub_linux_setup_video (&linux_params)) + { +#if defined (GRUB_MACHINE_PCBIOS) || defined (GRUB_MACHINE_COREBOOT) || defined (GRUB_MACHINE_QEMU) + linux_params.have_vga = GRUB_VIDEO_LINUX_TYPE_TEXT; + linux_params.video_mode = 0x3; +#else + linux_params.have_vga = 0; + linux_params.video_mode = 0; + linux_params.video_width = 0; + linux_params.video_height = 0; +#endif + } + + +#ifndef GRUB_MACHINE_IEEE1275 + if (linux_params.have_vga == GRUB_VIDEO_LINUX_TYPE_TEXT) +#endif + { + grub_term_output_t term; + int found = 0; + FOR_ACTIVE_TERM_OUTPUTS(term) + if (grub_strcmp (term->name, "vga_text") == 0 + || grub_strcmp (term->name, "console") == 0 + || grub_strcmp (term->name, "ofconsole") == 0) + { + struct grub_term_coordinate pos = grub_term_getxy (term); + linux_params.video_cursor_x = pos.x; + linux_params.video_cursor_y = pos.y; + linux_params.video_width = grub_term_width (term); + linux_params.video_height = grub_term_height (term); + found = 1; + break; + } + if (!found) + { + linux_params.video_cursor_x = 0; + linux_params.video_cursor_y = 0; + linux_params.video_width = 80; + linux_params.video_height = 25; + } + } + +#ifdef GRUB_KERNEL_USE_RSDP_ADDR + linux_params.acpi_rsdp_addr = grub_le_to_cpu64 (grub_rsdp_addr); +#endif + + mmap_size = find_mmap_size (); + /* Make sure that each size is aligned to a page boundary. */ + cl_offset = ALIGN_UP (mmap_size + sizeof (linux_params), 4096); + if (cl_offset < ((grub_size_t) linux_params.setup_sects << GRUB_DISK_SECTOR_BITS)) + cl_offset = ALIGN_UP ((grub_size_t) (linux_params.setup_sects + << GRUB_DISK_SECTOR_BITS), 4096); + ctx.real_size = ALIGN_UP (cl_offset + maximal_cmdline_size, 4096); + +#ifdef GRUB_MACHINE_EFI + efi_mmap_size = grub_efi_find_mmap_size (); + if (efi_mmap_size == 0) + return grub_errno; +#endif + + grub_dprintf ("linux", "real_size = %x, mmap_size = %x\n", + (unsigned) ctx.real_size, (unsigned) mmap_size); + +#ifdef GRUB_MACHINE_EFI + grub_efi_mmap_iterate (grub_linux_boot_mmap_find, &ctx, 1); + if (! ctx.real_mode_target) + grub_efi_mmap_iterate (grub_linux_boot_mmap_find, &ctx, 0); +#else + grub_mmap_iterate (grub_linux_boot_mmap_find, &ctx); +#endif + grub_dprintf ("linux", "real_mode_target = %lx, real_size = %x, efi_mmap_size = %x\n", + (unsigned long) ctx.real_mode_target, + (unsigned) ctx.real_size, + (unsigned) efi_mmap_size); + + if (! ctx.real_mode_target) + return grub_error (GRUB_ERR_OUT_OF_MEMORY, "cannot allocate real mode pages"); + + { + grub_relocator_chunk_t ch; + err = grub_relocator_alloc_chunk_addr (relocator, &ch, + ctx.real_mode_target, + (ctx.real_size + efi_mmap_size)); + if (err) + return err; + real_mode_mem = get_virtual_current_address (ch); + } + efi_mmap_buf = (grub_uint8_t *) real_mode_mem + ctx.real_size; + + grub_dprintf ("linux", "real_mode_mem = %p\n", + real_mode_mem); + + ctx.params = real_mode_mem; + + *ctx.params = linux_params; + ctx.params->cmd_line_ptr = ctx.real_mode_target + cl_offset; + grub_memcpy ((char *) ctx.params + cl_offset, linux_cmdline, + maximal_cmdline_size); + + grub_dprintf ("linux", "code32_start = %x\n", + (unsigned) ctx.params->code32_start); + + ctx.e820_num = 0; + if (grub_mmap_iterate (grub_linux_boot_mmap_fill, &ctx)) + return grub_errno; + ctx.params->mmap_size = ctx.e820_num; + +#ifdef GRUB_MACHINE_EFI + { + grub_efi_uintn_t efi_desc_size; + grub_size_t efi_mmap_target; + grub_efi_uint32_t efi_desc_version; + err = grub_efi_finish_boot_services (&efi_mmap_size, efi_mmap_buf, NULL, + &efi_desc_size, &efi_desc_version); + if (err) + return err; + + /* Note that no boot services are available from here. */ + efi_mmap_target = ctx.real_mode_target + + ((grub_uint8_t *) efi_mmap_buf - (grub_uint8_t *) real_mode_mem); + /* Pass EFI parameters. */ + if (grub_le_to_cpu16 (ctx.params->version) >= 0x0208) + { + ctx.params->v0208.efi_mem_desc_size = efi_desc_size; + ctx.params->v0208.efi_mem_desc_version = efi_desc_version; + ctx.params->v0208.efi_mmap = efi_mmap_target; + ctx.params->v0208.efi_mmap_size = efi_mmap_size; + +#ifdef __x86_64__ + ctx.params->v0208.efi_mmap_hi = (efi_mmap_target >> 32); +#endif + } + else if (grub_le_to_cpu16 (ctx.params->version) >= 0x0206) + { + ctx.params->v0206.efi_mem_desc_size = efi_desc_size; + ctx.params->v0206.efi_mem_desc_version = efi_desc_version; + ctx.params->v0206.efi_mmap = efi_mmap_target; + ctx.params->v0206.efi_mmap_size = efi_mmap_size; + } + else if (grub_le_to_cpu16 (ctx.params->version) >= 0x0204) + { + ctx.params->v0204.efi_mem_desc_size = efi_desc_size; + ctx.params->v0204.efi_mem_desc_version = efi_desc_version; + ctx.params->v0204.efi_mmap = efi_mmap_target; + ctx.params->v0204.efi_mmap_size = efi_mmap_size; + } + } +#endif + + /* FIXME. */ + /* asm volatile ("lidt %0" : : "m" (idt_desc)); */ + state.ebp = state.edi = state.ebx = 0; + state.esi = ctx.real_mode_target; + state.esp = ctx.real_mode_target; + state.eip = ctx.params->code32_start; + return grub_relocator32_boot (relocator, state, 0); +} + +static grub_err_t +grub_linux_unload (void) +{ + grub_dl_unref (my_mod); + loaded = 0; + grub_free (linux_cmdline); + linux_cmdline = 0; + return GRUB_ERR_NONE; +} + +static grub_err_t +grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)), + int argc, char *argv[]) +{ + grub_file_t file = 0; + struct linux_i386_kernel_header lh; + grub_uint8_t setup_sects; + grub_size_t real_size, prot_size, prot_file_size; + grub_ssize_t len; + int i; + grub_size_t align, min_align; + int relocatable; + grub_uint64_t preferred_address = GRUB_LINUX_BZIMAGE_ADDR; + + grub_dl_ref (my_mod); + + if (argc == 0) + { + grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); + goto fail; + } + + file = grub_file_open (argv[0], GRUB_FILE_TYPE_LINUX_KERNEL); + if (! file) + goto fail; + + if (ventoy_linux_argc) + { + const char *tip = grub_env_get("ventoy_loading_tip"); + if (tip) + { + grub_printf("%s\n", tip); + grub_refresh(); + } + } + + if (grub_file_read (file, &lh, sizeof (lh)) != sizeof (lh)) + { + if (!grub_errno) + grub_error (GRUB_ERR_BAD_OS, N_("premature end of file %s"), + argv[0]); + goto fail; + } + + if (lh.boot_flag != grub_cpu_to_le16_compile_time (0xaa55)) + { + grub_error (GRUB_ERR_BAD_OS, "invalid magic number"); + goto fail; + } + + if (lh.setup_sects > GRUB_LINUX_MAX_SETUP_SECTS) + { + grub_error (GRUB_ERR_BAD_OS, "too many setup sectors"); + goto fail; + } + + /* FIXME: 2.03 is not always good enough (Linux 2.4 can be 2.03 and + still not support 32-bit boot. */ + if (lh.header != grub_cpu_to_le32_compile_time (GRUB_LINUX_I386_MAGIC_SIGNATURE) + || grub_le_to_cpu16 (lh.version) < 0x0203) + { + grub_error (GRUB_ERR_BAD_OS, "version too old for 32-bit boot" +#ifdef GRUB_MACHINE_PCBIOS + " (try with `linux16')" +#endif + ); + goto fail; + } + + if (! (lh.loadflags & GRUB_LINUX_FLAG_BIG_KERNEL)) + { + grub_error (GRUB_ERR_BAD_OS, "zImage doesn't support 32-bit boot" +#ifdef GRUB_MACHINE_PCBIOS + " (try with `linux16')" +#endif + ); + goto fail; + } + + if (grub_le_to_cpu16 (lh.version) >= 0x0206) + maximal_cmdline_size = grub_le_to_cpu32 (lh.cmdline_size) + 1; + else + maximal_cmdline_size = 256; + + if (maximal_cmdline_size < 128) + maximal_cmdline_size = 128; + + setup_sects = lh.setup_sects; + + /* If SETUP_SECTS is not set, set it to the default (4). */ + if (! setup_sects) + setup_sects = GRUB_LINUX_DEFAULT_SETUP_SECTS; + + real_size = setup_sects << GRUB_DISK_SECTOR_BITS; + prot_file_size = grub_file_size (file) - real_size - GRUB_DISK_SECTOR_SIZE; + + if (grub_le_to_cpu16 (lh.version) >= 0x205 + && lh.kernel_alignment != 0 + && ((lh.kernel_alignment - 1) & lh.kernel_alignment) == 0) + { + for (align = 0; align < 32; align++) + if (grub_le_to_cpu32 (lh.kernel_alignment) & (1 << align)) + break; + relocatable = grub_le_to_cpu32 (lh.relocatable); + } + else + { + align = 0; + relocatable = 0; + } + + if (grub_le_to_cpu16 (lh.version) >= 0x020a) + { + min_align = lh.min_alignment; + prot_size = grub_le_to_cpu32 (lh.init_size); + prot_init_space = page_align (prot_size); + if (relocatable) + preferred_address = grub_le_to_cpu64 (lh.pref_address); + else + preferred_address = GRUB_LINUX_BZIMAGE_ADDR; + } + else + { + min_align = align; + prot_size = prot_file_size; + preferred_address = GRUB_LINUX_BZIMAGE_ADDR; + /* Usually, the compression ratio is about 50%. */ + prot_init_space = page_align (prot_size) * 3; + } + + if (allocate_pages (prot_size, &align, + min_align, relocatable, + preferred_address)) + goto fail; + + grub_memset (&linux_params, 0, sizeof (linux_params)); + grub_memcpy (&linux_params.setup_sects, &lh.setup_sects, sizeof (lh) - 0x1F1); + + linux_params.code32_start = prot_mode_target + lh.code32_start - GRUB_LINUX_BZIMAGE_ADDR; + linux_params.kernel_alignment = (1 << align); + linux_params.ps_mouse = linux_params.padding10 = 0; + + /* + * The Linux 32-bit boot protocol defines the setup header end + * to be at 0x202 + the byte value at 0x201. + */ + len = 0x202 + *((char *) &linux_params.jump + 1); + + /* Verify the struct is big enough so we do not write past the end. */ + if (len > (char *) &linux_params.edd_mbr_sig_buffer - (char *) &linux_params) { + grub_error (GRUB_ERR_BAD_OS, "Linux setup header too big"); + goto fail; + } + + /* We've already read lh so there is no need to read it second time. */ + len -= sizeof(lh); + + if (grub_file_read (file, (char *) &linux_params + sizeof (lh), len) != len) + { + if (!grub_errno) + grub_error (GRUB_ERR_BAD_OS, N_("premature end of file %s"), + argv[0]); + goto fail; + } + + linux_params.type_of_loader = GRUB_LINUX_BOOT_LOADER_TYPE; + + /* These two are used (instead of cmd_line_ptr) by older versions of Linux, + and otherwise ignored. */ + linux_params.cl_magic = GRUB_LINUX_CL_MAGIC; + linux_params.cl_offset = 0x1000; + + linux_params.ramdisk_image = 0; + linux_params.ramdisk_size = 0; + + linux_params.heap_end_ptr = GRUB_LINUX_HEAP_END_OFFSET; + linux_params.loadflags |= GRUB_LINUX_FLAG_CAN_USE_HEAP; + + /* These are not needed to be precise, because Linux uses these values + only to raise an error when the decompression code cannot find good + space. */ + linux_params.ext_mem = ((32 * 0x100000) >> 10); + linux_params.alt_mem = ((32 * 0x100000) >> 10); + + /* Ignored by Linux. */ + linux_params.video_page = 0; + + /* Only used when `video_mode == 0x7', otherwise ignored. */ + linux_params.video_ega_bx = 0; + + linux_params.font_size = 16; /* XXX */ + +#ifdef GRUB_MACHINE_EFI +#ifdef __x86_64__ + if (grub_le_to_cpu16 (linux_params.version) < 0x0208 && + ((grub_addr_t) grub_efi_system_table >> 32) != 0) + return grub_error(GRUB_ERR_BAD_OS, + "kernel does not support 64-bit addressing"); +#endif + + if (grub_le_to_cpu16 (linux_params.version) >= 0x0208) + { + linux_params.v0208.efi_signature = GRUB_LINUX_EFI_SIGNATURE; + linux_params.v0208.efi_system_table = (grub_uint32_t) (grub_addr_t) grub_efi_system_table; +#ifdef __x86_64__ + linux_params.v0208.efi_system_table_hi = (grub_uint32_t) ((grub_uint64_t) grub_efi_system_table >> 32); +#endif + } + else if (grub_le_to_cpu16 (linux_params.version) >= 0x0206) + { + linux_params.v0206.efi_signature = GRUB_LINUX_EFI_SIGNATURE; + linux_params.v0206.efi_system_table = (grub_uint32_t) (grub_addr_t) grub_efi_system_table; + } + else if (grub_le_to_cpu16 (linux_params.version) >= 0x0204) + { + linux_params.v0204.efi_signature = GRUB_LINUX_EFI_SIGNATURE_0204; + linux_params.v0204.efi_system_table = (grub_uint32_t) (grub_addr_t) grub_efi_system_table; + } +#endif + + /* The other parameters are filled when booting. */ + + grub_file_seek (file, real_size + GRUB_DISK_SECTOR_SIZE); + + grub_dprintf ("linux", "bzImage, setup=0x%x, size=0x%x\n", + (unsigned) real_size, (unsigned) prot_size); + + /* Look for memory size and video mode specified on the command line. */ + linux_mem_size = 0; + for (i = 1; i < argc; i++) +#ifdef GRUB_MACHINE_PCBIOS + if (grub_memcmp (argv[i], "vga=", 4) == 0) + { + /* Video mode selection support. */ + char *val = argv[i] + 4; + unsigned vid_mode = GRUB_LINUX_VID_MODE_NORMAL; + struct grub_vesa_mode_table_entry *linux_mode; + grub_err_t err; + char *buf; + + grub_dl_load ("vbe"); + + if (grub_strcmp (val, "normal") == 0) + vid_mode = GRUB_LINUX_VID_MODE_NORMAL; + else if (grub_strcmp (val, "ext") == 0) + vid_mode = GRUB_LINUX_VID_MODE_EXTENDED; + else if (grub_strcmp (val, "ask") == 0) + { + grub_puts_ (N_("Legacy `ask' parameter no longer supported.")); + + /* We usually would never do this in a loader, but "vga=ask" means user + requested interaction, so it can't hurt to request keyboard input. */ + grub_wait_after_message (); + + goto fail; + } + else + vid_mode = (grub_uint16_t) grub_strtoul (val, 0, 0); + + switch (vid_mode) + { + case 0: + case GRUB_LINUX_VID_MODE_NORMAL: + grub_env_set ("gfxpayload", "text"); + grub_printf_ (N_("%s is deprecated. " + "Use set gfxpayload=%s before " + "linux command instead.\n"), + argv[i], "text"); + break; + + case 1: + case GRUB_LINUX_VID_MODE_EXTENDED: + /* FIXME: support 80x50 text. */ + grub_env_set ("gfxpayload", "text"); + grub_printf_ (N_("%s is deprecated. " + "Use set gfxpayload=%s before " + "linux command instead.\n"), + argv[i], "text"); + break; + default: + /* Ignore invalid values. */ + if (vid_mode < GRUB_VESA_MODE_TABLE_START || + vid_mode > GRUB_VESA_MODE_TABLE_END) + { + grub_env_set ("gfxpayload", "text"); + /* TRANSLATORS: "x" has to be entered in, like an identifier, + so please don't use better Unicode codepoints. */ + grub_printf_ (N_("%s is deprecated. VGA mode %d isn't recognized. " + "Use set gfxpayload=WIDTHxHEIGHT[xDEPTH] " + "before linux command instead.\n"), + argv[i], vid_mode); + break; + } + + linux_mode = &grub_vesa_mode_table[vid_mode + - GRUB_VESA_MODE_TABLE_START]; + + buf = grub_xasprintf ("%ux%ux%u,%ux%u", + linux_mode->width, linux_mode->height, + linux_mode->depth, + linux_mode->width, linux_mode->height); + if (! buf) + goto fail; + + grub_printf_ (N_("%s is deprecated. " + "Use set gfxpayload=%s before " + "linux command instead.\n"), + argv[i], buf); + err = grub_env_set ("gfxpayload", buf); + grub_free (buf); + if (err) + goto fail; + } + } + else +#endif /* GRUB_MACHINE_PCBIOS */ + if (grub_memcmp (argv[i], "mem=", 4) == 0) + { + char *val = argv[i] + 4; + + linux_mem_size = grub_strtoul (val, &val, 0); + + if (grub_errno) + { + grub_errno = GRUB_ERR_NONE; + linux_mem_size = 0; + } + else + { + int shift = 0; + + switch (grub_tolower (val[0])) + { + case 'g': + shift += 10; + /* FALLTHROUGH */ + case 'm': + shift += 10; + /* FALLTHROUGH */ + case 'k': + shift += 10; + /* FALLTHROUGH */ + default: + break; + } + + /* Check an overflow. */ + if (linux_mem_size > (~0UL >> shift)) + linux_mem_size = 0; + else + linux_mem_size <<= shift; + } + } + else if (grub_memcmp (argv[i], "quiet", sizeof ("quiet") - 1) == 0) + { + linux_params.loadflags |= GRUB_LINUX_FLAG_QUIET; + } + + /* Create kernel command line. */ + linux_cmdline = grub_zalloc (maximal_cmdline_size + 1); + if (!linux_cmdline) + goto fail; + grub_memcpy (linux_cmdline, LINUX_IMAGE, sizeof (LINUX_IMAGE)); + { + grub_err_t err; + + if (ventoy_linux_argc) + { + ventoy_bootopt_hook(argc, argv); + err = grub_create_loader_cmdline (ventoy_linux_argc, ventoy_linux_args, + linux_cmdline + + sizeof (LINUX_IMAGE) - 1, + maximal_cmdline_size + - (sizeof (LINUX_IMAGE) - 1), + GRUB_VERIFY_KERNEL_CMDLINE); + } + else + { + err = grub_create_loader_cmdline (argc, argv, + linux_cmdline + + sizeof (LINUX_IMAGE) - 1, + maximal_cmdline_size + - (sizeof (LINUX_IMAGE) - 1), + GRUB_VERIFY_KERNEL_CMDLINE); + } + + if (err) + goto fail; + } + + len = prot_file_size; + if (grub_file_read (file, prot_mode_mem, len) != len && !grub_errno) + grub_error (GRUB_ERR_BAD_OS, N_("premature end of file %s"), + argv[0]); + + if (grub_errno == GRUB_ERR_NONE) + { + grub_loader_set (grub_linux_boot, grub_linux_unload, + 0 /* set noreturn=0 in order to avoid grub_console_fini() */); + loaded = 1; + } + + fail: + + if (file) + grub_file_close (file); + + if (grub_errno != GRUB_ERR_NONE) + { + grub_dl_unref (my_mod); + loaded = 0; + } + + return grub_errno; +} + +static grub_err_t +grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), + int argc, char *argv[]) +{ + grub_size_t size = 0, aligned_size = 0; + grub_addr_t addr_min, addr_max; + grub_addr_t addr; + grub_err_t err; + struct grub_linux_initrd_context initrd_ctx = { 0, 0, 0 }; + + if (argc == 0) + { + grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); + goto fail; + } + + if (! loaded) + { + grub_error (GRUB_ERR_BAD_ARGUMENT, N_("you need to load the kernel first")); + goto fail; + } + + if (grub_initrd_init (argc, argv, &initrd_ctx)) + goto fail; + + size = grub_get_initrd_size (&initrd_ctx); + aligned_size = ALIGN_UP (size, 4096); + + /* Get the highest address available for the initrd. */ + if (grub_le_to_cpu16 (linux_params.version) >= 0x0203) + { + addr_max = grub_cpu_to_le32 (linux_params.initrd_addr_max); + + /* XXX in reality, Linux specifies a bogus value, so + it is necessary to make sure that ADDR_MAX does not exceed + 0x3fffffff. */ + if (addr_max > GRUB_LINUX_INITRD_MAX_ADDRESS) + addr_max = GRUB_LINUX_INITRD_MAX_ADDRESS; + } + else + addr_max = GRUB_LINUX_INITRD_MAX_ADDRESS; + + if (linux_mem_size != 0 && linux_mem_size < addr_max) + addr_max = linux_mem_size; + + /* Linux 2.3.xx has a bug in the memory range check, so avoid + the last page. + Linux 2.2.xx has a bug in the memory range check, which is + worse than that of Linux 2.3.xx, so avoid the last 64kb. */ + addr_max -= 0x10000; + + addr_min = (grub_addr_t) prot_mode_target + prot_init_space; + + /* Put the initrd as high as possible, 4KiB aligned. */ + addr = (addr_max - aligned_size) & ~0xFFF; + + if (addr < addr_min) + { + grub_error (GRUB_ERR_OUT_OF_RANGE, "the initrd is too big"); + goto fail; + } + + { + grub_relocator_chunk_t ch; + err = grub_relocator_alloc_chunk_align (relocator, &ch, + addr_min, addr, aligned_size, + 0x1000, + GRUB_RELOCATOR_PREFERENCE_HIGH, + 1); + if (err) + return err; + initrd_mem = get_virtual_current_address (ch); + initrd_mem_target = get_physical_target_address (ch); + } + + if (grub_initrd_load (&initrd_ctx, argv, initrd_mem)) + goto fail; + + grub_dprintf ("linux", "Initrd, addr=0x%x, size=0x%x\n", + (unsigned) addr, (unsigned) size); + + linux_params.ramdisk_image = initrd_mem_target; + linux_params.ramdisk_size = size; + linux_params.root_dev = 0x0100; /* XXX */ + + fail: + grub_initrd_close (&initrd_ctx); + + return grub_errno; +} + +static grub_err_t +ventoy_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), + int argc, char *argv[]) +{ + int i; + char buf[64]; + char *newargv[32] = {NULL}; + + if (ventoy_debug) grub_printf("ventoy_cmd_initrd %d\n", ventoy_linux_argc); + + if (ventoy_linux_argc == 0) + { + return grub_cmd_initrd(cmd, argc, argv); + } + + grub_snprintf(buf, sizeof(buf), "mem:%s:size:%s", grub_env_get("ventoy_cpio_addr"), grub_env_get("ventoy_cpio_size")); + + if (ventoy_debug) grub_printf("membuf=%s\n", buf); + + newargv[0] = buf; + for (i = 0; i < argc; i++) + { + newargv[i + 1] = argv[i]; + } + + ventoy_initrd_called = 1; + + return grub_cmd_initrd(cmd, argc + 1, newargv); +} + + +static grub_command_t cmd_linux, cmd_initrd, cmd_linuxefi, cmd_initrdefi, cmd_set_bootopt, cmd_unset_bootopt; + +GRUB_MOD_INIT(linux) +{ + cmd_linux = grub_register_command ("linux", grub_cmd_linux, + 0, N_("Load Linux.")); + cmd_initrd = grub_register_command ("initrd", ventoy_cmd_initrd, + 0, N_("Load initrd.")); + + cmd_linuxefi = grub_register_command ("linuxefi", grub_cmd_linux, + 0, N_("Load Linux.")); + cmd_initrdefi = grub_register_command ("initrdefi", ventoy_cmd_initrd, + 0, N_("Load initrd.")); + cmd_set_bootopt = grub_register_command ("vt_set_boot_opt", grub_cmd_set_boot_opt, 0, N_("set ext boot opt")); + cmd_unset_bootopt = grub_register_command ("vt_unset_boot_opt", grub_cmd_unset_boot_opt, 0, N_("unset ext boot opt")); + + ventoy_linux_args = grub_zalloc(sizeof(char *) * LINUX_MAX_ARGC); + + my_mod = mod; +} + +GRUB_MOD_FINI(linux) +{ + grub_unregister_command (cmd_linux); + grub_unregister_command (cmd_initrd); +} diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/main.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/main.c new file mode 100644 index 00000000..bc29d3be --- /dev/null +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/main.c @@ -0,0 +1,575 @@ +/* main.c - the normal mode main routine */ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2000,2001,2002,2003,2005,2006,2007,2008,2009 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +GRUB_MOD_LICENSE ("GPLv3+"); + +#define GRUB_DEFAULT_HISTORY_SIZE 50 + +static int nested_level = 0; +int grub_normal_exit_level = 0; + +void +grub_normal_free_menu (grub_menu_t menu) +{ + grub_menu_entry_t entry = menu->entry_list; + + while (entry) + { + grub_menu_entry_t next_entry = entry->next; + grub_size_t i; + + if (entry->classes) + { + struct grub_menu_entry_class *class; + for (class = entry->classes; class; class = class->next) + grub_free (class->name); + grub_free (entry->classes); + } + + if (entry->args) + { + for (i = 0; entry->args[i]; i++) + grub_free (entry->args[i]); + grub_free (entry->args); + } + + if (entry->bls) + { + entry->bls->visible = 0; + } + + grub_free ((void *) entry->id); + grub_free ((void *) entry->users); + grub_free ((void *) entry->title); + grub_free ((void *) entry->sourcecode); + grub_free (entry); + entry = next_entry; + } + + grub_free (menu); + grub_env_unset_menu (); +} + +/* Helper for read_config_file. */ +static grub_err_t +read_config_file_getline (char **line, int cont __attribute__ ((unused)), + void *data) +{ + grub_file_t file = data; + + while (1) + { + char *buf; + + *line = buf = grub_file_getline (file); + if (! buf) + return grub_errno; + + if (buf[0] == '#') + grub_free (*line); + else + break; + } + + return GRUB_ERR_NONE; +} + +static grub_menu_t +read_config_file (const char *config) +{ + grub_file_t rawfile, file; + char *old_file = 0, *old_dir = 0; + char *config_dir, *ptr = 0; + const char *ctmp; + + grub_menu_t newmenu; + + newmenu = grub_env_get_menu (); + if (! newmenu) + { + newmenu = grub_zalloc (sizeof (*newmenu)); + if (! newmenu) + return 0; + + grub_env_set_menu (newmenu); + } + + /* Try to open the config file. */ + rawfile = grub_file_open (config, GRUB_FILE_TYPE_CONFIG); + if (! rawfile) + return 0; + + file = grub_bufio_open (rawfile, 0); + if (! file) + { + grub_file_close (rawfile); + return 0; + } + + ctmp = grub_env_get ("config_file"); + if (ctmp) + old_file = grub_strdup (ctmp); + ctmp = grub_env_get ("config_directory"); + if (ctmp) + old_dir = grub_strdup (ctmp); + if (*config == '(') + { + grub_env_set ("config_file", config); + config_dir = grub_strdup (config); + } + else + { + /* $root is guranteed to be defined, otherwise open above would fail */ + config_dir = grub_xasprintf ("(%s)%s", grub_env_get ("root"), config); + if (config_dir) + grub_env_set ("config_file", config_dir); + } + if (config_dir) + { + ptr = grub_strrchr (config_dir, '/'); + if (ptr) + *ptr = 0; + grub_env_set ("config_directory", config_dir); + grub_free (config_dir); + } + + grub_env_export ("config_file"); + grub_env_export ("config_directory"); + + while (1) + { + char *line; + + /* Print an error, if any. */ + grub_print_error (); + grub_errno = GRUB_ERR_NONE; + + if ((read_config_file_getline (&line, 0, file)) || (! line)) + break; + + grub_normal_parse_line (line, read_config_file_getline, file); + grub_free (line); + } + + if (old_file) + grub_env_set ("config_file", old_file); + else + grub_env_unset ("config_file"); + if (old_dir) + grub_env_set ("config_directory", old_dir); + else + grub_env_unset ("config_directory"); + grub_free (old_file); + grub_free (old_dir); + + grub_file_close (file); + + return newmenu; +} + +/* Initialize the screen. */ +void +grub_normal_init_page (struct grub_term_output *term, + int y) +{ + grub_ssize_t msg_len; + int posx; + char *msg_formatted; + grub_uint32_t *unicode_msg; + grub_uint32_t *last_position; + + grub_term_cls (term); + + msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION); + if (!msg_formatted) + return; + + msg_len = grub_utf8_to_ucs4_alloc (msg_formatted, + &unicode_msg, &last_position); + grub_free (msg_formatted); + + if (msg_len < 0) + { + return; + } + + posx = grub_getstringwidth (unicode_msg, last_position, term); + posx = ((int) grub_term_width (term) - posx) / 2; + if (posx < 0) + posx = 0; + grub_term_gotoxy (term, (struct grub_term_coordinate) { posx, y }); + + grub_print_ucs4 (unicode_msg, last_position, 0, 0, term); + grub_putcode ('\n', term); + grub_putcode ('\n', term); + grub_free (unicode_msg); +} + +static void +read_lists (const char *val) +{ + if (! grub_no_modules) + { + read_command_list (val); + read_fs_list (val); + read_crypto_list (val); + read_terminal_list (val); + } + grub_gettext_reread_prefix (val); +} + +static char * +read_lists_hook (struct grub_env_var *var __attribute__ ((unused)), + const char *val) +{ + read_lists (val); + return val ? grub_strdup (val) : NULL; +} + +/* Read the config file CONFIG and execute the menu interface or + the command line interface if BATCH is false. */ +void +grub_normal_execute (const char *config, int nested, int batch) +{ + grub_menu_t menu = 0; + const char *prefix; + + if (! nested) + { + prefix = grub_env_get ("prefix"); + read_lists (prefix); + grub_register_variable_hook ("prefix", NULL, read_lists_hook); + } + + grub_boot_time ("Executing config file"); + + if (config) + { + menu = read_config_file (config); + + /* Ignore any error. */ + grub_errno = GRUB_ERR_NONE; + } + + grub_boot_time ("Executed config file"); + + if (! batch) + { + if (menu && menu->size) + { + + grub_boot_time ("Entering menu"); + grub_show_menu (menu, nested, 0); + if (nested) + grub_normal_free_menu (menu); + } + } +} + +/* This starts the normal mode. */ +void +grub_enter_normal_mode (const char *config) +{ + grub_boot_time ("Entering normal mode"); + nested_level++; + grub_normal_execute (config, 0, 0); + grub_boot_time ("Entering shell"); + grub_cmdline_run (0, 1); + nested_level--; + if (grub_normal_exit_level) + grub_normal_exit_level--; + grub_boot_time ("Exiting normal mode"); +} + +/* Enter normal mode from rescue mode. */ +static grub_err_t +grub_cmd_normal (struct grub_command *cmd __attribute__ ((unused)), + int argc, char *argv[]) +{ + if (argc == 0) + { + /* Guess the config filename. It is necessary to make CONFIG static, + so that it won't get broken by longjmp. */ + char *config; + const char *prefix; + + prefix = grub_env_get ("prefix"); + if (prefix) + { + config = grub_xasprintf ("%s/grub.cfg", prefix); + if (! config) + goto quit; + + grub_enter_normal_mode (config); + grub_free (config); + } + else + grub_enter_normal_mode (0); + } + else + grub_enter_normal_mode (argv[0]); + +quit: + return 0; +} + +/* Exit from normal mode to rescue mode. */ +static grub_err_t +grub_cmd_normal_exit (struct grub_command *cmd __attribute__ ((unused)), + int argc __attribute__ ((unused)), + char *argv[] __attribute__ ((unused))) +{ + if (nested_level <= grub_normal_exit_level) + return grub_error (GRUB_ERR_BAD_ARGUMENT, "not in normal environment"); + grub_normal_exit_level++; + return GRUB_ERR_NONE; +} + +static grub_err_t +grub_normal_reader_init (int nested) +{ + struct grub_term_output *term; + const char *msg_esc = _("ESC at any time exits."); + char *msg_formatted; + + msg_formatted = grub_xasprintf (_("Minimal BASH-like line editing is supported. For " + "the first word, TAB lists possible command completions. Anywhere " + "else TAB lists possible device or file completions. %s"), + nested ? msg_esc : ""); + if (!msg_formatted) + return grub_errno; + + FOR_ACTIVE_TERM_OUTPUTS(term) + { + grub_normal_init_page (term, 1); + grub_term_setcursor (term, 1); + + if (grub_term_width (term) > 3 + STANDARD_MARGIN + 20) + grub_print_message_indented (msg_formatted, 3, STANDARD_MARGIN, term); + else + grub_print_message_indented (msg_formatted, 0, 0, term); + grub_putcode ('\n', term); + grub_putcode ('\n', term); + grub_putcode ('\n', term); + } + grub_free (msg_formatted); + + return 0; +} + +static grub_err_t +grub_normal_read_line_real (char **line, int cont, int nested) +{ + const char *prompt; + + if (cont) + /* TRANSLATORS: it's command line prompt. */ + prompt = _(">"); + else + /* TRANSLATORS: it's command line prompt. */ + prompt = _("grub>"); + + if (!prompt) + return grub_errno; + + while (1) + { + *line = grub_cmdline_get (prompt); + if (*line) + return 0; + + if (cont || nested) + { + grub_free (*line); + *line = 0; + return grub_errno; + } + } + +} + +static grub_err_t +grub_normal_read_line (char **line, int cont, + void *data __attribute__ ((unused))) +{ + return grub_normal_read_line_real (line, cont, 0); +} + +void +grub_cmdline_run (int nested, int force_auth) +{ + grub_err_t err = GRUB_ERR_NONE; + + do + { + err = grub_auth_check_authentication (NULL); + } + while (err && force_auth); + + if (err) + { + grub_print_error (); + grub_errno = GRUB_ERR_NONE; + return; + } + + grub_normal_reader_init (nested); + + while (1) + { + char *line = NULL; + + if (grub_normal_exit_level) + break; + + /* Print an error, if any. */ + grub_print_error (); + grub_errno = GRUB_ERR_NONE; + + grub_normal_read_line_real (&line, 0, nested); + if (! line) + break; + + grub_normal_parse_line (line, grub_normal_read_line, NULL); + grub_free (line); + } +} + +static char * +grub_env_write_pager (struct grub_env_var *var __attribute__ ((unused)), + const char *val) +{ + grub_set_more ((*val == '1')); + return grub_strdup (val); +} + +/* clear */ +static grub_err_t +grub_mini_cmd_clear (struct grub_command *cmd __attribute__ ((unused)), + int argc __attribute__ ((unused)), + char *argv[] __attribute__ ((unused))) +{ + grub_cls (); + return 0; +} + +static grub_command_t cmd_clear; + +static void (*grub_xputs_saved) (const char *str); +static const char *features[] = { + "feature_chainloader_bpb", "feature_ntldr", "feature_platform_search_hint", + "feature_default_font_path", "feature_all_video_module", + "feature_menuentry_id", "feature_menuentry_options", "feature_200_final", + "feature_nativedisk_cmd", "feature_timeout_style" +}; + +GRUB_MOD_INIT(normal) +{ + unsigned i; + + grub_boot_time ("Preparing normal module"); + + /* Previously many modules depended on gzio. Be nice to user and load it. */ + grub_dl_load ("gzio"); + grub_errno = 0; + + grub_normal_auth_init (); + grub_context_init (); + grub_script_init (); + grub_menu_init (); + + grub_xputs_saved = grub_xputs; + grub_xputs = grub_xputs_normal; + + /* Normal mode shouldn't be unloaded. */ + if (mod) + grub_dl_ref (mod); + + cmd_clear = + grub_register_command ("clear", grub_mini_cmd_clear, + 0, N_("Clear the screen.")); + + grub_set_history (GRUB_DEFAULT_HISTORY_SIZE); + + grub_register_variable_hook ("pager", 0, grub_env_write_pager); + grub_env_export ("pager"); + + /* Register a command "normal" for the rescue mode. */ + grub_register_command ("normal", grub_cmd_normal, + 0, N_("Enter normal mode.")); + grub_register_command ("normal_exit", grub_cmd_normal_exit, + 0, N_("Exit from normal mode.")); + + /* Reload terminal colors when these variables are written to. */ + grub_register_variable_hook ("color_normal", NULL, grub_env_write_color_normal); + grub_register_variable_hook ("color_highlight", NULL, grub_env_write_color_highlight); + + /* Preserve hooks after context changes. */ + grub_env_export ("color_normal"); + grub_env_export ("color_highlight"); + + /* Set default color names. */ + grub_env_set ("color_normal", "light-gray/black"); + grub_env_set ("color_highlight", "black/light-gray"); + + for (i = 0; i < ARRAY_SIZE (features); i++) + { + grub_env_set (features[i], "y"); + grub_env_export (features[i]); + } + grub_env_set ("grub_cpu", GRUB_TARGET_CPU); + grub_env_export ("grub_cpu"); + grub_env_set ("grub_platform", GRUB_PLATFORM); + grub_env_export ("grub_platform"); + + grub_boot_time ("Normal module prepared"); +} + +GRUB_MOD_FINI(normal) +{ + grub_context_fini (); + grub_script_fini (); + grub_menu_fini (); + grub_normal_auth_fini (); + + grub_xputs = grub_xputs_saved; + + grub_set_history (0); + grub_register_variable_hook ("pager", 0, 0); + grub_fs_autoload_hook = 0; + grub_unregister_command (cmd_clear); +} diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c index e5d8b88c..070f6d20 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c @@ -803,6 +803,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) goto refresh; case GRUB_TERM_KEY_F2: + case '2': if (0 == g_ventoy_fn_mutex) { cmdstr = grub_env_get("VTOY_F2_CMD"); if (cmdstr) @@ -816,6 +817,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) } break; case GRUB_TERM_KEY_F3: + case '3': if (0 == g_ventoy_fn_mutex) { cmdstr = grub_env_get("VTOY_F3_CMD"); if (cmdstr) @@ -827,6 +829,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) } break; case GRUB_TERM_KEY_F4: + case '4': if (0 == g_ventoy_fn_mutex) { cmdstr = grub_env_get("VTOY_F4_CMD"); if (cmdstr) @@ -840,6 +843,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) } break; case GRUB_TERM_KEY_F5: + case '5': if (0 == g_ventoy_fn_mutex) { cmdstr = grub_env_get("VTOY_F5_CMD"); if (cmdstr) @@ -853,6 +857,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) } break; case GRUB_TERM_KEY_F6: + case '6': if (0 == g_ventoy_fn_mutex) { cmdstr = grub_env_get("VTOY_F6_CMD"); if (cmdstr) @@ -866,6 +871,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) } break; case GRUB_TERM_KEY_F7: + case '7': cmdstr = grub_env_get("VTOY_F7_CMD"); if (cmdstr) { @@ -875,6 +881,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) } break; case GRUB_TERM_KEY_F1: + case '1': menu_fini (); g_ventoy_memdisk_mode = 1 - g_ventoy_memdisk_mode; g_ventoy_menu_refresh = 1; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu_text.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu_text.c index cb1d3d61..cd96ceb1 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu_text.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu_text.c @@ -180,11 +180,13 @@ command-line or ESC to discard edits and return to the GRUB menu."), if (nested) { + #if 0 ret += grub_print_message_indented_real (_("Press enter to boot the selected OS, " "`e' to edit the commands before booting " "or `c' for a command-line. ESC to return previous menu."), STANDARD_MARGIN, STANDARD_MARGIN, term, dry_run); + #endif } else { @@ -195,7 +197,7 @@ command-line or ESC to discard edits and return to the GRUB menu."), ret += grub_print_message_indented_real("\n", STANDARD_MARGIN, STANDARD_MARGIN, term, dry_run); ret += grub_print_message_indented_real(grub_env_get("VTOY_HOTKEY_TIP"), - STANDARD_MARGIN, STANDARD_MARGIN, term, dry_run); + 3, 6, term, dry_run); } } return ret; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c index 2995bd30..e10751f9 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c @@ -34,6 +34,7 @@ #include #include #include +#include #ifdef GRUB_MACHINE_EFI #include #endif @@ -317,6 +318,38 @@ static grub_err_t ventoy_cmd_strstr(grub_extcmd_context_t ctxt, int argc, char * return (grub_strstr(args[0], args[1])) ? 0 : 1; } +static grub_err_t ventoy_cmd_strbegin(grub_extcmd_context_t ctxt, int argc, char **args) +{ + char *c0, *c1; + + (void)ctxt; + + if (argc != 2) + { + return 1; + } + + c0 = args[0]; + c1 = args[1]; + + while (*c0 && *c1) + { + if (*c0 != *c1) + { + return 1; + } + c0++; + c1++; + } + + if (*c1) + { + return 1; + } + + return 0; +} + static grub_err_t ventoy_cmd_incr(grub_extcmd_context_t ctxt, int argc, char **args) { long value_long = 0; @@ -410,7 +443,122 @@ static grub_err_t ventoy_cmd_load_wimboot(grub_extcmd_context_t ctxt, int argc, return 0; } -static grub_err_t ventoy_cmd_load_iso_to_mem(grub_extcmd_context_t ctxt, int argc, char **args) +static int ventoy_load_efiboot_template(char **buf, int *datalen, int *direntoff) +{ + int len; + grub_file_t file; + char exec[128]; + char *data = NULL; + grub_uint32_t offset; + + file = ventoy_grub_file_open(GRUB_FILE_TYPE_LINUX_INITRD, "%s/ventoy/ventoy_efiboot.img.xz", ventoy_get_env("vtoy_efi_part")); + if (file == NULL) + { + debug("failed to open file <%s>\n", "ventoy_efiboot.img.xz"); + return 1; + } + + len = (int)file->size; + + data = (char *)grub_malloc(file->size); + if (!data) + { + return 1; + } + + grub_file_read(file, data, file->size); + grub_file_close(file); + + grub_snprintf(exec, sizeof(exec), "loopback efiboot mem:0x%llx:size:%d", (ulonglong)(ulong)data, len); + grub_script_execute_sourcecode(exec); + + file = grub_file_open("(efiboot)/EFI/BOOT/BOOTX64.EFI", GRUB_FILE_TYPE_LINUX_INITRD); + offset = (grub_uint32_t)grub_iso9660_get_last_file_dirent_pos(file); + grub_file_close(file); + + grub_script_execute_sourcecode("loopback -d efiboot"); + + *buf = data; + *datalen = len; + *direntoff = offset + 2; + + return 0; +} + +static grub_err_t ventoy_cmd_concat_efi_iso(grub_extcmd_context_t ctxt, int argc, char **args) +{ + int len = 0; + int totlen = 0; + int offset = 0; + grub_file_t file; + char name[32]; + char value[32]; + char *buf = NULL; + char *data = NULL; + ventoy_iso9660_override *dirent; + + (void)ctxt; + + if (argc != 2) + { + return 1; + } + + totlen = sizeof(ventoy_chain_head); + + if (ventoy_load_efiboot_template(&buf, &len, &offset)) + { + debug("failed to load efiboot template %d\n", len); + return 1; + } + + totlen += len; + + debug("efiboot template len:%d offset:%d\n", len, offset); + + file = ventoy_grub_file_open(GRUB_FILE_TYPE_LINUX_INITRD, "%s", args[0]); + if (file == NULL) + { + debug("failed to open file <%s>\n", args[0]); + return 1; + } + + totlen += ventoy_align_2k(file->size); + + dirent = (ventoy_iso9660_override *)(buf + offset); + dirent->first_sector = len / 2048; + dirent->first_sector_be = grub_swap_bytes32(dirent->first_sector); + dirent->size = (grub_uint32_t)file->size; + dirent->size_be = grub_swap_bytes32(dirent->size); + + debug("rawiso len:%d efilen:%d total:%d\n", len, (int)file->size, totlen); + +#ifdef GRUB_MACHINE_EFI + data = (char *)grub_efi_allocate_iso_buf(totlen); +#else + data = (char *)grub_malloc(totlen); +#endif + + ventoy_fill_os_param(file, (ventoy_os_param *)data); + + grub_memcpy(data + sizeof(ventoy_chain_head), buf, len); + grub_check_free(buf); + + grub_file_read(file, data + sizeof(ventoy_chain_head) + len, file->size); + grub_file_close(file); + + grub_snprintf(name, sizeof(name), "%s_addr", args[1]); + grub_snprintf(value, sizeof(value), "0x%llx", (ulonglong)(ulong)data); + grub_env_set(name, value); + + grub_snprintf(name, sizeof(name), "%s_size", args[1]); + grub_snprintf(value, sizeof(value), "%d", (int)(totlen)); + grub_env_set(name, value); + + return 0; +} + +static grub_err_t ventoy_cmd_load_file_to_mem(grub_extcmd_context_t ctxt, int argc, char **args) { int rc = 1; char name[32]; @@ -427,6 +575,53 @@ static grub_err_t ventoy_cmd_load_iso_to_mem(grub_extcmd_context_t ctxt, int arg return rc; } + file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s", args[0]); + if (file == NULL) + { + debug("failed to open file <%s>\n", args[0]); + return 1; + } + +#ifdef GRUB_MACHINE_EFI + buf = (char *)grub_efi_allocate_iso_buf(file->size); +#else + buf = (char *)grub_malloc(file->size); +#endif + + grub_file_read(file, buf, file->size); + + grub_snprintf(name, sizeof(name), "%s_addr", args[1]); + grub_snprintf(value, sizeof(value), "0x%llx", (unsigned long long)(unsigned long)buf); + grub_env_set(name, value); + + grub_snprintf(name, sizeof(name), "%s_size", args[1]); + grub_snprintf(value, sizeof(value), "%llu", (unsigned long long)file->size); + grub_env_set(name, value); + + grub_file_close(file); + rc = 0; + + return rc; +} + +static grub_err_t ventoy_cmd_load_img_memdisk(grub_extcmd_context_t ctxt, int argc, char **args) +{ + int rc = 1; + int headlen; + char name[32]; + char value[32]; + char *buf = NULL; + grub_file_t file; + + (void)ctxt; + (void)argc; + (void)args; + + if (argc != 2) + { + return rc; + } + file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s", args[0]); if (file == NULL) { @@ -434,13 +629,17 @@ static grub_err_t ventoy_cmd_load_iso_to_mem(grub_extcmd_context_t ctxt, int arg return 1; } + headlen = sizeof(ventoy_chain_head); + #ifdef GRUB_MACHINE_EFI - buf = (char *)grub_efi_allocate_iso_buf(file->size); + buf = (char *)grub_efi_allocate_iso_buf(headlen + file->size); #else - buf = (char *)grub_malloc(file->size); + buf = (char *)grub_malloc(headlen + file->size); #endif - grub_file_read(file, buf, file->size); + ventoy_fill_os_param(file, (ventoy_os_param *)buf); + + grub_file_read(file, buf + headlen, file->size); grub_snprintf(name, sizeof(name), "%s_addr", args[1]); grub_snprintf(value, sizeof(value), "0x%llx", (unsigned long long)(unsigned long)buf); @@ -834,6 +1033,14 @@ static int ventoy_colect_img_files(const char *filename, const struct grub_dirho type = img_type_efi; } #endif + else if (0 == grub_strcasecmp(filename + len - 4, ".img")) + { + if (len == 18 && grub_strncmp(filename, "ventoy_wimboot", 14) == 0) + { + return 0; + } + type = img_type_img; + } else { return 0; @@ -1359,13 +1566,14 @@ static grub_err_t ventoy_cmd_img_name(grub_extcmd_context_t ctxt, int argc, char static grub_err_t ventoy_cmd_chosen_img_path(grub_extcmd_context_t ctxt, int argc, char **args) { int img_id = 0; + char value[32]; char *pos = NULL; const char *id = NULL; img_info *cur = g_ventoy_img_list; (void)ctxt; - if (argc != 1) + if (argc < 1 || argc > 2) { return grub_error(GRUB_ERR_BAD_ARGUMENT, "Usage: %s {var}", cmd_raw_name); } @@ -1398,6 +1606,12 @@ static grub_err_t ventoy_cmd_chosen_img_path(grub_extcmd_context_t ctxt, int arg grub_env_set(args[0], cur->path); + if (argc > 1) + { + grub_snprintf(value, sizeof(value), "%llu", (ulonglong)(cur->size)); + grub_env_set(args[1], value); + } + VENTOY_CMD_RETURN(GRUB_ERR_NONE); } @@ -2366,6 +2580,28 @@ end: return 0; } +static grub_err_t ventoy_cmd_img_hook_root(grub_extcmd_context_t ctxt, int argc, char **args) +{ + (void)ctxt; + (void)argc; + (void)args; + + ventoy_env_hook_root(1); + + return 0; +} + +static grub_err_t ventoy_cmd_img_unhook_root(grub_extcmd_context_t ctxt, int argc, char **args) +{ + (void)ctxt; + (void)argc; + (void)args; + + ventoy_env_hook_root(0); + + return 0; +} + grub_uint64_t ventoy_grub_get_file_size(const char *fmt, ...) { grub_uint64_t size = 0; @@ -2489,6 +2725,7 @@ static cmd_para ventoy_cmds[] = { { "vt_incr", ventoy_cmd_incr, 0, NULL, "{Var} {INT}", "Increase integer variable", NULL }, { "vt_strstr", ventoy_cmd_strstr, 0, NULL, "", "", NULL }, + { "vt_str_begin", ventoy_cmd_strbegin, 0, NULL, "", "", NULL }, { "vt_debug", ventoy_cmd_debug, 0, NULL, "{on|off}", "turn debug on/off", NULL }, { "vtdebug", ventoy_cmd_debug, 0, NULL, "{on|off}", "turn debug on/off", NULL }, { "vtbreak", ventoy_cmd_break, 0, NULL, "{level}", "set debug break", NULL }, @@ -2502,7 +2739,10 @@ static cmd_para ventoy_cmds[] = { "vt_img_sector", ventoy_cmd_img_sector, 0, NULL, "{imageName}", "", NULL }, { "vt_dump_img_sector", ventoy_cmd_dump_img_sector, 0, NULL, "", "", NULL }, { "vt_load_wimboot", ventoy_cmd_load_wimboot, 0, NULL, "", "", NULL }, + { "vt_load_cpio", ventoy_cmd_load_cpio, 0, NULL, "", "", NULL }, + { "vt_trailer_cpio", ventoy_cmd_trailer_cpio, 0, NULL, "", "", NULL }, + { "vt_find_first_bootable_hd", ventoy_cmd_find_bootable_hdd, 0, NULL, "", "", NULL }, { "vt_dump_menu", ventoy_cmd_dump_menu, 0, NULL, "", "", NULL }, { "vt_dynamic_menu", ventoy_cmd_dynamic_menu, 0, NULL, "", "", NULL }, @@ -2517,7 +2757,9 @@ static cmd_para ventoy_cmds[] = { "vt_iso9660_nojoliet", ventoy_cmd_iso9660_nojoliet, 0, NULL, "", "", NULL }, { "vt_is_udf", ventoy_cmd_is_udf, 0, NULL, "", "", NULL }, { "vt_file_size", ventoy_cmd_file_size, 0, NULL, "", "", NULL }, - { "vt_load_iso_to_mem", ventoy_cmd_load_iso_to_mem, 0, NULL, "", "", NULL }, + { "vt_load_file_to_mem", ventoy_cmd_load_file_to_mem, 0, NULL, "", "", NULL }, + { "vt_load_img_memdisk", ventoy_cmd_load_img_memdisk, 0, NULL, "", "", NULL }, + { "vt_concat_efi_iso", ventoy_cmd_concat_efi_iso, 0, NULL, "", "", NULL }, { "vt_linux_parse_initrd_isolinux", ventoy_cmd_isolinux_initrd_collect, 0, NULL, "{cfgfile}", "", NULL }, { "vt_linux_parse_initrd_grub", ventoy_cmd_grub_initrd_collect, 0, NULL, "{cfgfile}", "", NULL }, @@ -2557,6 +2799,9 @@ static cmd_para ventoy_cmds[] = { "vt_unix_replace_ko", ventoy_cmd_unix_replace_ko, 0, NULL, "", "", NULL }, { "vt_unix_chain_data", ventoy_cmd_unix_chain_data, 0, NULL, "", "", NULL }, + { "vt_img_hook_root", ventoy_cmd_img_hook_root, 0, NULL, "", "", NULL }, + { "vt_img_unhook_root", ventoy_cmd_img_unhook_root, 0, NULL, "", "", NULL }, + }; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h index 75c22215..a514f6b5 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h @@ -467,6 +467,7 @@ grub_err_t ventoy_cmd_linux_locate_initrd(grub_extcmd_context_t ctxt, int argc, grub_err_t ventoy_cmd_initrd_count(grub_extcmd_context_t ctxt, int argc, char **args); grub_err_t ventoy_cmd_valid_initrd_count(grub_extcmd_context_t ctxt, int argc, char **args); grub_err_t ventoy_cmd_load_cpio(grub_extcmd_context_t ctxt, int argc, char **args); +grub_err_t ventoy_cmd_trailer_cpio(grub_extcmd_context_t ctxt, int argc, char **args); int ventoy_cpio_newc_fill_head(void *buf, int filesize, const void *filedata, const char *name); grub_file_t ventoy_grub_file_open(enum grub_file_type type, const char *fmt, ...); grub_uint64_t ventoy_grub_get_file_size(const char *fmt, ...); diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_linux.c index ad871a10..dfda6a84 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_linux.c @@ -564,6 +564,14 @@ grub_err_t ventoy_cmd_specify_initrd_file(grub_extcmd_context_t ctxt, int argc, VENTOY_CMD_RETURN(GRUB_ERR_NONE); } +static int ventoy_cpio_newc_get_int(char *value) +{ + char buf[16] = {0}; + + grub_memcpy(buf, value, 8); + return (int)grub_strtoul(buf, NULL, 16); +} + static void ventoy_cpio_newc_fill_int(grub_uint32_t value, char *buf, int buflen) { int i; @@ -1082,6 +1090,96 @@ grub_err_t ventoy_cmd_load_cpio(grub_extcmd_context_t ctxt, int argc, char **arg VENTOY_CMD_RETURN(GRUB_ERR_NONE); } +grub_err_t ventoy_cmd_trailer_cpio(grub_extcmd_context_t ctxt, int argc, char **args) +{ + int mod; + int bufsize; + int namelen; + int offset; + char *name; + grub_uint8_t *bufend; + cpio_newc_header *head; + grub_file_t file; + char value[64]; + const grub_uint8_t trailler[124] = { + 0x30, 0x37, 0x30, 0x37, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x54, 0x52, + 0x41, 0x49, 0x4C, 0x45, 0x52, 0x21, 0x21, 0x21, 0x00, 0x00, 0x00, 0x00 + }; + + (void)ctxt; + (void)argc; + + file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s%s", args[0], args[1]); + if (!file) + { + return 1; + } + + grub_memset(g_ventoy_runtime_buf, 0, sizeof(ventoy_os_param)); + ventoy_fill_os_param(file, (ventoy_os_param *)g_ventoy_runtime_buf); + + grub_file_close(file); + + grub_memcpy(g_ventoy_initrd_head, trailler, sizeof(trailler)); + bufend = (grub_uint8_t *)g_ventoy_initrd_head + sizeof(trailler); + + bufsize = (int)(bufend - g_ventoy_cpio_buf); + mod = bufsize % 512; + if (mod) + { + grub_memset(bufend, 0, 512 - mod); + bufsize += 512 - mod; + } + + if (argc > 1 && grub_strcmp(args[2], "noinit") == 0) + { + head = (cpio_newc_header *)g_ventoy_cpio_buf; + name = (char *)(head + 1); + + while (grub_strcmp(name, "TRAILER!!!")) + { + if (grub_strcmp(name, "init") == 0) + { + grub_memcpy(name, "xxxx", 4); + } + else if (grub_strcmp(name, "linuxrc") == 0) + { + grub_memcpy(name, "vtoyxrc", 7); + } + else if (grub_strcmp(name, "sbin") == 0) + { + grub_memcpy(name, "vtoy", 4); + } + else if (grub_strcmp(name, "sbin/init") == 0) + { + grub_memcpy(name, "vtoy/vtoy", 9); + } + + namelen = ventoy_cpio_newc_get_int(head->c_namesize); + offset = sizeof(cpio_newc_header) + namelen; + offset = ventoy_align(offset, 4); + offset += ventoy_cpio_newc_get_int(head->c_filesize); + offset = ventoy_align(offset, 4); + + head = (cpio_newc_header *)((char *)head + offset); + name = (char *)(head + 1); + } + } + + grub_snprintf(value, sizeof(value), "0x%llx", (ulonglong)(ulong)g_ventoy_cpio_buf); + ventoy_set_env("ventoy_cpio_addr", value); + grub_snprintf(value, sizeof(value), "%d", bufsize); + ventoy_set_env("ventoy_cpio_size", value); + + VENTOY_CMD_RETURN(GRUB_ERR_NONE); +} + grub_err_t ventoy_cmd_linux_chain_data(grub_extcmd_context_t ctxt, int argc, char **args) { diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c index 7fbe9db7..426e75fc 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c @@ -151,6 +151,12 @@ static int ventoy_plugin_theme_check(VTOY_JSON *json, const char *isodisk) grub_printf("display_mode: %s\n", value); } + value = vtoy_json_get_string_ex(json->pstChild, "serial_param"); + if (value) + { + grub_printf("serial_param %s\n", value); + } + value = vtoy_json_get_string_ex(json->pstChild, "ventoy_left"); if (value) { @@ -236,6 +242,13 @@ static int ventoy_plugin_theme_entry(VTOY_JSON *json, const char *isodisk) debug("display_mode %s\n", value); grub_env_set("vtoy_display_mode", value); } + + value = vtoy_json_get_string_ex(json->pstChild, "serial_param"); + if (value) + { + debug("serial_param %s\n", value); + grub_env_set("vtoy_serial_param", value); + } value = vtoy_json_get_string_ex(json->pstChild, "ventoy_left"); if (value) diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_unix.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_unix.c new file mode 100644 index 00000000..1e81309c --- /dev/null +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_unix.c @@ -0,0 +1,631 @@ +/****************************************************************************** + * ventoy_unix.c + * + * Copyright (c) 2020, longpanda + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "ventoy_def.h" + +GRUB_MOD_LICENSE ("GPLv3+"); + +char g_ko_mod_path[256]; +int g_conf_new_len = 0; +char *g_conf_new_data = NULL; + +int g_mod_new_len = 0; +char *g_mod_new_data = NULL; + +grub_uint64_t g_mod_override_offset = 0; +grub_uint64_t g_conf_override_offset = 0; + +static int ventoy_get_file_override(const char *filename, grub_uint64_t *offset) +{ + grub_file_t file; + + *offset = 0; + + file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "(loop)%s", filename); + if (!file) + { + return 1; + } + + *offset = grub_iso9660_get_last_file_dirent_pos(file) + 2; + + grub_file_close(file); + + return 0; +} + +static grub_uint32_t ventoy_unix_get_override_chunk_count(void) +{ + grub_uint32_t count = 0; + + if (g_conf_new_len > 0) + { + count++; + } + + if (g_mod_new_len > 0) + { + count++; + } + + return count; +} + +static grub_uint32_t ventoy_unix_get_virt_chunk_count(void) +{ + grub_uint32_t count = 0; + + if (g_conf_new_len > 0) + { + count++; + } + + if (g_mod_new_len > 0) + { + count++; + } + + return count; +} +static grub_uint32_t ventoy_unix_get_virt_chunk_size(void) +{ + grub_uint32_t size; + + size = sizeof(ventoy_virt_chunk) * ventoy_unix_get_virt_chunk_count(); + + if (g_conf_new_len > 0) + { + size += ventoy_align_2k(g_conf_new_len); + } + + if (g_mod_new_len > 0) + { + size += ventoy_align_2k(g_mod_new_len); + } + + return size; +} + +static void ventoy_unix_fill_override_data( grub_uint64_t isosize, void *override) +{ + grub_uint64_t sector; + ventoy_override_chunk *cur; + ventoy_iso9660_override *dirent; + + sector = (isosize + 2047) / 2048; + + cur = (ventoy_override_chunk *)override; + + if (g_conf_new_len > 0) + { + /* loader.conf */ + cur->img_offset = g_conf_override_offset; + cur->override_size = sizeof(ventoy_iso9660_override); + dirent = (ventoy_iso9660_override *)cur->override_data; + dirent->first_sector = (grub_uint32_t)sector; + dirent->size = (grub_uint32_t)g_conf_new_len; + dirent->first_sector_be = grub_swap_bytes32(dirent->first_sector); + dirent->size_be = grub_swap_bytes32(dirent->size); + sector += (dirent->size + 2047) / 2048; + } + + if (g_mod_new_len > 0) + { + /* mod.ko */ + cur++; + cur->img_offset = g_mod_override_offset; + cur->override_size = sizeof(ventoy_iso9660_override); + dirent = (ventoy_iso9660_override *)cur->override_data; + dirent->first_sector = (grub_uint32_t)sector; + dirent->size = (grub_uint32_t)g_mod_new_len; + dirent->first_sector_be = grub_swap_bytes32(dirent->first_sector); + dirent->size_be = grub_swap_bytes32(dirent->size); + sector += (dirent->size + 2047) / 2048; + } + + return; +} + +static void ventoy_unix_fill_virt_data( grub_uint64_t isosize, ventoy_chain_head *chain) +{ + grub_uint64_t sector; + grub_uint32_t offset; + grub_uint32_t data_secs; + char *override; + ventoy_virt_chunk *cur; + + override = (char *)chain + chain->virt_chunk_offset; + cur = (ventoy_virt_chunk *)override; + + sector = (isosize + 2047) / 2048; + offset = 2 * sizeof(ventoy_virt_chunk); + + if (g_conf_new_len > 0) + { + ventoy_unix_fill_virt(g_conf_new_data, g_conf_new_len); + } + + if (g_mod_new_len > 0) + { + ventoy_unix_fill_virt(g_mod_new_data, g_mod_new_len); + } + + return; +} + +static int ventoy_freebsd_append_conf(char *buf, const char *isopath) +{ + int pos = 0; + grub_uint32_t i; + grub_disk_t disk; + grub_file_t isofile; + char uuid[64] = {0}; + ventoy_img_chunk *chunk; + grub_uint8_t disk_guid[16]; + + debug("ventoy_freebsd_append_conf %s\n", isopath); + + isofile = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s", isopath); + if (!isofile) + { + return 1; + } + + vtoy_ssprintf(buf, pos, "ventoy_load=\"%s\"\n", "YES"); + vtoy_ssprintf(buf, pos, "ventoy_name=\"%s\"\n", g_ko_mod_path); + + disk = isofile->device->disk; + + ventoy_get_disk_guid(isofile->name, disk_guid); + + for (i = 0; i < 16; i++) + { + grub_snprintf(uuid + i * 2, sizeof(uuid), "%02x", disk_guid[i]); + } + + vtoy_ssprintf(buf, pos, "hint.ventoy.0.disksize=%llu\n", (ulonglong)(disk->total_sectors * (1 << disk->log_sector_size))); + vtoy_ssprintf(buf, pos, "hint.ventoy.0.diskuuid=\"%s\"\n", uuid); + vtoy_ssprintf(buf, pos, "hint.ventoy.0.segnum=%u\n", g_img_chunk_list.cur_chunk); + + for (i = 0; i < g_img_chunk_list.cur_chunk; i++) + { + chunk = g_img_chunk_list.chunk + i; + vtoy_ssprintf(buf, pos, "hint.ventoy.%u.seg=\"0x%llx@0x%llx\"\n", + i, (ulonglong)(chunk->disk_start_sector * 512), + (ulonglong)((chunk->disk_end_sector + 1) * 512)); + } + + grub_file_close(isofile); + + return pos; +} + +grub_err_t ventoy_cmd_unix_reset(grub_extcmd_context_t ctxt, int argc, char **args) +{ + (void)ctxt; + (void)argc; + (void)args; + + g_conf_new_len = 0; + g_mod_new_len = 0; + g_mod_override_offset = 0; + g_conf_override_offset = 0; + + check_free(g_mod_new_data, grub_free); + check_free(g_conf_new_data, grub_free); + + VENTOY_CMD_RETURN(GRUB_ERR_NONE); +} + +grub_err_t ventoy_cmd_parse_freenas_ver(grub_extcmd_context_t ctxt, int argc, char **args) +{ + grub_file_t file; + const char *ver = NULL; + char *buf = NULL; + VTOY_JSON *json = NULL; + + (void)ctxt; + (void)argc; + + file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s", args[0]); + if (!file) + { + debug("Failed to open file %s\n", args[0]); + return 1; + } + + buf = grub_malloc(file->size + 2); + if (!buf) + { + grub_file_close(file); + return 0; + } + grub_file_read(file, buf, file->size); + buf[file->size] = 0; + + json = vtoy_json_create(); + if (!json) + { + goto end; + } + + if (vtoy_json_parse(json, buf)) + { + goto end; + } + + ver = vtoy_json_get_string_ex(json->pstChild, "Version"); + if (ver) + { + debug("freenas version:<%s>\n", ver); + ventoy_set_env(args[1], ver); + } + else + { + debug("freenas version:<%s>\n", "NOT FOUND"); + grub_env_unset(args[1]); + } + +end: + grub_check_free(buf); + check_free(json, vtoy_json_destroy); + grub_file_close(file); + + VENTOY_CMD_RETURN(GRUB_ERR_NONE); +} + +grub_err_t ventoy_cmd_unix_freebsd_ver(grub_extcmd_context_t ctxt, int argc, char **args) +{ + grub_file_t file; + char *buf; + char *start = NULL; + char *nextline = NULL; + + (void)ctxt; + (void)argc; + (void)args; + + file = ventoy_grub_file_open(GRUB_FILE_TYPE_LINUX_INITRD, "%s", args[0]); + if (!file) + { + debug("Failed to open file %s\n", args[0]); + return 1; + } + + buf = grub_zalloc(file->size + 2); + if (!buf) + { + grub_file_close(file); + return 0; + } + grub_file_read(file, buf, file->size); + + for (start = buf; start; start = nextline) + { + if (grub_strncmp(start, "USERLAND_VERSION", 16) == 0) + { + nextline = start; + while (*nextline && *nextline != '\r' && *nextline != '\n') + { + nextline++; + } + + *nextline = 0; + break; + } + nextline = ventoy_get_line(start); + } + + if (start) + { + debug("freebsd version:<%s>\n", start); + ventoy_set_env(args[1], start); + } + else + { + debug("freebsd version:<%s>\n", "NOT FOUND"); + grub_env_unset(args[1]); + } + + grub_free(buf); + grub_file_close(file); + + VENTOY_CMD_RETURN(GRUB_ERR_NONE); +} + +grub_err_t ventoy_cmd_unix_replace_conf(grub_extcmd_context_t ctxt, int argc, char **args) +{ + grub_uint32_t i; + char *data; + grub_uint64_t offset; + grub_file_t file; + const char *confile = NULL; + const char * loader_conf[] = + { + "/boot/loader.conf", + "/boot/defaults/loader.conf", + }; + + (void)ctxt; + + if (argc != 2) + { + debug("Replace conf invalid argc %d\n", argc); + return 1; + } + + for (i = 0; i < sizeof(loader_conf) / sizeof(loader_conf[0]); i++) + { + if (ventoy_get_file_override(loader_conf[i], &offset) == 0) + { + confile = loader_conf[i]; + g_conf_override_offset = offset; + break; + } + } + + if (confile == NULL) + { + debug("Can't find loader.conf file from %u locations\n", i); + return 1; + } + + file = ventoy_grub_file_open(GRUB_FILE_TYPE_LINUX_INITRD, "(loop)/%s", confile); + if (!file) + { + debug("Failed to open %s \n", confile); + return 1; + } + + debug("old conf file size:%d\n", (int)file->size); + + data = grub_malloc(VTOY_MAX_SCRIPT_BUF); + if (!data) + { + grub_file_close(file); + return 1; + } + + grub_file_read(file, data, file->size); + grub_file_close(file); + + g_conf_new_data = data; + g_conf_new_len = (int)file->size; + + if (grub_strcmp(args[0], "FreeBSD") == 0) + { + g_conf_new_len += ventoy_freebsd_append_conf(data + file->size, args[1]); + } + + VENTOY_CMD_RETURN(GRUB_ERR_NONE); +} + +grub_err_t ventoy_cmd_unix_replace_ko(grub_extcmd_context_t ctxt, int argc, char **args) +{ + char *data; + grub_uint64_t offset; + grub_file_t file; + + (void)ctxt; + + if (argc != 2) + { + debug("Replace ko invalid argc %d\n", argc); + return 1; + } + + debug("replace ko %s\n", args[0]); + + if (ventoy_get_file_override(args[0], &offset) == 0) + { + grub_snprintf(g_ko_mod_path, sizeof(g_ko_mod_path), "%s", args[0]); + g_mod_override_offset = offset; + } + else + { + debug("Can't find replace ko file from %s\n", args[0]); + return 1; + } + + file = ventoy_grub_file_open(GRUB_FILE_TYPE_LINUX_INITRD, "%s", args[1]); + if (!file) + { + debug("Failed to open %s \n", args[1]); + return 1; + } + + debug("new ko file size:%d\n", (int)file->size); + + data = grub_malloc(file->size); + if (!data) + { + grub_file_close(file); + return 1; + } + + grub_file_read(file, data, file->size); + grub_file_close(file); + + g_mod_new_data = data; + g_mod_new_len = (int)file->size; + + VENTOY_CMD_RETURN(GRUB_ERR_NONE); +} + +grub_err_t ventoy_cmd_unix_chain_data(grub_extcmd_context_t ctxt, int argc, char **args) +{ + int ventoy_compatible = 0; + grub_uint32_t size = 0; + grub_uint64_t isosize = 0; + grub_uint32_t boot_catlog = 0; + grub_uint32_t img_chunk_size = 0; + grub_uint32_t override_count = 0; + grub_uint32_t override_size = 0; + grub_uint32_t virt_chunk_size = 0; + grub_file_t file; + grub_disk_t disk; + const char *pLastChain = NULL; + const char *compatible; + ventoy_chain_head *chain; + char envbuf[64]; + + (void)ctxt; + (void)argc; + + compatible = grub_env_get("ventoy_compatible"); + if (compatible && compatible[0] == 'Y') + { + ventoy_compatible = 1; + } + + if (NULL == g_img_chunk_list.chunk) + { + grub_printf("ventoy not ready\n"); + return 1; + } + + file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s", args[0]); + if (!file) + { + return 1; + } + + isosize = file->size; + + boot_catlog = ventoy_get_iso_boot_catlog(file); + if (boot_catlog) + { + if (ventoy_is_efi_os() && (!ventoy_has_efi_eltorito(file, boot_catlog))) + { + grub_env_set("LoadIsoEfiDriver", "on"); + } + } + else + { + if (ventoy_is_efi_os()) + { + grub_env_set("LoadIsoEfiDriver", "on"); + } + else + { + return grub_error(GRUB_ERR_BAD_ARGUMENT, "File %s is not bootable", args[0]); + } + } + + img_chunk_size = g_img_chunk_list.cur_chunk * sizeof(ventoy_img_chunk); + + if (ventoy_compatible) + { + size = sizeof(ventoy_chain_head) + img_chunk_size; + } + else + { + override_count = ventoy_unix_get_override_chunk_count(); + override_size = override_count * sizeof(ventoy_override_chunk); + + virt_chunk_size = ventoy_unix_get_virt_chunk_size(); + size = sizeof(ventoy_chain_head) + img_chunk_size + override_size + virt_chunk_size; + } + + pLastChain = grub_env_get("vtoy_chain_mem_addr"); + if (pLastChain) + { + chain = (ventoy_chain_head *)grub_strtoul(pLastChain, NULL, 16); + if (chain) + { + debug("free last chain memory %p\n", chain); + grub_free(chain); + } + } + + chain = grub_malloc(size); + if (!chain) + { + grub_printf("Failed to alloc chain memory size %u\n", size); + grub_file_close(file); + return 1; + } + + grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain); + grub_env_set("vtoy_chain_mem_addr", envbuf); + grub_snprintf(envbuf, sizeof(envbuf), "%u", size); + grub_env_set("vtoy_chain_mem_size", envbuf); + + grub_memset(chain, 0, sizeof(ventoy_chain_head)); + + /* part 1: os parameter */ + g_ventoy_chain_type = ventoy_chain_linux; + ventoy_fill_os_param(file, &(chain->os_param)); + + /* part 2: chain head */ + disk = file->device->disk; + chain->disk_drive = disk->id; + chain->disk_sector_size = (1 << disk->log_sector_size); + chain->real_img_size_in_bytes = file->size; + chain->virt_img_size_in_bytes = (file->size + 2047) / 2048 * 2048; + chain->boot_catalog = boot_catlog; + + if (!ventoy_is_efi_os()) + { + grub_file_seek(file, boot_catlog * 2048); + grub_file_read(file, chain->boot_catalog_sector, sizeof(chain->boot_catalog_sector)); + } + + /* part 3: image chunk */ + chain->img_chunk_offset = sizeof(ventoy_chain_head); + chain->img_chunk_num = g_img_chunk_list.cur_chunk; + grub_memcpy((char *)chain + chain->img_chunk_offset, g_img_chunk_list.chunk, img_chunk_size); + + if (ventoy_compatible) + { + return 0; + } + + /* part 4: override chunk */ + chain->override_chunk_offset = chain->img_chunk_offset + img_chunk_size; + chain->override_chunk_num = override_count; + ventoy_unix_fill_override_data(isosize, (char *)chain + chain->override_chunk_offset); + + /* part 5: virt chunk */ + chain->virt_chunk_offset = chain->override_chunk_offset + override_size; + chain->virt_chunk_num = ventoy_unix_get_virt_chunk_count(); + ventoy_unix_fill_virt_data(isosize, chain); + + grub_file_close(file); + + VENTOY_CMD_RETURN(GRUB_ERR_NONE); +} + diff --git a/GRUB2/MOD_SRC/grub-2.04/include/grub/compiler.h b/GRUB2/MOD_SRC/grub-2.04/include/grub/compiler.h new file mode 100644 index 00000000..9859ff4c --- /dev/null +++ b/GRUB2/MOD_SRC/grub-2.04/include/grub/compiler.h @@ -0,0 +1,53 @@ +/* compiler.h - macros for various compiler features */ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2002,2003,2005,2006,2007,2008,2009,2010,2014 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#ifndef GRUB_COMPILER_HEADER +#define GRUB_COMPILER_HEADER 1 + +/* GCC version checking borrowed from glibc. */ +#if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define GNUC_PREREQ(maj,min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +# define GNUC_PREREQ(maj,min) 0 +#endif + +/* Does this compiler support compile-time error attributes? */ +#if GNUC_PREREQ(4,3) +# define ATTRIBUTE_ERROR(msg) \ + __attribute__ ((__error__ (msg))) +#else +# define ATTRIBUTE_ERROR(msg) __attribute__ ((noreturn)) +#endif + +#if GNUC_PREREQ(4,4) +# define GNU_PRINTF gnu_printf +#else +# define GNU_PRINTF printf +#endif + +#if GNUC_PREREQ(3,4) +# define WARN_UNUSED_RESULT __attribute__ ((warn_unused_result)) +#else +# define WARN_UNUSED_RESULT +#endif + +#define UNUSED __attribute__((__unused__)) + +#endif /* ! GRUB_COMPILER_HEADER */ diff --git a/GRUB2/MOD_SRC/grub-2.04/include/grub/kernel.h b/GRUB2/MOD_SRC/grub-2.04/include/grub/kernel.h new file mode 100644 index 00000000..55c1c128 --- /dev/null +++ b/GRUB2/MOD_SRC/grub-2.04/include/grub/kernel.h @@ -0,0 +1,133 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2002,2005,2006,2007,2008,2009 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#ifndef GRUB_KERNEL_HEADER +#define GRUB_KERNEL_HEADER 1 + +#include +#include + +enum +{ + OBJ_TYPE_ELF, + OBJ_TYPE_MEMDISK, + OBJ_TYPE_CONFIG, + OBJ_TYPE_PREFIX, + OBJ_TYPE_PUBKEY, + OBJ_TYPE_DTB +}; + +/* The module header. */ +struct grub_module_header +{ + /* The type of object. */ + grub_uint32_t type; + /* The size of object (including this header). */ + grub_uint32_t size; +}; + +/* "gmim" (GRUB Module Info Magic). */ +#define GRUB_MODULE_MAGIC 0x676d696d + +struct grub_module_info32 +{ + /* Magic number so we know we have modules present. */ + grub_uint32_t magic; + /* The offset of the modules. */ + grub_uint32_t offset; + /* The size of all modules plus this header. */ + grub_uint32_t size; +}; + +struct grub_module_info64 +{ + /* Magic number so we know we have modules present. */ + grub_uint32_t magic; + grub_uint32_t padding; + /* The offset of the modules. */ + grub_uint64_t offset; + /* The size of all modules plus this header. */ + grub_uint64_t size; +}; + +#ifndef GRUB_UTIL +/* Space isn't reusable on some platforms. */ +/* On Qemu the preload space is readonly. */ +/* On emu there is no preload space. */ +/* On ieee1275 our code assumes that heap is p=v which isn't guaranteed for module space. */ +#if defined (GRUB_MACHINE_QEMU) || defined (GRUB_MACHINE_EMU) \ + || defined (GRUB_MACHINE_EFI) \ + || (defined (GRUB_MACHINE_IEEE1275) && !defined (__sparc__)) +#define GRUB_KERNEL_PRELOAD_SPACE_REUSABLE 0 +#endif + +#if defined (GRUB_MACHINE_PCBIOS) || defined (GRUB_MACHINE_COREBOOT) \ + || defined (GRUB_MACHINE_MULTIBOOT) || defined (GRUB_MACHINE_MIPS_QEMU_MIPS) \ + || defined (GRUB_MACHINE_MIPS_LOONGSON) || defined (GRUB_MACHINE_ARC) \ + || (defined (__sparc__) && defined (GRUB_MACHINE_IEEE1275)) \ + || defined (GRUB_MACHINE_UBOOT) || defined (GRUB_MACHINE_XEN) \ + || defined(GRUB_MACHINE_XEN_PVH) +/* FIXME: stack is between 2 heap regions. Move it. */ +#define GRUB_KERNEL_PRELOAD_SPACE_REUSABLE 1 +#endif + +#ifndef GRUB_KERNEL_PRELOAD_SPACE_REUSABLE +#error "Please check if preload space is reusable on this platform!" +#endif + +#if GRUB_TARGET_SIZEOF_VOID_P == 8 +#define grub_module_info grub_module_info64 +#else +#define grub_module_info grub_module_info32 +#endif + +extern grub_addr_t EXPORT_VAR (grub_modbase); + +void EXPORT_FUNC(ventoy_env_hook_root)(int hook); + +#define FOR_MODULES(var) for (\ + var = (grub_modbase && ((((struct grub_module_info *) grub_modbase)->magic) == GRUB_MODULE_MAGIC)) ? (struct grub_module_header *) \ + (grub_modbase + (((struct grub_module_info *) grub_modbase)->offset)) : 0;\ + var && (grub_addr_t) var \ + < (grub_modbase + (((struct grub_module_info *) grub_modbase)->size)); \ + var = (struct grub_module_header *) \ + (((grub_uint32_t *) var) + ((((struct grub_module_header *) var)->size + sizeof (grub_addr_t) - 1) / sizeof (grub_addr_t)) * (sizeof (grub_addr_t) / sizeof (grub_uint32_t)))) + +grub_addr_t grub_modules_get_end (void); + +#endif + +/* The start point of the C code. */ +void grub_main (void) __attribute__ ((noreturn)); + +/* The machine-specific initialization. This must initialize memory. */ +void grub_machine_init (void); + +/* The machine-specific finalization. */ +void EXPORT_FUNC(grub_machine_fini) (int flags); + +/* The machine-specific prefix initialization. */ +void +grub_machine_get_bootlocation (char **device, char **path); + +/* Register all the exported symbols. This is automatically generated. */ +void grub_register_exported_symbols (void); + +extern void (*EXPORT_VAR(grub_net_poll_cards_idle)) (void); + +#endif /* ! GRUB_KERNEL_HEADER */ diff --git a/GRUB2/MOD_SRC/grub-2.04/include/grub/menu.h b/GRUB2/MOD_SRC/grub-2.04/include/grub/menu.h new file mode 100644 index 00000000..0acdc2aa --- /dev/null +++ b/GRUB2/MOD_SRC/grub-2.04/include/grub/menu.h @@ -0,0 +1,119 @@ +/* menu.h - Menu model function prototypes and data structures. */ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2009 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#ifndef GRUB_MENU_HEADER +#define GRUB_MENU_HEADER 1 + +struct bls_entry +{ + struct bls_entry *next; + struct bls_entry *prev; + struct keyval **keyvals; + int nkeyvals; + char *filename; + int visible; +}; + +struct grub_menu_entry_class +{ + char *name; + struct grub_menu_entry_class *next; +}; + +/* The menu entry. */ +struct grub_menu_entry +{ + /* The title name. */ + const char *title; + + /* The identifier. */ + const char *id; + + /* If set means not everybody is allowed to boot this entry. */ + int restricted; + + /* Allowed users. */ + const char *users; + + /* The classes associated with the menu entry: + used to choose an icon or other style attributes. + This is a dummy head node for the linked list, so for an entry E, + E.classes->next is the first class if it is not NULL. */ + struct grub_menu_entry_class *classes; + + /* The sourcecode of the menu entry, used by the editor. */ + const char *sourcecode; + + /* Parameters to be passed to menu definition. */ + int argc; + char **args; + + int hotkey; + + int submenu; + + /* The next element. */ + struct grub_menu_entry *next; + + /* BLS used to populate the entry */ + struct bls_entry *bls; +}; +typedef struct grub_menu_entry *grub_menu_entry_t; + +/* The menu. */ +struct grub_menu +{ + /* The size of a menu. */ + int size; + + /* The list of menu entries. */ + grub_menu_entry_t entry_list; +}; +typedef struct grub_menu *grub_menu_t; + +/* Callback structure menu viewers can use to provide user feedback when + default entries are executed, possibly including fallback entries. */ +typedef struct grub_menu_execute_callback +{ + /* Called immediately before ENTRY is booted. */ + void (*notify_booting) (grub_menu_entry_t entry, void *userdata); + + /* Called when executing one entry has failed, and another entry, ENTRY, will + be executed as a fallback. The implementation of this function should + delay for a period of at least 2 seconds before returning in order to + allow the user time to read the information before it can be lost by + executing ENTRY. */ + void (*notify_fallback) (grub_menu_entry_t entry, void *userdata); + + /* Called when an entry has failed to execute and there is no remaining + fallback entry to attempt. */ + void (*notify_failure) (void *userdata); +} +*grub_menu_execute_callback_t; + +grub_menu_entry_t grub_menu_get_entry (grub_menu_t menu, int no); +int grub_menu_get_timeout (void); +void grub_menu_set_timeout (int timeout); +void grub_menu_entry_run (grub_menu_entry_t entry); +int grub_menu_get_default_entry_index (grub_menu_t menu); + +void grub_menu_init (void); +void grub_menu_fini (void); + +#endif /* GRUB_MENU_HEADER */ diff --git a/GRUB2/MOD_SRC/grub-2.04/include/grub/normal.h b/GRUB2/MOD_SRC/grub-2.04/include/grub/normal.h new file mode 100644 index 00000000..8839ad85 --- /dev/null +++ b/GRUB2/MOD_SRC/grub-2.04/include/grub/normal.h @@ -0,0 +1,177 @@ +/* normal.h - prototypes for the normal mode */ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2002,2003,2005,2006,2007,2008,2009 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#ifndef GRUB_NORMAL_HEADER +#define GRUB_NORMAL_HEADER 1 + +#include +#include +#include +#include +#include +#include +#include + +/* The standard left and right margin for some messages. */ +#define STANDARD_MARGIN 6 + +/* The type of a completion item. */ +enum grub_completion_type + { + GRUB_COMPLETION_TYPE_COMMAND, + GRUB_COMPLETION_TYPE_DEVICE, + GRUB_COMPLETION_TYPE_PARTITION, + GRUB_COMPLETION_TYPE_FILE, + GRUB_COMPLETION_TYPE_ARGUMENT + }; +typedef enum grub_completion_type grub_completion_type_t; + +extern struct grub_menu_viewer grub_normal_text_menu_viewer; +extern int grub_normal_exit_level; + +/* Defined in `main.c'. */ +void grub_enter_normal_mode (const char *config); +void grub_normal_execute (const char *config, int nested, int batch); +struct grub_term_screen_geometry +{ + /* The number of entries shown at a time. */ + int num_entries; + int first_entry_y; + int first_entry_x; + int entry_width; + int timeout_y; + int timeout_lines; + int border; + int right_margin; +}; + +void grub_menu_init_page (int nested, int edit, + struct grub_term_screen_geometry *geo, + struct grub_term_output *term); +void grub_normal_init_page (struct grub_term_output *term, int y); +char *grub_file_getline (grub_file_t file); +void grub_cmdline_run (int nested, int force_auth); + +/* Defined in `cmdline.c'. */ +char *grub_cmdline_get (const char *prompt); +grub_err_t grub_set_history (int newsize); + +/* Defined in `completion.c'. */ +char *grub_normal_do_completion (char *buf, int *restore, + void (*hook) (const char *item, grub_completion_type_t type, int count)); + +/* Defined in `misc.c'. */ +grub_err_t grub_normal_print_device_info (const char *name); + +/* Defined in `color.c'. */ +char *grub_env_write_color_normal (struct grub_env_var *var, const char *val); +char *grub_env_write_color_highlight (struct grub_env_var *var, const char *val); +int grub_parse_color_name_pair (grub_uint8_t *ret, const char *name); + +/* Defined in `menu_text.c'. */ +void grub_wait_after_message (void); +void +grub_print_ucs4 (const grub_uint32_t * str, + const grub_uint32_t * last_position, + int margin_left, int margin_right, + struct grub_term_output *term); + +void +grub_print_ucs4_menu (const grub_uint32_t * str, + const grub_uint32_t * last_position, + int margin_left, int margin_right, + struct grub_term_output *term, + int skip_lines, int max_lines, grub_uint32_t contchar, + struct grub_term_pos *pos); +int +grub_ucs4_count_lines (const grub_uint32_t * str, + const grub_uint32_t * last_position, + int margin_left, int margin_right, + struct grub_term_output *term); +grub_size_t grub_getstringwidth (grub_uint32_t * str, + const grub_uint32_t * last_position, + struct grub_term_output *term); +void grub_print_message_indented (const char *msg, int margin_left, + int margin_right, + struct grub_term_output *term); +void +grub_menu_text_register_instances (int entry, grub_menu_t menu, int nested); +grub_err_t +grub_show_menu (grub_menu_t menu, int nested, int autobooted); + +/* Defined in `handler.c'. */ +void read_handler_list (void); +void free_handler_list (void); + +/* Defined in `dyncmd.c'. */ +void read_command_list (const char *prefix); + +/* Defined in `autofs.c'. */ +void read_fs_list (const char *prefix); + +void grub_context_init (void); +void grub_context_fini (void); + +void read_crypto_list (const char *prefix); + +void read_terminal_list (const char *prefix); + +void grub_set_more (int onoff); + +void grub_normal_reset_more (void); + +void grub_xputs_normal (const char *str); + +extern int grub_extractor_level; + +grub_err_t +grub_normal_add_menu_entry (int argc, const char **args, char **classes, + const char *id, + const char *users, const char *hotkey, + const char *prefix, const char *sourcecode, + int submenu, int *index, struct bls_entry *bls); + +grub_err_t +grub_normal_set_password (const char *user, const char *password); + +void grub_normal_free_menu (grub_menu_t menu); + +void grub_normal_auth_init (void); +void grub_normal_auth_fini (void); + +void +grub_xnputs (const char *str, grub_size_t msg_len); + +grub_command_t +grub_dyncmd_get_cmd (grub_command_t cmd); + +void +grub_gettext_reread_prefix (const char *val); + +enum grub_human_size_type + { + GRUB_HUMAN_SIZE_NORMAL, + GRUB_HUMAN_SIZE_SHORT, + GRUB_HUMAN_SIZE_SPEED, + }; + +const char * +grub_get_human_size (grub_uint64_t size, enum grub_human_size_type type); + +#endif /* ! GRUB_NORMAL_HEADER */ diff --git a/IMG/cpio/sbin/init b/IMG/cpio/sbin/init index ef7b5d6d..bd8e06db 100644 --- a/IMG/cpio/sbin/init +++ b/IMG/cpio/sbin/init @@ -54,7 +54,8 @@ if [ -z "$VTOY_REDT_BUG" ]; then fi cd $VTOY_PATH -xz -d ventoy.sh.xz +xz -d ventoy_chain.sh.xz +xz -d ventoy_loop.sh.xz if [ -n "$VTOY_REDT_BUG" ]; then xz -d -c hook.cpio.xz | cpio -idm diff --git a/IMG/cpio/ventoy/hook/default/10-dm.rules b/IMG/cpio/ventoy/hook/default/10-dm.rules new file mode 100644 index 00000000..f33df582 --- /dev/null +++ b/IMG/cpio/ventoy/hook/default/10-dm.rules @@ -0,0 +1,150 @@ +# Copyright (C) 2009 Red Hat, Inc. All rights reserved. +# +# This file is part of LVM2. + +# Udev rules for device-mapper devices. +# +# These rules create a DM control node in /dev/mapper directory. +# The rules also create nodes named dm-x (x is a number) in /dev +# directory and symlinks to these nodes with names given by +# the actual DM names. Some udev environment variables are set +# for use in later rules: +# DM_NAME - actual DM device's name +# DM_UUID - UUID set for DM device (blank if not specified) +# DM_SUSPENDED - suspended state of DM device (0 or 1) +# DM_UDEV_RULES_VSN - DM udev rules version +# +# These rules cover only basic device-mapper functionality in udev. +# +# Various DM subsystems may contain further subsystem-specific rules +# in 11-dm-.rules which should be installed together +# with the DM subsystem and which extend these basic rules. +# For example: +# 11-dm-lvm.rules for LVM subsystem +# 11-dm-mpath.rules for multipath subsystem (since version 0.6.0, recommended!) +# +# Even more specific rules may be required by subsystems so always +# check subsystem's upstream repository for recent set of rules. +# Also, keep in mind that recent rules may also require recent +# subsystem-specific binaries. + +KERNEL=="device-mapper", NAME="mapper/control" + +SUBSYSTEM!="block", GOTO="dm_end" +KERNEL!="dm-[0-9]*", GOTO="dm_end" + + +# Device created, major and minor number assigned - "add" event generated. +# Table loaded - no event generated. +# Device resumed (or renamed) - "change" event generated. +# Device removed - "remove" event generated. +# +# The dm-X nodes are always created, even on "add" event, we can't suppress +# that (the node is created even earlier with devtmpfs). All the symlinks +# (e.g. /dev/mapper) are created in right time after a device has its table +# loaded and is properly resumed. For this reason, direct use of dm-X nodes +# is not recommended. +ACTION!="add|change", GOTO="dm_end" + +# Decode udev control flags and set environment variables appropriately. +# These flags are encoded in DM_COOKIE variable that was introduced in +# kernel version 2.6.31. Therefore, we can use this feature with +# kernels >= 2.6.31 only. Cookie is not decoded for remove event. +ENV{DM_COOKIE}=="?*", IMPORT{program}="/usr/sbin/dmsetup udevflags $env{DM_COOKIE}" + +# Rule out easy-to-detect inappropriate events first. +ENV{DISK_RO}=="1", GOTO="dm_disable" + +# There is no cookie set nor any flags encoded in events not originating +# in libdevmapper so we need to detect this and try to behave correctly. +# For such spurious events, regenerate all flags from current udev database content +# (this information would normally be inaccessible for spurious ADD and CHANGE events). +ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}=="1", ENV{DM_ACTIVATION}="1", GOTO="dm_flags_done" +IMPORT{db}="DM_UDEV_DISABLE_DM_RULES_FLAG" +IMPORT{db}="DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG" +IMPORT{db}="DM_UDEV_DISABLE_DISK_RULES_FLAG" +IMPORT{db}="DM_UDEV_DISABLE_OTHER_RULES_FLAG" +IMPORT{db}="DM_UDEV_LOW_PRIORITY_FLAG" +IMPORT{db}="DM_UDEV_DISABLE_LIBRARY_FALLBACK_FLAG" +IMPORT{db}="DM_UDEV_PRIMARY_SOURCE_FLAG" +IMPORT{db}="DM_UDEV_FLAG7" +IMPORT{db}="DM_UDEV_RULES_VSN" +LABEL="dm_flags_done" + +# Normally, we operate on "change" events. But when coldplugging, there's an +# "add" event present. We have to recognize this and do our actions in this +# particular situation, too. Also, we don't want the nodes to be created +# prematurely on "add" events while not coldplugging. We check +# DM_UDEV_PRIMARY_SOURCE_FLAG to see if the device was activated correctly +# before and if not, we ignore the "add" event totally. This way we can support +# udev triggers generating "add" events (e.g. "udevadm trigger --action=add" or +# "echo add > /sys/block//uevent"). The trigger with "add" event is +# also used at boot to reevaluate udev rules for all existing devices activated +# before (e.g. in initrd). If udev is used in initrd, we require the udev init +# script to not remove the existing udev database so we can reuse the information +# stored at the time of device activation in the initrd. +ACTION!="add", GOTO="dm_no_coldplug" +ENV{DM_UDEV_RULES_VSN}!="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", GOTO="dm_disable" +ENV{DM_ACTIVATION}="1" +LABEL="dm_no_coldplug" + +# Putting it together, following table is used to recognize genuine and spurious events. +# N.B. Spurious events are generated based on use of the WATCH udev +# rule or by triggering an event manually by "udevadm trigger" call +# or by "echo > /sys/block/dm-X/uevent". +# +# EVENT DM_UDEV_PRIMARY_SOURCE_FLAG DM_ACTIVATION +# ====================================================================== +# add event (genuine) 0 0 +# change event (genuine) 1 1 +# add event (spurious) +# |_ dev still not active 0 0 +# \_ dev already active 1 1 +# change event (spurious) +# |_ dev still not active 0 0 +# \_ dev already active 1 0 + +# "dm" sysfs subdirectory is available in newer versions of DM +# only (kernels >= 2.6.29). We have to check for its existence +# and use dmsetup tool instead to get the DM name, uuid and +# suspended state if the "dm" subdirectory is not present. +# The "suspended" item was added even later (kernels >= 2.6.31), +# so we also have to call dmsetup if the kernel version used +# is in between these releases. +TEST=="dm", ENV{DM_NAME}="$attr{dm/name}", ENV{DM_UUID}="$attr{dm/uuid}", ENV{DM_SUSPENDED}="$attr{dm/suspended}" +TEST!="dm", IMPORT{program}="/usr/sbin/dmsetup info -j %M -m %m -c --nameprefixes --noheadings --rows -o name,uuid,suspended" +ENV{DM_SUSPENDED}!="?*", IMPORT{program}="/usr/sbin/dmsetup info -j %M -m %m -c --nameprefixes --noheadings --rows -o suspended" + +# dmsetup tool provides suspended state information in textual +# form with values "Suspended"/"Active". We translate it to +# 0/1 respectively to be consistent with sysfs values. +ENV{DM_SUSPENDED}=="Active", ENV{DM_SUSPENDED}="0" +ENV{DM_SUSPENDED}=="Suspended", ENV{DM_SUSPENDED}="1" + +# This variable provides a reliable way to check that device-mapper +# rules were installed. It means that all needed variables are set +# by these rules directly so there's no need to acquire them again +# later. Other rules can alternate the functionality based on this +# fact (e.g. fallback to rules that behave correctly even without +# these rules installed). It also provides versioning for any +# possible future changes. +# VSN 1 - original rules +# VSN 2 - add support for synthesized events +ENV{DM_UDEV_RULES_VSN}="2" + +ENV{DM_UDEV_DISABLE_DM_RULES_FLAG}!="1", ENV{DM_NAME}=="?*", SYMLINK+="mapper/$env{DM_NAME}" + +# Avoid processing and scanning a DM device in the other (foreign) +# rules if it is in suspended state. However, we still keep 'disk' +# and 'DM subsystem' related rules enabled in this case. +ENV{DM_SUSPENDED}=="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1" + +GOTO="dm_end" + +LABEL="dm_disable" +ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}="1" +ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="1" +ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1" +OPTIONS:="nowatch" + +LABEL="dm_end" diff --git a/IMG/cpio/ventoy/hook/ventoy-hook-lib.sh b/IMG/cpio/ventoy/hook/ventoy-hook-lib.sh index c656c6fe..2da5f079 100644 --- a/IMG/cpio/ventoy/hook/ventoy-hook-lib.sh +++ b/IMG/cpio/ventoy/hook/ventoy-hook-lib.sh @@ -475,7 +475,7 @@ ventoy_udev_disk_common_hook() { is_inotify_ventoy_part() { - if echo $1 | grep -q "2$"; then + if echo $1 | $GREP -q "2$"; then if ! [ -e /sys/block/$1 ]; then if [ -e /sys/class/block/$1 ]; then if [ -e /dev/${1:0:-1} ]; then diff --git a/IMG/cpio/ventoy/hook/ventoy-os-lib.sh b/IMG/cpio/ventoy/hook/ventoy-os-lib.sh index 05533347..fb36ac25 100644 --- a/IMG/cpio/ventoy/hook/ventoy-os-lib.sh +++ b/IMG/cpio/ventoy/hook/ventoy-os-lib.sh @@ -105,3 +105,9 @@ ventoy_print_yum_repo() { ventoy_set_inotify_script() { echo $VTOY_PATH/hook/$1 > $VTOY_PATH/inotifyd-hook-script.txt } + +ventoy_set_loop_inotify_script() { + echo $VTOY_PATH/loop/$1 > $VTOY_PATH/inotifyd-loop-script.txt +} + + diff --git a/IMG/cpio/ventoy/init b/IMG/cpio/ventoy/init index ad5ac3a9..ef7310e6 100644 --- a/IMG/cpio/ventoy/init +++ b/IMG/cpio/ventoy/init @@ -24,203 +24,14 @@ # # #################################################################### [ -d /proc ] || mkdir /proc; mount -t proc proc /proc -vtcmdline=$(cat /proc/cmdline) -vtkerver=$(cat /proc/version) +vtoy_cmdline=$(cat /proc/cmdline) umount /proc; rm -rf /proc -echo "kenel version=$vtkerver" >>$VTLOG -echo "kenel cmdline=$vtcmdline" >>$VTLOG - -#break here for debug -if [ "$VTOY_BREAK_LEVEL" = "01" ] || [ "$VTOY_BREAK_LEVEL" = "11" ]; then - sleep 5 - echo -e "\n\n\033[32m ################################################# \033[0m" - echo -e "\033[32m ################ VENTOY DEBUG ################### \033[0m" - echo -e "\033[32m ################################################# \033[0m \n" - - if [ "$VTOY_BREAK_LEVEL" = "11" ]; then - cat $VTLOG - fi - exec $BUSYBOX_PATH/sh -fi - - -#################################################################### -# # -# Step 2 : extract real initramfs to / # -# # -#################################################################### -cd / -rm -rf /init /linuxrc /dev/ /root - -vtSbinFileNum=$(ls -1 /sbin | wc -l) -if [ $vtSbinFileNum -eq 1 ]; then - echo "remove whole sbin directory" >> $VTLOG - rm -rf /sbin +if echo $vtoy_cmdline | grep -q 'rdinit=/vtoy/vtoy'; then + echo "handover to init_loop" >>$VTLOG + rm -f /xxxx /vtoyxrc + exec $BUSYBOX_PATH/sh $VTOY_PATH/init_loop else - echo "remove only sbin/init file" >> $VTLOG - ls -l /sbin >> $VTLOG - rm -f /sbin/init + echo "handover to init_chain" >>$VTLOG + exec $BUSYBOX_PATH/sh $VTOY_PATH/init_chain fi - -ventoy_is_initrd_ramdisk() { - #As I known, PCLinuxOS use ramdisk - if echo $vtkerver | grep -i -q 'PCLinuxOS'; then - true - else - false - fi -} - -ventoy_mount_squashfs() { - mkdir /dev - mount -t devtmpfs devtmpfs /dev - dd if=$1 of=/dev/ram0 status=none - umount /dev && rm -rf /dev -} - -# param: file skip magic tmp -ventoy_unpack_initramfs() { - vtfile=$1; vtskip=$2; vtmagic=$3; vttmp=$4 - echo "=====ventoy_unpack_initramfs: #$*#" >> $VTLOG - - #special process - #if [ "${vtmagic:0:4}" = '5678' ]; then - # echo -en '\x1F\x8B' | dd status=none of=$vtfile bs=1 count=2 conv=notrunc - # vtmagic='1F8B' - #fi - - if [ "${vtmagic:0:4}" = '6873' ]; then - ventoy_mount_squashfs $vtfile - return - fi - - for vtx in '1F8B zcat' '1F9E zcat' '425A bzcat' '5D00 lzcat' 'FD37 xzcat' '894C lzopcat' '0221 lz4cat' '28B5 zstdcat' '3037 cat'; do - if [ "${vtx:0:4}" = "${vtmagic:0:4}" ]; then - echo "vtx=$vtx" >> $VTLOG - if [ $vtskip -eq 0 ]; then - if [ "${vtx:5}" = "xzcat" ]; then - rm -f $VTOY_PATH/xzlog - ${vtx:5} $vtfile 2> $VTOY_PATH/xzlog | (cpio -idmu 2>>$VTLOG; cat > $vttmp) - - if grep -q 'corrupted data' $VTOY_PATH/xzlog; then - echo 'xzcat failed, now try xzminidec...' >> $VTLOG - cat $vtfile | xzminidec | (cpio -idmu 2>>$VTLOG; cat > $vttmp) - fi - - else - ${vtx:5} $vtfile | (cpio -idmu 2>>$VTLOG; cat > $vttmp) - fi - else - dd if=$vtfile skip=$vtskip iflag=skip_bytes status=none | ${vtx:5} | (cpio -idmu 2>>$VTLOG; cat > $vttmp) - fi - break - fi - done -} - -# param: file magic tmp -ventoy_unpack_initrd() { - vtfile=$1; vtmagic=$2; vttmp=$3 - echo "=====ventoy_unpack_initrd: #$*#" >> $VTLOG - - for vtx in '1F8B zcat' '1F9E zcat' '425A bzcat' '5D00 lzcat' 'FD37 xzcat' '894C lzopcat' '0221 lz4cat' '28B5 zstdcat' '3037 cat'; do - if [ "${vtx:0:4}" = "${vtmagic:0:4}" ]; then - echo "vtx=$vtx" >> $VTLOG - ${vtx:5} $vtfile > $vttmp - break - fi - done -} - - -# This export is for busybox cpio command -export EXTRACT_UNSAFE_SYMLINKS=1 - -for vtfile in $(ls /initrd*); do - #decompress first initrd - vtmagic=$(hexdump -n 2 -e '2/1 "%02X"' $vtfile) - - if ventoy_is_initrd_ramdisk; then - ventoy_unpack_initrd $vtfile $vtmagic ${vtfile}_tmp - mv ${vtfile}_tmp $vtfile - break - else - ventoy_unpack_initramfs $vtfile 0 $vtmagic ${vtfile}_tmp - fi - - #only for cpio,cpio,...,initrd sequence, initrd,cpio or initrd,initrd sequence is not supported - while [ -e ${vtfile}_tmp ] && [ $(stat -c '%s' ${vtfile}_tmp) -gt 512 ]; do - mv ${vtfile}_tmp $vtfile - vtdump=$(hexdump -n 512 -e '512/1 "%02X"' $vtfile) - vtmagic=$(echo $vtdump | sed 's/^\(00\)*//') - let vtoffset="(${#vtdump}-${#vtmagic})/2" - - if [ -z "$vtmagic" ]; then - echo "terminate with all zero data file" >> $VTLOG - break - fi - - ventoy_unpack_initramfs $vtfile $vtoffset ${vtmagic:0:4} ${vtfile}_tmp - done - - rm -f $vtfile ${vtfile}_tmp -done - - -#break here for debug -if [ "$VTOY_BREAK_LEVEL" = "02" ] || [ "$VTOY_BREAK_LEVEL" = "12" ]; then - sleep 5 - echo -e "\n\n\033[32m ################################################# \033[0m" - echo -e "\033[32m ################ VENTOY DEBUG ################### \033[0m" - echo -e "\033[32m ################################################# \033[0m \n" - if [ "$VTOY_BREAK_LEVEL" = "12" ]; then - cat $VTOY_PATH/log - fi - exec $BUSYBOX_PATH/sh -fi - - -#################################################################### -# # -# Step 3 : Extract injection archive # -# # -#################################################################### -ventoy_unpack_injection() { - vtmagic=$(hexdump -n 2 -e '2/1 "%02X"' $VTOY_PATH/ventoy_injection) - echo "ventoy_unpack_injection vtmagic=$vtmagic ..." - - if [ "1F8B" = "$vtmagic" ] || [ "1F9E" = "$vtmagic" ]; then - echo "tar.gz tar -xzvf" - tar -xzvf $VTOY_PATH/ventoy_injection -C / - elif [ "425A" = "$vtmagic" ]; then - echo "tar.bz2 tar -xjvf" - tar -xjvf $VTOY_PATH/ventoy_injection -C / - elif [ "FD37" = "$vtmagic" ]; then - echo "tar.xz tar -xJvf" - tar -xJvf $VTOY_PATH/ventoy_injection -C / - elif [ "5D00" = "$vtmagic" ]; then - echo "tar.lzma tar -xavf" - tar -xavf $VTOY_PATH/ventoy_injection -C / - else - echo "unzip -o" - unzip -o $VTOY_PATH/ventoy_injection -d / - fi -} - -if [ -e $VTOY_PATH/ventoy_injection ]; then - echo "### decompress injection ... ###" >>$VTLOG - ventoy_unpack_injection > $VTOY_PATH/injection.log 2>&1 -fi - - -#################################################################### -# # -# Step 4 : Hand over to ventoy.sh # -# # -#################################################################### -echo "Now hand over to ventoy.sh" >>$VTLOG -. $VTOY_PATH/tool/vtoytool_install.sh - -export PATH=$VTOY_ORG_PATH -exec $BUSYBOX_PATH/sh $VTOY_PATH/ventoy.sh diff --git a/IMG/cpio/ventoy/init_chain b/IMG/cpio/ventoy/init_chain new file mode 100644 index 00000000..17e27c74 --- /dev/null +++ b/IMG/cpio/ventoy/init_chain @@ -0,0 +1,226 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + + +################################################################### +# # +# Step 1 : parse kernel debug parameter # +# # +#################################################################### +[ -d /proc ] || mkdir /proc; mount -t proc proc /proc +vtcmdline=$(cat /proc/cmdline) +vtkerver=$(cat /proc/version) +umount /proc; rm -rf /proc + +echo "kenel version=$vtkerver" >>$VTLOG +echo "kenel cmdline=$vtcmdline" >>$VTLOG + +#break here for debug +if [ "$VTOY_BREAK_LEVEL" = "01" ] || [ "$VTOY_BREAK_LEVEL" = "11" ]; then + sleep 5 + echo -e "\n\n\033[32m ################################################# \033[0m" + echo -e "\033[32m ################ VENTOY DEBUG ################### \033[0m" + echo -e "\033[32m ################################################# \033[0m \n" + + if [ "$VTOY_BREAK_LEVEL" = "11" ]; then + cat $VTLOG + fi + exec $BUSYBOX_PATH/sh +fi + + +#################################################################### +# # +# Step 2 : extract real initramfs to / # +# # +#################################################################### +cd / +rm -rf /init /linuxrc /dev/ /root + +vtSbinFileNum=$(ls -1 /sbin | wc -l) +if [ $vtSbinFileNum -eq 1 ]; then + echo "remove whole sbin directory" >> $VTLOG + rm -rf /sbin +else + echo "remove only sbin/init file" >> $VTLOG + ls -l /sbin >> $VTLOG + rm -f /sbin/init +fi + +ventoy_is_initrd_ramdisk() { + #As I known, PCLinuxOS use ramdisk + if echo $vtkerver | grep -i -q 'PCLinuxOS'; then + true + else + false + fi +} + +ventoy_mount_squashfs() { + mkdir /dev + mount -t devtmpfs devtmpfs /dev + dd if=$1 of=/dev/ram0 status=none + umount /dev && rm -rf /dev +} + +# param: file skip magic tmp +ventoy_unpack_initramfs() { + vtfile=$1; vtskip=$2; vtmagic=$3; vttmp=$4 + echo "=====ventoy_unpack_initramfs: #$*#" >> $VTLOG + + #special process + #if [ "${vtmagic:0:4}" = '5678' ]; then + # echo -en '\x1F\x8B' | dd status=none of=$vtfile bs=1 count=2 conv=notrunc + # vtmagic='1F8B' + #fi + + if [ "${vtmagic:0:4}" = '6873' ]; then + ventoy_mount_squashfs $vtfile + return + fi + + for vtx in '1F8B zcat' '1F9E zcat' '425A bzcat' '5D00 lzcat' 'FD37 xzcat' '894C lzopcat' '0221 lz4cat' '28B5 zstdcat' '3037 cat'; do + if [ "${vtx:0:4}" = "${vtmagic:0:4}" ]; then + echo "vtx=$vtx" >> $VTLOG + if [ $vtskip -eq 0 ]; then + if [ "${vtx:5}" = "xzcat" ]; then + rm -f $VTOY_PATH/xzlog + ${vtx:5} $vtfile 2> $VTOY_PATH/xzlog | (cpio -idmu 2>>$VTLOG; cat > $vttmp) + + if grep -q 'corrupted data' $VTOY_PATH/xzlog; then + echo 'xzcat failed, now try xzminidec...' >> $VTLOG + cat $vtfile | xzminidec | (cpio -idmu 2>>$VTLOG; cat > $vttmp) + fi + + else + ${vtx:5} $vtfile | (cpio -idmu 2>>$VTLOG; cat > $vttmp) + fi + else + dd if=$vtfile skip=$vtskip iflag=skip_bytes status=none | ${vtx:5} | (cpio -idmu 2>>$VTLOG; cat > $vttmp) + fi + break + fi + done +} + +# param: file magic tmp +ventoy_unpack_initrd() { + vtfile=$1; vtmagic=$2; vttmp=$3 + echo "=====ventoy_unpack_initrd: #$*#" >> $VTLOG + + for vtx in '1F8B zcat' '1F9E zcat' '425A bzcat' '5D00 lzcat' 'FD37 xzcat' '894C lzopcat' '0221 lz4cat' '28B5 zstdcat' '3037 cat'; do + if [ "${vtx:0:4}" = "${vtmagic:0:4}" ]; then + echo "vtx=$vtx" >> $VTLOG + ${vtx:5} $vtfile > $vttmp + break + fi + done +} + + +# This export is for busybox cpio command +export EXTRACT_UNSAFE_SYMLINKS=1 + +for vtfile in $(ls /initrd*); do + #decompress first initrd + vtmagic=$(hexdump -n 2 -e '2/1 "%02X"' $vtfile) + + if ventoy_is_initrd_ramdisk; then + ventoy_unpack_initrd $vtfile $vtmagic ${vtfile}_tmp + mv ${vtfile}_tmp $vtfile + break + else + ventoy_unpack_initramfs $vtfile 0 $vtmagic ${vtfile}_tmp + fi + + #only for cpio,cpio,...,initrd sequence, initrd,cpio or initrd,initrd sequence is not supported + while [ -e ${vtfile}_tmp ] && [ $(stat -c '%s' ${vtfile}_tmp) -gt 512 ]; do + mv ${vtfile}_tmp $vtfile + vtdump=$(hexdump -n 512 -e '512/1 "%02X"' $vtfile) + vtmagic=$(echo $vtdump | sed 's/^\(00\)*//') + let vtoffset="(${#vtdump}-${#vtmagic})/2" + + if [ -z "$vtmagic" ]; then + echo "terminate with all zero data file" >> $VTLOG + break + fi + + ventoy_unpack_initramfs $vtfile $vtoffset ${vtmagic:0:4} ${vtfile}_tmp + done + + rm -f $vtfile ${vtfile}_tmp +done + + +#break here for debug +if [ "$VTOY_BREAK_LEVEL" = "02" ] || [ "$VTOY_BREAK_LEVEL" = "12" ]; then + sleep 5 + echo -e "\n\n\033[32m ################################################# \033[0m" + echo -e "\033[32m ################ VENTOY DEBUG ################### \033[0m" + echo -e "\033[32m ################################################# \033[0m \n" + if [ "$VTOY_BREAK_LEVEL" = "12" ]; then + cat $VTOY_PATH/log + fi + exec $BUSYBOX_PATH/sh +fi + + +#################################################################### +# # +# Step 3 : Extract injection archive # +# # +#################################################################### +ventoy_unpack_injection() { + vtmagic=$(hexdump -n 2 -e '2/1 "%02X"' $VTOY_PATH/ventoy_injection) + echo "ventoy_unpack_injection vtmagic=$vtmagic ..." + + if [ "1F8B" = "$vtmagic" ] || [ "1F9E" = "$vtmagic" ]; then + echo "tar.gz tar -xzvf" + tar -xzvf $VTOY_PATH/ventoy_injection -C / + elif [ "425A" = "$vtmagic" ]; then + echo "tar.bz2 tar -xjvf" + tar -xjvf $VTOY_PATH/ventoy_injection -C / + elif [ "FD37" = "$vtmagic" ]; then + echo "tar.xz tar -xJvf" + tar -xJvf $VTOY_PATH/ventoy_injection -C / + elif [ "5D00" = "$vtmagic" ]; then + echo "tar.lzma tar -xavf" + tar -xavf $VTOY_PATH/ventoy_injection -C / + else + echo "unzip -o" + unzip -o $VTOY_PATH/ventoy_injection -d / + fi +} + +if [ -e $VTOY_PATH/ventoy_injection ]; then + echo "### decompress injection ... ###" >>$VTLOG + ventoy_unpack_injection > $VTOY_PATH/injection.log 2>&1 +fi + + +#################################################################### +# # +# Step 4 : Hand over to ventoy_chain.sh # +# # +#################################################################### +echo "Now hand over to ventoy.sh" >>$VTLOG +. $VTOY_PATH/tool/vtoytool_install.sh + +export PATH=$VTOY_ORG_PATH +exec $BUSYBOX_PATH/sh $VTOY_PATH/ventoy_chain.sh diff --git a/IMG/cpio/ventoy/init_loop b/IMG/cpio/ventoy/init_loop new file mode 100644 index 00000000..1cbb6190 --- /dev/null +++ b/IMG/cpio/ventoy/init_loop @@ -0,0 +1,90 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + + +################################################################### +# # +# Step 1 : parse kernel debug parameter # +# # +#################################################################### +[ -d /proc ] || mkdir /proc; mount -t proc proc /proc +vtcmdline=$(cat /proc/cmdline) +vtkerver=$(cat /proc/version) +umount /proc; rm -rf /proc + +echo "kenel version=$vtkerver" >>$VTLOG +echo "kenel cmdline=$vtcmdline" >>$VTLOG + +#break here for debug +if [ "$VTOY_BREAK_LEVEL" = "01" ] || [ "$VTOY_BREAK_LEVEL" = "11" ]; then + sleep 5 + echo -e "\n\n\033[32m ################################################# \033[0m" + echo -e "\033[32m ################ VENTOY DEBUG ################### \033[0m" + echo -e "\033[32m ################################################# \033[0m \n" + + if [ "$VTOY_BREAK_LEVEL" = "11" ]; then + cat $VTLOG + fi + exec $BUSYBOX_PATH/sh +fi + + +#################################################################### +# # +# Step 2 : Extract injection archive # +# # +#################################################################### +ventoy_unpack_injection() { + vtmagic=$(hexdump -n 2 -e '2/1 "%02X"' $VTOY_PATH/ventoy_injection) + echo "ventoy_unpack_injection vtmagic=$vtmagic ..." + + if [ "1F8B" = "$vtmagic" ] || [ "1F9E" = "$vtmagic" ]; then + echo "tar.gz tar -xzvf" + tar -xzvf $VTOY_PATH/ventoy_injection -C / + elif [ "425A" = "$vtmagic" ]; then + echo "tar.bz2 tar -xjvf" + tar -xjvf $VTOY_PATH/ventoy_injection -C / + elif [ "FD37" = "$vtmagic" ]; then + echo "tar.xz tar -xJvf" + tar -xJvf $VTOY_PATH/ventoy_injection -C / + elif [ "5D00" = "$vtmagic" ]; then + echo "tar.lzma tar -xavf" + tar -xavf $VTOY_PATH/ventoy_injection -C / + else + echo "unzip -o" + unzip -o $VTOY_PATH/ventoy_injection -d / + fi +} + +if [ -e $VTOY_PATH/ventoy_injection ]; then + echo "### decompress injection ... ###" >>$VTLOG + ventoy_unpack_injection > $VTOY_PATH/injection.log 2>&1 +fi + + +#################################################################### +# # +# Step 3 : Hand over to ventoy_loop.sh # +# # +#################################################################### +echo "Now hand over to ventoy.sh" >>$VTLOG +. $VTOY_PATH/tool/vtoytool_install.sh + +export PATH=$VTOY_ORG_PATH +exec $BUSYBOX_PATH/sh $VTOY_PATH/ventoy_loop.sh diff --git a/IMG/cpio/ventoy/loop/deepin/ventoy-disk.sh b/IMG/cpio/ventoy/loop/deepin/ventoy-disk.sh new file mode 100644 index 00000000..48c3752d --- /dev/null +++ b/IMG/cpio/ventoy/loop/deepin/ventoy-disk.sh @@ -0,0 +1,36 @@ +#!/bin/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +cd /ventoy +xzcat tool.cpio.xz | cpio -idmu +/ventoy/tool/vtoytool/00/vtoytool_64 --install + +while [ -n "Y" ]; do + line=$(/ventoy/tool/vtoydump -f /ventoy/ventoy_os_param) + if [ $? -eq 0 ]; then + vtdiskname=${line%%#*} + break + else + sleep 1 + fi +done + +echo "ventoy disk is $vtdiskname" >> /ventoy/log +/ventoy/tool/vtoydm -p -f /ventoy/ventoy_image_map -d $vtdiskname > /ventoy/ventoy_dm_table +dmsetup create ventoy /ventoy/ventoy_dm_table --readonly diff --git a/IMG/cpio/ventoy/loop/deepin/ventoy-init.sh b/IMG/cpio/ventoy/loop/deepin/ventoy-init.sh new file mode 100644 index 00000000..17543eb3 --- /dev/null +++ b/IMG/cpio/ventoy/loop/deepin/ventoy-init.sh @@ -0,0 +1,21 @@ +#!/bin/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +sed "/^mountroot$/i\\sh /ventoy/loop/deepin/ventoy-disk.sh" -i /init +exec /init diff --git a/IMG/cpio/ventoy/loop/endless/ventoy-hook.sh b/IMG/cpio/ventoy/loop/endless/ventoy-hook.sh new file mode 100644 index 00000000..7d0820d6 --- /dev/null +++ b/IMG/cpio/ventoy/loop/endless/ventoy-hook.sh @@ -0,0 +1,36 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +. $VTOY_PATH/hook/ventoy-os-lib.sh + +END_UDEV_DIR=$(ventoy_get_udev_conf_dir) + +if ! [ -e "$END_UDEV_DIR/10-dm.rules" ]; then + echo 'Copy dm rule file' >> $VTLOG + $CAT $VTOY_PATH/hook/default/10-dm.rules > "$END_UDEV_DIR/10-dm.rules" +fi + +if ! [ -e "$END_UDEV_DIR/13-dm-disk.rules" ]; then + echo 'Copy dm-disk rule file' >> $VTLOG + $CAT $VTOY_PATH/hook/default/13-dm-disk.rules > "$END_UDEV_DIR/13-dm-disk.rules" +fi + +ventoy_set_loop_inotify_script endless/ventoy-inotifyd-hook.sh +$BUSYBOX_PATH/cp -a $VTOY_PATH/loop/endless/ventoy-inotifyd-start.sh /lib/dracut/hooks/pre-udev/01-ventoy-inotifyd-start.sh + diff --git a/IMG/cpio/ventoy/loop/endless/ventoy-inotifyd-hook.sh b/IMG/cpio/ventoy/loop/endless/ventoy-inotifyd-hook.sh new file mode 100644 index 00000000..cc9050da --- /dev/null +++ b/IMG/cpio/ventoy/loop/endless/ventoy-inotifyd-hook.sh @@ -0,0 +1,37 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +. /ventoy/hook/ventoy-hook-lib.sh + +if is_ventoy_hook_finished; then + exit 0 +fi + +VTPATH_OLD=$PATH; PATH=$PATH:$BUSYBOX_PATH:$VTOY_PATH/tool + +if is_inotify_ventoy_part $3; then + vtlog "##### INOTIFYD: $2/$3 is created (YES) ..." + + ventoy_udev_disk_common_hook "$3" "noreplace" + set_ventoy_hook_finish +else + vtlog "##### INOTIFYD: $2/$3 is created (NO) ..." +fi + +PATH=$VTPATH_OLD diff --git a/IMG/cpio/ventoy/loop/endless/ventoy-inotifyd-start.sh b/IMG/cpio/ventoy/loop/endless/ventoy-inotifyd-start.sh new file mode 100644 index 00000000..6375dc5e --- /dev/null +++ b/IMG/cpio/ventoy/loop/endless/ventoy-inotifyd-start.sh @@ -0,0 +1,31 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +. /ventoy/hook/ventoy-hook-lib.sh + +vtHook=$($CAT $VTOY_PATH/inotifyd-loop-script.txt) + +vtdisk=$(get_ventoy_disk_name) +if [ "$vtdisk" = "unknown" ]; then + vtlog "... start inotifyd listen $vtHook ..." + $BUSYBOX_PATH/nohup $VTOY_PATH/tool/inotifyd $vtHook /dev:n 2>&- & +else + vtlog "... $vtdisk already exist ..." + $BUSYBOX_PATH/sh $vtHook n /dev "${vtdisk#/dev/}2" +fi diff --git a/IMG/cpio/ventoy/ventoy.sh b/IMG/cpio/ventoy/ventoy_chain.sh similarity index 99% rename from IMG/cpio/ventoy/ventoy.sh rename to IMG/cpio/ventoy/ventoy_chain.sh index c1cc897e..2c52e60e 100644 --- a/IMG/cpio/ventoy/ventoy.sh +++ b/IMG/cpio/ventoy/ventoy_chain.sh @@ -136,6 +136,8 @@ ventoy_get_os_type() { echo 'suse'; return elif $GREP -q 'uruk' /etc/os-release; then echo 'debian'; return + elif $GREP -q 'Solus' /etc/os-release; then + echo 'rhel7'; return fi fi diff --git a/IMG/cpio/ventoy/ventoy_loop.sh b/IMG/cpio/ventoy/ventoy_loop.sh new file mode 100644 index 00000000..6171adfe --- /dev/null +++ b/IMG/cpio/ventoy/ventoy_loop.sh @@ -0,0 +1,116 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +#################################################################### +# # +# Step 1 : Parse kernel parameter # +# # +#################################################################### +if ! [ -e /proc ]; then + $BUSYBOX_PATH/mkdir /proc + rmproc='Y' +fi +$BUSYBOX_PATH/mount -t proc proc /proc + +# vtinit=xxx to replace rdinit=xxx +vtcmdline=$($CAT /proc/cmdline) +for i in $vtcmdline; do + if echo $i | $GREP -q vtinit; then + user_rdinit=${i#vtinit=} + echo "user set user_rdinit=${user_rdinit}" >>$VTLOG + fi +done + + +#################################################################### +# # +# Step 2 : Do OS specific hook # +# # +#################################################################### +ventoy_get_os_type() { + echo "kernel version" >> $VTLOG + $CAT /proc/version >> $VTLOG + + # deepin-live + if $GREP -q 'deepin' /proc/version; then + echo 'deepin'; return + fi + + if $GREP -q 'endless' /proc/version; then + echo 'endless'; return + fi + + echo "default" +} + +VTOS=$(ventoy_get_os_type) +echo "OS=###${VTOS}###" >>$VTLOG +if [ -e "$VTOY_PATH/loop/$VTOS/ventoy-hook.sh" ]; then + $BUSYBOX_PATH/sh "$VTOY_PATH/loop/$VTOS/ventoy-hook.sh" +fi + + +#################################################################### +# # +# Step 3 : Check for debug break # +# # +#################################################################### +if [ "$VTOY_BREAK_LEVEL" = "03" ] || [ "$VTOY_BREAK_LEVEL" = "13" ]; then + $SLEEP 5 + echo -e "\n\n\033[32m ################################################# \033[0m" + echo -e "\033[32m ################ VENTOY DEBUG ################### \033[0m" + echo -e "\033[32m ################################################# \033[0m \n" + if [ "$VTOY_BREAK_LEVEL" = "13" ]; then + $CAT $VTOY_PATH/log + fi + exec $BUSYBOX_PATH/sh +fi + + +#################################################################### +# # +# Step 3 : Hand over to real init # +# # +#################################################################### +$BUSYBOX_PATH/umount /proc +if [ "$rmproc" = "Y" ]; then + $BUSYBOX_PATH/rm -rf /proc +fi + +cd / + +unset VTLOG FIND GREP EGREP CAT AWK SED SLEEP HEAD + +for vtinit in $user_rdinit /sbin/init /init /linuxrc; do + if [ -d /ventoy_rdroot ]; then + if [ -e "/ventoy_rdroot$vtinit" ]; then + # switch_root will check /init file, this is a cheat code + echo 'switch_root' > /init + exec $BUSYBOX_PATH/switch_root /ventoy_rdroot "$vtinit" + fi + else + if [ -e "$vtinit" ];then + exec "$vtinit" + fi + fi +done + +# Should never reach here +echo -e "\n\n\033[31m ############ INIT NOT FOUND ############### \033[0m \n" +exec $BUSYBOX_PATH/sh diff --git a/IMG/mkcpio.sh b/IMG/mkcpio.sh index c288ed94..301d7cca 100644 --- a/IMG/mkcpio.sh +++ b/IMG/mkcpio.sh @@ -28,7 +28,8 @@ find ./tool | cpio -o -H newc>tool.cpio xz tool.cpio rm -rf tool -xz ventoy.sh +xz ventoy_chain.sh +xz ventoy_loop.sh find ./hook | cpio -o -H newc>hook.cpio xz hook.cpio diff --git a/INSTALL/CreatePersistentImg.sh b/INSTALL/CreatePersistentImg.sh index 83f1e7e1..2e16ca51 100644 --- a/INSTALL/CreatePersistentImg.sh +++ b/INSTALL/CreatePersistentImg.sh @@ -62,12 +62,12 @@ else fi # 00->ff avoid sparse file -dd if=/dev/zero bs=1M count=$size | tr '\000' '\377' > persistence.img +dd if=/dev/zero bs=1M count=$size | tr '\000' '\377' > persistence.dat sync freeloop=$(losetup -f) -losetup $freeloop persistence.img +losetup $freeloop persistence.dat mkfs -t $fstype $fsopt -L $label $freeloop diff --git a/INSTALL/EFI/BOOT/grubx64_real.efi b/INSTALL/EFI/BOOT/grubx64_real.efi index b653327403e6504b08629d627fde8f2c5c6e7689..eb7a847189b08fabddf84cadd0d7cd1e263d3460 100644 GIT binary patch delta 135202 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≺SQ03%d@FDT(xoYM9IHE}v&_t254a1)A9t=8je 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 diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index f2ea24f5..d59e46d7 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -17,10 +17,8 @@ #************************************************************************************ function ventoy_pause { - if [ -n "${vtdebug_flag}" ]; then - echo "press Enter to continue ......" - read vtTmpPause - fi + echo "press Enter to continue ......" + read vtTmpPause } function ventoy_debug_pause { @@ -30,29 +28,20 @@ function ventoy_debug_pause { fi } -function ventoy_cli_console { - if [ "$grub_platform" = "pc" ]; then - #terminal_output vga_text +function ventoy_cli_console { + if [ -z "$vtoy_display_mode" ]; then + terminal_output console + elif [ "$vtoy_display_mode" = "GUI" ]; then terminal_output console - else - if [ "$vtoy_display_mode" != "CLI" ]; then - terminal_output console - fi fi } function ventoy_gui_console { - if [ "$grub_platform" = "pc" ]; then - if [ "$vtoy_display_mode" = "CLI" ]; then - terminal_output console - else - terminal_output gfxterm - fi - else - if [ "$vtoy_display_mode" != "CLI" ]; then - terminal_output gfxterm - fi - fi + if [ -z "$vtoy_display_mode" ]; then + terminal_output gfxterm + elif [ "$vtoy_display_mode" = "GUI" ]; then + terminal_output gfxterm + fi } function ventoy_power { @@ -401,7 +390,7 @@ function uefi_linux_menu_func { fi vt_load_cpio ${vtoy_path}/ventoy.cpio $2 $1 - + vt_linux_clear_initrd if [ -d (loop)/pmagic ]; then @@ -501,7 +490,7 @@ function uefi_iso_menu_func { unset LoadIsoEfiDriver fi - vt_chosen_img_path chosen_path + set chosen_path=$2 vt_select_auto_install ${chosen_path} vt_select_persistence ${chosen_path} @@ -512,8 +501,7 @@ function uefi_iso_menu_func { vt_iso9660_nojoliet 0 fi - loopback loop ${1}${chosen_path} - vt_parse_iso_volume ${1}${chosen_path} vt_system_id vt_volume_id + loopback loop ${1}${chosen_path} get_os_type (loop) if [ -d (loop)/EFI ]; then @@ -548,10 +536,8 @@ function uefi_iso_menu_func { } function uefi_iso_memdisk { - vt_chosen_img_path chosen_path - echo 'Loading ISO file to memory ...' - vt_load_iso_to_mem ${1}${chosen_path} vtoy_iso_buf + vt_load_img_memdisk ${1}${2} vtoy_iso_buf ventoy_cli_console chainloader ${vtoy_path}/ventoy_x64.efi memdisk env_param=${env_param} isoefi=${LoadIsoEfiDriver} ${vtdebug_flag} mem:${vtoy_iso_buf_addr}:size:${vtoy_iso_buf_size} @@ -679,7 +665,7 @@ function legacy_iso_menu_func { loopback -d loop fi - vt_chosen_img_path chosen_path + set chosen_path=$2 vt_select_auto_install ${chosen_path} vt_select_persistence ${chosen_path} @@ -691,7 +677,7 @@ function legacy_iso_menu_func { fi loopback loop ${1}${chosen_path} - vt_parse_iso_volume ${1}${chosen_path} vt_system_id vt_volume_id + get_os_type (loop) if [ -n "$vtcompat" ]; then @@ -716,29 +702,99 @@ function legacy_iso_menu_func { } function legacy_iso_memdisk { - vt_chosen_img_path chosen_path linux16 $vtoy_path/memdisk iso raw echo "Loading ISO file to memory ..." - initrd16 ${1}${chosen_path} + initrd16 ${1}${2} boot } +function iso_deepin_live_proc { + if [ -d (loop)/ ]; then + loopback -d loop + fi + + loopback loop ${1}${2} + vt_img_sector ${1}${2} + + vt_load_cpio $vtoy_path/ventoy.cpio $2 $1 + vt_trailer_cpio $1 $2 noinit + + ventoy_debug_pause + + vt_set_boot_opt rdinit=/ventoy/loop/deepin/ventoy-init.sh live-media=/dev/mapper/ventoy + + set ventoy_loading_tip="Loading files ......" + + linux (loop)/live/vmlinuz boot=live components locales=zh_CN.UTF-8 splash quiet + initrd (loop)/live/initrd.img + boot + + unset ventoy_loading_tip + + vt_unset_boot_opt +} + + +function iso_endless_os_proc { + if [ -d (loop)/ ]; then + loopback -d loop + fi + + loopback loop ${1}${2} + vt_img_sector ${1}${2} + + vt_load_cpio $vtoy_path/ventoy.cpio $2 $1 + vt_trailer_cpio $1 $2 noinit + + ventoy_debug_pause + + vt_set_boot_opt '@kparams' rdinit=/vtoy/vtoy + + set eosimage=loop + set ventoy_bls_bootdev=/boot + set ventoy_loading_tip="Loading files ......" + + export eosimage + configfile (loop)/endless/grub/grub.cfg + + unset eosimage + unset ventoy_bls_bootdev + unset ventoy_loading_tip + + vt_unset_boot_opt +} + function iso_common_menuentry { unset vt_system_id unset vt_volume_id + vt_chosen_img_path vt_chosen_path vt_chosen_size + vt_parse_iso_volume ${vtoy_iso_part}${vt_chosen_path} vt_system_id vt_volume_id + + #special process for deepin-live iso + if [ "$vt_chosen_size" = "403701760" ]; then + if vt_str_begin $vt_chosen_path "/deepin-live"; then + iso_deepin_live_proc $vtoy_iso_part $vt_chosen_path + fi + fi + + #special process for Endless OS + if vt_str_begin $vt_volume_id "Endless-OS"; then + iso_endless_os_proc $vtoy_iso_part $vt_chosen_path + fi + if [ "$grub_platform" = "pc" ]; then if vt_check_mode 0; then - legacy_iso_memdisk $vtoy_iso_part + legacy_iso_memdisk $vtoy_iso_part $vt_chosen_path else - legacy_iso_menu_func $vtoy_iso_part + legacy_iso_menu_func $vtoy_iso_part $vt_chosen_path fi else if vt_check_mode 0; then - uefi_iso_memdisk $vtoy_iso_part + uefi_iso_memdisk $vtoy_iso_part $vt_chosen_path else - uefi_iso_menu_func $vtoy_iso_part + uefi_iso_menu_func $vtoy_iso_part $vt_chosen_path fi fi } @@ -755,8 +811,8 @@ function iso_unsupport_menuentry { } function wim_common_menuentry { - vt_chosen_img_path chosen_path - vt_wim_chain_data ${vtoy_iso_part}${chosen_path} + vt_chosen_img_path vt_chosen_path vt_chosen_size + vt_wim_chain_data ${vtoy_iso_part}${vt_chosen_path} ventoy_debug_pause @@ -780,10 +836,14 @@ function wim_unsupport_menuentry { } function efi_common_menuentry { - vt_chosen_img_path chosen_path + vt_chosen_img_path vt_chosen_path vt_chosen_size + + vt_concat_efi_iso ${vtoy_iso_part}${vt_chosen_path} vtoy_iso_buf + + ventoy_debug_pause ventoy_cli_console - chainloader ${vtoy_iso_part}${chosen_path} + chainloader ${vtoy_path}/ventoy_x64.efi memdisk env_param=${env_param} isoefi=on ${vtdebug_flag} mem:${vtoy_iso_buf_addr}:size:${vtoy_iso_buf_size} boot ventoy_gui_console } @@ -794,6 +854,17 @@ function efi_unsupport_menuentry { + + +function img_common_menuentry { + + echo "To be implement" +} + +function img_unsupport_menuentry { + common_unsupport_menuentry +} + ############################################################# ############################################################# ############################################################# @@ -892,6 +963,18 @@ fi if [ "$vtoy_display_mode" = "CLI" ]; then terminal_output console +elif [ "$vtoy_display_mode" = "serial" ]; then + if [ -n "$vtoy_serial_param" ]; then + serial $vtoy_serial_param + fi + terminal_input serial + terminal_output serial +elif [ "$vtoy_display_mode" = "serial_console" ]; then + if [ -n "$vtoy_serial_param" ]; then + serial $vtoy_serial_param + fi + terminal_input serial console + terminal_output serial console else if [ -n "$vtoy_theme" ]; then set theme=$vtoy_theme diff --git a/INSTALL/grub/i386-pc/blscfg.mod b/INSTALL/grub/i386-pc/blscfg.mod new file mode 100644 index 0000000000000000000000000000000000000000..8be07603281aa769e3da3d499e5478c9255aafe4 GIT binary patch literal 9916 zcma)C3wTpiw%%z|`oxrn3Ji~ofKY`(My|Y{z_8AB|xIaRdaM+<)z}leWRR-#w80 zdp-8rYp=cb+WQ0^l$Mnm3WuNB;SKG znUdFs)Q4{~QrP&!C#h1WYW+|>6qUNk-xg!i3w3WOB3DGo3bULK!$<3fn$+2|{~w8j zDjk8aI9%{X4y5V_YS})uOZX*UU#eM;XyDwDb1}L&=L#86_r~81CFC4+dfaG<#52^c zVEd$gkto0le4_5ttT{y=EaIlrz3Rorh&)hO=KjpaL~{irK25{|J@vuELuVve9q?~3 zH)A-f9_#t!J2-t-Ux5M|w@(O0a?A784)uLY!g4sCA6{yBkJ3Z^Ye`e)R_PR+xF^tX zYMe4==2!A(!P5omMdZ-Ro`r}PQmnlIaX)}r-NF6ckJLaenf6GhdNyKMtfuuOvO{Tx zjY|1t^k3O*=rJZctADX1;@e?)NU!Bnh%xLUPMu-L-_zoRbul#_BL9x62elQ2BJN6d zvmw?Bwq-wkGxcK6Xg<6=Ty0COj#3a$EmTg4X-{TjL^%_fJy|xwivcBk-j@BA!^sW_ zd1CMq+mNreT{t!uRs;2OR;+LiKxiENiKNeUD%RvrE6Sa;?VUfMuUqKrDf*g)FX4b$J(k)PrpD7) zIzcYr3fRA5HiC|-(nxf0XG4SmJ@()YmC)Khp)1EffdZOnEU1&X_m31kD0+$|;$Cfr-*LYYt5qk}Ws6#%u zrqC`>@mXjp6XRK6E5+ga4B_R5_$pqFny%k!J<*ZPng(sPc6Auo%*#qv@IWGd=gfmj zKGON?cPJ_2OR@Z+chOSIj;QCv%z_u0R(8Y`>IT0_Ie-HfqBdn z;*Hr%X|Wt9`pLZ)jwfS~EM;m}?Dw!hzWq5KL;wz%_UsSFrmCL?zs=oH)Rc`PIwyBS z=92i|)vuZioHA{hhY=RW&jwF^8thp(XZVKfB~96sR_a&r{9fk5CIc}ok=PLOX!cYE z=+96KaWtfMaF26?D`lpLtLRG091znXQQE4}n8Fuliz`SBp<9?LRU_*PB>5=!)(xmqA z;sKXi*Fc5m3B~`n5UfmWFeauutCDrTBdJ{sg?>gE>sD zpm8?P-W%~f=d>J>+ zG0We8ADA&#{;1Uq2lP&;vx>Pj7c_*utbs`?b`YY#0|qAltz!TyZ5l8qSN@jUDk)f? zN-g1`At*4dB!_oKn$J^9a$4wE(XBt;e+No>myLiY<0YnTbv_17o+RsRy&0lOEowVgv-Ekl(DBKBuq4UM0HD_JFlv78MVr&(UY$pPi)v^qXo@-G! z)HVuw5Tt5t5rrr@s%C8o9X2)IfPOzVHNFfTZ2)P1LE0T!iC+2Ds8%XkQad~eOI_vR zvLj(@C(LcXfDIybgK;v90)^>33=WPK&3Xd1LvC!SR&pk`7A+i9p~FfRXJ~Z9Cp}$% zNq8Ds$<@01sCD(KE#_*mA3^7;klf!tB)4d#MuZp(nxPI;ON{E>#@Rfc%B_01q9t?_ zVetu9S=!p)(rDFBmNaQMjAijvM@pyK>8Hv=r?*~#2^vfof z$k(rg&YK!XA-hEir&ktbA}=9As!9m1sgX)@xU3V0^4Xs2kTWrgKw#cPQ|M3Gklbx( zErLdBQz-d3p}z!Y-Qf6iTq4684WZ-8+?Fi#(l-TakTSU?uOB_C+(`;f6Ta5zVZ=_u z?um^82a8bQoIrAZ0)K?*^llhLKUKR?LzKMdF*u7+G@ZAk`W)`pCz<0Yn!HXbCf?}< z-t%dEtN*~w_u7{E=&w6Xl_qP?dl2EON@}Wd5^k+@mZpZN?>B_H<^(*8N)b|qW>`8= z{&p^|E_5G5?O(GyQGsoa+nYSuc~{Cvpq~*qC-OtNfQ{csmzt#S++zw-!|OO+--4ut zGD>$>+KM5ag`k~pr)&>IPWQ&`c`6Gyg}9diD8X_dygGq1ftea>^pS!ahr;+VoCAS| zSD0c7G`tMqQ7FgwCEzcbwOy08_MG@8kwD2l8I?LAW17;AvY<-OkQc;o9!+_10QJAu z3yh8%V>hJ8pws8D(WM>8y3oI&6FOtEiMm4P7pdNduIha}Dm_j^M5XOI@Z(ej-f})F zHS6r>bl61@qZbV|>HHY(ys2?MRgQ)hOfUv9EmC83Zpxpm!oM zvZK;YnzttH6x>EldZwwc@vuBOaH&`s8Ll(%>r>MZum&|ir)jd!hR=3Gi0vyv=0uUg{m%s0-HUf;)Nd?b!IOPMvcb=RA&=uyDCSwRVP$ zq26;++7&vEci*mfrY7ys%66#+&DzQDl`}gV3bnGwwPg=o(Ue_k!6OUer!{F;)W{dD z*@88X02#juq{epq z8g?_~M!dJYh*^vK1Gc~AcT9{s*}UMZx&Q1d3N^f`x5CE4K%#O z8FJ@*j~>5;ijae4;#8sjf< zzn5xjnz{W&-2O)?`?LR<{hNjTvAW%n+%6exY5f$v;Xy93zS6AEg$~QvE#y`_o8MW~ z&Wehku0Rs+NGLm<{|#+DxO-9K5=uKA0P9%AI+l2Y_F&=-+HhLKGpn?+?V5EL{kTEz zf#v0^63PkZXmXIBcFWRTO{T3_yyOj9lbZE4l%5l~UEt#acX1TE0_82bU?>)a7dko! z5>g=c?YF27iP-XsR0)w}p+~`pN+;`~h*c$6>D-2I-8ZeDZ^%xvhv~-h(d~P(pnn=$ z&c~)w45ZilyhR014|Pt0l|CoNV(hHGbztN==DZanucIFuZpuSFPQCcNKqcuau?@<6 z?k~_DUA>=voeQ4Mc|KLYo+tkP7{#BlDxbq9J1QL>*|!O7w$|;h?89?8{EXE*d{wn| zjMey*wUxDAd!@_cl9}w1-45o3u-fh2V0QVDdagw10I zKX=FEm;03I$d1FShdUT@Yre{v&=V)_ur7mimSYyYBq7azi7OF%6LDzC~muF zf^4pK!Ir2Pdwu3b%PP#e?;ghn^LododYjv9lg;DnW{vmbZysA{x9b|_4KCSf zcG<-UQ`}yg-Qk-;y)nxvY~nbd*DDt>GqXFYZHilF9uhAePi|CseLl>U ztwk3`{a8I_Yg_AfnC}_ypCGjS4w-rD93DLkd92RoT}$n1Jr;JCkNK-?9xg{LK+ocF z!kXCiB{BOPvf}eNFbAK{>&s(PXvC|0m-I=PH#mF_9wo1WFu6RiHpyIVbGz5ts@9uj zFSm{bDWO#-PsHra)jn^n87|~8NNc>Z*$GQ|% z5&S+JOdbhRS?{ttym?qib4~TeI@=~<&Ry?t)aAK6e(VKv&1RQ3kH-Oq^gnq>Sfm{- z8f`1{cr1l|mY&$R*VcJ`vUw2#WM0NI&|FdHsB%@is<0wnkJ;}*upP3$m~TZFSI53w zc6*7myh570qqsf06`{=rd{bblM@2IxO?Jomaod`(*+xC{yH2eaIR5<;_S9FxEY|x0d@}G8>LEgG_OAt6vCbJIaDO5k#Mmc<;~4v#Z~|lJ z35VjXgRp?H9NY*A2NObnl%O+Fa>)L*Km$HSf}Tc*VsaQyx{m^G4B{5*6o78ERFfzJX-|2ITK?@hr!M11r= zD)2i(_?L~}y$MTz%3R+_X&O%A=b4ZABgq29!Pd>5;%qU6BwH% z==p+PD(G^7tB8;FSTE>0ftv+BNOJhC65_mmlK9vs&kFfYfv*aD4M_U$5So!E#E1SN zLd5A)LipKDa`<;f&@@NlXA2x8@H!ybn?f{d!VCUB*|yMUxuML3?Z4TNKmKP1Pv zj}pTE6U4{3zakp@`~|`Poxnc|d<#hSb`y>M<4{XTzlacaiUrOPI2TCzO9Wjb&@HfD z;C(>S`qhTOs%kfeiv522#IY2>Ley-xhdSV7I_b z>~-3&3xPCFDbeU(A?Vct*9xp5IsDy1h&+3a5c@ttI1cM6=nI7Kmo6v7A4dq@bb%#; zUjd|X?<5*|_oSfPh(`Yd0Q{~+*9fjvNq!x@3!2)rcFh&@X3Tp*1*M$k7Bjkv8O8hLz|;NK%~oj@;; z`fU>Q!-Uv(TLit0>hBEZ4w@Y9!gp2Ny-S5F(F|W u^a5buXu$s#)8j&ZP>hpvMU$;YUD%T}0y^2m*6pWv+c?~lsDpTtdjAXli=5#A literal 0 HcmV?d00001 diff --git a/INSTALL/grub/i386-pc/command.lst b/INSTALL/grub/i386-pc/command.lst index 774f3c5e..832cd8a7 100644 --- a/INSTALL/grub/i386-pc/command.lst +++ b/INSTALL/grub/i386-pc/command.lst @@ -1,6 +1,8 @@ *acpi: acpi *all_functional_test: functional_test *background_image: gfxterm_background +*bls_import: blscfg +*blscfg: blscfg *cat: cat *cpuid: cpuid *crc: hashsum @@ -106,6 +108,7 @@ help: minicmd hexdump_random: random initrd16: linux16 initrd: linux +initrdefi: linux keymap: keylayouts kfreebsd_loadenv: bsd kfreebsd_module: bsd @@ -122,6 +125,7 @@ legacy_password: legacycfg legacy_source: legacycfg linux16: linux16 linux: linux +linuxefi: linux list_trusted: pgp loadfont: font lsapm: lsapm @@ -184,6 +188,8 @@ vbeinfo: videoinfo vbetest: videotest videoinfo: videoinfo videotest: videotest +vt_set_boot_opt: linux +vt_unset_boot_opt: linux write_byte: memrw write_dword: memrw write_word: memrw diff --git a/INSTALL/grub/i386-pc/core.img b/INSTALL/grub/i386-pc/core.img index 7232ad16d3752f46c9fdb716cbe8fc61f2a551a0..27043b12ee37bd598a784b0f2a8eea258347b0f5 100644 GIT binary patch delta 314900 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%0D|hGcH*8|>CJxJo^}GTI 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¯0m@m&%;WnepOAbipGuHX6URHCqwdZ)Y{>)p)5;qPoX{x`|A>xb+v

1kb{>=Arwjv%yTa!X_9khib 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%0DY-7A#u>p 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%0Dnx97e+m?7B^^^@yQREEvR~bBlFePAyHqd zn@8nbmcwu4n^f6ZEgX_eaIai;Q`E2A-4dVNd7TVBFg{H2(GNhpu>^r+WowKrn3!ML zAcNy`R8R_5@>Yp_gN!tbT%AC;AD9IB@NAjcGTf{M6jpeX_2#G=CvS37;~D+RNq;-s zR~xaamu&njIohj_q*1veoj(!K(}(`)%7cBm)dR(N3M;oR1{grfT2Cpn7zbyhs0|Ev zgK)>y(lL0N>pFr<%)IUZb(8_7W4q`AI~`F@|lAQ718__dQv;=b!XR_ z(e!(jSex^ndzKu(D18#7(parC?0=oJJB>`#Qq5YVwpB zjT7x)AJA4AZpU}l@ar2(cA_qia6=G|Tyd5obDVeBV1sb~yRYhVR%tkJGW!+)`w4Hf z*K+ebL0S`z$~3p>R&>qe(pM9e8j%i~mkPxos1MzzcD%zw`nWoA7n2(T%zyHx$>JGP zH<}zCoe%PT0sK-FR15D#2J1-wSsTTfk#C2QNKh5Md6B)MDK_p$q@6kDZQiiX)bDcj zShfE={pwKadd-}`%@51QDdG~^k0@JTNIB<^?Ec4K`^ZNXx<1n;*RH-QhfG*i{B$~z zBP?Q&1l5Hj_nwOX|0%g6V1KTSMn}Q@u><3I*}BV?IR`3&!E%T$jevgbI%i_gxmG;n zpZ|1n0fo>NSv75Rrti$x*ro!}$H>h=K4dlomE$|9isEyHOq7Old*R?3)ix=JsS#=w zvE_~4r;PM3v#aDkp<3nhJ<3n4P*t_}kpZxyZu60LiA0r>yl7Uodw-ZeU)P(I^=cEh}8$4oQZ`f%dRS+O~vKVfwe*w@jtkJCh3v=(ytu z{R%=Fe+{=@FuG9Nq)|3`$Xf4YAQ^;< zYk6KC$H}SInQNu)CgYh51-DILDdZ90_gEFCsLScGG|_KjQ%`_FB?V2>{R|#nz#2fi zKeG%OocIVN(}TGS<|UVyHse8y(^YZ)@YgN@{4x2(`U@|5mwzC8mz$39se8A=C2ht< zX4Q9{NRk&q#zS~CAizL=vsnS?xH=D%@HDFF9!(&T6E2PC<^hc(s9zs*7*>ju)R=WO zh--BrWAS2y_W1{1v}7JO{G7=xvUpyyX6M``leEaB3Je$GakPm_NgNreQD|ETbhDU& zO`B@Mqtp^8gMT^(dPNuSILHcSH1FFk4^rS&LP2w}_QfBMbV;`BN)c{PaUr4@ebbqB(J&)C^-P_=|v{4iaeBUC)}`A zicmYULsoTpFL-F$Ru~1>Di|3UPPs?F)Jfgz$s~;*K!2a)6DH2TyqgxExPmQVO_Yd5 zsVbP8iI$smZyw6xySbk5yS}Jxp;;)~AUsO$?_{2vdelk~R6;Zh5PWaCES zPKx2U}NV1NheuP+BfgrFqVDOdcj#6)#IxAExEg}--I9L_V+|I^! zs(*N}$A7#E4r{jCV4{CBj;0dmAevl2LL6P#;pTqT=hxz)U-_GUqL!|_=U_5TG?QKD zOU?*vi|@mCkwQsVLf1m)jvaoj)ye7_qRW3lN?dqehEfzKzqJ4>sph@qVb()CTylaP zy`Jo3B#Z?%w5KF}NV@ptri)I_7f3DaIN{+-=w&P4i+V>hkvMa*JMF;M>uCif+2tG~jZK&&`xLXpW@DRFDE>VsUS zvwzNs^tu0-Z~M3oln>spl>j$D$iJEuglB$ql3_IO-#3zg`mRjRRK-_#0puuKh0+P! z((FL&tnKFvMzqC@F*Ipuh3a~2bzJNgUhvy~9WHw;&FJX8-r4C*9CJI(M-xEVca4}2 zju-~ij9^7Z7U-UndS229<>_(qj?Irb0i)yRlmCA~$gpTql=1f7c6G?i!P!0mYyXT3 znZx+a+%QXM5l5kbv-yEq^5UR><*%8WkoYW>UEm^QE(27AhLKRE1@GdoP)>0s7Mj+a zsQ*TpFuuk-g6pC4$f3xHLi9?t5M#>jF8;tHnx$R;x#2YNxu%4geMhiEiv4Kw)5A$X|bPep?G~n4jC<&A|M*zjgClyo!ufrpB84 zpes;O)*kqB*w~P|$k95^>VzA9Vm(~{{S6{@&1LK~du8ECqLu_1GH`w3hVB)Xi_kMc+hgG@^n-Eo5>EnMX zfl3FtF;wQfOBj7#gYX{b4bHfzGG5yCsJl93_aVy;#0VkN9{(wA2GV+#pQ2M=L8X`B zujvnOWP_TV^}@p*PczoUsmJ>fWr%Yb?wLxtRDcH)f4Ph=@pok{RQ-;{zz;HQKjb@q zKZV$_VGPd@RR%`-6~vgr-{=T_rFMULv_D$lmx&@L2LJ&buJ41P&=|pI>GC2~*7N%+ z&zfLGv4_Yi18{s`!mF4>28GO64ybzGAWc#)&Tr12ldnbh*=``IowhwjPj0)ouiyfN z;FdjN-*H=VeL)KIUK>I#%Nnx)eQOdXDeOr%0amFG4JxC%_F}#1lnNHSFL{5gMyr{) z=v#@<5dlQ(vjZ}Fj+rE8@i;&+Hjt~-ElrZaec6oY#z?p(Emkp48a+? z`9TMpu4=6r%n;EB?kW`ljqWXHXxjEP!rJ0_%#0R0|D0XbAzpS)H!PvgKU=k^D3TlU z&cF6y2^uEWc#w!c1Ok69D+$`SW$Y}T?1bMR((b{BF)a6_D%LX86sO*wKNJqu z-YiYHNwgo~4`YhewnhrF-JF#XT%RNAZ=4w&gqYPE5l@aSCep?6EUSqE)j0w^^rjVc z(pyxcXlL$2+Sy>>kFzu_{w7V^__s<=462Kfcsl5^fmbX(kW--C)=7Ut`9=+~VeV(^ zmj6Zs`)d+!I6!qacN&xa=){pW@=D& z>QIjI`|mr0U3775w(uwd-R#f9Jrk+lv%EVxVb25F=Nnu^e90eRZ-%qJeVW4DbjHMIgqzPs<_-Ryh)1$dVq3_BV{q!eZkp$&^XZb`VW zd>x|;@7J(tn11aPn3V#KFBsu%akv~~Cd4sYaIRQ&KW2ZmISz7IxELFQKzzXJQQsf1 zUcDeEgyC-wUkltlbwXGZ7k8@Wp2YgpQR z>T48$W-@>5FyI&TcIgm4Gj+f{UBZ-vM5Xu8Mn)AA>MWQOy2G62f{j}o(Pq!f$BmTn zg)GSptm$459EWNwdR&rp;8S*<5vYtAdRRg;!p|=+DDA+)mGAERA~L_WPq4%{8#aH$jx)0wZoiYvBQZfw%O=oJarA{B zTggc)fJVE%2m{6~EC}fl2`J zNNfqcpaej^>+!1wByf-~n~(c9ti*@Lf<=D=F5u;jm;FqREa~%9N@4n6A?2T+{NmYF zJ65B+ptvLqAyCC9K_h}J@6Fqd#SASB81E+aB;JbCQVQ_M(ix9k;)?GkNjOyaYeo0s z9~&r!{%RGjhnWu3O(D+-m}l4iG)bZw(=u<}qM=k(C3iaVg7ir_dtr9_(PX{)pPqju zl&+&Yj4`VQyZfBf$KhcV-A1}3RQ#B$A-+CUTW#<2L`K9Gw-z){Y`6ZK)+?g^nN7=q ztboURA0fRXWEH9fSEIO+ra)uV;6_&V&&K(FT__jFgSy-fQn}kNwogN{(dl#67%00l z(-Pz;JYBb_35?b~%AIW)Pz?v5@fm*>tL#s<|N6HJK-7A=@-_w{j}>!inf;wQ4Y3A|+g!q$Ef9M))K(A=kVq=T123Q3HceF5uPT}^+uQuF*nWBY zT*JGICokCh?GiVzI)l850LO{tsm6OWqrDA_wWIBe-it<}x-mdN{PF8;+sG3*s zC!9Z^^>O(oYfqvx90tv(uJG1*cu_lI%6Km0}ztHUbJob4yZMFlnk(45&Gg`Tz z7i?Y*q+La=18Q(S4NjkfVj&t&c_^OMJl7trTH)3B~#RH^nn?}i?P-&9T4QcU@ zmr7yeP#S?kc6&S)*o|6(_(f{{$|C+6`zAyY*T>+<dUPWgju5;-2VtE^OF^Du7gb zT%Cr0sS_@}yKV`FfB|yTAF9o-4Gh?sVsuZn+whpC_!zhrKdv63RJwmf{Ey;J(gdAG z7W7jycpa=><#c3d!fGx42{(f|$xHF%#{^F$>IP#K86sCw7X7c^2=8sCAB?*K@#cGT zXpE5S!K_&mOyDv&Vd1fG>;u`=6O{BmPoL6v=p+Bu(QP_Ng=D2uP8dckRqDGl)c4NVOz@9fhI z6cR_xu^f3C@!4S>s>H*a#)VnnH%zB)wVRARk+YMZ8Hm@rP7`G)Y`e zGaoCsyuuhhE2)1WI1)0G!?PBYG9vd8C$svRY!F z-m<9Mb~PG8Ofg$F3bSdxvOo}%dO@2?G8#oj$-JAJph`ZkQgVImg)!(UC(3W_I0G+i zR?IV7{hfc|v%sbkO@Ae6&b~L>$ZLPUa3LZ!`zO6+9uzu`-8Rk$#n8kAIWDeB@7}+W z9FM`?OA`-q>F)rh9od7+eAprvg0>qI25Y4M!PUdDf8!cGFWXLHlP=G}L@j4fVZr`dJp%Pyr$s% zJh`_czbf+pH2l=aWyoPex6acSOIRL=Oo)HGoU(M`ni}l-qH%Y^m#3FMC6XccUYxL1 zAs!cKM|CoWn)~FTo$@nvsw#!~UGbu1^%2a6uev%2nG6EUNmWDVk|1E!$~%2bb%zxl zF}XQp-Uwdd1t{Kq{bT%u3-Tb9eVDL65KSt{N2I4zX-qGA%f0FbOF$szp8$z*QDnJdNVh?GQh26_lox zRFso;BT)z9+(EgpIqEHCx{ii$<2iohGpKvDN6=;E>d^gwSw=*x>ybHc4Iy(6YKw&Q zRFm}OF9OiKdI`q}a7y4P4(&0oE2w{u;*2s{onU_4({t=xlcVkHQN`D{!>Jxga_o+&-p>PeXQqLH>c7cI+vOHp*n6N%X$J? z`HB>O*swY95JxF7fvHmYiHxbptq1gkPji)+@}z+p)~HI`nh2<>>DrUP1)+b};|fkV z-Q5xmdOR37`zNK-kJgdNqbEq>L8OCOKC&TavCX>jzLXzfyw&OMG9?WH?w+6M3J83FW7L{^-Yye42E0wwb;A1Q)0Hm!-P7 zWsRM@Gaw_R<>nD2$Ay%qm_G3jfsrL3RT>m?s5;#5AroO;nMGx2u|9b1AD@?p z#vpmHmi~O-qw02m&O*xFHTik{Q7NiNOSjG}cTkIG)v-D;lPBu*2?l@vVBj$*oQ)4d z^YltjPVt%?EO_dC)fS>6isNcrzG$X%X|?T$EGv{Qg`0IF!DN z2G0%#oe%43F5=kp>$C_2E$-X44}!R^44UKd#G34pW7w6Tc}IT?`|Wl$&W^myw}&&L z9h#b~geDezx(IIS@^W&!@dzDIDSpwKfu|tU03&SK5xm=W4YzmVDFh-0ki;E8i|sW= zqr{gZ>4Or#An25Z#jBR^vor7$O!b7>I^KbLAcSS~EBv*#5}$DU%KA-JU9nZ>r`~TN z%AtCka;$hHJ|=&c7L0is?032vqxLou!g&4k;=`UUUSRp|R^*D!MC_chHqT@|lh%=f92$`HtUyul8DK2^kyC4%yE!z}uk)_bVR9y+*;br~U1Q_d5 ziDa1$&d#CmyJ3$oBV~w}HA6l349y0qZ-iw(hFv;AKq`N@r9(o#zACYFy|5`#`YPBy zg(5UX-ksRQoh_yWoH+&++Oks3$J*uWSbsAppq@N~L@LUgmbFQrG4`d~!3a_^W#;d7 zxbuT{{zEIzv#2)x7!(iN#|6^xZXi5#in-nE%dhPWbJ=9SH_%H`T$+5A*o~1Bf0TUM zCf&?q>PUaC^mAiplXf`ElOZ7}?+v7+kR20!nN}75E=U8g6t3FTSYUTh+1UMS+%Bh*FY)VVqvT216E#nYGR)SJmH}TC?ksd zS-)$hWJ z`?IR$0m((_m|!EFgmcd!2)~FPif?dwa__r-?UFZsEtrw+XB#nmU8rRG2Ydl;fQ@M6i8P8a6xPILI{^FZK8jEac5*0cHvo1ojK7BZXE!<9~b*G_k4o0P;aOh*r3qF>LnPh<}DX2g83r z?YW;n%u>zCn;uuSZmz;@emg9GKfwqJUb@Hl7Bw@mHF+BHSjv z*>2%86E5XFePrFjkjvh|Y0josy&bT`qHBbS3P0;BVJ?lWg7lDH*q$H_*%&Y(SQTao zw7Cj`c!~5+LIS#4Bpt}-6L{;hq$7m z=wjm34IcSnk|GXMdKW;`uF)wDrZ@8I+?z^hyisNkk82xKGt5Pp@h%?St5J0#@7dsW}e$<$*~|YxEIwtY;ewu^!0eu%WGj5~zQsS9>gD*1}R$>6Kr35hf}|N|DM~-}(9CgTZs#^Zm~f7s;iYbRxD$c0lOw=sH7kD;nm(85INm=D zt9*z^nbHo!v$|@Ln3c7DcQ?u`OYoNDH8M zlM=M5Z<-dBXTMaWn{`;|V$mt;i2+8(a{*tI*mE+)bid!|-P?jIZr3iGmeWs3u)t?~ z9L;dRD$npi5dtY5H*pW&vMn~*5=oNEG)RB@7dgv%v+V2ESP*|WnLh)S#`U=)&!2(H z6CNOk2Pl2~=aWr^(%=p~Zt9fMRyhk@XY*h*F}Bi1=vtOXwa=!OWirhrv_y|-6kS+N zxFBu=)V~>NdxM-}#}rPRV)4P0c{9(pdXCUY3r%}}T;)zeqSyB+H^)&t80!9BQwQ-Q^+n%+Mz@X-BhB8)E^`!o2h{u%ZDZNsscvr47^#ul$(} z7Buvo-ujETr>ZLNL>7%W(wx(0KF!lC-@|@njx&teI zk+Z9s2*8&6vGKQwcwv59h{=Wnxz7s2{izAx5eaa8i6}YC3}X*YZ=xi$!UPXZ+@;nB ztsy8Tf|-A8$ivqE8I>qzH_jY^n?Jzb7k>=*Y8-L#DS}!XJfnGLO!p<*?eiHNmqTWy z`2%rJS1y}n?5W;RrLV?F7Nsqw{sM)@fIO?ge)TbqeO#I>KMa~s1%XvT$5EMawMSJL zZpvD~BT|G!W>S>+d32#5zPMB2oLQBlv<@JXd~bg*HW5r?ZI|xYuYxdhF{t;@ALg71 z8Xy2z#-_-7o-a*ST_U~@0^;j}$Z)`#@$SQ0xN^M?C{kY!D@3Krat|kc>w+R1A1m2w zj(gbiqF=wjT9TOb>PT1e&@}V;o<_=Fm}Q8dd`HdQNBCf2NjJ#HdVu*4$7CtFRcMOq zp4WfJ>U>e4-z)#-W#RoXE?KCW6V4^DGRD4#F8E-HfmtX2%=HG=wV;pnvXOa0iiN8= zab78Kh$&ZJtS0dmi94SFIPRwW*HF%iK81+s(?PA@3BPXSL_sZ342qyXG^vBDHI~WK z`{#6&G3MJ)sKc;Jx0dSE}v9vAualbNBwW+EtUxsfhCN0V#nu=R>yh_t0ye+ooZj284T;gbasvC>X)oz2>gN1~zAKFRMUSdH{d0 zjS2E>_u9M02v6BrxP~|uw7Gh$Jqf`C{YKnu#+XS?r^OYpH!_<;4;M0xam`o5FS)dBDnM*Pz>3U+&F%HRck(`~khXg{f= zM>;H$&#E%b{+JGGA50A`Ntg{Q?!teEKevZu^PUS-*rv><+!fr(%xCrm$!x%`7~ zX)Uv4y`HimzT0s$h<9g$BN`qf_kGb(c4)kh0#q5i03h9PaG;W%pR|M2mZhiG{Wg22 zSbgL^_qN9=p~6pY6xjSOd6R~viEMp8ct$`KB<<}Wi~q4S2EhTUG&?pP4@Q5xODWh{ zaE1)Ln(7E|YUVJd5vuGm-?c9tsXsPFP!kavGU_A-@G6p0(SIKNOI{DU8XgL5?!XbTquC@oV~`BRXt z-)F7}pda@@j*Eg1y3J%~tx#$as)_`Mv1WsK(#TZB1DC@Z47ctPO*UX!E@}nZE2}{i z#v>wCNTrcx=CM*cULX=x8$JK6lS2~O59AC{RLM5MOp;GTR~*W}Wrsm!+FC%`tmF+Wx1|B1Y9cN4jYLH2I>*6o}G_ z*3I(=s?Qi^Z-4h^)78rz4j(7IQg&^k)C=?1Iry455Z07z>!*7q2yC}OAK}d&Ls)}& z*J{{o8nW5eRA)hG690omgs~D!ZqT!gBRROKEiCG;bO+2zS|NWsR!0e1UV>Novf=X_PsQGZ+-L255cp zyQXC_X_0SPx4khHx%vMjmi9gpP)f~?6c}Y0-&D&IUiEs?HKShIoQB~|uV zOyUo}cYXr@fl+_4bW>s2jaeH~t7|0Ig*xy1XY*H)v(pzK3JN0&C%gBDw8FnJb#NwL zwAtDYxX4AscC$A0Jygsyn!(m(3=?!8$sdluHuyJ~B@Jv3F>E-4IS?yx11mc?A~POu z;5x5yJ%`%mUnvP@K-f~=EPHkhzMzoFLuxitQ*y_!Y1@DN=Fbkq^`dg&{dUs7om_;| zkfMVMM6@t~R>i%Tn#J$O$Gyb=z@+-0`4mZxmc`Vh^_Y3eBl7&XmXpO8Ke?v)(T^Sm zV1GL@gAQPeJ@A7IgyX^Ql?Gd}h#IK#F{W0iXj@}fEy$+02ix;gj8KO|VYtN2Hb#Be z$IiD#wL*V9>7a#ck|!P$7RSryxWqF>!EJkQURcX1_>|^D))@jn(vuhLc$&u8+)+SO zxrbih7hN7_aae(pI;Kpt-c@{#`j2G(66|frNaoO2Uq1|Wqk2lBTX)(s@@)^w+&Rg! zZhj(gp{Q8-P6MAmU`w zeLr@9Kd>YKo#CCCa^E{Nr%6T^E@~d_2yNld6JVkmy8T*;`1m;T-SoAbJ(RcT^vqH+ z7&3nmDHhDtN(gbS7XI74oArH8M0*I99)0vWgfDI0!#~RsnlQb#1B7FV#UxXjtLGE) z;pufX8F~t204uyF+Z_0W2FGWWNoaE2JEcWcRUmsL)iA@>#|Ulf?xh=p${?a?-N140 zAQonuO>4T|+q`R0SP9tkWOK{)j|hp~521ge;Gj#wNURz>>%OkNV$Emj{J(zfEWro= ztDznFvZ^BqUHaA+)`K#bAhY74z=Nwp^)9t|xpRX?W34~b;PBdR^DP{fUiJu8p|mR| z3C`gXq)&@EczT>7I0DlzWV<+Eis7qZS^yNYiO%HgB{c!XW(BeX3Ca7vql-^HYIVElGjt#k1fD zq@&a@k>(ng)@3)?Lo>5>E9mn1QSE<*$THi^j1+XNoRwZza|RuB#?>7xK^Va@{bJ$k;el39gi$Eq2645Ua< z9hxJ^SL!`f{E%(4%JfS9RdWE5?1Xl4kC?Bt`aK~s{W!bd)tn$Vzo$~}jkkQ%hv6=+#yuOIHl^dFC3Y*P_TUqf z5KF^}B0r>bGT$|KLC&TlCBK7&>X0Tep<%cQ347J;_XkuX3V&01tp(m@%;^g`cAeE&~4Ml4x7rn#M(%oEv%)Tk5yO z4?L|kK08u}podUlx;__0T+vLD2tWh^i}fa5VV&`xopm3y!)8v9+CX!EM!CnN%P_%^Ism;WiQ-3GbpWuHnY>4S!AT4`O zp8Uw@8JAjQ4?e!8p#?i?267BMqic(U0yA?8B|$$=TZ1p@m^ABY!TtfkGY9iV}5;0tpJcn9qR(^qLH)_nKFJ*tWppdufLM-d&btE2rW7WJE%jlM9xXe>~K$}b@U|}OK`7U<) zQXKhj`~wbZ-zm)B^P@oY;r}Xp;(PU3YT_-xv)F^gjNI^=Ubt@ct^>fG#dkA8(e9Hc z|BcJUXArV9fPgf?D^UC6ILEdU3KbOQ)d_Ln+1x2FFN=0`4o80v_j`EG;;cVlC2(r; z33^)?w3Ab(wb6vVHUj$kjPy{Hx^riOC{WyrA$i^rka+b9Hk0{OZ$LTkwWys3z0ke znKN#s5-kM@19gAO5^Dea;~Y-t2WPrX};j@MqT4RY@qjo#Sja2(?(RY5mA;*G9O8TK8 zsFh|3hy$%J#`U;jfn?7@e9f?6=hB1x(A|jDUm|-Ukc)qOUvFfp5ozz@m>0nl(AVB_ zop#G;8ynyMW$^PBr9YaB+iO>{60zKqtw3}J_AU8BnD)wu*Wo__nSMyEpa;ACZ^T>1`n4ASr$asaAnO<0>T|K9e zlNgUkrUQ2+G3WO> z)*Ke!F{R3u>%rUAG-oQw@Ae8PG!9?f_R5oZ;cznDg6p-Z42$wh?hr%XQD{=man@kd zq(2+*xxm1=yC;^gQkE~jgz^V0si`h=eno#rG0yBXEGXTkh#eKLPkMjB zd~oJ{{j{r9m4|J%G&u;2DPQZzt&iA|u1{5hTVZs8hkLDvNcLG$Dy7uL=k4OYCJV6W>?K`?g2f)I3++0_d|ufs z7B}#c`h>@?CN(LT_V^OpfpblPJ?MWYpLbPzx-GS}inl~r_7xK~1}jV~Rq7wqf}%$o zdK2Jit5*VWt!LkN6ClRSPqE#`;ELoq>gv7gnS!p=99gNu?hum%rpqh)GR>#e8!H^J z8-cXx@U}m~#Kd#<-G)i+j82rwe`6Mt<{)7}%($5J)+UvQQSQc@G?Az>+J}FlB|S!CLFHT!Q2D~x{-c$2O3x9IHGwSw35!R$6X5;~_{oo<(kp*s z^@QEo<^_;n|Gv&X6x?kjU$lZvfGh~h=PF-n#et4Rs6OOQ(~G~Q`_zB!HF8Idt^!yu z2z-8iCF@$~!ikDAACyhQZ>`_vLOuo#V-qM6+}Kk$(J|m^3TC##bT^`2BjxR(tAu_o z6>&ld^JZFr9MYHT+3o~=vc-n3QXQURVQpcIwHn!ZtG1*pAWh*CF}FT{*Gid_vL8h| z!CKgA0sg+he8Yrkr-8fHs+2 zSPI%?TTbZK+@RI>BhXc)|33u6A-~DE5vKDcyt>C^CG;7rvJr$gKFu7$q9=v1AZ~`V zGb=d}aihX*1|o$4RwGFC_q$CJNZ@-qMQ-*ng)~v4`x?`8W!8TiNC2oLj0>(~E&GXn z6Eq(^e1f(xF8Lzreg0k+i)jO9oX~c|Tm2H0TE=owg8pNs=&af`&n_QX2PuE8_gu7m z0JP=rrITKY1)rPW_T;?eE|OaZ#f0S^E4FjBWn9``)8+q>CcI1N5pwGF?{m3-*1f=o zP6V97q#n{slrVq6gZ{G<>%`-rw2uD32uRXG^7iV@W6#St2N(vW<5Q)_xf1VosocKc zaEcz8Rn$E5W1?>t1TJl5oSUzPbB3`e9F|q3(JWCSup`fp)$FI2S_h^E%Oa49UD9X# z7KluMXLYzc`O!p^d{8$@HVovB>6VTA4Eb*Ja{SoD9yRp*mP>Oh4<`Lyz`Gg@Z! zEz~oSro}zxyefpZu$I(@xLcXPHw59&+KxrP2byT+EH^l_2>0r^X4*>V^o$xMN( zed#cy;1sUbHw2_ozTW*o@_exx`Gls}#cEN~e<~>;3veS2xBG3Q-0Cc|8U-L;T;0OT%%O`AWoR0}=28wqIvxMf!cB{AmXy^S9)R=COYr zjih)v1{V)c-74;l&;#b>=h}B=^xXV}HYrVztxB>gGhtYnmmO9yrU`9P)b&|f0O-o% zGYiNL*%aiS(R%TUAQ1N5WIYeq!88X-XTI9nEsY zpc8+JImPj~XhywC!J^M)YWjBtJ#IPV#$F|uZ8hYaZED?GT|@uUYk0}4n=T2F7~#eg zYyo&*$Ve-Qx9r#oC;qWP=%wcc8JDIxu(7M*PTcoI3ITO=)roh;Kg#7vF7yA`wRlscwJcDXHy8k@L!D@NH#_1?xWo=T9(T+7P8I zyEI`}FKf>{lc=xfo}V|156_CZ-o2GlQ(Gkmc3I39HiRhkq55mFSeyTs77NFoey7s+ zMDC+`ikVTg<>U*5+#O0ka6R2Y3z7O^-Q!+^6N(m_8YXtdvwQvJU4Zw7!TdsAbBTXE z_r|#3g$AkUTt9Ezpkq9Z>dqCh#>kXK2aNJd05+fXhUGnMBRX`*xUVV@NYD6$#kwF3 zonyU)WN5O6O&vE#se<9D52Yk1$n?{XdV*tb2zI(w9c+n?$8W-su$n#P4ta(+o6lE7 z^)qgVKn0%;T>nN}V=aag!^)yu&Ch>L97f!JL9jrKxeBe)6FQ#x&K?P?IomRl+O>Ef z*8b@zp*DeZ57~#nzlHjtc><59KvHeT+N}uVcK`cM|+~z$z?vpU%k8bl3V_%moqjc~}cHjL6(F=zF@*sR$5nDAsMa~a;M_e{Gxp&? zU{DkCUz>&hK5+)GTcq729D6v-R?80GHPEVvID!7Cn*boHK|yr^c7yQs0ap0reV2(A z?m*pt!3W@W_=2w>!|}n*QGaRHWB=t6;#6c8$mgw*yxGnC3o1XrNx*+GT?c0(EX6rI z9`<|H3}yqTUM$a5V}5$`Lbq~S_Vdc9b#e_{M$5H8&p^+ZdRa!Axg_9UCK)WbZKp~l z)ov_#Je8u8J?S^`3B0_~~zuV;O!=#K_*j zm3dGqP`k;d?V6%^&TD^rWF1l*fqmC+6zUta2mK<|>Vw=C!(dDFS|~$Gm&Axc^eJfgeVm39cI>z|?{B+EKR1 zF(1|4;M+rbD&L~vG*c|eqltv*teTpGO+q1LxP40UE`#vSa~*%hTxnE{e-}*JN@M@$ zVtXRfAn?XI@s)$Ud}6OqhapjB!~R&oep07xQ#0E7UsF3z4JW_{>vzPz(QVmJ2i9T< zs9$SSa=^n_bq86e`aJS%LVw}N1`H1ESDPJ$q6pyefinr)g(J4yBq^Rmui+f7YDe$F z#N_+;DflKt%|?F@&$7-5opDL3>Q5xuHv?xnD~6osw3;Y;Xth*}xS@4qMqc{6eRvpaU*2s1&=6&>Mj zw?st!0*4xp-js#5J>(CY#i6@?xz6fov8&49R{b_quKItlAiThj37C3al?@v4!81V9 z7^+`)GzGrx6Qq@muH04QIO-a*?zX>eT;+N=65Gmm%zb8%k4Bq+?pb0yjYNBE_rOol zdV64;=IAz=0A3jM=0X<;;$-Y|Z_;$?TZzCw?m1RG3RX_$x zBRC2z?8`06W?@STDLiWR+f@w1bqsG!wT9Dz9coeuJGVwV*^fJ1Z=t%N(@;dd+L1+H z4}Gw>#F_UZ!pvVpW{Pg5AxWk&p09%K^hmN7Rk}b*@rcH3Q9F=8S(-4xQf%-!ka_dw>rEHNx1Fkp}j`v#QlH zS#)E0Qw1h4UjZ>4i^dowL^8_0O=4UJCQZuze>c=?s71Q@+>K}$i?%&k6vWaV?RwUs zO-5`pqmY(eYo9`+B9Q{)qmt}acFEJ&>{{+-ju}+k|fl1b(xNbI0 zm>|QR4mq%2izlJ1(e`mxu40VU>+OGtq-(Y8bLiuNm)s+b?-r5?1}5Iwms*<^<5Yz% z1_EpQe_BK$v!D<#rh`hni-(7nEE>qe5BHxO9d`X|UuN{rEg_Qb2Nk{IRbA;*D8PJT zk0F9tZ*m*Rr+czT`FhU=DDzY-wmWCNMhlOMoOPi$XgIBS3*prz&VL$E8>xRLnGtjG z^@@;RWO*TxG7=9nn(EA~++nIx%_zmte;H}H{hN@&60yQuQiXZdo&`Lo{d`hmX9PoR zO~b@M_hq~8N(teNJD>k5@Lwhc7IESdFQ3&_s11DbP?dVi@UMwfGlq^EzDIi z`VoljU(n+gHxg-r8VVgv^D&IEv+!@4BI#E2x22FNeqzavN@ca++JfKcds)8(sE?b^NbgF;yuT0P>kt8Uz-plgNu@>9w{wSyG)?)%3X2ER4u1YJax#yPC z`s$!GNx(u$+hd{^$mJ01iQQQzK?w|jz7L1a*3uNg0er#kLq zSn3Ffl@nT8W1xTC(U1y(55KOWubq`6Mo*#gsr=bbx=O=4RLE&RK@B%_4F)qO-pGBS zkP|cmm2Tjn6Vu^f8{_ApsgubaR>?RVvG65$x?x9qX=Y#y{jVho_NZ;t!~5aL=^Tcv z{i|@6gLn`azFV&1`~xUr&d!VMmEckU&FwB3Ktu0rh4p{`jUOC1z2KtSU=D}=@Odwk zH$*T?wI~4)B__Rc8_u(T7r!+juYdz_JOC@2hN~y3Q5T&aIVPRJ^_E8_rIqfCerw-E z46&E7AV_~ENJ3pTE7<(RlsN$L#BIY6Gk0+gU}PsY zm`$v(qQG_d8p^QXWu=;I$E#tBEVq@9)MZ7GjOKquZAd6{Umz^C>t=&^~s_$<}*TRLsLC zJPF^yAX|FbMBi8?C_d*+eBl30@F7p|A8S6w%7{m1 zP>}x?>CX_{_9I;Kx`(c8vrr;;5?zeAeUp6ZXjX{AYx#f#0vH1MX@uti1sDEDCfSI` zhUTSRb%hOzht238IpOpLGTW#C*@XCC7m$B^f|sZS6Q^Jg-P0B-{RhV5f}60yYiVmU zLy}2HJRo|NrxW|5R#e-gN=U*m-=RvnjcRp;Yg=90WPjUkR!f-@n~|O{N=?t9{3i;? zn9N(idAG<1$-P{+4^R7@M^VR8bkT?cR_f7U%^7bFdgEKuW&J+Oc(6voc*i)g4cve7 zydJ+w{@F1mFiy^;=tk-TFLf3d^+HBKOW?v&6aoh7M{dqD(%1LxBfSlv>m8#&SnAdb zI^Ur!43X;%>nAOoR){N_u7?-+*yGh>X9yG?4g>L$cAN2&G*DZXI^4NhU$8Swc_D1P{8#z|ce^D4F-4-D_`fv7Q15Y!#4(&2cs$RU5C>F^>| ztF*^F#gqKhgbZ_Fph)RvBPxwhilo+fTRc2O)!i_y=J_TCo$*Hm1_d6Dt$`yBKu zDB4^A44JI>6^wmzspFke@_H=yXVj_TFTDOCdG8I|Zn@pD*<<`ffhz1^Vo|cDfxod1 z&FmUJUJ*gb)7!Da*N1`qwqk$PrlZMKVw)(BK4eneE$!tz101q@JLw*avB{DNK;Zrz zlhuffN^!wR$aQaDF*A0bHC0d*U zY}C-Xt>yJx9n+sh&w)5h*^_7YlSm^hpaj!$6z~mUH2KMb_irvp!qk6NLf5Xy$}@4v z*#z5C+2M+|oWaK?E!eV`MZy3+hn;Fs)9$%LLVooCw#wub6YDvFX}g^rrAwF;CKio6 zVxoV?z7UJI>jQZ)wS6!D?2+#6X?-&CBIVD~Y`985D(X<<^P=dqSAX~05YHHa3|C|d zVB|M-$kU%pZ(1o6UKTN}BkV5OUV41ufd21cHRB)WV^((x)Po;*zYeMf9r*jRrofl<*^lv20?S7Y)D zV3&Ac>7W@>F|h_4e-I)q22_fkVO$pm_9j$7hLpWUCw}Uri2X92yu5JpZKyb*(Cn%b zy|TC<5VQk^bQhJ_g-5q@Y<)Xz>9HowEFD2*pAoJle)Gf*qg;UjG*PqcW|T6&PTXF4 zug2s4@mGlE|C4_+e4Ec~aPu1njvC7(f;1Crv7n^&<*++ctnFC6Lzh5JP8`DJzFko( z28M;52C~%8{qh_x$R{QGw2t&s^@p1adM&i>763Uw#=nLr0r%sS$90^b=n@Ax%0ufb zu}gcsLittM*Q^wc<^J@2eF8MRr^rn|N}TL%qj0%2CWWl0Kt?wVX#+TSukUtV!1ln+QS zi2S}~wKq>84dyNEog7MGfjKkn4woG!rNlJTMN-w3#q7ua2cL*;6$F7YK~qT~-cz=t z%r^9{0Pr>6{fLNvUtVNhvpn-P53Y2NFLq=t0PLM?s?%RRTFpJ zG$iLD7b2TtVPqBQ%VHNFJX=rg4YDRNMq#u6yE~|io4qC@R`rwxINGVj>iiF0He@&e z4S%%>m(jGn24<8wMz<(SS6v>Unm+DpG16pty`cSFtETyX&A%d*yGAz?4gKmP>vG?q zGClq`i83A4{1Pkgq*Zce1Fs96Y#cO65Kx_uw>?lBIRBgwU#4C+pO{)nNWtO`8<;;f zOs%F-B+67Up>UY&SwyPwB;C;bT*;cF@A^Q()lhyoi{wa4<6~rYBb1SB#hLL2SUT#4 zE~v=z5!>8<)?@4f*%M;`L+SYC5OdkB0hYNhPBs;g{y{jPv-6euF zHFWUfO8^JuaJg!4NwO69>29c=^9BzIbVmkQ6C1gIZ-rnPgM`v5W(@NB-N_S9EJay2 zk#FlQl@OI<+~e1X@1Urb(ut1LV(m%VueTLo(4urAxORCb8LDk@D5L9pF}br1H09Z*)Z|i5SP^dh`!Vi33@UbDi_bi;1rG|p)Z~aeV zpX_k}NF^b(L9agAP0`don@YNXB)Ic{fETNi-q}roUu(;TS|_Q|5H!{oeb$B^xfvFOK?i6 zgIgu3z~}hMh0Olw77V3@=_M12D-%=FpKEGAQG`O9ea^Y@ZJ>2eW z6Mke(Ky4xUhb%-kD;n1pkXjK+B%3OCdId9*6AD!NG+n5O(~=PG7O7p{Gc7TIn8i0 zTe$6`^A5E3KQB);VMM; zcWk}U8{xW8llUY7aGlB4Lu-nbE~e5rI!_1npjA5-!^gi>nHeBZ7Y_PkDBpoR|~Kge?W_;3{&h2gn>m=a^P z_7?4(G4ylM1?%c&?4rI*s|{BKdBb=L(mGG1YZv0`d+78m4Dpse9QJoFPu4_m zxl2j)6S(4h@FI6Lna|y-EDxuDU;h21N5Xxi%Ct+K-DwR7|=F1lWS4LcybQGi3hRFAQ|YCH7pRD0h9#LkrGeSr_JOKuoxd zsHVuRX$wPK*s`y|+Q z7Bdv5m+_(Jup~yw1Nv3s@ibOJF(55YniFFhi5jf_f7b3ULZofnZwXP71y2o{H1ey2iE1Siso=!21h-K)!I@5|* zwl61<4r*k}_t*&&efzP0Y`gUKt05vfCm=<9?$(0Fg|I9>Heg4sr9S9cZS_%a5pA_@ zF#cm&Zq^TwX>)+_2bPVM@XB+lT^1&6lNHtssT_R^$|&mN|CJ6DKpB7=;$mHGw?3=C zV)%9Ya<*R1KP9jE4cq3@Ib9CoE7i+2oTNNeF$mM7ht`_bWE&iRx{ic^oxv5wop4^2 zb_scgyDb4Aj{vDnmCZhFXd~Fqx``~tvRdz$`{arva_hFjFJUZFg9#FmDO%2&Wxw;o zmB``B^vbX+VpYsgSWkY}Pgn-H7g7=^z#^Z5o$`wX*TWVa=_5M|c*qj{;d}prR=x3C zOpg9z&O}BTP7~XIpPghKOtmDg^C0za(C!tf-8Te5PE>xy4R2rpJx@M~$`vW=)`4-d z^VVw}Y|00ANA8~nA#vhIVVFylq@7XmET*j)fZk8vi;5iP;`58N+;<>Eh-*_90NUOV zhf*Q%_|(stLX0vE(Q6xQL{M+H3PAnRDLBWxHb&d%V4?PZeu%kfDgkjed=hOh_yHIo z4aNjt1H(2d_7;9o5dAPb(?+hYr~buGj8QL!6c8-~3@9%N8+4{hJHVH|mU`Oz0IZEZNn4-Ngg!7X6x(o(LkVtPLcIA|-<7AT!zVMkDd zb`9j`FgAJK3_!wf(!Mjq@C{|Cv{5xRuC~%B>8*l)!^Txpc~>bMH)nA(--}ua1Ms1b z`u4AA9E0!WE->C`-m)o&tj;``Wy(Y8uBBNkQ+8v*z-e-0yopg``Oh^6G0QF&NX68qMBLs8uy8a!EEM)0YRpfVneOup^ zTI`wFr7`JArRjw1lb{skk*D{Ic(`T39k74u!F4o1UgGe;AI0=hGU%uujLl6?AF*yI ztJmb@zHc-m|DW^5u-_w!keVOYF|t%&oD=rX2KqjCLeHhsB5%f4@urgqoZ?Fg zOrj0Nih~{r*$u7pLb60eYLpk6Bj=#_y-lr;@E-djsaswfB8jb#rU2rZt_&E9l3>3y zN0#l0=ts1}TAVX1%sVHXJi=659U`Vvk)$yR=_7&7Kgn4GQ7<|+0%99~JTQ&ySl%Cq z*d@x5T1;yIRY|t^x8S@px%Xg#W%N1XU|#mT*Rx$WNDVY;E;=XcABQ4!#)RT#FU|oq zmNE4PC_dk$;3(ezryaoqbc4F3K@Z*KlCI8*0pzDIz(pdmY*F4v6lH`72y-RJF&AJs z&YCs}=qNazu;Cu@TTgr)ZxQ|+zd#ciTDUcfB`}4YIZeldlE?T-v zq$tX4dy4veBcyY4tD66x*s?i+etvS^y3~-NdUS#zhQ$tYKM%era}m##lu0TwP&pu- zBuMXz=3>jrGoA=JEX2I^UtbUs9Uf62hi?ibvTS7U6e{qkFn9-l+u2v9*oi${jWPYp zsQbeD%=mp5RxWaz&h!!w57PR=i`+W|`+gdS&OK7?I8FB5yom7C`Eg?he13VleAO6V zVK4-h^p~x$e=yE5&RVA!ZdEW5WA*x$#f0+1tq^214}|%7NQ(gQg}+!OT}&WmFS;gc zrqY$4D6LF|dH>&kZoeL{r*kKpFG+Wp|I9(Z;Ktf(v;#rhMMe8}3_DT%T648bJ8pMT zfGT|d$+sV`g=CcOsLPqin7p?6jECxH5rLkLm6jGb*Z)JTl7%q@ga)tR2t&c{mHaVI zk&7=>B!1pfuTiY}iOFTm4{GGqlOb~K>zzt;q~w~c34W!2!cD7*`woHXe3lZ{TmNK< z;2nM;OFpc!ykcyIOwV;%WpcII0W|$|TTFZ=^n?F?nrf@G-X>uME%o7FC6qq#eDY%) z*r60X70|9J?d+atN$`|z5|wUm%`?j z#sH;{_sd&` zmu2GtaW6jX0Ew;t7p#~z8^Zmi$l{L!mHYW95Ah|ra4Wt;vm{b=5pk8d+aNvOmm|Ii z9UyVcBE9pX*Arw{VNVe;0Yw@0=ETx~ zBQ+R{TQG{BAC{CLS_ct00J6#VQ7L%LBgQd1ML?nh10xehqjD*>93!@prV)?g=MYnB zKrxd64nbSz#rYr)g0#(tRFWJvM2^GUpT}{_{87NXlv{oE7p7-{(?KKm`;7A6G|^Xy zGRpdYJos7qvhGvlKnTRrvZb&(o~dguF3f_N$w70a>$>Q|Nxl%j25(PwBnObVGwe>> z-_=eec3AY0XI9qm10ES_+g!`@tw;O3zwA<$ibgRrVBFap8h8e150ts5_UgdmOIryR>7zIZeM-Ma zjhD+B|KMxn9hBWXY^xu)3^BCv(7BXvp&{&$Nwlcw4ZKZc++j{Skgzen5$1?xzV)5*bk3}??pNlV zWKS0A*JW`Ouk&5gcxtmU_#S%EoXGNj{Lcbo;b~lqFxQKC)>Y{>R+uVWmHQhJ4+HZc zunMMyl@*D8c(Rj684OtFkSIT#B<2bO66hn!YyPg6H39Vj_;6d|$P? z`C76qrFNAH8cBi~kbkZz6xI4M3oXsXUqtr#6T477L&5YRKuqk;UcIs0u9lyF{o}uq zqxz+ndCdWS*&L?EX0T`c>n5A!kfL2J>RL+nw&kdWf^&WAYo;nz&2XlNZ?8xMEHFwV z>#N=RT^+hD4FjC9MM37L1(KmIh(S&oNB#o(q{%0;{0y>Uh`&AE>1J@QY*+TA{eUh|QsN$9k z{`-I}->h~d*wWzNmq^SRN>;)?)=T-g=L%t#I%h-y6j^a$M-2N!EKXzm$ckjEj<>Jd zkWlzq^34x!zPJd^_$HSk1pswXxd0=pFl06?uW@T8VQClHnw$6dIMrZ(-62rQMvE=! zQDq_{xxE$gp)5Gnn`zR-fV{FZACw|af(`==uemK^Y5@rVPzouPxSz&nslOdQaaX`@ z6xNSfiQ@&Bd5(7kQu>{DWN4C4IJB51fa>XD6|5JE#;ngGT@sp1uT*BG$faQ4YoLa| zyQ!iERkBlYBPJE4A{HKhG+|4td#hjXQlhu=E8{x8WBRODwxqw}BBEGvOBW7lkE7>= zDj*=64PWjk+;M!>Bo%Y377)v#@;L0%RQhl-*2D6N+AH%T_h)GH>*)w-O9?*3u2XKYyA10 z`Uf=L5uU3V=6dFq@@NefkI!w|<3wTowQ$)5*jhyld_Zv?a}{&!ifKw=9rsuJ-2;!n z#?0SU>ywa@Mwm2z=dk5>a|G?C?3bB)2xOgG{V-3$LO`B+c*D%pCj8nPVZ>4C<_6+< zUVA*gv#UsxidysbqnJ-2ubSF&O(NQW(u}k6Lk9x04Ci=HFQb%3-5?Phdx6aRT`(fD z0I1pccxSsFQ?~RbMkq&hYmY)cEI7oOPameud7$=h6Lh1I-UTsXrT* zE*p&Zb`_TKqsbC61ZnKth7X5%HR=Jk1`Onc!48`2MR>~6lZ)$15&c-iYv-}oZKxR? zp>N^#*wK;jNLl94z5%5zb3XX>S$!RLsW<#r<}P3k3rK*~SzvlkV$dxw>Vc4XMQ7Dz zyR-w!qas0nMKJIm2h;Z(N_6n0lJ5PhDTZEd0~IHsH@%ZYI965>?66%e}=m< zg6~fSpaUodePcTW;Xh0HXoGS$6C0bP>r}K_5j@*}TuyrL+x7dwtp&XEqDm>G0k#?| zw_#tu{k|oaA$W6|99K_GBRph;`a3?qrW17B)xUSS7Hr3%=6suvFTOJUC;BqmW-O}3 zn&m&B)dAr&fVoXWBtmv%#tnB6Su*bLpjIOvG{4m39HQy;o2yu;4=E%7R*d7e@+|{-gRH$@ zAbUH#p5@zt^cg|vD-o8iUFb^uvMc2<6T92k3@xyC@wussk8z*?6rx7tN>5*hnPTv@ zpG@uRx3dZ>E0t=)^KINMP}5zP2Hu2vaSN?~ZxcU|ek&>-kIsdTJ_&+_#;Pr+E*jS4 z(&m*U>}FN2!54CgZJsiIsBwFAz`))#fuR&1(60DX#!;O!#p z(W!|+tNZX((t%C6^hGE>4loxUP|K)Sm~Kehg=?s>CE*ud;VAz)779eL#gs~gXJ<~s zqg0|RQJn4DyCEr9JgvHnP~%2LXa|CSuQ{1C?Ri>#GOX*U7(?6^{GmEHQbAv>Ko7l)Lr@&_a(J5F&9n^CCHajsph2c%olo*3!B*FNn~c*|sVT=aaqEhiQ=ncW_mA`(|Ib zq1IQ^oDy)iF<-5jdPnZs)4DXS6KUNgB+0F(APrc!)4~n==%xOb6 zEP~Zy5MN-HHAg>4_TC^~9HlNG8@{m@&y_na%`%yA)+&L^2J1+FL_vetmMwu6?$IWa z6kah05f}q}2&2`-nr0YykgZKJsITURaTwGp@8;0dGzQ2%H%W!H=>*fxO)y-)0uKf5 z!yR>B{GkEj>i7DXZVCs-xmAiwRLn+iu_#Vp?V_08RAy8ird-dPS-@l=2(%Dy)FQmH zVlQ`Q*iKl{E!yILf}uhMkO(B-N$A86SpXX0;!?j1Y8k#4R_>Vx5I#! z2d?e^(#|9p{fwmd0hh^jS#)Y`l0x)WvzlSqKf=n2&YMtDJ4tO;(fjDHr5e_Yi0|nR zS1HhBXi@$#e-XNNHe>C6tpiBXAciU;^%PP@g#d*wU}8}(`@(h8{Y5V6v=E;c!1`m6 z!&SzWn5*1>3c|P?hp);XTVY@{D?;G5iZ+tHF|2ryeh2aGqdeVCi4>S?M<2V!Njc4+ zht`L=J|*VF9!K#>M~2KA+Ic^dpz*}3k=_sM$1-5tmE0F$-BA`A6=_`F$^cuiGB1?o zzza{u9(A-q5Q_ae9sn9w#ua5^qnE_H3RiD3e``d4V`s#{@O@7_%-D^g!Jxe1I@zx} zvL{yw?^r;R_8KAq&yF=NE)Qgj?w0#e&Uf(;LQTtqE~KB%Niy-`7sCbR-^Dc*qA}F* zw(;@tHn+8&NX#HcNB{Md?xHMVuO145oXqf&OLGd%$AMO`4kd@Z_13fHGsG8~yh0tz z@F+ZgWx?5axD|p_;6{`s%o4zT_pGnVmj16&tQ!CWKqnuqJw7QaQ?ONq5!csg_q(Wo z?ZOm$UrXfiTb$dV{d<~mR5K$~TF#&~lJ%=r$ZpXSh%vPC?pvs>4F-9wj6%j(oLTMi zTOjdSas85Aa>E*D#ne!=iFsP(b^WNBnL~hof?e3*sKNa%4pyErFROoYzGSNaFq!tA z5*s=>m0iI7+XPTgOsDH`+QGKEedN?JT{ZbaiIz1u)6MU@ck}Xd%3b{wLl}Y&=sBHrB5<1W^B=f!JY{zceD_zg+S7fzVPR zE&_Dmnp(yzIyQNe*ldoyKWU}-2s^b335^8!Dzekcf`iZ79AG2{S>5qS_;OaW?{+m0 zg&dis9?Y6EY~O#jR`!y&D5LLx`QSjPY1$jr4awbYBFFLp2aIP4>!5FIP|DHZ)~0yZ{2W@3f?~a#_ah6U{sKAdWwiBTIR+%r7?i3 zpOEvfRj!vFoD8(lDy)mnC_{1{ZZEiHoRzX@5T@bx^)ASmz{GqjHI-O@15yRjMgrSf zjg~s#a{YEim1}wJ$;pTx=-CS!-HG;{q+0D|wccU{03?DQKP5G|-2ev{1Y_Lg-!e#o z)!Ls#{4V=xb7U0GF~Rc7yj$D>rr<#s;q7(~!$Sj2HK4yO)s=hJ#0>K=Y47mfV*u#h zsnnFRN5jxCONJDMU9xFpE?O1~*}iWCPG?UDl|kHFb~Vd;z&S&l8WW6b6}=GGhQU+r8y}paj20&|`?7jzb-l`5M((idLh% zACfo2g%YO-U-%`2uXma&0j8j8LS5{#@%Tdfz0LUcrNyp>`kHl9>z%8J=T2P;H7yH$ zDOZ$ENY|sgmQz@NHNcE~640?wMB~y&B`Bm0at91C^Zi}hsq=~n@2lzY98U&+;qiN8>VT#A5-M0g?J!aB z{(rk|d;YNMRiv+eNnChZp|slI4Z(%o(gUoF*^zu!z(r^FbI#3Cxb=mONM&oKSsLXs zUlXzTC~Jp+1rw^5aycr=HYu3k`{pF?!KmgZGJ12FoO|_-n7F&jTcUo(LOu6C)LBw4 zwnkOlY^*GQrwBTN2RThFj8K{Pb{O`{l{G#=hfFpXEi+p#?^=ar+fz3JE-=<>ekUQH zXPy!%QeJj9V^LYUc-^F4li%~L!cqO>co<+qs**)7n_tx`r*{0WJQi~X`?y%MEGB1oic!? z=Ul%XaiyFWgAP)6`uJxn9Kc8R4h63M>AnYSN77*mx`Y5nt@h{h1z78@Fl;?5qCA&> zbWx&6_}{@)Z&FljvBoL(@fQ!Y2c@*GkO#=Aa*w+&p#+CuLqbaP+yd@_8KKur#_TKE z?`hvHV-tGx-9W#P(nK+@bmmx}BG~ltt46wTTnS=kDo~Ah^aju4bc``(e#41MHq2Mj z{65$0&G&@5vwtudu*uUMkl+^J5!`Nnw+XVKwKD7~8Ses{>YUvgd0|BRED1WQslf^f zPV@49MvgEbA3DU;=WZ(BUTenoVCG>7wRRsB4eUHX*5}!|vpW#;@2B$(wI!x%p1DW4 zKdo%HWFcNO6vNI>@C8rU6E)2zQ*Y_BH^j3NbbiEC%py{jT~ z`foikaGf%YBSIZ7Z5L^JAO53%^f8d9`y1^SxGeSYrtnpB_1g^bF?ELz!a#Y0ELL)h z@E5ZA*ld-i8ip1n5G@y@1NS`U?T6)EIQqNkw@DhZl7;#RKM~?rJ2&pFB@q&SZ@_{! zoU)gRx?7Nkr5vGst<_ZfmyHckONJsYnqq0M2dy#w$RrzUesJf(FK*;a0QbTg-R#xRZkN$AVnB=Q3dplRj17==V_89QeDA$GAAHqyRK!rxY%= z5j``&X{y_sjI+%2m80x`^Ue&f|G%=o`4_vQRIE`I5;-zP93u7X7VM( z0T`&~V>)atrysFgEp2ZQq?IoOb_5nzpBzfSVua@Uv=`ezS?{6` z4z}r*_JRQ3^%`Zx3tCWqK^wU2RO@Mh)r##&zf2DrShj4Zpq=bK!-#2wqxl1L#k@w|*O`;&{dW$3ji{BURm~EsE@Kgb{B&%%i$d#9BJ(bkidI34I z^1Wno?D~fhQ6iDKRJ=LhRQk3$7A->RG+o!KO-~&0qd8m|lM-f;nt9uVrBd-xjV7LB z!T6iv52e(9xmov`r~BGC2vu5feP^%J9&G~zTrl+|Zg2R+3()55y??C^4{wjY<;Fl3 zSE`2l@`mB;9q0S(3ydDc@(Be8;CeBJou3Q8WTVy3g3)i{ym3D5z6PE)W6>nKoh`do z1mst3qCZiGjQ_|^o-{y!J0UIJcDcnQ%qf`X1@;tw$6#RI`ynY6fgx75FReauTpJ-+ zlwO(y9A%lwlVb~`p)MU_(oh05+MP4|5!<5*S0ACmX93|crnd%p34CiCLc$0f-NYNe zKrw>Ubze#vq@{Sbo9S4cKJGtIi*`UZl7v65Fa1k=8_$C{oK(Iu1L(DlSH*ee{vS%1 zh*OAv@S)&3+2FWWj#%0XMWpYtaue+euYYM9OtwE$uRlF6nT>rx?FE_!9vCj^T3v^1 z^Cc{08V4MABVC>Ha6|biYT-OqQ&ioBc9_Bkj~$qsRCZI!{=iHnXE zIBU+nxvu>5X{b&vt{wHPy(Ks}QZ15&+KKzawZ-;Zh05UfZMJm^WuM3%muugJWR)L^-RpC;_-H zByGwP1<8?4gmLw6G=`NtikySDU&|my4R9<&)KmG~>un3$P38QIQYsX4-$EXb2Rqy? zyJ;!1=5?#{{;Fqf9&8H~QdDaY$k=XwZ)}6`PuQv90_~|ArVcs^Lu>wj`J*mjd6*ME z%v%~7tR`kKgT4@`+3yCgS-=FFZY(V}G{vke3fi>i??P{}3oxFvlH}RsbTmX%YsoY2 zE)P7%yI54BUPC6-4e=Wc-5oOfEknf3xB>m&0yn+dClX82wo7VQy#xr8V^ zDET6=5)2Y(s(4K7o&hQfTClw}S^E~T^Jg;aookjs1$#R%O9F4MzX?Q-X@Dav?JC@5 z?`YC52oMf0`v}Lg`4+P@|C(hIzgxQuTY|_BJoY9i1k+m3us`&L8`m1lWE$xYNk*Th zYF9SZ(aM!AV?_?Z#d8jE7N%N%%*5B%O6v&?n$z5Y8IoB{0%I)lVGYCb)oJ@!#e1>s zKoca!5*d?AtaC*<8jcZ_Xzguw&a(~H@lf;+7R2ZQCe*G`!T@-S6U;lFZ|q?ie|AwF+Z@pUfw^np+}@ zN+j@VuN_Jv*)xA!Z38|AEE6vF8h?&>0EN^M0)qI*Onx2P+6_>Y+X>+F*=koZDvgSJ z0l2XXj39KJL3-$d=5ew3r^`E~Jsc75Y4^@iY!#M$9UyU7moB_?v4Ioy(?BLH!y*t> z7_Y@<@%3XS>s~m)Ka4+rGXgF3v<9>yyx(=bJa$V~rkwbOnW*>_wV;|srrMURy#kZ>HSvzbiI~SkIqq=*|czJ%g6%b8LwbFdG9SGpjhH@ovFk{j`*N>lv8s#NgK z26>StjXz6hcIOZ6A>riiRL7qA@J@I98Gp2}L-*m;9^Wv3WxuwPg7{4zVc|Usu{(}3 zPp7B_1Uo`MboCR`&)bPi!Gfw-u`Nj>y}0@rZ_Y(835|cdbSpNk$}K_X)Ts#HJ_Kj& ztXdER%2VaxgDqR^=7pv-Ue!C@i8LlcD5g7SPCzw51ZI)X_C)tDFoYZEFFXI~R6&fK zNhh4%3*N+ko*QY&BPEv4JUwuKQ=tnpU*w|6&|u_64kD~Gpel@Tk1?hNzXL@w4yZ7L zHN<6|1eVfM%#~c^pad~4F~afcLNh%yMT5F%V%DiXSA@YA^KjWg41cKCrMTC!g*P|R zG$s9^S6)Trm0{%N zuYfzy?u5Kfwl5*MnjI=WXzhA%mD+PmtlbHtLXRc*=?I_55G;1z#%JztHMtLLp=vZx zKqdt1@JfY$%Naagu^FW>!6xT&m6KZ~D8fx0@0BJttS|qY%6YMm7ydGQaY}ipKM)Ez z8)4Lc*mmURI8;bU$kwu-w`epIGvZIQ%ANAC=bW+oRt26Yh;3Q|-L|~lk~7czSO$iv zn@>4N4mAz(CY0Et=I+3H5B0$7nNxk1wa<#ig!tulcxMN&F*faZtJE)Ze|QaA+%`;s z1E}$Pq9-fqQcAe%k|Q&|j^q4$4I6pChfL^yz$uFl$-54m2n&i9crVuCkb_jRhIec; zN(QQH)6^bSqKE>EVNOQjx4j0}^+4BkOXCjn^z+TN(^UXbFqyEZlZv3sY(g4;%|tkq zh4Pu9rIY5gR4F&$cYZ#4hB-ZQC&E6~zJ_Obn7pdX1m%PGsRwZAeJt)l{+`=^ z%O$6ts{yh+Gl%`LXHBGpxet;bT0yOc=4HC$<)#AXS8Wf2*edo4xH#b8NPw69I!aUT z4hWV6e+5G%S2J*`s!xu~$W0(YCl?j~fD*`GpjVax_Ass>P09P}Ujqp@A4a2nX#K|`$HzG}#x7@n4z(0EK-R>yQTslvPdk_h?p3(}wCw)y-t~nj zYRXf3bvl=$1>vVmywhtu7;mq6!~g&Ga>kjew=T_ z6K)}HRa+={8w9eBO`wQQ2~dM)CrQ8Mki(d)jwj9h&^N1SOzYZm!YmHGV4)j-1(ub6 zfAI`k5n?_SCq%lrWrcPmSLsGh;#%IpdrGk7m*M696C;uH#O^wky4p6A3eexjv&d(v zml$=`DAHsUg`@O^G|joD)G7Q@%71t|49H!?6O5c`!%-fd*A{|k$Q+3yPVT%b(IvF$ zW~hK`*=5!W#*to*)hyH*D?MRrH1;qI2z9pOJ)~-%FNz=+e+!)quJuY}I}WCr z0Z^1#@YSs@erSw&VQeo3WG6`yNGOmK!1OC10Qijm|6Y1j`bR9;W&-5RiFjio-! zAP8rzXOz=dr^f1k!l9w$8mRi8aq@z`YOMqoQ7IL;gTUZ>K(Pv6 zi&)zId2*RuEH)&Oi5TCnkCLHJbUVeLXdY~mHYTWd=rQAelFfox^8i94XFG_uctwWc zR$Pps0~2q1Lld)S=hOv<`S?n0yIsPt5SpV4f~7Z!1}Z}zNqiF@(e03)7kbeh1Ly-d zxSAr}m#sVUwgx72b#fndnfXePM*Z1py7AmKQHN0E+HqBOAx+*&MwH5v*f9E)QGPIt zOE8jgOPl0>miT9EhmX~U6X*%ygTcY3u8!T?Xa=!20w5%Y`OQ;w+i&6k-Mo3sSS&)8 zVyP+hdUH1PPv;~pbk&N0?HAr*7u(G$>Ux6abTm5Fd~iL#R)T)J&edK1`&1W; z8a6{FqIXS0Vb%9|lka}AC`#*Rp(F%FoMZ!udhpGE9ieK5@ZzL&a&T!@=t`E~kbUgk zC;#k%M#FP6G@sd)BXsanYJb&X{U}?hdnG9q7D+ir>e;|NL5V*wIXBGk6pj_Jb}vw*prbanp19|xZP3-6)hg*-!$r$I*+t2%H$NjBk6#tCIb2@vRF z*`c6J>+A^1R1yiP)DzaEp_~U+#evNIRE|yM@kO9^TFPt47TN_n5jAdCLFEjaNLo~X zDG`+9oqZf}t`;K7}jw@Y5NegWcR9tQzWPJ~`i+0k_v+6w30eCj6Ma>Ddt2*I9s zuaK)4nye8^E3E}Rdm|;`VwHt(UG@K@3SqXAhRqyh_oS)X_LLZoA(&1#^Z81=1d&!N zZ5Zfk$6|U46)liP^ja^jOgCe;Q9c!a8L(L~|B8wJL%B~9Era0poBu}{*n>!o18V;! z!Yn&t?D}jDOAgwQw%DlO55^t~VCkVZ+f(>^u7b)Oa+_};?d#7wmemIHKw<`;=LLI`R57%}A4;cuj}2~5ao>N`(wdyejn`H(z{ZKgU;{%Nv-TccXWHo$w2mg)}2wN8r<7%ggnTpd&u^MAr*@D!Xf zq7ukK4WX$*K&A-sl$K!}mMuzg6Z}=zdi`e+Pu^qT=qQgbT3oBy1OK0uYs>cwhtD$C z=IxuctECt%JS{$K_P^Ytg|Y+2%h?9I~w{`<46CQ10{o{!O$#y;26@}SIg6X9_>a_hYNMAR{an0JBT9-w_g?&(Sp;7#xUdTlO5>*7MxYf zGzJzxVJd&Xs(0myiH<4hANuCGU39rj3dH;GLqE&w_%fl2;xP?XH1_uPGoRJ&hJU&T z@zc<3r^r)*^9<#SpqKWs{F3`gwj6PlKvj;=^{6?NGaa$pR6$vPibMRaMq7>x2H%Rv zDfR*OPl9J0OGOCyg``9!mfo>g09Rj2*2r6ukIpKtkK?=wrpTKIf!cP{E<1)FVgW`bfNj?C!rGwVAj`RwzcRf+arBw_-kBW0Ht*vN`^ z%9p&@(152P$tB=_tySvXE`!mWDkL=b?>z4YRvuCg@Jt;}C~j+kX-mPaFxZ?&nD-xt zx|T|#NTa#XM%5DUPYU(J!FWu1c#-zTxU>jMq>eK|@6qhhtS(_|3R#o->;v>hPSJqt z>P8;f!Q|`-!ZSxOE&$=1zW3;}RVoEi80n!*V};u;>$#pk9zUle5zT z=i6KD;D@}q-$P9?$`7=z4I(L^ixT4O0b&vrQUYFo$?=OyP--hCp;MfqWQpI076LA+ zvfjcWWnwb`1>itktXciu)zum{2_2O~| zxR3tlfuZBFlk1Q&t8D7WVD*f25vwoz+Um1)mXk8~cJw&1kWV)dj5{2j1&2~hk$*w8 zt~r{${lm~%&9svMM85VCcWTQ%c77I=2)ig7sJGMpWlbulaE;ymS#hZ-B}uptFb+X~ zf6qe#3hb$xfv_bGUkcm`@A1CnF@wdQ!&?x{U|ZmQi#Tpu=mx$}Q%*@t*6O=tMPE+O z22kG$1y_de(qys^Q8!!6(K}U~5bI86VWSd6wV#hRNONlBMN7V#rvdQhdPK!2>gjjw!ZVpr7&H40l^p{nMCgm3 zlEHiT;PHj-4%JCw?qltQ#`dazmAJXp!s&=Y{pnEuH&BEMlp;Y`frD=I!j|vJWR{;L z*^4TTqb$2|a9v?!@WS~s1N~=>I}avHo~vKw=eHEU$MNw9xl`3%ceRC0Gz>wHOVDu< ztBtMx<&jU1>fbj}S;sw`!g3*&AoKM^E=Jt5a>E1g42%9)Y>0ssP1WZBJ3z$0e@ht$ zu~3bLaVT~luI5TTx)iPckKwy`<+RSCO5+Moo4Q4RlhHkqOZwR*G52|5(U@O@3^_(Y z?!GRr(pSa{a%l3h?dzHbP{b`QRI@C3n{I75D3npO**<3WfiXm`hd1f8s!t6uSVr$E zJ7EUo2mHLb(M+ZrlIU3h_70HCe?ROoLxqZ4?a`nE7PrzV0Js4m>}=P0hIA?fT7VMM z9HN~%Ujm4CYnx4hEh~a@j8X4Vj5mg!sX~!0r_Gc6h==R=ZaG?=_mJ3CnrnABUn$P0;!FtdOx$9OrpDsBZMhe{NT0Iv&=! zS9(mPa)9il?$+=hAmoiFb9>g6r{&V7i;AoC7(e^y2aG~i`5mWD;v|GFux=*v

qm=ECo~(8ezYT=cG~$_? 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ℜ; zsP-YyoFu7mB2N5jjj#iNO2%^7_)Q_#=YFmef9o)q&Q#QukP9wGRvuZ6%AX>WUDt>{ zu%16?B?xhlg|jbL+9e;m96BR(og0l&OURzF2#9;cwG^&S<7Mkuy@rl;xmrMR zup3|E3Mx3(QmXYR_ppZlB7TG2#L{H^4JyHrs_$(o?rqG2?^mGBSROy#rwUn>e;B}r zWJc|dWrm>HEY0dWQrvNvrKpk?wxNWD8!UI?p|64;ArCNnF|$&J4{a7fH5af_sBWY@ zcuIw|_&+4WFVTG(&1OI?ZtmG^0qBP7@dy~SM5AL?^!>v>@tE*8`$2b8T;Ix{b zb3&KBFlo|l&7|X2lN2`tnwI4Ef8;3?6}!_ot)7`LK8GWc;1o}|FL^)v(6l5F-G#5W z%QF-YU+*s8mk!0RJ~ye|$x7bc!G*zua#hoE0J}!^(eJ#WZJ2B04>X%0Wh~++D~h(r zK1oot?NQY@pPg<-%9uf+rto=PyTpI7)zy{RXR^=f(=>_I*itx6ckE$Ye;Vii;A%7Sg5LQ!k^GJ{Fu()x*n$eR&&flURb48yK9~F;IeN1+d&jpe6Vv@I zH6C&7)kNRqu(JsBj*wJre}>#nVRXvB;$2(q68F|+JzKXR6=I3CRL)bRUocB{{Al?` zdY{Lpsz0`YZS$oGBjfS^?g#rq)*-M^2%?zYj#^Er-IpYq8&z*8HAW+uxc1F5de3CE zDA-;S(%TMMQq4m@r~8@I`IW(GG-gn<>NM}}1;57^bd{FRAanr|e^44WL(SY@mf9W< z8BD2tn)RuR-fMx6J&O{?V4**A0`VE)#e=A`cF30pI8B?gCAjXEL|bB3e8@Vkewv*1 zkyFV~qZ5`JdU`#Wid4KQarTk`G`O<+&dd^WX*A7FHE7C?2mV%DE;m5~ zrjgj?4Ty>O8gc@~&TJkfKvTMnXCEq1ev1a?&=z=VV+=36e@)Cp4QIrveRqTP<;G`G zT!bQv*6)yzJV~uD)(?q7XHE4SJJpMx8hwN>Bogn76y;%UG)+%rhKb;yr=Be-P0GPK z)L&Gg*OAGhh_uN-F;Pa&IEL0?>>3vZa#vKsLFTd|(3QnU%(=eenY%$AI>BI-G8LTx zC5G^k&11#jfBc#b14|KqB>64$8Ri`bu?g%`fW>G#XG*fVfnTpJT@21!55j+rpo0;G zK8m@4QBqDbFyTf;vl|B?=Y$}F)!CiT!$)J{gBf)o6P0Zq1a#@4$iTb+eeEh?Yu3A2 z<0-znY1L|Zm;+J-hOGA%{BT-H2Qd;v^HI#2LIg!Ge?(@>rL*j?oi0-E>{1FcE<{o# z`kxMC&?!CypVMT(wWzyt3uex_AEnHSN9^krzzVt%qnN%xW+X;-KviqMG+qhgmb13; zUtk0_1KJtyL8CHgEQU@BFe~QSGkjL2@rAGG{*@ z6OjUp4#_!+1#$woR<(aV!c!xyAq0a|?IZj&gWav%>g0=J5e%sd34>2UizE`Do$M|k82kq+%jQib1vD0$1f*Fl#axLTk4N##inc8-psx~*+}LjJ^NKh` zx|W+cf{P(KO)ylcfMERaD6ijCY<#FFK<7&E@!;oSaqtpmA=05dA~Z4LqU{)bye^>tI31nvSiX^sxig|t41yD+cZdf?Kn=U#V z{$Gf@UbJoP>Ms%#*JFW9NP2@sJIn-#;h@&7L`=s?x^Q${Llgy`AvH^^M_3DIX$8#Yjq=0TbJ8ie-*nC z7LDo~&DC?seX11nLLBAwshPY_TVqe*$RaP2hkY=m1=HE;;;8;bcSap|(zDhd9Crg5@qldJwog zvuH)&6W(_5T!H{H(rIv1p0%XAe^;=4fnRceAznq7Toj8`ysZ~~y7c>SD8711IgNz& znXRhaBIg{eNsWy{?`-WbBA0!cr~{FDLP_H&!tAS2))E9mu-c+}yd%|rMge2xdwBHmeN+&*UYe~o7+*JVIb zzC!_b8|N^cIvHAm)8OI(8sXRM^z)7PMp`5@v%fWFZJkAW0!@L7VVi?i$XP|rI(;cK zv^|J~vfOQv8_;Tpv|MK2=tBm|dMW+)<|inEhc~20Kfll;z68@rI7(#XuD*t6hRyr_ zBs8yl!9|?v=Pq{zR1^e*@2&YAQ_K5nDxssQ z>|NElex1+7f74a>P4FG;!mh!f_)Xcr5OE=b2_)Wec1Y1#27P#Y14DTrlS%xf zg#R9VF~iUSay7?M!K2AH<#}@){qCcEzY_+04xg^%EVFA_IX_MQjbz=8i;*(P8gn!C zqDlQzYWH!cR27$aevQc)YiH4%RToPrO8L`MP^gNxo$SY`f0}wu3q?;UmMwFoZ!n(j zG`(`unix3`8UzbfL%WI3;9XCB7Prmr$MD!T>}is=01YBwW0wsbh$^=Mo)5Um!dNxnSpj}ct))?r7&A%)`gVSOR< zmuRCYnwsA|o=!O39Ig$<4b#rJCcIb5d1Uy5$D3;2e+Mbg|I;d=*F|axXpEIMQm=l< z?j@RwqogSGoX~}r1p}QGFICs(oNMwcV;fIVEe^wi_IyEiGRH+(a8r$_B)K2`48SiD zf=RMoR{kdp3*U^=wz^-FZu2JPWN$MV$+InV>^iM&UQT||`11zbZ2&%Exoqvb)fa98 zmSc%Me}i4sRs!_`Ggq|sQtaq$V}+4M8N+ zNU47aepz6a+b%F_EyXIXIaGK}8s+3BKiYHze=7R}T>jFu0@U=7U3nRJ99NUVfFS^v zpo`FVh(8T&-Hp54N5m^nGHV?r1kT2Alr2owP7%RV4=Z3Sw>ABtj#pn+OR4fmWE#}0 z1AwAdNEQ&`QjEr@;9TxxR}@!d+cq3~ywrj$+sa0WBr+=&an>un>lE@MA`7Vy{fQ+; ze<9&`aT+fPE*Elr$!r$dN1rQC`~U3}g{9=kRr!#GR)FMvI?n3a1&%dYD?!DSC$B@F z$)^%#x&8f61uIGs3Ky60cH+6KOQS1t0kS)=_Y*C*(^n7gBjJ_OY;Y!)CFg-@qI;_U zc&pC;5#y7SV0E}o=5dZ%N5V!(_Un#le|{N6UM!AfCvs*v{?gEmqLLBe^@%w1BBM1w=CYpFiAe}J zvMXPY$$w_z!ql*DDDJV^L7K#@04F@-Z0U^8-*}4hMSu34)WYp@{BN?v7dOS^Hi=;T z;p)EjdqLgfgN(9S=aGMQFq5-^b2gIB3`0?HO#VhjjTIc{@a&;mJ%jZFZ$^DIi)*<-e{S2c7tt*F z)#$vP;UVZdUauqEIa`~JBZSxEGI3|owv@xsvjxkc_yAJ5jzg5u1yV73i-w-jA@rw z;c(2Xza*(uULD<`Z}0qbe|6)=g}rExAZfq9Zv1~oiZ6m7P`v$Y{dhNrxfHYhtbpX{ zxH~;e9lGZ^Sd{vX!Rmk5__#8+3n$7ozVxXsDF6gB*1QixvcT*1lLhSb6dx_4c9Eh9e=}o0M=kbgzmD%E z=ow52cTaP;eVdy@HRP&qaU z0q#Rdeji*r`T2Bg)(Q8|Aa(3l6tj+OxfumgTHC2BW(Zs7K$K_H19cZnwHT~sf46IJ%584bsSQJ1z-ys2 zjd)b&vlsdvW@SR|g#+y19R%&sH-nFZqjVQCz2NQ_0|hT=dQT}UgL!d1B1YhoRt0_9 zFT=G4`pFzO?4!kVWgG*Nf2!sq7+?s;WqX?LDVAAp6iOTKT=r)gHNRD^jhidbZw#zL zRz@|)fQEkQe^kFUxR!L34)p1`kx`X+b$%J!^dbG{b}84C!uFdcH7YSlEN8X&if{rY4`;SJ&nI)ZBI8 zkL}sfsm%_S>~#N-)reZ3YcRG3bY=r|gtI?uW}kSBe^pL#sGyophYFzd9ZsvfuhZ|!PnCo zl1~!RkY!jW>+hnu`7 zvyk^|6r5Z~abrg=-~KCmc*)#ALD!sUBPSC91ktJ5m}5FQd+1$t5%5$1MuS(EtcOBS z(dH~5q>^^-bfwRDUaOxYEEAYXbV<2Gf0d~i{i{*5`)tH1Qm)a{KVUDLz3PZre)0%; zI&=?{n?l@G*5EH&YGeqcut8zT$BzZjcP$h}%*Z-Nj9tbgQ1{N4Y5JzH|G`PZ7->tSWG&-r9ZvxEjb$%2~=!7!+L#IG`ji5Z~evX;guUKo5R>>dOMo(vVeVSuH zF>DX?rZ3V`s3n`$eZclgU~!c7=LrPA@$mT6t+QRCLhqyX9BHq%ly0*1BK~&o>AO5F z8ELx!Or%^Q)YtWF5R-(NZRz^-e^Y{5)q26{lm&n{m3>qdcoUo+F0qZMFUy>(YRx!u z7Tvc0PzQ#pV4>*#hY{hz_$^tVF{bw5JGd9DsI;p}W0oPPptx|}d9jjf-JF4pAYhZV zagt`=PHT1rUR0lj83NCtzKi%OXcXd`5592|t39onP*!!@M-H8^9c;tOe@CsPwk>I7 zE-M+xVE=D~@9CCnn;3_dCO5S+yD~TNaZ)zT(O3J7XaWt|njApHk}Q0&iJIam4XS^m zXga?f;JA?k)IzSC-0&h%+}S`w{NsVkFkOLrBV6yJHPb~0>i-fP4|Epbb< zAT)u(`#Oz}{sOHHm0ZVc)u(zNeEy1(&qdb!_=nOUFup5(TN7YNf9qxgq{yn<5)E?? zpW$Yl4H(23O2973fJ6x3!|VU!loiGomk=Q~mG?S;zbvh-v<8JWk-h}`f%naq zfpcMxsDpa`8-@FlKr>Pigl;v_yl{?pA+ zZE)wkkCXs!1EE2}e^E=s(V!-`T1nkqK3mc_LWYSUfl5a0e?iG)q(rSH9$2JxE93B> z%hPz8q1u#;C|SDrI9v7MROEv^KNLo8Wwq3=URyGGSi^rF!Pjm^Jm@VJFvL$k8Sv4q z2WtwRsZ*5sXmu{44`CYE2)6ujAvsc-Y(urKRVBUg_|{BN`NrDoZFLMQ zmO%dgZ1r7aCtMEanTHN63DuV*pG#F`VoObEX@Uf!lmLa(uk89 zOmGY}!tXcq3MWgT+UgV#Zk$|asi=w7NMG^l_=n!GfB66*jlJCyb;|07Zc0?M2@5s! zH|VbZ-*QIeO9ZM-`^vX;1;~A=AC;6a_|($<>Yg{8=5>LGs4grzUD3~1N>tdvZQJ#i z@lqqj23h$LZA)0H6~x9M$IQhy>d2_sJ(ywuq3(4}^Hrfr1F%?CPIKQnBT_ts;bp{% zpnW|(e{ZBp=bX79Cwe843qXD$MXJ%of^*ZGqO7jx(kO4%le=Y}dJV`In<%gCo6D+L^*cYbj1=VIF{Xmw6u5$OU0 zSHu<7MOcQh7ISyw!l&Kq2?gHkj`3d+=O=3Qy_gGxJVvkqaXEO~Pwb=5QFPG5d2{R{ zf9vSUAXQu;AmNmpT5TDfk3qGql(ptUP)tWC^d4ZJKF~>z_O~H9&NoD+&*)p2eW`tQ z)y2KZc@F>L5=K|sEOG`JG=mmODC3w4&wD51rqdIBY@*NpLOyBo;-O>WHo3bfo=TMA zF2dnJ#Bx@Fs2zwHPRytQi&Pf|=SEIye=K%`Cir0)7Sap%spZayhyPeSJlo|qw3-}2 zx4|3oHcYSyB(s2p1}zKX&Qj;%ZmI!1F=SP(_VtbAIWt%zj8=8Glw9ojCvQPd)!!z7 zs%sH=-M*eTk=|}&=Irnq;rz?e&WSOa?TJ88N_Vbsys9X$F=g&BvRn%KZuQVBf1GRA z>lbD`RtuT+F6TbF(jmy@;!>)jB*tk*n>J`%id{27-f-RBca)H}$qFJ@bSn<(tVj50XBE@jBoi2XSUUia=bs?!3k zxzNDs%!(iKTwajRFQiC&k3%IE2ZcDh|z zvHR9#j8Td8D?yxLjfTl;JPzkEK`IH<=HAYgN@I_^09Yz*E5yLv6r{OS!PpXJxtd(> z>FjH703rzYXiFs>^9_gu&dcPX6@ZZL<)}0=b*;L?vQNi25BPlkLE_;;q?xt!a1X25 zHhVk8*HqIHe61>)IhS^*fA2cLy-Lx)A6(`XF4w9hb^TOn!%EVCq`tCpxP(Bad08t@ zpg6TeWt#PPUOIVR01l?W1ybApv(c`^99pc!J+rE7EaalqgB?D4a^LEuokyCphjX%F z>@<5uyiPNh%3qES7uW7y%KtsNGKqj}V~Zh|xotJXF5^hE*rZNJf1!{i>QrZUDPSDy zwZhj&90zWlEYJn80bsfC?aWGEjI|G~<+kb#Y45?I z_$UCm{;k8A`*eixf4(mI_T-J5O5^S#6+W?7#1?AgQ2ekhM zF=&uO3To5yZ-nHo`}AY<*G`>r@JTZ&lRUs7hvN^Msr#Z%%Cl{{#tOAxMfQ_~?2OSd zl$|H7L>eS9{BJiH;jd)FxcJtGpf^8oL zZk6b=xEL1ke}n)CSId>HY}t6_KRT`OTuPHkLiNlrFcsUlrZ6k-F{k zO0m~L&s8VrHY-yz4+FukxkQEtjqE}hxJSZtiKP`wo={j5Cem{2GMv8hzaDjvZO?Ke*bJA(S{o7WwAnMmK_l& zces!>v|-@TMAiey88+DuXfY7#e*L_YDi#+1C&H8@;WB1GD2+Urx;IzJtO%m!b0KLo zHldtzf6FRhKZnXqc6!)y17Qs1(=;ev2X%0HW^mB8XK;Np>^szY(;N%v1e_YQoMtIsRY?JDW3LnHyN~eoWwsSYm zJbvmsLGr^jg{x}XS(GdJZ6 z{>VcE^-2bW5C8Jm0?b zemAz5M5LJhQkz z;8=f08uLNojjnb9AlJQZ?r{EjrOzA_u5o5{XK>scA>pRl4j$S=Shs!`uHvs20x6vc zRX5fmI(;gv)UNnvQ5P^yI>x}HGzAqAe|o2eWcS{S4K$~`-jAF!YF`ArwHe0Fdhyc- zXefs2PLA;+JlC|cFhw-Sv=mhH6M$fC3$6@~4Y%Hk3#2@xl-6~YMdd6VP20*}P-x|_ zq0wb$*+`=sT#5RbDczHXRb)0J>R-u!evo^JjJ9tfhj^Z0&*-H>te6<*COWn#e_~Qi z3`s<_Y}j8RnSALb;1=b59Es*?`g3GV6AYGA9Ix!)e*nVqIg;K=Npps;)rQs|c>j*` zi|pM}yX@@pq8*nbWcG2p+BjLK6;wPLlU8DzMO6k%kubq;62Z(+ef$eSDDq^#lsCui z8$3T||5{E->#>?xay9P}8HLe;WMPrAHSe z_w+VhuEUME&#!^l=H<#DpCjZohn?e8XO@K={qqrXNM_QdHl%zz>`wg+CKE*uc)ME!4sf&6dan#LevNskl zk(Q7s#u#XTmW09H4edY9fBni#zF>n^5?CDFmKo>IXw?c~9E<>&UcE%6g>{R)ttD3S z+I1QneQpb1=zQ7Ex%t9WPy2w%$?E{Z2}w!4>@ z7BqvDXW8g_j{lpVf1>I*7mn6dB64PT0rf)h8#Dxh5R_D2z5@|>e}0W&PiAG9OMg?x zpurK0^>fv<0AA@<5A8uwPW&J5LAnNB+lH0|n=9{5R#Ibl*IG)tdO(3vw*rEHo=*(I5cnOE;I#_t_}x;ms;vZ7sX#=Ut72T@(Ja5OY$_0B{hNIjfhExV8ZA@P z7V2adr8Rb=3qq9ne+hKkL#Y*f2BGdvfbXnY9nyH;3>CvFYBm3@QwL%wKpm)eDuZZP zn466L@VneS(_Wrn4WvaIS@ywYb+S`VnZ|sb1%(8h+D4z{sOL@#-avQz$lt63mHKn0 z1s@v?#Qbv}cy8V)Fz$p{F~nB*D&3S+%YA0>#|o<6(?6)Ge>W8@Vu~JD1DxG7$WDG` z?36s$ZFoxO6!XV$IyaKcmne*SyjAP#A~r-s@@j;63Sm@joL26h>QJG|nw~JY75p?$ z(y+0OF9+tvMJ@l2bgK)Vo?Wfy#q=VVo=q0szH9~5Sg%TG0ts};EywNt;u~8Du*Zl9cL}BDi zHge2jd!uWcRU}1!CPCB*xjHH{#5{m1Zvnyc0*?TMf0c0@atJ7Rem68-y%DA0zd~74 zt^eAEyQk~om?-HB4=r8p5d|?j(K-J6jEhp8k~)oZ*Zc&P!Y1M}XhwUt3wF&4w&3#1 z)2q@1fbVfX+QXuC6N3$B(_l-3KN1GE9#{`4zdiP>ow{Bkz<3dDxTk%QEU55nI%oAppv+U?ozfAl@+o#g>jgd-M4bt0uf7^-Z z$IcslTMx`d`HhiH_Pz12xidaUuqSd$49_`|f9x{jXpGU`>J3?e^&t@s;jW=YG^*G3 zsjxn9?LDfnu)~`c0>>N3@f6^PZuDxVIy7_h&orOG`AixD>*3a4*KFH6dv#y99TLcF zI-Y|nMjF2aL(UgDB>*FB33T!mBV$Ok#8AesynPCyWJSy$o)>ZAf3IC3^e=1%q?P6v5;X!t8{b806THQ!s$jAAIxzriV zW0RW=xVHde$>x_{boxP+Q`R@tneLD|>*Qcy)_>3_6!Fo|!BIZLl3tt_7f*ZrC97@Y zi?SX-_pk_v2aAl^hW&Y2aToyv5lOi=Ktn_h0~pCGJ-_$Ur=nI1T>RhcQmAjLe`Ido z3hCaNYCc<%*0j2MMkKG?UM(29qTDoAICcK+Oesz$9I z#K`U>+{N0l`1ReEZ@NvP+p!EheB$Gs8r*Z{k8I>qi4Hvj?W;O$U-5t|wZzohOJG zLhc>pT&X06X9ab0q51d>O$oe)WEh?9&(O@Yd=tLT1xOcDt#uAuJ$T{}{gbAra4EL2 z8VZ|~bapEBwMsnI!`ut-f2sRnfq^gO|2+Peyc^HIo6SQWK}Wwsj>i1eH(x{#mNv|q zEIrH_aF!XYnC#7|A$0P09r7ATPcDA;_MHtT*f69)?@v0Tfd-JJL`AsdP4+m1eKH+u zUMIOkCjYC(%uU3K-A=J_#(qPGqmMH1oSHY}yBc73$h1ShSqt3;e|zP>$obBtZJkoG zn19X?WQ1QxU2U~pTo7QIbqkw!VJy%S#+vp_UlME=6ps=WNv&(8u;1pKPU#65yL)3R zCYLr})j0o13|xmm~SY=EI;wfv`WnyHY(i#CSlT^Wu^^vtYsXx(6&&c-*fGn==k7Ya;b zj`aS^(o~AI6PJ+DulcbIyYDh~sgiktcEIO(#9d87g-Rm(^)shW%JM)$%C}M4U8|9g zfQ#wSNsq`37Q|uv+zg%oT?!VMlgJ^7OV7q0aVkD$nXxJ#CS=3PBVRiAJVA;G z3jja%;t!hpuA#ge4n=6gvHfN06Q!_O-3PVBZB~Nx0i4<^KTS(Lw6HpDH01Ho{SjW= z1sxQ=e>wQLimCT*;zvxvglq8SL{|ZCk_`4WGv&`Fg$z@`dZP<=)2Xe>hv3t>>JFx@ zvsH)#usJY~zm6r8aODBatmNb^qjZUX`HGv%Js5+fY>uabE2G{E)3c&6t|V*Lr*%~a zeM+A8NChN8xJEf%4Se3%$GGTe(z*WgG&QN{f5x(QOQzHrX3t8YW=UrPc4>o%U<6K{ z0$DNhPVogN&C%Uw5r<>nn}9)tK~TVE=so?tcLHI81VqOX`UX%#_XI-GAE4f}0&y)q z0y2$f6$smp;If0>RQE!}(eFy4cHzR-;h|G~NXp7UJRL7OzF@|eC*Aw0M+=8y#Rj39 ze*qTAcC*s=;eaB==~BA2-i30R9Gf=mWWK}3Xp0Qj*t6|eINT2UUSH`t0jz__FjB^-njNz?2X2YtXEh^P6?>9$QxgA?Je4*~ z!-H}sY)z3mJ*`bbv1GR+T3`!UHbhiB!D3N*LQ4@nGYdYeB<=wJu1~QLkG>7GbrzjSowA=Eajmr#t%i*C zDjRN$v^AU1)BhFd&Wd&-u|gFncCe&iy=x>NSWX-CkVHk~byj&pC^|)puymY8vqypI6Q@-z zzc3cpj#z?M#h5}P@@DMZ=`ZL%RswcYC&vCN+S$^!x&JD$)Y_RDJOlB4e+U*3ZQqn;LlPK=aSwtyac?N777QHLTqW(*G*-6n5^I1O*kc zpREj{|Kj15I`oZ)>n0&;m=4Fnko4f#K|g=3u1@F(rANbvB(z4j&FCm z71LyOvZtOqzl04n8L7pUYq=f$_L(Xm5MLG!mYlDONv%lbOpHWZ4*x~~2ur3a#f7Gyl{^`oew%R+r zjfzhmZ|K|=igp^#m@}-GOR^$pG}f>+JZ>p+&aS1JpAf)QkoBM#rH^s=t!hu&^3xNh z=`B2~vU{|Ek%HfM{8bCZ2yodo&NJ{T zKj<&8tR_Yyu09ol&?`c!Fph(!8`j;OY3@(^3!D7!bzpSGRDvz>>Vqbl=6C5?xaQG! z6bn5_WS=ZK-j0=l;El#L%u0*}8S>HnV5KA5hCBVtkDf*a@}=Tf9e@7wz(HZ3wg7gtoSP!BX(f=*YxPYU6&RG)Gq*jNt|TG22o$9#kojR zHZw^_C2-t(2mUvcODj_Do7G}7!L03p!^kIp>l}#$O`nn@V7Ryl?83Pu3k2>fsy>&Ki-kh5V5Uy7sUAe(f4jvWh0Zs=!Esho0TMLES=mx7 zuC&%s1%!I0;_GoYs6nckD#hQiPrlKH#fb*YxoscPjnvUg3A4iW>1qSY)RPPfD{~dx z$Bltk_o|N8_^@O>=Ur`$#+nymtD~f8N{+GA%!A;WpO5rBT1ih@9Fe@O=(v zG=oB^H0w6Vdmsn};K}gI;)t?;g6sRxgjO zi`8={uN)p@StXb&dPlswiKYV}>#0v645YtgeCS?%aLmYL{PjDIk zf4$BZ=J4Iz5>VyWqjt>Tnlm*c8m@MJU!Sv!1m@28hTe=jwt>BW+4+^#8OtmyJm}Xy zoIBmx2A|wgd%}EI6hE*DMu);lap+%juQDJSq4KTIn7k4s`cZ<)k~bxbd6!A(X^-ms zqYn4O=oU%)bhy{&`U|+a0D3gIhy0M?w4f%Xu>Sj?KO6d`}!9WEHmJpml5EQTPq9KLyAC!H@61>L~ zG;+=nBh!a|QF2F+%mAhU5zOTOM?Ze7$L{mi+4k^qbOIWFs@eibqj($Y` zS{4w(KaJm&dZ&nK?R7z4>NqC!e-s?*WIC3@T7X3LGr8F}5Hi4m)xn4F~!0I3kv4?@pD0a~h#x-kc_l2gu3U>Vw?0 zPiP}%u9Ihn=Yk>?!G5_?q6|Bm9BbY?J~?FC$`+aIEy~byN;Px@Uezu2f6c9MB$%V} zY~Z(5y`n~^$(f&NLpj1%%(#MlEmWuX<6n7{_1N>W9PRm0C1RjhL3{?llG#5e!Qdbr zM`Cq!FjfFE3`p+s*|xLm6%D?nro6JXv+m;h<6SV+7gNbj+8Vv%d+*=l7g(7xtziMk z*)7qj{+bqoNwe?isbfkVf9${)4KRX8tg)mFm|6}mvwcHij$__!NnDvy>z43RVYCNNMs@XA4UJf?N@? z&HoFiG4j0)CEsJu24qNV6dyCi6*ua$a{pP8^cWTf|D{co3n$Rof5lrYOJPfd0mMUa zt!r=>mtWsv@x_WzpkkQ+(8@ z*e3+QI$=LQs^Tjsd44|NIrCJt8owLx|?d7EJtO}Z)}$PnHa zm-TBpsnspT_6Ux!_2g*fqHG|;WLt)q8oBa2y&G0=Rsfx8^6wU!zg^ouBgD?KiXzjC zJ7mu?wz>)+B&vx)mIkhgjlx=Upo*a!AU?FMe}w3|?=?_UaGbr*gGyvT z2C(Vfy`7&-TEt`sZCN{Dz393LmWgp^kcTr6!*IbCzxKcc;=BNWdr1(HQ=F;Kj3O8d z3l6QKMLWrLH~j3vfLFw&5ly-N*C%}_15`i%b+m^?AiGp9Qk>^pYS%?r7&V?n|37&6 zt4nZhtwr#Uf21R|$H?wZKt%M(|8B&&qrJ!J+RbQ8O}pOJl2HOvGK@gG37>JHccKz>UHMqsi8WNkQj6TQw0)xaoTUz)g(; zpDg?h1p{E6%spnJ)f|%^cRm?T)IU}Qak4Y0d%6+KXXO|>qx6vu&v@Nuo23a zV7E}WN4q}Vgr0A?+4otb1NJ*ELgubEv3%71bC;o%3TnTl%c7i|{QUpaHQm5YMwKC;bdiZIx^vZCR^z(eI3W+07$QoB{$M zZ-0U_+vtw+UMPbP9vm40yu00h7md)FQP=a0)5mWAoo-{FHkm{xuidqG|Ba8q(L(6s z&aM6gc(D}$e`bYM02O$1n(?y>sY9UcIqdwaqnaLQ>!{r?H1Xo=&MpFjJ|x_DsR8-= zvcqaFFnqtR{i4kNY;=RYLnW7LTk6$bG=HWixb>TJ=SF=cl-32%G}Kie=jwYF$z2Cg z!%Y+3eX>ug*K1Y26If8LZW#uJghqFYbX?uqq{thcFQ2fXAlc5&d-2PmS~KRTqwpG| zT3tHh3I`5x&&!LB|Ayk-3t3Xd5rk#M0;8dlU`_ z4xt+_lhCQ`SRk0ru7D%_=egR{9*VNJ$33E>n3wbK0^0@0bd4`$Y{vShqL@lVxH!}) z#>tId$q?&q&Tq{768Z5!6JYg%kbj2D7z$b(ey$w&thcDmY&+iScu~c4%clz^*`Tz< zjOz%zMN4{Sq7v`9@+okEniOkwTe#XIOCVruL8XQK%Z_X0?QEz+y3xDb1(Dt?4 zCzv{@yRAUZa58rmY@#HFC(aN$!5vh!N2|X!XpzDjd$h>e zOStBRE*fH*Br8uu)$MI*hj#H0`|A`wKc~`Fi+lpP>TMlMUSdX1-cc5_+Z%n}ie@hL zk6sU8j|MhY1$s9cHVQSIRDaiRs3v=HhMZ;<#)gmaAz}}M_F|@FeU68t%?Q)GwoFv0 zXsa?8>)rM0xZMvyLc;PV4JYve7+K;{QOWQEi@FzSvNX0Ckq87)5ciHKq)_Q1oHEvh z7zu(Bm1OLO?_O5(SQsi1q&yHoh9Qj zl!XB*d@-&Gsl@pkG~xw0s5$Z-d0|0SntR_gCS@J0+x720%Ny7Tti@?;p- zS~Qn#9kVDxDN8uBD1X8on+>`ynFS$#oX8YK45ss;v1=J^{E#rsaQJ)^50XwMe@LE! z3(}U9^mg7kmdqhFSdP+9A+o9kL7%8VKfi|8J@j}UFUJ)xVba>h$ZCoR&qyLH89WYi zt!p>&q!)5ZUUs6=t0~PxAAGyexFS24DbOI>9@>ANJE3aSRDS@YTwQ{9g+GrXA!d*3 zYyk~`1AJn35E7SOxayI6NIs#sGxCkK#bAW0)lS5sfA6=wyLhVX_B$(y*L~;d4C5L* z+C=ok*b!d?gzMjm3845PlYWU4wYDxg>^HnM@iv~7bcprJo|STn-8e?y;}xYVSv;n9 zO%bjKs|R4TJb%LyF6k@pi+8(fe$uxw@WM}#O)>ci;b#0N9S)xHu7HKC5Z?|D+3Q%u z8bJ9tZ5cNME{w!n2Ax}8V=Rw3bwEaf>#(F_nMU@hst9hahc1k6%D)tAa3Dx5)y`h? zl|c!U(}PTWpMl@P+FrSS9e56{9>;dyNWsgmREGS{jep@2daGrmvVX%e3P}wFlo@<0 zx7CyLK!aWTvidSx26BDD%`^%PDyreidPM~$_ha~oG1fBuaPCP!eoxR0sV+?i0p09b zN=Rpm{vj&T6vtq#a?G1&%W6vvs@{aS(~j*wz#)|PYYHiu?tx<(=B8isP^m>8v!PSV zMMSMBtbecHJ_eQ`=2N7$Q45>|UEk?Ys7Vz6n4cGpCLwed*g?GG9!;x_N^Q2A>)gP< zNuDxGKtH(Ao7&q3zVRJ)i?di6ufBm~F#XjZbzn^xJ0%C!B9*o_~$E1X5>rG9)k9oiz$%FJbx`D_C}& z`_c63c{@c|F}*873(qCo7#vsl>y&*yw=Q40Oop+!nh|dZeZC*|ErSsC^bzi#&t1CC zqqVUOk0d(m=^@hVM8SxKoH(ZX?ST}gmvkt-R+h=7A-DJ4{oP3xg^}h=-g#6&f}%P^ zbAM<045g9aMO(jTQJhjxbSZ(#B>yUGUF8ziK{|5+^DnlX+jo9e`{BVcD!Z`_3O4TN zTQRSP-W2QW6^?-u)19p+$0{`1;e#Pk1fH@PqaR*4Wzt4Ba$$!XV#@jV`iU~H;s9lh z0n8D>Us%X1rmqt=-W&j|(Xtn{h17s57k`M1k8u?#m|O;UWkYTLlvk`mm+I)Ma@^SG zG(-c@FQ8?!240Q?p>1vV3qz4tv840?5(2vY8MZ|#i11&PiO`XcO4{}t8v-stq2;FF_DS{LDPMt|+M z3}3d6`fb&b6TUk)Rz#1-@^T+euH0EZSQ`uEI+{Mg1Fr}>H-^yz9^HB{QqzI8xg0Ce zxEC&9Cpug#;BDGD?PG%q`SewZ)-F+?UUK*nFD~`Jdt;yCVCkzxW;4Bcz=EV?dlJk7 z_#VpJQ(?Et_7Nbnvgo;|`e%$J?tixO&^Q}2TwX?rrHQ{8i8Q9$C(o=%3JUF<>+05G zED3&7O#P2J|DAkh*fvtIJ*$!v&hHaiU(75k@>{<1tnEI*{0d;Z9Bwyw^El6dM>0i$ zFz&5&(Z1`~y_;GLws0Wc?UhAQxD-Uhs2d>%6Pd-ngqhAW9r=exRvTWrxPPo5Ed^31 zg0f|LUsnfA$TrEnwvbHAwhYdGZxQoSw_nQ2+ckEXEM!CZG>y=$T80A4g!(FNr05C@w2nCLC4eaH1))&v=+^%IK+#MB0>ze zA4D~vRNO+R^6S^fieIMmhJPKA`AFDGLtxo4VYIZ}^c!cZ;?$W#OQF{Y_h}_?%OKVS za@&l2APsQK(XH`~ncxsD%>m$W7s7NdR<$_}0iv)!8KJu7QU`h`=o}~7I<`mG%3(kH z)Rg2U7`zJkL*yH)uzs?gpzVH3=?!Pa$QxF=A_7*o6EX$wK0o9b{6S?z2sFR`=XH!Glycv18e&_ZnSJky ztOIE-5XRSwN6Ew|3$|WC3){i9w!+7Xqg5ZY6cbFZT7W(uu77mX@cTxWl9-YO`I`3g zCdEc1uM6!dz2{GJ+*;{r<=q^v$&VV#47KwKuc8VnIpIyw%igPK4(>)k-{uhasC7IUt z*>t0KgP&bznSUp5WV8X2$N^lwp+U_**-)-_#b{BsE)+x*;A;scChPFyRaVk;)62qb_DbcK8*m_yF;eYlNNI~ z!{4N}K^>buu+|GV6E)`2!(3P+m6uBlU=yt{!N&_XHh;8WJ7H0?)sxSs*9A}@orpSS zEfep@61?HmGCtApB8r~v8f0S=weUIaj-Dltb1I&Yk^bUJ)0O7O@Y+3q2jV`N@U%2o z_z5G1?dg7fAc+?MdtXtJjDg0=C;apad+uJzdYx#W)%k|-*?~p@BQGdix%XYPkX<*s zw8Uh#`G2>up0~GR3+WLY&L9(X8x_p|EobJnsuRs`uUR82`WVyKv3)!EPZ^8Y*wpHF zGPtPM;be#tKNr+fW*J-yaB%vCupE%kp?$TYC-Ix|usMS8L((gj!BV0Qx(De=v#X+JjEt`O_>}T?D-s{ilDYsI*?+Y50rV^@(QPxYiHnO|^cA7gW)5!TrJd z|M2nv#K)xY>yQHV&@W@XB<>`Gfd75WA_buFB;@yu=os}Xi9h)NubhxMC0VeGWF3OsoAR3@FL0ZT=r0#3uBUQ}=mJmg*#Q5WzO0(vnj zdU2_1BiE*r28J0aRHlN!@Hy+3Udpj~Vt?(;pnx~*b8>w5)me_0ZvF}FsiDdBadn-aIn963Hxz0Yzazti7tA1yhc5U$Xc6H;14%EF3EZj*rG1~>Y?RgFS4maouEPZ3tFLb>%rqKcA{G$1A&f+C{nFB)qj2< z!#f_+)K&rFx*)x<^6@(EPM+W}ePdsTyfkz)H#wQ4z?kc~Vmbsz+B1&`0sfXfxuJ4` zdOj6XT}5BPlKiVF1V6bI&OGNIK44MT;YI)u@eVdFt@N>~dkKp{EAH-T z9B->h%&>E;;Tu(oA1ik|a8BH@WPd>#B4SKZ3WXec%p8y#tJj}}f~~5p{)#=6yaSbw zjThxO^Exl+aApXjXsqfT*VhdShs%%fN!L8_OOec+)$XzwQ zM^VlNXmWnW)t@gBr?_f}MOsR6^|z?bo&~ebA`fZ?KL#ga@c)6W1{vpg+qhJcVKL<- zNw`V8%PQ>cR<~7>a2|os)_)~^K*u3|TdP!dXtw4Q-({`$cQ$0zo8Fr9JPMNdBPgqm*dNS^3xA#MwjpvZRDHX#6P;wHxWseQ{z(g*cH`7I!= zFhR?;XXcd#nR-yx5A2Jo&G%I>wl(qpCp;+??!Cu5! z*mdVPS9}x_G9qbx4ekz2`(R={zBz56uZj=1gDSGt%et<`jx{mz`3o)~8u<_Z|D!X; zbYeSzaV_$cFFs+jh=1mdhTNl>*kHZt;@(Uvu!5?EAOQ=_?nhp`qrPHey}yzLqhU99 zA1CBT#BMxMo^$6MYuwjifOf}4aIFeLdIEWiqc6*fQ_vg~b86em%|{ScG+2sFL{?m~ z=&&gnIJ6QafBe0e_}OzFDuL)0A7Ivhn0&OCj1)OmhV>LLH-F3r9q&TlM(es<6i6<* zWDG+hR;>->q{h(XjTG0bMlrzulR%F{{i2sKk5x}ivq;$;N~005{2RvF?f_6__ZOZu z(-Eyfa5pMF&SpLzE!3>MH%*XfrmZzmV!??)GIZ{R=eYh5!1^R!iV%O|M_A6WE0`;E zk@X$gQY1~NXn*W6NS%_N`y2 zTstriaZ(GX-`&oWCLHsBu{?a^R86 z4nf_}FJw>sNd_jM`BdUPMCpatr*-5GTe))vaMifb=n9GyN~N?@omARzz)^AbrEPKB z^XDfy#==W@x4?}WTd`n66Aru=#|ml3fZzJaIKlV#j4MoMul8H4VhueApkX<}`zeTZ zEj64A{eM*Qa2?+7G%|WnEV*{Bp zln|5UT^>c`$Fj8!gM0rg^&_0_W1qg2cTHPkTSgnrU0=t;bq?>aY-d-Z6^;;%?7+<+D8i#GOiTANL;-T1mH2PS#^`$I&=mgG&ao zza|{2Qp5%3wmf$1S#?T2Ma`4TlSf)ebdEjee|fFNr^7 zOtU;sp!~X9g_7ds0OMJ33*u)wHClml&6&%~I-D=lWG55=+O#spAjMndY-XNDk+gP2 zdjVi=Vzj1=&T8yq0kc?e4sl<|oa50755=APYBZOT@q7sb{s`InK0gBP27k)h1yUS{ zpV^+sYxYAeVD>lvYr(oLPDm!*&y$$Tx?8d>Vt#7JZYNNEeV*7f(-Vq1ybDD=RRk(l zz6B1L0eDW{de@1~;p}ki!R}>NXyOPYlwb%EjG3_?c<@}3vB^FpshtCw8iA%3AvkU4 zJE-r*32_p$0PMl_Hd@S9G=C4NWHzb?y)YFaF)I-Tk=71L!iKTaaG@phPrPj`wo}nbM7#)Y2WC-l=lr%1OC+kjfcK!B1i|FW_Mz zn{Ks5VMK8%WiPR_N6J8B_!2jV9vC>n*G$tEzCye|}17<610l5a+YIz=e$o*W1|<^0kgy#mjh zVI<#op<78)J8FTO7K^uL3-h3x1mp4owsW2=lx89coS>o37_FrP2GMWoDdR}*6Z1h3U^I(ay3|H76E zHRQzo`LWiaIDmE4IPsDwlNj;MXlR+GjyCHJZd-$X0Z@kA2XS*?^UbLA1Xv-aWqdYt zthM$GE9KnB6Mys5hLb~_&g|&&F4UiVW-3nhR*YrlUuQ3c2uu6mb-3v6rrm$y8Kc0> z%5nsK4f+)Q;p+i=sSghCtueK-7F3pHGI&WC0h%E8l66PuDdP9gUj2Jq^#b;3wcP$q}l1hu&oqJaoc#_V}J5x<~>@=#IGmLu@r&85W}|z z$43lO*@Ex6#;kEq&PE1?k`QWBQh{f`wgi6zEoz_eodpeT!Tc4tT) zm&1fP;(tIDomo>yj4IS(o^Z!d*6~a&T|K>_As${W;|s8mubw>I@K6%_N*G=+wdo=s zLQocfHfmgq$+o)6kzz;<=v%46%v{IxK4lX(!=OO&#~OxDXOt+`v*X-ad7Kr{KrpPy zev|P@1gzMht2$sbsaY8H24<<=WW3qmuf%5&tbYPiN9mr6U5%B7$@%h*t>dB+FeT}3 zcWtVWp3@(a!(&(*7U@nvsuoM5MU?>Lujt<84soH_jt8H@tY|2477TZ7@M(!A_K5PqEEWkzb)FgctKyEz9Cyss9uYk#Wu z%);hx$lKybvK*#2ZwzD(s+g_lB%Il-@Erao!;_lAK1oZV3~!^fO}=sWuTg-Olb%gH z5V;7RoB_S{-@EWr!UOKj5q2+T|z__c7O26k#dyDQt;*T8KCZd3bnMTc6>f^=7B?Hnew{( zLPfAQ)kZ@H$V+|*b+{{g2tn5q9A-n}f_1E8!s^ z__>7^%%*zJSHpoq)BbiR8_M{Cxx0+Xd()C82oj1)JCGbVH`HtFgxyO*kIDjhc4ce& z(Md6UD7ASo*0!^B(Xp0~1b^e*$$W;1Xspzs*G3k{@R&F^(q(sedVDrn`$`xBtfrZW zLUOmcpGeu!6i>`xcPPt;n?ahd@72N6377u`ZX#nSm~-GYZaGE+QlXgeaT6IxGY=I& z@q91^{tu2dF96i~OZ$TWm5%!_O^JbvL}adkuqluBo1y{3K2AQz6Mv(JgClxireynh zJ?9Q^3N2|OBpi?F2%)JVr1|OL7ocm#gGYb}%>AmT^)y1wj_h38mcvw@`4#1O)n{8m zFD9hty1ZPa_kscf4d^eGTews&%o%l}Duv-A+lM8|qyk?Ht;pT8o&J=C`x7~^ae#R! z_p9{1@L@JmKdEBCynh{w%`M!zX;YlOrU9KI&Y=ZIQv*EtojN-YDqF1|Z)|$+T{VXq zZ+TKHbZhfkD~zAZFglR<1N1*%)8>P@(U=Xe;2NDgwiA2qpsTJ<7jYQV^>%7f>+T9K zA-9l#y7k-__r8(bMj+x&yO^}!jOD$8)Y)nzW9lYI*p90NgnxfL)y(l_lBf7-mT)wf zT78!F9g-f#|1C-{$tk%XyN@BIm4U2Q5aLL1FuWH~^cN+Qkri#C(B7qr7)Ib5rE~?+ zgPPQz?XmUMSg>lQJ|g2Dz*);_tH(83ydD|_v;!f!5@*Pm_$mZ)j80r58r_Q+yRj7; zO7mb*X&EShNPilR%ZSd)9mJ2&u#m8pgJ&p~AT@1c>cxig+jZAyl!Qf)(D0#L+~)^Q zPybbRkgQ`m_LCmdgN4bY>u#Qn!D~1yJTTOt;H==nl-&;JGkiJRI#uycf>4W!b{@^8 zT=Tr+mCs!!MwK=dfjD)=#BFjHg%T)_<{S>(k%WqSgX-N|z;P^c51| zcUyV}GIUpeLfj-eU*!~R+4o_mRF}={bWL9=Z6QIcpT-kS?DZ)VKNp$<@_2Z>ghl@Q z_V?pQMAwKjrq==V~4@9I9rKYA}A*tXvjkL=5#(sX=TOQgts^*K$s2ZNv+n629)3=x3 zA(oc&d77PL6AZHAi;|m2XvOWu8eb(7PdiDbGJoMd+mB7!;ii=~P@dAYIa*z#t;o0$Ek87eUqO?RS84gY z$zh@7Pbos5*(&lSY$)R_`A4eu9OU3K9+7Jlw(IgS@0c^ymmFR>WL_ETu0j@cD9TuY zb;sS`7{@FT8fAJfg=)WyV*?kk`_z`+q8mt|@T`4ZvIklH=lK>c-!k$${+%bfKOO+AiEn zfC1~GD97PZXhE91;ANF2h=5|0_>)VSlHBMMGxO@rcCtjCXovllm+&7vO+i^b zTLc?~n;^Sq?jjFmv&@{IL4RB3ipl}X%2HMjPby63P4&Xit(^SOZkKC!O|Um*F7E*s z`8_OQZ5^L(KrsP5r85Gn6kJf)1>VhCr~n}^IKmj35KXvyal(s+7^5i8^)F<03oZqI z)>gEd(dP@MXCo)Wwsb5E8UY_ zidqE8tT^DwdEHXg%{;8LV8aB(a{I+ig`x*S#N&7eB1S(c!jhb9><=lG6ggA_X~9}= zS=Wl>6ZG#pmzh?61An=S>@2 zKYwUE_JPN0SXoaC<2oUeyRv5V#;>H^Xir?F0jqKGvsLrSrF1+GAlzesSH60X<{hw6 zt1mAXO|V!Xc*+43^o?(;Ass}j(UfC;*RW6000<&l%wi+-B!3|*6eB>VSD(D^Gq`HD za)M&|Usggj6AVu8p4dtEvXLbkjRhw4h1SJ*qVKi83jk^)n)ri-70+*`Azc3k2h2kG z*6DX|JkweIFf2}wI*p4nR+-c%vCT>U1t>bogH*M1#mUCAlAeole_Y%9G;@^+*KB}{ zTRpvS`p|Xp%zti9s4fUA=GOf?HL7G!cL;Ys>#dFbdKbqNDZ4bTE#bUaM?xETIN34#UDhR8k@*Tc3@PvRC%$U`!q{83QL{n16S3m9 zrhUDxW%j!{GTU+f`2EEYbsq&$^TAHWCb8pDdJ3txx&X_s9~IWrMFY!0 zb0Qc(hfraJr3c82R_*g2g8*@={`=)*50jb+4}V>Ll&1F1PmxDWMkWC5spQ_BV9Pz= z^*mBckAK5&V@)6~pK4k3{UqLp-I(WW{%{hpk}RR4bLYWQhGlw&PKw=AG;Jb zBnP^ph}efGL6-WeORx#*3BRD7biAsmo_U^vMt@a!wfy5};1jpbQHZDB*6~6~-w?or zo$KvOfnnM@gPd8VqsJ17Y3YI`;;d3|=@vhrfPawtX9|s{kI;s7An|FkDz0H)YB?3E zzr03ZwY9n!x1OE?`OEh~qT^jH?M%tQLZ(o%h|u~dX9ILdYPv8DjLwV`t*VUiCY{-~ zRbvnzNEDf7Fkdb{Mi+AO-y?zE6XQWYUF6H`Fq$Sj^rO`{yB4o1Tb9qK`oaQ@KWArv zaev6%)plNoBVB9LgDD*N!QJR`?G+WKi?yb+Dx2dY;!e0_*UH#^GK-34jFz#q=9GZxv1VtKf+@=GzqkNz6p@mO}&P!GB%VjXZD>_r+WK*UDEk8~yq-Bf{_Fc)|k? zOhM$wI3gBa_uHSZJF*5Juhl!snK4N9@m+A~F zr;>xVf)>hG`($^DgsuBKDHd*uIDcvU*$M--s#b-vzrX_>U+2-x0xg{7!FlSuIP&*_ z30=5zuo)pCq>@IVAZ_R8sT4xSCBP=rs?M={9VEjtui7n(&X%W&Y;R9e(xel`Iz#D5{EqziZd-@is~@Ul;}MTxC^<41bY8D@H8y`wM!NBh95 zRpMKGiyG{;y7*+u(C6$rBJ+LJTToj?LswaLVT<-~_xlL7G&qVa*3srn()cfpN{z04 zGi}hXF%OD_gyy6euug}U$hB_&Z; z2}7Bt8}ZJ)txn6&_J2i3xcoxOet>OkhFPh_Q~B`-WPtMXxmKyi;B-{8fq#={z-UU& zeV1bB2yQO|>*xyP9LI{Bs~W0)8jr1+FEmR}i(RQn8Dy3Bal@fz@bH;mA`UXp^`wuc z=riYcKb$6o&gAR30DOF&{$D{TS^GR>8k!gH+f+7H}l5D=wl}K-D*p)>|8KYHywg&+43}^Gc=}K{XKcSn|YC7 zyYu!)tX>hJQ?4!%8YA_Vas8_qcx~JeZ-mg<=EpmwY&nK=!+`R>_|-=RlN@R7m%W5G z3!EMMV_WiAL4W7ChSM~Uz@i#r{};tHK%WpHZrHe57dAgqk3AdzZ^0u!LGS?z=OZ$v zOF7`Ud7^qNh7Se>HUx1TCJ|!1WYGPI)*n&9MCq9N5Xf|V?qjtDG_*b+Ys~e+q<#bt z_PdPR7nei|RP5Eh#NFUKWx!zAMKaAo64R zBjzVc4SxWKnUdmJ zLSz)vI!TZ+ndJPCpBWHQTYBJ7Ha#>Ld6qfm3x9L*D`2_(^Cnx{iKTpTwrshbEQ^xS z=jWSYlY4IBI8LAjyviftzN*jMb(N1NLDs^Kh&z!`>$aBLAVo@Cd%mdQvqwhA{{l7; z$j)X%325EztmipvEu;;FJdDP#7}bd2q{KY=%l0*>$6LXe!WdXrZ_&n>wTcutT$vx2 zYkv`Fo1Bw{g$=e}sh>Cdr)eh2111A@(Y2bD%&TvtqS>UJsx7uGIo(I>0y@+`7=+xn z#uKMT3|dimQwP`e@t9`wy<1)pahe9$1s5nRB^e)yMKRa_;6Y}@$h2@VRyV4z&6k8R z!qmIQv*k?|^jL#P#yvV(QR$d_KO4oV;eWpSC?$W9`r@{N>g*>*x#ob=ex+Gyb)Tlv zSZw#t?>Isp;f-ob>5NE7(^mP7%VN=4za}=;5nsz}mv>opCPP|}X(qbdt^IsuDvJr; zB)`pO{f(NcbeM@Fsnh3!FbiCw&rf!K7u1tk;;K@+)3)>p)!kjq(T>`_qf(F5ihnV} z%DcYWkGu50X2s01O~7}y)HiB|yRG$$U*yA61@RBgTIbfsILdPdZADkxVG7FFqvLH} z#NeuVeo;DB3l*eQ!8VpU1Uob3O)!l5$pXu8&mUo-({TH~^g;4(1uU*rX7{0H5t$4y z!DL9yX|MI_p+>O3gc4v|gx4yh$bXmN*-J-EX+AD2S~)QEjwrY0O)$-&DTgVwL$Ud3 zaee6RkfzEiVW!!RV(c0tO`%{i!A!og5MW>qSL#+zUFV};THt&pkI}pxO9*jY*eHws z=dpi?8bddpppugb0GeVFXKUeq@@MYXr4ob5qgCU*Fj3@gU@p+0hYxpYcz?>rhs@we ziiiwkIR#E-zxQY4w!DwPhCs2-WxDFW;vO>dxIY_$RxF=M2&5&I9Js(hJxmKxVbK}#R1@m$cfwli30MqQFD*sq!g=|3l?swm z1}$!oY)zK;%=evII587c8GpD=a=f|>01L~Z6UJiW>O{3BdoiMF?{YvXWLIED39ucM zo|d?Or2rPD&X(452|gZkaHgO9`AoHz(FQETu!yu5XbTmYP@8sm_V*O{`J(q(Nq_=> zFBbN$(uM?)4K`^sv*F!Z`k$&`7?zCC?$lcPAs3ru02-hbv(mVX(0?_)850t(hCe(A zpp2>vUDXhzW8;lJrkaPW{{xNyfuP#tswCs|O32NusR|k;!3d}g>c~cykJFx9)sOPw z2?iOo5HZuyL~xM~tpD@d_D9hGzFJ)W&NNEenPj8X{8p(rbeQCp9VCE`F7!qr-01^8 zxW-EYyP6Y{rTbT4Fn?*S36#7#Gm!?)WB4k^@J01?KyFEc80QBb!x@PTn%%;GA*W9w z!_<^_7$9x;LRiTFtYM{x+;DB-`)}d{n30o&v=mgIn$Xg|=E88)c!=TB&C9N~nE$M- z_sGT>ZT(=-)|?-&=oNnLb*AV+8zo!gqv0Li+qI+v;(G9~Xn#R~ykG#d9DX|VDd;J9 zT?LPWw$S&Re_Bly(w}Rf_kN_ra`YO6K4$qcAIqBO#YSp8VVZP^URZD<04|OmFgAN% zmk;`it|~j*JilD?NKG@lknb}@N#)-v^|0BJ_6qF4L~yEA8ha3!4->`bNS(o4EP6gv zluS*Y^Y8tkynl?|`59n;t!BjQf8;j->NpXrBeM0>+NsZ4T`}%Dn$6E}$`LIQt*Kc_ zG~I5iHtr5L`e?K7Gk{k|fE1fa&5ql*PeLa7nbIxf$2}5m`BHRb#dGpvI6^5@q)p>^ z&b&ghMZdXps>+>;kAKxIahlHPELs+<^R6C#&NN_Q z4HG?Lp-O50InTU*H{dA)Kh63^#$7fD*QBF`BMuu&H%0vL`xIWh!0e$!LJIxU$7j%m zexGP6*Paj#3=>rFnm7MXsLQJar;8iX` z^%XqkP_3I|rS)f5Wb;<@lqBrNHwbbVn^aVx*?-{?!6G?8q|Qf^7y>$<`lA`9&PVqNiJCKfbob9J>!ZjFIA@8?0iD6^mGAmy6r2H zlUxK>ZHLN=NpZY~PBkorrm(H4#H;Xmv!dB#pq~vBY3l=VE7(687-qJiK{G5zR{Dk^ zJAWeVNki4FH}y@Dso$+Ah%3p1lAr5w%6~v=!l+-qZM->=!@0U#{=GJv{$>BuZR$?G&_=gz(o-BwV^1Dn^rJ5cYY>H!S z3PZLOva1x*%OB&w4eQ&q+;}Rt5Y}BQ?cIP6nP@jeY|HgY+mNKPO4k1b zEVCMQPE>IXR=1JZ=lIt{zjn%AS*n($!#gv)XuroDD1QMwS)S%Zd0 z&~zAVr8)IdOiUb5^e)B=Krz_6KE6$RS*mu&7TDBI!dX2Uc~^_w)q-}LIh5z34>6|3 zaF}~i4R%xNX%&uAkEHau@qaEx9D1t5o_?L>=WO6wQ#abVaaAGL8JWzRaodS}s|VdR znU=ASOp{z8c%hz@&|`<=*&n$(jwlGAkFuU1KnysM@33ZzGlacq8IJ2~^D<+Cs)@xb zGL9(Uo@hN+rM@Z^km3Ekv^O&A&{zOdimxUw^_sCjFxWCk(X* z;7oWIctGgJ%gmur4LUdIQoOJYMB}a>IM@V*W!E6A6Mgb8S06V?amZ|9O&_iWHM@{+ zE9t?#rm6+RY>+`iQ#~i$ZmFk@1UTp^KI%ZS~0-H2vLowTo z9(9kLm+nV`)BQ9kQcW8xkwx&$#7d7!XT^^0y;JS}!i2tXIW>y4fp6;R6ic@OVw*)` z=>h(K!7vbo!84UvC>q!hYtUdc;={I9tJ>G`Qoh+)wXfqa5Pw#uK&$&_yZZNjM&=Te z+vK6z`tr+;$-?#9akW&6=T6GdZM4RTzrW+L<6X1fQJHe?btUE%jW^c!e%>12h%h0> zLBNK_;2e8Od0!QvHFZP+9zicj;6;n);8JB=K?x_PGmm+66j*j%{NyU39V89s&fSt3 zN5`@juS;@>G=Cc_6oV}!6`kBl5nwk$=1TakT5N+i@6tNX@u?j{eN3nsZI+*>PT@YMR>` zDhpNQDwPnUlNA1(&#wX1nG!IB4glKK^l-klB3meI?tgEp*V?rw`H*}1=9eGKb56;U zr-a85xuv;V5rwY;4DM_Q7q!Ewp#9{>DOeoCaR7o z*Iw;}$FEWJg$AUbHnSL&s5Y?-bC*!7aL-NTYh4N!L{`;EDX9fvfixmbJA0Y_`JFyn z?jN$UD}Tc9$7U6Vye>Uws)7>9iAL^ihqtZ8qmCJa9j@UkTTk82d)$|1Biga zelS4$I6GzlvmbZZ5QWOk)y8bd7Q>!QSP@l2FgokcFgKYA zDayq-z07&Up3mr@f}ArqP%YP<3^l37^46AlEzvEGiM=I0X0|N@VrgNpB2jSu91U*( zZnWge$)szKA#x-xHfIZ_xugdqr-N@dikXlYarKvph7o5Qh?-6Lf*COehv7IRUGp&P)Lpq}f`9A~ zIrP3jg3){O1mM|y|D$0EJ(Sp{MRzYd(bFypbX(K19Zr@vEnzN*RtMv~^OwNxBpXyf z@f3F*fYEr78{dD z7HCqg4pUIiBb^#31*%+C>tD+UkbgS|^*%hP4Wz3|Xrm2YX`v8*@G((28_4Zu9X0=7 ziQ@}4Eh@9Rq#8ga9TwsLB^wE2v%Eh?1Ny?hx7TVQZ^1ARaN$g!F#*4y+_h%!dOIm2Upj%K_F}KWQI~=1gOd}nV{>~rGI9&7%;r7 z3Xl3-C7MR-Cuc-nTOKXY@b{G>6Wn}_UdtQS_HP;bNl}=e^uN>8SOU%G2`b#{Hbzr_ zham$rqN!AI%OX%@ySk^=8>Gj1qIFZh^Si~+NoGRMdp(c&;IonOdF^UmVy!4A&qdW_ zhwgBNXQ0I8@^lpgb$J);c7G8$&}>SidV5xch3QfO;F5BdD6U*20w=Pbt5)S-eW5z@ zjcsy!3^|peZM3KR_-k{DhZI@AALOEtc52fA6AktLmQwf1Yb&QBE}$EHh}mDCI=|kJ zAb$cw+H7F>)rU*QE3)ARBWa=%5@8u(*Rc!OF{BArc)M!Qme>v9)qg2-2)o+mYCY~p zYKSb+*UzVCCXQUC@+9Y!pgTciS;2p|7w&?m#TozbKryju zn3~F_PGTvhjY5evab!Izo4lt~K>Iz=H*cvL>jH`V1brUkafOQrHC2!E`v$!-0Ipyn+o_5edbyuUn|v3 zn$}JZE)rp&ql(%lium3MRVlRlLf5g~WuBnTuN99EktL(OZW@$Y!u)VvUwk9B7YhkY z{UYdvZp+PRL$fo$UkkV_WWfH(&$-|z|61A8(cBF1R^=;@Mj>P8X}f=G_@P{a`ci+< z8%&Tcf8*MLWlOzD0@UtagDHS~*QKgVh_KI#dlj@e#2r~G9J7gACsoGK zB6&0eLzOhT=)7q;ocez!;wmveZQ0JP9vhuMji(d`+PiMLv{V2|HIc~E1sCi*E=(>`fr&_R)43aCX0dqxx5{`p*&Zjm&-%{! zG>^B1R6qo2%%uh@sSSB3sd?!=pQGWnKo?x&y=6~V^# zG>`?Z4XOqd7r)3>CL_v&re>{k>S&r7^gJdyi9DegfHHqCrKvs#y21uX-$8^7blQ3J zwmu~FS=Y@6*G-B!P+q49y|4%lc^ElUl(~KZRcRd?wMyOlJx*guTs&#Cv`3WDnCj=4#YMv7wKH#Zh!)%z`J|Z>ezA8&s3w?j2>aY1CX@IEOkPM-A434`o%R^Gn z-aD%Q`J<_hy;St^(UbBlNugV4?rNODd_hf_%p@C#hu zj98-4O{S@TK%J!B;)ub28jH2U5U^|6uI{O$B`8kiqH&u&@K*fls&5KCb{1ENevsSh zf}($pyil*Lvnl||trL*Zr`nQ)Z6IhIU&x%Dl*a1iIH``}mQqbm{SJI8+um&V6R`~r z6fr+G&XfOr{M4YoKaMz!zBP{ zi(kdkmAV!c3RL`OsrM$}jsUzylFXcORfv)ZQg$J>5|-o|XmkUfx6x`ttwsGU?LB{B zS=pn!#im${>Yc;Lh#tpp#Oq^ty@9t~n(9HeQAn1ZG~W$;;=DvsV-04*2A$J5qa?;n z1Sdm;q!R7Tw};H!#a`4WKmH?dtROI3ONT+f?=1!lZ4y3OquIP3V|fUT82|yLzqQ2o zKjt-~u2?|998Fuls^No$JrD31mFGf%rdAvm_6ViP`HMhkydS|ued zBVC5z!Z8-Wr(|Yp;@}w=m^xCkj0Jk*ZX>!3A-?yuW)q?q-!kELbSHC0BO7a_?CU7$J00dY}EG+x1a6~X+qTS&9h&#W8=oaWt1l#L46nc z^^$2r$}V5eMs)#SAB#olT2z*?{#;C5l0p_KO4yO<8%Ff8q~3p6@{xc1jhE5dC>`&_ z#m2rNKoN-DbP^ZAwxEHIr-6l79A*0r39euK{f?#X@s&s32WFyNi2qCSzoVVkAbMXN zcKn5f)s$PiXC{7s<4W(YyKnu!lTQXn)@hF-%Z-oEJBC?O*2*HvuxbD$hT2?08Er+P zP;h9a4>? z0~4O{Nzc-<**5!}1Bb(dtj;H9LMr=aGFT6vHRS0*rWRs>g^GqkcUDH@yE?KZ?mBzY z$OPzgeV=K{9&Zy_hTMv!I@yEGtX~@bGwhB68Dw~$_dKVJf0ecCmG)MHvL{Np@W9Q2 zJ0%gf3t&PI`hI`8Fi#0;Y=qaU4P4SY#0Hq8xhDm%2vIj8=4G|MR~jlgM{$`mP z6cUi_t*#ye3m7)EOm+FvdGET#Ff1~WJ#umCAR*DzYwLGvwBwu_#**ZIE1+F44|qE* z0Chn?>D5ik08_aUVt6{#=ws)dN8%-MbKpec@r{3N<0a^FbONl|=ZP&lC+S~K;{TXO zfY9vjB)Zde2F+g2v4lnVon(UF&A=e*=&*MPI60hy%l><2G-$q@dcreCTY9L@`;=oH zRW49~HhP{+*yZgzCj;Qj0C*Y7@@uxVzmEJ_2!`Ub%(Q!p2F}}LO2<3T&2^`h$&k<8 zfSP}Sl3UA@A&CJQF&gVcUa7j}oj9s+Q`JzjP&PgDMT1Y@=+>o171P1K`H}7aUA(k2 z%ErTqLT2W@FBy}?kEUVFaPs(TzDl6)CQq4#K0p8Y8@APp_Ii1Jar@;^4+a!vGu)fW z=92c0Do4TT=8R6K?B(*OT4Fjg{;hc`9cF)xvg-mXE!OfX)Dw+$og;GH7bK_DVLAb| z@GGY)!ZfpWx_=NsqxBy7#-tg@a1cR^VHw)+7>)=OW=3f&N-3+!Q;Ogv&PcVrKJJ_u zm4yw3T*^Fgc{!%Pi%p27WqhF(+n)7x!Z9D@o!UEn)W^7t&~JMqi9SlN?*)0shl_s} zr|X;NMeNfUd84*176ref5snQ03m%T%r^7%djj_K1q+}5MwmHL5o<M5F5Liq(hNm1j#Ib+8-))Bx7rU+`YD#|Wm6vF zLNwXref7r?Hit`kJieVtXWkC8dDJXKH>C^3zAk6RH@$H8ZA;GPz@LkRpxbwR&&Ebi zP*HhBPGaE=4MwsLkz{au&tLPD{G7N6sDhO`0^rHjh;kEWFMA=0S*~W=u%Ukgg~61a z61%ahzj1F^n=_D+yxJLD0pE3}dQZw^k~+&PZ)x?$x+So_{($rfDD(%zsB*TK$iIs| zZ0iFp%|bf_^p;88?D6Ph%-?oaWK57NQc2F;!0aVKOwiw3WV((K!Fog_^xJp4MNd9i z@jm8gxwS2W{8RU_;8l6Z{9AvRP&lsIxkY>=wv0Uow8jZtSX1QAcYm+w(5Y)@<%)LD zs0QAqsvI zR@VEFKwDg=9_!k=R!+=5pS4JC8@@KFNEUwrW-s(n=K|uc!8CxgcU)#5 z(nhR{NT7|7i{o39Tfu)FBzM2VV=~WNUyv^tq$?fCHVFWs{JFLh@C$8ary8aIo@$TZ z7((n`tYkH^-u&Y3rplPUmZGg|J8|z;^^>hE*8MH7A}!UK7DA$((YYbu-}fbt252&D zYh>8~;H%3)WF-@|LQBGA$yN!)Mu*ohyG}tW}p^qohQp4f$pg ze>$y1q<{1@AT74_C-FY1o}n)||CP6SX%uW1r+_%f`D#3;?^ujoUY?RvFh!g01j?a6 zAZVK#tf>gS*hsLsuZRQA`AJbx3jr>{2}(D4mBMKdi(@JSxD%PSXhd^p)1;p;))t1R-NffNe%wynBOQ_K&#s~j z5}GuT>tuh=WAC+p^FoM^*)CqDCFzeQ;_S&9O;Y+uE@^2udaL?HcW-R4EOd7>#dNts zIC~h6tGiWFYu}LG*1u9oLd1$4d&t`kNq4L|F7VfDQYiD@`$6998uvBv(Xgr$%D;!fEZF7LrqXurCl5Z#z>I(n1UgZ9>Y{U|3c~O1C5$#S<<9Uh_!ucPcMd`TCZGIZH*fN(q z5bI-#5|%8y?E`vwMVU324(75v7#3R!Jw_?Yq3$!qE4=wi8wZ|7? zUW01yGabW5nFW{`v?^N<(So zpO5pQ`yTdl_C-s5&WvD9b*d1ROa%nEp;3PjDZpv=DHxh5BgE4c{wfW-lwuv|erdeo z?cV6zeOrO1YY$$9|5Dp6FO_-C=!6b1o{j^@^Jfc5%#=dJ31@W*!i~bWfO55H?^yXd zP*RvhxVM<#H3LK!?Y+v|)XTefwnN-*(Ki}Q18n#clrV|G-@2o?YIh0O2H6=Z?!u?pCTa;tCn-1mw1}c5@*Tn4A89=B2MrlHfqFqAkb!%KQR6(>Y!Q zSbGFtnAxZz1LbbN3Ky!&-vdh!lL3w{Z06`c*RKuT0q=ZpaLxeghW-jUWCQt&$xXn^cBFjaH~qP$QhLS_OiIVq1CE-R-pO@wN_RgZ1930 zDAG^9Gt6Sg@b1|oj$2qs+)#f(h&h9_?QZ4!OFkn$Haiyb#`p5mp^ZMc8S{H?xZH)$yS z3NwKIM}EG*h{+$FWG|$Ianoyc>12D-_9kLsLUR3({=6746nh_*Ckb|gz+bHL9Z;v9c_0pWsW zciCmJQT|&lkp9+)C?xz8F51GqX9_2k+^PcPc(I^y%HF+px-Pd*RnKLVIsdj-9_W~{fY%8Dp-{w#r>E6D@;3TmmXb<(VvaH5QFgqz2S$T?gMUI%;-q95g7 zaBs;!I?UTL0XKgd$j;?=)tc@=dcg}=#32CJi~yv{_))~vxwhhEIP^y%+Cs-3x)h=( z%u)#-i1WLJl^Do|?$GGz$zrA&$m~7DZx=;V7%2iaYKS2I+f|etz7zMmipG(Zn36&T z*z`fUAj3%wmVr$Y%0&Q|{-asREJ=?!#0FsKv+3w~8kc`o=EEwluWq*dOgtvFbuiUK zrM+ytf-3DoF4A6_|F{3XRkgt5ARw&}^m=M;43*+r!sA4vo05_d=E+Mgei}i{`tpf| zVFZ%|(oL=^OO$lnMBX1Q7Lvg!P4Pdf%w(&Ub{zBfR0gcyjq!A-7KXw>)8>3Mn>CU$ zH)QFX9b|v?^z`u9H>g6U2U27Mk&B4j!yKNb8m{{5~&qtdRQK2Ekzl zX%0=d9qXh!`JIVnZzoUD0-hzkL~B9Nr{SrSSwym|Hxo*&R}#S;XH)^V(E2ENH&)3F zQ%C{NiI-s1NQr0Vz@Mm7xas0`q8S#S87+J7FI|6+0M%|WYf>%DGeDpVp^}X{cO@gG z!6I~8X-2%c-C13z%@?QzP8$@Xoc@TKPIziyjRJCE&7K4p|=}-G0>?lWj8_? zEMf<6=9(d}$psxo=x386&-i=XABh_+Jd2LqLN4dE0lQXBBFU}#;ds@;598`qYEZ9D z56*x7EA&0)ohTig;Uphc!||QJoo(sL&lkGjck<3){C$X?rTW& zSMs4hkFZw|S*<_H#)}RE%6Mfr=2`h#TvG+DO`8q%@_DE0?ptryipY_3OGB-4G+ z&Rlqh>ZqvCN>V0PJlx+KhXmYanp49|CiM|OeGci+^U=~K7Y=WoQd^7?K-|xy)pNpo5OMvWa$-BO#|c~Ep-$M3rJ=L_~*Q; z#%@1N%mGYP$LNc;wb@{kP0`F;1AP`9p0v)|;(j@?lNdN%`C@6TuoJ67TYrD9>?>`+L!1m0)vxQ0KZpW^k|(eBRF7;?czd;Ci#C@S(HHdSi4wd1wWCfPtj zK(og&o&jwRZqB7Rb3Zr;I2`0Yz}A#jWlh?JVG*JS1={F-@AXnTr6Hk$lm%-uaSjIo zOc%Jh^v`8Mk#bm}nMRx?-0P)d-H1+snjtFND2bixP()3TSrS2W^QV98OTj1I+_@+v zdO7osgn|@qKiP+6&WUy59+jH-)xKL1+~$=|4;LVBLW%Y6iC(M^r8=;+8;4RGyNIG6VhMFl#TK_++ z4qB^fax&i_s<{vL2akXLo{D;iIuub$GSBN&GVecT*r6zEw`VaQZ16S1opsf*ed^2R z5Xe=Sr+G*+`Z;Q3&2Q{4ST>+^_I*X46SE0;h%vYXEgGB9(+@) zg^fQi3>&{4OD#g*(w7rolw&F`Mj5N=0(8VU)^0+3q;=65o{^-_cKGPJ!13D13aIBD z4e5CLKh)~XYchZK4S5gID#3Iik+D6&0)~Gys-fET$8RiiBsmiLr9=#r-8$<_rxnMR zm*5h_u9!u{6bQjn5rO5;dAUsq0}CvOMf9ePjq@s;mCKBn|FX4h2KJa$_j`#*&VbF0 zssGT1bvJ%GeWHZ|t79!JE+lv=!SAciV__lKUp;ZcWg<Rs6^l4sX^Lnx~HM&L!&H zZ>;_~B73vW9Lr0Hq1<3pIYgU7*AoWcb3=N6R^*A7chMwH&5MUkY_z!gdarm=2v^BC zt+#o}-KGdL2HsMU5N8O-Pdi&8{sF%>`|r@@k+C9qVKnhi+P~_qD5dBmc>Q08vwil` z!7%pUcancPNS=A>X@c;W)BO7BRZ(yb!C0Dw?}(}30LB5Z8Gr>QURSILM>R|%|*WL*o9@GgArYsX~41XzjC9xUnqgM$+ z%tVcK2klkj&DfT6+!XcztSa9p1BzIM0U>{yiWw4VYR%fOe%G-jdntGc`~+C)6l!f} z#^od6B9~@oc8ALu@D7N9TgemU;!3G1uTp|l*9p9%L?!7#ATqMZsl<_$j%M9K|13Es zCta6ETsyglKJc!lIa#B2v#)^&6Yco8P$y^U({X`o1q?K#L?MO~p{O*tp1pvG&3k`L z<32!1FT2UOAg2K;r@Gx_DH5u>W%2PyS&LNQr7x zC>i3Ep+EAw+c1oonMrDQN$XjEh({(HqA(hY#U~p0p=Y*G)fGS^_qj^TarD8=>sI0} z)IIUCfzhXRGI{A3^%HxC+pwVSjpTn{#ztZnK*U>0wVH}vr0^WM_lS+WYiWl~8;hPv zmwpbvA{VjCjyg=+qj}tI%LWg{04z4RSe0aoJ-tF^@t|B_3I~xs+=PyC;zd0P?eaoE z2Ez^qRNuu9U{&(dS8~-~=4|au_r6INo=(=e&zV9kg}h#*eU9 zT~nAScMA`*i6#-%yi2J|BYcoNj0f4+?sS|6PdR)b58b%L1yAD*ZxSpkpOE|Y1<~1; z^}F#uC<^|3Z+1XmA;&SY-eZbggMbt)Cz*iMspQ5J%^e@uXItxN-^de3H zK=HmA&;d{0y6@|2ZqcNT;98U1=-Le{a|XUN+SSHb%~cq&U{K|spUTyiy{k1dkxhSp0w8+@uP%8i zq`SWLUQ8XmWh z_IMznG6nA_qSOy=r(HfYeEWuOfwp#c{n0%OlDaAS#TK+XD_Mdc@#^<+LnEB& zm>w~ca=|&5;E&yY|gw)6jnsA%WBo8 z){_~RKRTC<4o$73#U^Bciq4RUG|qh>iOB!gUVB~oa5piISl54S*s}hGK(MD3B95OPO4-QdUZq@k=)+ z1ODq8tF4o+Go|zQCI6+@JhR7I$~8a>Y*ubQ^2Dq~+mcR}p-6c}bt&WItWd}6+`C$x z4#=r=k5D64IY@uz(7MDE6ivl-6XqGMswo}a2eA?8>tS?pHe%nDx5b1j891FB=U$RN zhQ;#0?xM;ICU)t;3g*B7BG9@G7XV%WAC;AfPD!bAnlSj`GeyjxPfPtifrvrKM`o2) z!?)Vg!V{LLM&A~KhL`Ii-@SC)s~DjyaKi=r);`wkXP|%4F}#wFNgg&Q{Hhwo)4z%0 z8#>3;bBk#WRi<;>&8^1g8fbW%af=}HuepACBi+vL``awb^4#l~eC|~T+w`&v66U>iQsTHWz6ksWd#$(sBH#RlMk$;a;(jx z*au+E`lo+n-*|quTQ75ZjB0!k1s+tUAQ7VcCQ;x7afH{$vDXiRJOu z!OWNrJ4}Dua!7?p{w07H&hgTVJ3nPJr!P()hKOEIt^`&j(=cc45pj3Gv*j%<_WzZq zp**)z_K?FIZqb&{<<)9Or#)SQm`eEUy5M+Z*F1kpy(LUyiu@&xRI3U-w>1dP8%fYd@}0xLYs9 zD_4Ks(DbLdq)R&4v!vf=S5hw5gX_=3ARa_3TFg16L|6Y2CS50N&2YQ#W>^D4rAond zR_PD^kkBv7F5}5ET+xt1Yyd=GBF-}50Sg9lTlFh*-of>ZzGsFo zQB-7QZc5HPXS{`eqf~7zHsn9)+2%raabb-O%E_CvyWy_498#PTJ0bgy0wL>4zJLdo zQgG#5GJ*j&h3`H=bnVERx-e-g&~r8QnJlrko}?MRCHPw9QAW)>o245ot;}dgRSH;L)*QW&z|LbO{M{#6t&qPX6nR+~kL`(TYymUv+hE)NW|J*Fo0A3yy>C5g`%mONZz9US1R5un z)V{(mWmefNoMj5hTggB;Q^cf6WrdR? zDod$u8hWK1UM0OM)tODS<+zaWOv{D_?aV5(4S=7MhGDs%AfJ-L>ZXCGSkQmXA1c+C zz(3I>nM2D(zm!mzg=p#%H?6V59uvR1ofcf+m@MO+$_2sxzFuE?5hk8IsmZ5<}Ex}v$WI9qgQB@RCU(MLe-&~Fcqd)B@h)Gz{-2w6`n9KKd^T&Ufu97+7F8MN# z@-JMJ3m#3aoCKjg_zYEhG=!TK!DVpXRK;oMQk;w#LatW-X$_M(I)R!!evT| zgIZ%R94Pje4Bf!_pqg!VHChpJ>>9)JIFVKPV4~eQ?h9Cf+QNHr+zza!rlLj_{(Zxs z^N8#mcG?#lv16RR+o^whwEjYG!3*05+W6$J=iu_{M;*L6i@^ynXU%Mp4HxVJqNe=6 zls+-_xV2C^E~pSC;$WkCh^a}0@<}4NB}TGVWyeX)w^U#4GShT!QYnBa$5S+|#%=ty z&uN7+;$!7yZHJd+Po{#NDy%YwS$9}|aV9yC8{*LP)r6<`JE?ziObgEsTA04c(8?7= zTe`!7Y<+#Pj@;(jrWQwv{Xp}vVBG|Y_pFPlT|}}6HSs+mI&OX}yY1h|?#Svj^9MXI z#I|RnqUb`o#^81BTI@1Pi8PdC?|h4~#ua_9O-FyX0aR);DFRW>h4CU$tU9Y|6+b0s z67}pd+Ekp%#ZP~N=URBJg4GJxEY!@1pRIE7vD#mnlHEfchV3~p=}MG9#e01=vMOJ7 zX-q(18qM`t=!B{!Swy|6lD_bve~Q8*>T&{Q64>IAmsWOlo=xu0>at_qSAJawgMB)q zZ_u?|Xfb&08Qr9VQ=j?nrSGde&&5$Uc`3ne&gCqs_1}L>6l^&FpuYl02e*8)#G3=5 z?;fLu`k-WuoeE0FXW^-HNDFNPz04aC6Rp{;@iw` zd%G?gv>oxJLo)E8v28kf2VE`VoJTvX=hfmyTbzGCKFfbLjQ#$4i4RbB{|_)AWK)0f zxe8}B(npYM$vt7-8fzfaWom2V3D~PhSO%!;?GB6+OrO7vwiE*LeK-3N8cd~3%w!!Q zuh`qq{R&!$U-H%p3UlGiMgZzAdQkh4+$FHqF+3%?3on>-NpT7A!kEDdxfaEA;b_5+ z6H|XqvJp=1xpSPjBpr~E^V7%&9u*1mG8o`1eIPz|+p~Q{IUeFe*%>ivUq7;L_JG~H zb@P&^D>~*JfP;{Iw8P!-H0rM0GGAg$|79LZ7gT#CkX=IsvYsVelegryY|-IL_&zHm3|Bf^9oPX!W$S-rH=#byEa4%^z5gVQ&t(*0e}eJ8c&}eS z<Q7kXo&-H#WO=rdgnQu)_`2X^W8AJy!Yl1rcOlC zur689IuL(WVS+leSGvB=NJPUuMIoVu6`7J`JP+ZkG z?`%tjbTEYO%4BOa%LfI6P^dA(^A$1T*xaNuY?u6tkz9*0$lUZFE+FeN*;Nk%dc$c~xQViS6F~&@ zW&vSR_ENjB!WYy#9Ydb?U4efMjz9HmnbC$p?m7!?Ime=Haf6Wnj-~UIbdm?1**_;c zu~gHUos^;?h}xM+Qsh2z3j|S)o&Ni0nYTykcHAiml)bAFI!+K*bfn6EN6-ca!r-eWIyhF4F8VT6#RR%3l+rD~85Mu=<-Q?*(;nkbW8Ha&lxu3$|<{_iXtblNB__mg@CwcFlJ%>>LEN`%5(4yMJ|Fx?2RR23xBmLu&%^*^%MN zDEt**q>(56jYbiJaeH4(f}ZO7|wI z3r}SlnJTyGa91umR@(Swb(wgMf!pV-e-ZeejTH0!#gKeD-4^fn6oy{obAXXj7aU&V>kjA1FH99F&(FKJp<(U8VT`{5|) z4O9z+%Cr*fE{w~5QpnZjxpM0hB4#^Ey)Z=7484r@qrJbU9oUog+)cjyPaeBs>GO2= zCi#C<9G)=JlNn+nW(pxhT&8ti?Dd*_p`%H;y(tqKBu!*)wG_oDyCxOBOt>;jGNo}< z!;Sv1=Jr#^giHtZ-dN2V*9Bf_P8Pr^JoSl$2kE z2SusR+H4>19}WeaV6c{~*AT^dGC+R;ZfR^p_EI=2X6$fKWb8=7PN@bGe>T<{vb@)i z%Y*m3jnmzD-kG#X`NU=u_@XTxe^v~XYUp2@w4x%heltJTQ;|S(<28S?Td?W+-sE`~97i_7s$Jd>s$5!kC9h7Sp7mwU z!kne`;#$gfndNFp4w^~YX;!uwjC6p(wql`CBh0llE+?@}@|o4*E^tPd8Wm{*E&cK5 z1wI3*UC;6~Ic%<1;;WeZxmN#kj8D^l;`ln}4+r`!HS-o>F*;uCrWNS^63l;=ZcPVC z8fPE;9Y@ENg73%Vc$cg}O_%0ES*8KjL*QE9!UP;V*BCLD87aqZr{XZx3B`;$v?&EF z)$z8?J08fOI)B6Z;WftTAQ%3Of)mKG0BDI?sm$S{Uzc3TQK3M!3oBK#-_5KM>~UvV zd}`;=E>=p0W}o!L_V#!E8b5yz7~>K=&I%+r!k;BjDpG#?%ul$$q1~UJ9Gd2PW?|sQnQVn`y!A zvCpy48$(^M;@JJs%H9>Ye2zrCP*%gg_sESyQ3`g?FrZgvz|g-0!Tf(^VkKy%CrWZk z&U1d!hN$0o7-_N=(=#kH9Re}ghX6=-D*KB2-;Ra*c*2`z?pDZ&4b(aZrJixQ`6kmL54sD z9k%#SmRXn8vs?fb<8dKI@fawr`do4tcWbDN=)tGc{4>t<)Ox%XjjPH<+LdYfH>)m^ zI+pI`%10%AdscrmK~R*P=|eU+yFc!Wu{B*h^&1Va=*Z0VX_GI3$aiZeDD!xSUp)bV z8kHHpGw~ZV(*;0W6`$M72K-%40x9N-?vA)Z0@8df(U;es%5fI5q~B5ltW%~6FJ zA0EtWObbKgbQvjG%O~Bn47W5TUD&+a`|1{6xUtr5@I`<8jRnyyB?4$P1m$_{W9*S` zMR->2;ieA)iIY}w8u`A{Uq5XgQ1L|JDh{2DNE!Z)PxOTX zw&9V~JNdmLswXEkJ$DY>*QuZ}Ez5^4 zFQCy#yH@WdZ?Brbr13uM| z3N5CXFE+4(d<~FaT{%S$^iN|gqPMi1=8I2uR&{^4pZR+ldJdrR-<07fpDoZL`&Wfh zC6uQra}P&btT`ghSEV$u1eiL1MB2y>)f^Z@ciGa>>_q*y^IAW`_g2l%8Y>wZfmpT% z=w4Ik|Akj~XCrye1;`iZ$)ba7@KWqXpQ*R)tB}GwS%uGol5bzIAHdTWyveESxAHPx zsn&lINw!Szjc1j6pLx)F!dlFuXZrb#i3>R#545)}RpY>@iS5MLda$4cCu7$Ov37fD%D_m<=*PK4#u8ov zC(eVK?MqW~^JKst6oYOeC#fCI#Sc~$!lHlOHhVQF==16xq_O#;n%Y@aDlcn3^7`?z zgoh!mg@yyVd;2T-4GyLJKDk0gS)2Vbw;S0h4)>NP2*b3cCpvt|U;gq!=|AJW0hZUs z@zaPKi97W%X`zQ=kQBzX7%^;bYh(%&vm#n=ILz$Dj$)=2j%aJ#Ba_GIl95Cmr89pJ zcyyM?nc~ zSoTmKRt{k{&v#HmNSPaZJu+;_f2#^c04Qw7`zMYW2d#mr(U4Z^!JIx*$awe?E#0(x z6WWzw95FWw)m`(_@Ek~P+uHMQX?cH%VxG*q(lb`)3hmmz;GdwtiZcpuOVp0N>ugd%sE*%z9*hMC*KyZ zK^Ywi1H{3Gx5qO)L1&bqV2EVVrkLt+k@gN?Lno`Mu{)dGb4Tf9^PL$=Y7&2P^HVBL z2)9F(tXQ&YnfyjpgDBS#t31QzVz_ASQ=@ur1vW(BcV=7pi7r-wR{$S^~yZ&oC(YC#8HXYmgUD@sV3tgt1@h8G#&U|DN23@kkJ^R zppa5oh~vOdh8=aXtjf9)WEX$b0?P@uEN;G9`5!A%L*R4eZBBJZK(wHeI>e-C63B`m za-i1XvvlBx*u?e%*>qFmxqSv$|1~8^PE#$cE~7XTCM%ylXBC8+yO+>xKpwo#l!qaE zVYb2DhuxI8U6qOssk84dX4n#7$gM?N03t}D{^qa=W`pu4AmawpW;TE7tQPZSnkW~H z{sj2(PAZeN5LL}yOl$j)HX(`CxL?{7pAxt#5QXNcFULAvVkj*X$Y>48$u3`Pzj-S4 z0*sXEbm%8{?mNXzRwGHd0tz>ozOQNC{A0zaigiP8$YT}!F>PKRUyRNWWHv%#6Pc1U zv?A!An0!?xAR&X6_St_D(&~DYP|QYOD-&iRgEEH8yDUEV9&$v_p}kAgtQaE%-fZpw zEdWVsQ!qQ6+1OAaDq50i9t50cfetSW$EVt6KfL6PGf>+$M5YaQ;hnRwQ|RNiB8ulS zQ14h$v`VRpE+zM_nxrbiZ$aZa9>1A6_>iO8Q#1n_V`7`~>O6lsAEC(tncA<*-Ny9q zkmpmmyGPqQmV>)aqRn&zM8qDb3dXEvMF>a{VKu;Ja zU^@?{NYxzvdiz5Sa6$WPD;DhFy$t`Sk!S$gqpi`d<4U)5*HJ`gD_c3+7`l3l z1{ps;oaX7+L$;}U_VNbOhoAfZf?xo2wx8T_;`4b~ z>zQjTY>dS9zIq^0L3h9#YQzT`0zbaY;sL5YQK3(-#xd-fP1%+^NzK(qY>Cfqa(3*UBl`m)bmbfp6 z{VP{E_mF?F9|xkCH*>k6;6Kc4^C4UfR^$}>W29N3kCMwuX;}9F!GExNEfEAUSLXWJ zPc=5<9AxRuy%GVJ%*+Y2gwld+x90n1@0aavw*%J z(7N+$x|k&dI=^&O<8_{#x*gTyvH0}e=^cl+0VAf^YN`$G&=>j8|6)%~b2!l@-5;XL z*s1|_N-z7mU+eJ4Ae0e^ZKLcX7r1nehO)%fgP zkXe`b4y}2Zr3H&x>aw`KA;*_z;A7Z)(2alex*j>uOCsXKe_KQJ26DJ1K&OvJDK?8- zw+E_4)sgul?Z_S>(cZ9sNiNqO39G)Uptwb*D5-+fsmvbcGc9zGwBqTpSlb+YE;c`f<<~Mds^Pz*-mgniewEvvr0nkd%C7gzP<+=DN6m&=0kIwl%n@yhDS@)$ zas=W}1qaF{N7O$@-qoSt>riOj5HB7g?*-!998IGnOB5O%fDYmObsU$`AWPnssW!aHqw`yVYAl6aFka0|dz+&lZQ z0R*c+XTKee)#4Fihabqs1S{DN%6dOP^VRY8<4QOJJ{pnl+p^Byu6u94bCs!GfH_b# z%@-8tx_-}$EvLn|Q)@W8zo-p=l^-!9c&+*gQJt2umq5L)cLH7O9+#mK+Jv(J0BTO0 z4b<`>sQhh1_H?L+k=U&b&Qx107B7C;L@cTtt~W~yCk4XH>$V=eX=+aL52i(V9+lvS zzgHT96&!CegYEu~sjX{7sX|7Fb+vG&5uKlhJC0&NGr}GTch-}F<=NnW4xzZvf%<;V zh2;Yq{4zRQ*59)T(-(B0v*3TB9fb}AECC52U}atz5+O&{p5CmPYVTNOM8UtFGAWlI z-F8Ow`hF`r7q0VAmAy|a=czvDHx|iTpJeAlBlhisBlX8eT%LYNi6c#eVW9*@k)9=6 zO$v#zri!d-n5@>ziHY@pHLY}TrW~Coq@v{L$9@kLVrx0Y$bk={Gr`C`dQ|pv%y&9) zo%WIsJZBdj zA^X$G7xh`f`{l~a;x)6gIeQy5OH0EzO!ui9kc-3{(r`WHjbFejEeVrKj7e*$yP5OC z**`Uz@DmWW&~q*Y1Hf^W0=YpB6#KuqRpmBp5$euWiMAU1J@^H-7S%zc;$Gx*N?nI@6DD~JvCNh!dN47Z%SWK+}q zFz0vU!;RI=Bp2CRTTlf5ed}XeV>LRZ|j zLpC9oGtEd>Mv7$WE(&##djwg|X3x4vd%Ln+anUxhvRJ}6{3;1*o-lW^-GaLwiO0$H zojm-&tFXfVd)N2jp%l#P#t3{ba>Y6M0gnbe}K&__G{kqm55}t7c z(YA$|G;=t;2=;Qv|Mv+6wZDW}e{lc!ISE=vB_c+6A*4e_HM?z&0+EM( zJ|>xes`(lHOo-9Sdg5!NDfD&Pf2p#A%s{)w?!2A$4%i2BmYt~J2r_0;a!h0Kzu?ub zcpx;h@NrLq6@BD)?03#SW7qL!?MPshXe67iGDL;Lwn(i-76O_}<^4c_jzqlJf3C{( z{@U7nfPndt_Z7shz?EtYf3w7^&PAWkOu_emYXz#@Jf60#?D!OuAT4{&lurAIhh^vt zeq=uktJP6x4ADe_7k#z*3|16*mJ7~(uNUr;sz9lep^R7b#weh(@s|JizOZy@QE z#SNdUjvdClpvQhHBs?5%=QlIW^~h5HZ75 z8pk1c(#-R0jySlfha03zEX;P|l4=})B07v{B+veB$h4BFqkF47BdUpH^rr+2#9XrA zZmCl*EDyKSb+)e?AQsLnwzqAV6oXY$lrVrgiA4iToYfsFtqf6FI%Q zctEI{JG4*q3Ro|mynB`PPTV{%%vi8iYI*F7=e-c~HP`6<4}gR8)cY9N`4Q9)i1~)G zdjIcyfa&+gt3>H$jR!Zm#hta9J4RQmq2O2-=7xwrVRqRar}uQaKGD);u_lWz*bGf9r{%S=yzeeSy>V>2@HG^|NFfXZe1K&Qe&vT$-Lvu1kFTod zmbW%;@8gT8SKvc`0OrMDzobSmH;^BMfXP8Q6Z<~GOAw|AL%hQ`Gh3tmTucIUi;jjv z14f=FfXdXVbg)0i#FrXgJk45gRFDV(eM%?dHS+;Ni`ltut}ov4 zbyN6;d~e)iJ0hqfk%eL-w1fS^6X|BlX=p;X6GnsFt-U83f!Etnbsc7L0sO#F*uuc(Le4x=5t*F_KY={NWJ9r6|4p#;UCNaB_qgAgC_gpf{Ab7 z8w0w3aae_Gg1Q!_`fKWixQp#^A#MBnD5G&uB{S(sI?+1yOZS?}BmfAj1h%M>%bSO0eH$P z?)ELq`wi$)8-FOoB}8hB!?IVUK{|Q)U4+7a!Zi{tOx{H-!E=dgaY6v=WhvqfO&|7} zEGUPbLiYT8`}G^o$sfSc%jJd5erT$kKu|A1r-YCzy99EMEj;@HROGR`ieVTCmcsF) zS>nCV*xI8U-q{}~*dBNLY&M0ss2SP(DlQ$>a^r}Z0<4s+&Kf?*Y&Qo4sdg9}W4j@L zb5XUPT5C0#QVN@Mri2XPY7@kU14urK>#ruKRjCaA^f_CKWW2vps&@<6s%r52N6QbS%;G!OI7~a;o}z8}M&IfARGn zKyi_x^$3WCRkomwB-cJc!7RKuVghP(1E2Da{gd~vy+N)ylxtc^ybjdGQuamOJyR$K6geF1&D@6p;HLN*8B{Y(7^L5S=(e<;1ax>{ zJ$VU4H(+%UO4MOI;qXKVfZXuPp(2NL+hXL{)KJeeS6|~4DbA#>OgxTMeQFPs(AAH< zI-RC0w0TTb`~j z1P*!mWa#gU_+RH|R&I0x(fg04sl34adQu{Xd(^Skje7WhmPihh3s|QqaQ&*ekJ6kJ z#&co4v{os1t>GG&5`wv)K$I4LI6u|F7+>-1aS0%{Hc>+uh&HOl?e64t%U7F0u7wlZ zRquI+P^TjDp=gQIFg3K_fHStu^GVKUb=nH@*F?`1lMVJ@&iheGxUS%1=mRP>k$)Y@ zsG0uTOk%cwYtL~!Ie*iFF89mE+Px<$F&PzC;@-ltKLQzxm@Kc~BK)b`XCUcnyM~-z z!^XyS&xTTq;y3y-5pr01S3N>dTh?O4uPe{xIgdA0%`J!sZaL?S;#iQLeW9b!Wny!2 zyK4{VOsi;ZN`u?acpxJydJe|5nty0g-$Y+71rj%Zk9v)AKQHe+8kM-$6?k$-h8kglUs(udS4zJy|<%iGGQJ6y3URqw@pZsf+ zEez~`6mBC%2PRQei@+;6Y%%^R>2NM;>J$|mXVXpOopM}PZTeZSNlixg-mXfS3G)@a z39BVW;vWLn_juv!>lqt~@{i4eB^=pqiwhrjb22hoKIY~cmr=ZhpCW=eHggb+?~H*K zhvz{ufvE=hA(Oua7i z0LogLy)&ZYx=gckBr{ceq?2(?ziOZmFZ18|Iia0OZT zoIo=$hlfl=!Tvs>*<8XVe-o8~sp}A(i;v6s_+TL_^%ue zKcH*}&|w5IEp6xB_)&e8ifnu;Ac!4*%FfG5H;#(8Z&=<%`7p4#k%zGmJUQCA z{`O_8zM;ip((9sh3XinS>virOjBr*(&%9rgU8)hK6!HySh1##L59mo9ayF*!?Q1FA z^QTA!!uCYJc=AxK$&*PF?7rw6NSNzhlF$S^$hwY5V$$}=kSQ`p1I`n>Ei!?B%)I1} zB3`?(69i(^l5Im??ZIH-=?itjQ@7q;*xLnUJsea`?mgtaza%br0`O9&C=Rs!`A>IddM*)iZmf(=a$^r-kLLo(k(0KjCh$PGT z?Tm4TS?lsMX|mAhZ)WB2%mB!~#d_{745a?m(_;!hGaBUJ>?mI2i1Q2NeH zHtvCRkzb}UNvuJOUy#t!^yO#hWJm!*>95+gJr5xikb(xR1p?-fUVK< zEZ`;ev^E^QSJApkZU?KD0e5*Ux!zAI!n?c^U&zEEYx$xOB3a4Cp!n*o*N7JhTQqjv z-HSO$g!P#TxuH^WH*kZ0$HGdfD9LMTN)f|W9_~bTNvc;e8+=tD+susZiELTfKTeMJ z@EXo=xn(9Ky3!-Vf2h)M$n+sCCe#UqSJt@ViTzuHTh=PrWg32&=BZ2=K zxDjPzFiFXVB4zJ7wB}8kQQxs)!V3 zKS0LU$7(a)RZB^2Yj@7(3vdaA(zsUouKQ1Ae~w5K7RXopea)B#r-)8s4D=JdgCxy; zlOS+|p-exNo`0O_~P23=7l6Z|;V8 z!)#Sh03o^kO0!pj5r>@azXfA&PqHY3^8VF-@XFgDost0nUC*^s)8Vlxvt98;1nb`! z7x%Y-Rv(+@+q_%o@Lz^*DAm?Mc2|XHyCo_BGr47~+uHgk8iS*f?tC@~zha!_-@Q|j zwS%A>VJ4w$^8w|NZZLpT|EGS^??%WM6~SS9z^c7Oo&0`*`EF3O8W=PN_!zS^NGR@q zt6t5iSD*c#V2Lx<3hwAeH|uOjsIx;D+Hr*rPrNfpcTdvjCrHv|6m4qtpG2ZGDHB<( z={=Pr{80_3&o((lQ6NC1uIa?OwRJDv`9)Z@bJ${x;3K1u=TqDP5r4W4R@ zpPC`QsJox5hnGvqgZ(hhL+(Y=$Fr+{=opd$O@V6_c+3@MdbGEoUU1Po5g8GfN>B#7 zBZ9ahjp~NX_E-(d#uL9z`r`>!gICD*#FsR>m_`kNIGdQBhPkM!fu*s%D?dYu67$=4 z=q85&zbL_pIQMtGr%nSJjLHzpz%yjCj3u2Rpil@%&JmFFVOwroq|+O>m^fj7`jRWz z?{igH#S53yZwF;a+m<2#{>jK1qh+aLQ2*0lcnjIQIo*!E0)A()Z$|w2FeU`fnY7Mc z8C+S_;7Lfmu|5$OV1(a@agQ0Dk)R*0cPi7PSMZmd%8Wbn-V^;h)F)U!W)(lKOcsP87^Dk-k@*17DGz3Hr+9F6>$e>HKq$x=>BH5JaJCa5fSEC3 zeMZu;N~H>r+PU)d2EN;%#rKU??~-R4JxdP$FSi^GLHu4JsCDCK0DJ_8x?bi;Pw zGU(vY*ZW-VhdT|f5XI)sZ#y#wyRKx7KQDf7-up&mM^=>I^=u0SkYg$CP{2g;w3!s$ z&hEVV^2HgTB?FeV>n}TcuRKE~q&Q$q(oagP>`nyJ5YM@sxDHQCVZ2X3=8qC;^xLXV z4ZcJCzZWCzCGP`S004k*0Mg);pI+y39C-aC zfe{a;GJQAJ9Cv6x&Q$)I&XE2*F!*2Vg;Y(+Ue#o=%}%er@X)tyX#n1e+ z?{LDla`12ZHe6Da)ErE`nBr9rv`}EJFjr~{-Vo;&k zae4FQ0<+oj-v+OWMFM=493%C~#oZ&0Y}TEJj0L!vWeTn;-!`B%=Q4jk(C%P~x#1t2 zEmhalK+SpL=#g*eAy6>-l zGcEODoGArjo7vWX6PPBZq|=Y&Rx2O;Oc#^OTMkmjG#(QArVvR@xMr{_NdO>PZ7mw? zbQ$V}G$>qy0ToGdJxNaP>psDBM0h(WPW75v$z64CT{RslC&UD_kSXcK{%fMmBvsGJ ziKP0Er$G)bd}0|Hvx~i#)5|^LQca25QN}LtF81|^BotDAZf=Qq$!MV-N&Eeavq~p$ z1MLC##*KL0z(+$b+M)Qm^W2og+$(AKB}GKrZsvi%r3h%`2soTr9(kscfcjj;MP8Lh zkxm&7y8F5$ak(OkKolK6hEMSpiuV|1dxIq~r# z?n-8lU+5Yx)UX2t7W>HCz4Jb&+wvKU|E7|0Gf0I&{GNr|Ho`BUyC-vZ8gYv48?Bkx6-oz5OjNg zOaA$!5;DDR+ty*~6p|2R;d3=NLI(Zv7v5j@D)HuRP%6N$1D9)NLdAQvxnDDQ?LOV% z1jZsF*r4tT5^xVAp{g+xHKE;L?;jtR->vtMUGzw6M*I?MfVt5Pc?!S>a)6KH_;1?> ze~*!ksBav7_44?hw$aX-3PsU&X|LLU^Z7Ys+F*~#8Z>*(IM>q)9Gi007i~I(E(f>< zZ{2Q3mu^h&_FXwfh6>m!0Jlz2ga~9}UK4dMD7Cfj{jSr?Hobc1T$h?cSSCU2?p(%^ zy^?ZGqu$Tbo7O*$Kt7r!g{9u=OZE;L+WzsDudfK;L7wk5uvO`Lq<*y(<7@qYSvnum zt-y6;lHYm(#>4+X{GvRq{)%z_ZS#8sGYq^e(kL@k-ycK4(ndTPuAqNweU#$?NIU^$f>p^;T-{%Mz$agLJ(}QWS9C+4YWspB4}P}{|n{M%_gtq=*xFRJCwoM_I{PzyN%Gf1_OFX4)wYJ z%>`PYP@FA?E>^M6AB66H`T#;O__J!A@w;#5LER>E11$sHKUMJcN3ke5j+}yX@vKT^;5|M>3(%lo6{PO zcRSZEDg`|)W}33ZxfU@&8KAj_i5Fqd4_&*vlV%-B;5l0YV#jcq9J6cuV!i5W)d5pK z08^Co?@b^{CXUI7j$Gx}7|jxq8}A>KODE5BAVCpS?elrXF8W$6mg0Suw=zhe9$p9a z)i&G+(k`!mc5ix0nCp6g6x;}#N;Gq=)-4!~`TTU@N~&7G&Mvk>LMaKS(C{%Z;`9GR zx%Utfk%MR(v|iUCc8^4%*(?$6AKnSpF#_>x$h*RNSy6e?;AM)zC0^0t@*P5FOL~LL z=<@Q^3N5t27h#QH+j*ZIPcwa4{aR_oJH98ub0hSBOJV6ssFCra+|WwfO-Us3SJwYW z{Oan26+L)Bk0?!f8sznk5rFcJe?#8~IVp2xAm{C;=g)yGeC>qwecfJ*Bj`^v#>tY! z+ya~pt=58%nROhr?aY~CS#^NF%-g8=zkh}(5T+AEc3j#reBE5AubC2U?Mo^{hf_WI zsmIZOuYK6~*C}GCcp!#9eJWl89gTMiI_!hh`cHc;>|SB;Wzy&Q4-MrAh8o zI@8*urq>%+B!Z@+iCWj3q57h?629OEfDYi+fAzH7L4_Mrz;)ROlr{vP9szu?kN4g7?5XBPMbC#5 z7-reMO5uFm|Fmknmt{#|iKVa7*)<&@FpsTg`F@A-%A zmH8|Heh`Dh9)j&_FrGX@doqS(XvdCgse<9d5!u6?pNNdHCY3OybOUef!R^7)t2)#T zs{a$nMIja%!v&JNZ>LHsX7h|uwh`h_=6&+Dyd9nO-(=g8oO1UIV?YJ(uur0K#EuKL zQK5#4odsf;RltXTQk*wxj(Zw&-*U z)&Oci&Sr9PLOJyyaR3l5KdfiU(%qn&rW4JY0FKwNZbXd`p3$ScX^YTr=AAuTV#u!= z*9mRYZ*RC=)`c;1hDkG=;4iTZ^w?&LfHNv)KPwy^-3&T^tGA*{uJ?I+9Z;n*WIlT(xhMPX?^>T-=BwjM?a zA#A7d7<=B%`O!0zv%Oa4pJY0>u9y@|O0cO=+0zx8C+Hvan0W+0(Fb%cSFQZ>SI24e ziImlQyn#oUG&P2WAVFR|10)}VOs;X`d#8+~0i=8uOpV!Uq#)W-)kwk&^?wjWku@BXc}O%9ycI*7}*wBifPZ z6j+MOFmZ$R8tWG|;0Z=`4K$9M<1|VNhucOFeY2`2I{;Vj87w!*@r^^Mv`|`2f5ot8?vIh8?2} ztpUM?{G&A0MAM~KX-Yh*@dA)?JtcWMLZb55G3y=(@f1rOn%%1NVL1-C^oWzok77fE0n)#(;9dUMGpSL zi9p^s9lM4Z-8=x{x9wMNI{;`5)(ti0^yY1j05er2>HBTY zTkW6oeBlH`==CMd3ZXiX3yJ#A#=5QCY(hnQ8*&ig6O2-jlUIQ^Qg?J$<}P)Aj>+ud zx#Tzfq4~kZ5TPCv>Ct7C%~I$EDjkz)0z?i(3)QQ>X9kEn+57g6srpvG>;?-Ix(%b} z^A!JY$~TUfcr}$&E#inEuUe`T12toI@cU>*g~^mQ9Lzf@fdmhb!b};~-ajH&07BS@ zR^Vl^BK9#uOZ~k=Z&QgMqIT$i@GtkL?y^Y(*q;t%vK6@^(oo)oxg=eUyux`n@vl@H z6Qar?)P6XnSS^q}`A~}cp+6z}4XL)0-@swc*TJO zlv!(>>Qs3F8Cny5gsds9;(*k5oU_c`)@$`v^2ahk^gBLYG&1P@US7ePL8QyJU3>a- zz;F|4;TCz9c=AcUE1`@QVbQ?%RO-d20-67&3^i>!(9HiSFk$ig=oRgBA;j80g0Kgm z@wwS@N-gB7`JuX_LY`HB{$IN=-U}8>pXxUHx7HUlZ`P|x(jLl!a)alJP8C&<%lL%7 z@Kqo+&d=y2UO^#dYBTh(-$Io1Ttuvc zJ~zC?8E(K^)&^;E`gJwRKM$GnA-Wp_()=|nh`&O}hP_9(q}dviQW{;~-C=xr45e?_ zH?<(olgS{xI7RNtPY6MkqE~hg*_pzQb*ZsPph{@r#FjLU*7Alq-R8MwE(ht((g`(x zHp8ZTc|gh57R1wk(S&k<+9y3;SDNS7ebXo3?07dq?io@j316+>ib<7btQ)f=05i2( z7>wIJQ?@1^D@xxvs(z!h z5Cs#_D~vP>2MQW-0>rx;b4nvOv(5rs3=E`mE*Iy<~!t#1tWSWRfDo`tHm1k z6Yhwh=ACkXcAj6~N3jxgxmk$yYOeHkW6$1H7I(D1;iXk`_i`WSi( zQ=cE#H&@HmX)aZqJch3_Y(Q8srxHH|t+d6TBHxyOlw?_BpTk|ZAU$udH_y$5Vty0K z%Os4PbQt-$mW|7))}Wvq-%N;vW0LImOTzvXrlx4+%z`f)^ukZ3Rr|Bs z6moWdRKX%xW(H~mL#JvKMfx9%mi-M-t*-&n?bpo5&{<3LZpP0qJH12`w~t*`%sD^4DWo68ulNu=B-&%6@f!FEiACa_7VH{cwI<_f7qMR8$-vA+w#r zq7L_WpyF0two&D=a41+c73q~(M!g71KyMv2v)Y@muGI!lUWEO2qH!MyCQ?U*o`rfV zrM+F-{`yjRZDlrLpe`)$LDV+a(s-gq(^eZiui?D5)$7@EEtudkVHB13P z1?K_mSgeW({YFhj{tIuVFeQUkBNJfDb1}2h7FIR$Z!Nep_No4 zW|)Xh>@T#^qvXm%?2@d@tSmKox{YhgbpU)8jip8L{pdvoCoh!8l)t6r~I!Ywkh+OhU4ac4ElPx zc{x%Xw((v!k_?Q(P9QiFI;>(%*-J7c6t$FS`mGYnc^op4rmq>abCVgrQW~vrU-NHB z!6bm}UbtQ}`FoE1WXdQb04A_BRlfNItxp&Tsk-?%_#}BZXg2l~r2#oA>{)tdKL8SA z{hoB|R`Fa z7Q;MXqvjv9(t*~+nl!O06LmM_ND$+gMJ=z_`qVHm8X(MeVs60;&WwP%l&}%4a&`_S zw2}5)ffH1LfAREN!;uuUre1;BW1z~{P=1vg--b(ILHy(F!F;rT5B5)*@J3;cT05r^ zE9#wixWQM<)){$@SAatu;EwH0tjT_aq}WetY77tgXF6UHfx89=st-b0ORociYueR= zHo4jH6udOsI=;owkwFZgb}xJu!?RA1`HOxxjn(7@Pvo=qg#m%kd!mo?4%iRQ){&b2 zJuy~x3|NC>u(Pj!vK>&`S9`2Fy+=FF6pf%|{%f}t_`eR%+9bVQ@Rj}Zp>s!N6)No{ zAVy2^p~( zw4KmLK>Km71?c-punvHmbo28o!L}yrR>twgiuNX14QdN?4iO-M}E)FS6l_hmgT%ioqp?>oG;BR3wjfPK6 znlFP$v0T9h@ElIWK1)NErbtLx?oRx!bspF8-ljZiHYglwfsl@}xLxdpS;#nS;!2E< z5V$Jd97MwJ-HiGHRJT|HJC5hV-{5YU!(HkxjuXLuku(G`(q>Aj9r&{&8+CW?yHYe~ zKs!$nkT|()zd5WWxl)=X7lMsk{wWBnuEb4FyV7Ru?K0!qgnOn1w2=wl1nzlwZt5J{ zp4!YU#@Vx7db`t34dVMzFrlcoDiPzW434@HZQ(BmW@|cVWV#Ip?~nF3w5;dpu(OcP zVcC>_8o@|9y@msglPxB#b#eLlN_CMEz*iZLaS!LPv8yzNB#nV?GfBMRYv#5DqgLx6#BN(nMg&B6 zd+jX-zPMNPu&O+amAUYJfTex!swRQOz^Vk0qA%112I#xIk4VqU$_le~{mO48^;tV! zp(gtwabwPX)E%SbP@yBFN#2^nh)mdk@gNTd+Wh!fzXstwUk|;+C9cj*hS)G|#Tr zc%)!F)C#qUA&^T#^V}MfU;VU%hyOS-HCf#z;Uebsu1j$K#~B=atTiO}Xd7d;D2Kxr zAhRjKaw3oJH&sb2;$}_K6R&!IeIiz?k*hM{pqrDI=S*Qh#)8Ndb;Xliz-zr}hlQ7* z=krHOuoXDu4-?tXXaXIWGWU3OYxnHZ$rC-m?ZL@p7Qj*w%Hm5*?d%eE^&M1 zvSw;)g>JjDTjvy-HF4r%Xx zEkwIs_YL6-Ds9cz4^H(w7#f*_+#9(MgePT4kj2xKy=VUF(lhgYict~m?cp3&u1}&V zlcXimf&T)(B9$HxH{o9?6O@jyh90y7T_#EkVKL0#uGzw6HO**BoImKStX|_HuJikG{>X@pIDIi&TapDR&%iNk6?(cHvzfzWaH(dy_ zaGu6K<8KaA7SFn(vXxM-5_(u-UdM5h|I8F^3-l2f6`Lm5? zMISwR%~D7pQHvUXi=-*vMaG^TF%O=4|I43H&Rb)jD+sk(h0lPhE75{&%&n)fnqgg% zE*EN3-DZB;`mbkG2r^a11sXAk_uCi>@7UML3$Xm|kTrhBQohD+o^GHFl^Zgtv6 zxy@%pvv^Q_afnT*47B+nIIS7l4sgNgQ3N3qeQ(EARZ)L`wC!Vw0^FR4T2VHScb!l1 z;#t)`IdSr=GMhgb*RDg8Hy{qmEp6lSvrbU!p6Y)Qq+Nb=sq%6zA+Aby*>K@QPuZ%g=eF#pdGc8q!olb~ z=%HU3CUZ(Qe(SFwkPCPPV!Lvx}Xew2>iP1N6u%V0kZ#kp0+nib{`$f28BF z1VkgE<1q=%&S4gKQk%}DdVI9@PK`*6pEsu*ivMAE*=)UR46-FmNoj1u&YBn>%@`pD z+0b*H0mr5b0`z0(jPiEB3%k4}PkD`pG7mRR5)DIVe;&(mTS8M3{+fGo;ml;}83?&?n==Ex8@}CA7l%3g-fa(O`?tyfnhuAPd7^puN1K&|x&i-kyx(}x8 zrj!h=f6$d0o6Z)10D;}B4GpTUvZbULj75(P(X_qpf%`A*WoF29PPIPWhY92kaTnl& zal)@@tv7#KcDdA|t>;o;v`@td3_`77_rK{|rGLi1taVI_Lw5iFZ56d>dyMp1_g6s7 zq}?XcC(;;+w1xNK04N{A$_{Y4*YMs zMB$FR=?X2_P>cz*imv1jwkt%s_yOeRg1%M%7h((1Vj6@J2q(y)r$#~gnSBYBl)Z5< zVr<9;pzx^$8(>ZI7tWgPmPV_gHV8ahOA8|GVX=(%LEu7U%Lpyvp7(O{`@zZkcL67F ze+kr3S#i(Od<;TY0<}R#35B#DVvoEQK;IeUlpD!617H3cS0Gst0*2n9ui3?&(DQRDQ*db!k{XH<;ZQyckai!1xb zC7oz464AoLTc}-ZR8tYCO4@?E9(DDT0OjeXq*O0?2^e=W+DpF6Kg5a8z6oMT)J~JO zyp^pm13JD6h)>etvT>sRkN@~KU5|^1BLm*?ji=}`!U+w|T*C36x#B?(s-t`if2JWK zo*WdFKzH@b)-LnJNIf5v8^~K6rn~ca!^DET?`Q~bCeV}$7$+HAHjl$~@oQ_6FR^*A zeSt>GwpiQJSjRPq_TG>`t=N}avmcOdBWrDsPGdW?@Jm!9p=VqIZsj~u>t2rHpneB) zPOtKipiU}a(CIAPLpS_}zkj3Jf4I;Jw$oc>XJeTZLi&pOCdAj1dYzV0IF*d}7l)tX zxfIPlQyy%*`3@PX7f%P*^q+V`US-5LTvPu^`a9ZTw$mMvCHbw99Kc)2V{A6k)`EjP z0jVs}I`>>Hg_xL(GCLULoBn4R*R_?v$?6c5=dQ&|p-DB2YcZ^)6yw<{e?TmhHSwbU z=g+=TVgBPyXXf%q4>7Y&?`uskZ+B46cAL`m>i(~t54RdURHp`k(4Mx@=cH0pR)Grp z!~L8_X(wV)jq~3Y(V}<VIpOPw2J7}DE9FS9$LFFeUxTt6&7z%}jkt?~-kxQG$> zZQlZR%O$MYY*zHX#1n;OmfeMHYSAs(#)JxOX4sJQdO~xNGC0K* zn6bkV=Rr9Ew+4gDjC0lLlb|Lu+gZy~$XSVEqwv?28&MA3`*Cw-e>xdtaO}uO*`N+U zl!e$uArXamR@rc3Aimh?E8rpH;IR z6m>@_&ux?^lV|v!86HBhc0n&jQDhNv&F*flp0_yJs4w)tiII+#ZywJ)-QA}HbGe>o>+9)zLV)pFKF2SoJl2W94} z&&TrAVnEK(nRr$f-$oieKA;Z<=ZSh>g&$0iYVp?$bK90vhgACeO)zY>tQ6{WkSz^9 z9f52iW)sxlf26=tYem7f?#ooqV0;d?qjXcUAj_-C#(@10o(^ol+2Bs%30J^u1ahIU zxjY7(Ly$jOQDPXEIMLKiUfLDpIsh@10sX#J;0mAM7AYlU_bF8k$^Q0lLJLcrC2(B(_Q_Q1XV>$YQUJH>4)7`tf7l7eZ$0)S4R8|WBb}|ABIBm( zKn^yM%WKsY?ydRzOR{IyK*+HW85CT%K5ED80RM9Ox<%XD+Fy%C06jq;*W{~lvU*vP zC(8ZwP?YLa?<+J?`* zXw5*xe@JGd<%*fhERpSl45~%3k;!<@R(g9e<#0}pS_eSRfS_k{)?6P7YS?u!RdD@K zp9y2$oGX+Wr*}UDE!D81PI)07c;qGiq`lY1>Z4Hajl>D;$c=Q&7&+sl+Gf{Z3oS~` z;$qZoB0gPEE}os_wqs>^sdl^1{=7x?x5t#^f3@93yxNK~5-|ndxpsxR52P=q|I+em z8A_<8@iUb=w{S&DxJ?+22a^WOxTAoOs%A(Ac4fQV>@(g!d9$bK$3bCgwWwF zHIBY4j?I!S&^}%x7xt)M@U9Sh@w+4Rf-*p&Ro@a|`*0c4u7~p4_6nwPIuEXe>^dX* zf990ENx`*!0=A0KGyf?#(WO~2fNYm|Ue~E+8wcixMHc^%`r;0)VEl{nL@{0JU!nqP zv0CnweGFGtYYjBQe8aQ00d#$hfCbnl?jblewf0Q-wyjH3XG!U&QHZP67+Mo9=U_6( zSqSY9A~?9L6%JND>jwbRI68t?Dh7}Wf6dIGCS}bn!4#6KoVxVYbcE8V41H755Q+Il z0IMX0Bz>%6bPQ&U=#r-YR!2B1p0j1jj!gQz7dMS~cC&9<4awn9iYv?o5ohf2M{2 ze%0XP-LLdz|HAY;orIYa2y)aZ!Rcp`_7!xIw_c|&U2w&`wkR>7mO(%-QYd!MCA|cX zve=E8`;|;`GFx)dTr^h}3ebf`u_2CD3?Ch}*kS_kx$3Y=`tQul$(5Mz6jLpNVG zI^0}2tNDNZ70D&Hc*&Vo6Cvp}fBJ>3qfQ+u2%0WbN~x!R=KS94R~n{Ui~Stp%Z*M+ zLh1~+h0Q%*O7e|jL4X?+wa*9{F-fq<%ab6GvQMao?amHvO-AWRY5iv7rh)o1w~(}D z0f2l4w>gr4Qvn$c-cd-jm6kU=`HQsD8l6MM7ot3URbjz~?*qvrhd2l?f69?I;1@7{ zY|<#A=Pu)5q3M=vsg?iueXP=5iE%G9h+t_V&B<^GdhOzm5 z=t{VziAcA`{YzQvu4qO!{-EzvWKsFF3nWGTmmihu$qW5)Hxi?qxIF08^9N2q|3N1Xko zv=xwA?OV#9^Ln_MX{-Q97})`EL5P_g-WZQDF5Fu|IV~;&aR6>%#9MH?5%&@w`wLwH zj>aEEv5$GeYk>7!$F8?N^|i)ha2~9ue$h>xD_NBAW!@q@gJACf zr?A^b8`h^?NoliSsn7BwX^P(+Q_)DI$cUz+lrL^jp(o5on5JrUJv5qh_u0LdnIFdA z?g0qRk#}7*XXPsqo&O-zdPt2guOq+1%&7%fu4zN8$#Z zx%GdBVz{9+e{RowFJ;;!JSQ0%r7RS$_dnnw1FTJl91L8RUD!3l}*Lyrxi7j+Xo7USpM1f*7j`^_#PSt1y>!(f6mKfN5neWi<2sRxmcHxBr8>7 zcX~y%qSmg|g=@v6Vs)J5+YKd=;Ei3$1D&(ci&aunfWo zW@`l*f6HV%gWRFs@=OTu8-9~|VD*1O8HIQh$W^Jy0Y~wCMszVP*&_LXaoK;!4Xs_D z6P$=*rS1F}uKATHRnQBu%9E>}u*|BX9YD$Ldxaseb?9;ZmUh<+WikzDJ(l#)J^Nh2 z^gqd5Qcntcv9O2S0kLE}H@FONeVok5ImYKPe*iUO66u;Y7%@QIs zfAb?)LA(8t?k9CyE1QM^CGzqvCmdq7s0pCsP_IF)hZe?BJ_d~mxB))psMb96qVV4wBHl(-S6x#pgE zH!v-Wx`ZKgoNrMydPY&|%)g^{$(TKIjA=peQapauyQSlSX}laU;j5I!48|)LuHeMb z9A$oP`6L@aF$d#<7+~q5FQ8)L_XUs4DnM-hbBR}@elpd;roEFJd`-vGxSk^Of89bB zA`eVQodkF#2!dE?i zfw@VJy=qI=0WVN=rAxKOT-}L&4G7-{pew8A?A4klN6~Lkp!ongv|mg|)M#%b;R(74 z#%4bnleCE^fa@Fg)LA2f9Gm)#e}<49d}dLL^Tz)Sha&*>dG(cS0XoIPBC`!&WE154{v;MjNh}xjgWq?!|G?t1t6MUxbAfok5(+QAy1mU#j!GY+?y1R| z>AAyl=ogy8#PC76{4dQi60@T(AGSDFr9DQRCR|SQCHLt0-z*J3vu&)5e}O3Dpfo_1 zn4bgGafOg-M4^%GEi^9Zg*+WVQj8+628DbR%wOo=61BGzBYk=a99~gugdN;W@S@tK zG9DTf&rZ2vjg$_|;M*xG$?Yq`{H=XlIjC4Ry~6JxfTwBvuUBlPnWPe=T@5=blKNx; zU5oJtXWLJ2zxWkOCPi5Ye<+yz(_TM*=Nme(j7;*fuO7V1AK1P*A`hd>5IOIs3siK| z;zA$CT{Mo#0}6E<%)VUAbJEv{wa_El+kO~9Ohm0M=l8Q8;PoC4ALH`qXf4!FpB8%d zHO_HjCY{l;*xx{V$vgZ|0fuy26JNf5h9(-2T#}C@#4< zQ0RxW^C@jU)KD%bg*2xc0(bdb?hW-M&WfwjT51|{so2&=Q~HVYDX=~-J~IDW%s_O$ z1qR)hMpn&Ll@>*Rb(>_#Yu-amU2o(RqM8D51YB8PCR+pK^x(KQ@zYehXtQuY#`}$i zwYU1w8ZfP}^0x!Se`B^L0{{U*mt{zqs-MP8@b@x^Xi9c`5+ug4AIU$(xvSv@+&M`< zYLn*gMKbO~G2x$a)l+~Fpi((!O4Yg^GhA47Jfq+VuBD`Ymq{eQGzCx%x(&|Nf7m-FpvBH=$J#0ow{AL5 zF5kI@7r^t!Qk)D7*zebQ%HEQgX7Lb$HwOd7%tjfkg5MzeGXlH67YVr{AX1nxj>dG_V&pLU#SyWT@97)}lF+PnInCU$`IX>Ea3~jf0ecw-{8Zjn_*U zQyh5w7$vUO+(gD?)I{_K0St^N(0@)|&=}K^Gz1))Liji|d@3T zO-c>Z)6e?bzpFcrUv>ppa=b7*b+#CSzh4)%$2KgpDZ)`T?TyKTUh`V|eh~~wahIBo z-EW}be|I!x88I-!aXtt>bY`zG$SsktwepDu;^0DY8z--LDmDk2Unp=-PSmU9e3SN7F9sAC0K`E{6ym4Z} zwCc#hbEUe1f_j}c2#=eBvE`%c93TZ98h0U$+r)(f=!`d$sp`5>zjjmR8I~=Bj9*kp ze+q9rsiQZ;WmtE$@IK+%7a3Df{v{ zc{Afp{vKI{Y==v}iId=Ho-^ua%U1v`R&hVj-l_6zBri2%oWDl|isnyF^}r(gl*jzZ zi=}x+_DB4n))fNpt3UsO4q)qxW^fskdzkTL2-q~u4m%c$_b=(xl;o0n^+c}De-|T6 zIkw5Xt|QhKD{4f|QCkfB{bqWRUNX)2Di-^~%211Xyx(!x|I^o~$g$%abmUK)s)v_Se6W{{3`zN1LOtmn>l(zNa`1@jgoYO}nM z&H8Bgrr@ z(ox;j>ogh-P;s9)fRR3M{vWAm3P7H3w@9plU~{|p9P~4!Hv=cN;u5bqBHUW8;~+Pu zc7k(vg!0>!09hsIUQM=Y{S(|E*WwOnswn*XFthFPK_8L52v>x$cBCS@e_&unWPY1G zg&5aVs)xg1LBv*C^1X}Q)S%oN;R z?Eed$aDl!2fD_$h_br&CLGpz@StXE2w2VdMC}BfsBL=35QVuwO9IV)($oy*&$30Yc zMd*671oKQGkgQmSnMRA!e~c4jc~s5;dIp+WyvT9+CXRSsxX&Ak*UD4M><^FPj6a)f zGtP(>-wVE%tVxFu_wIv#2 zvY=kH6w(ChYf#Aq9_xwhfA)o8Lu4YZT}TL2@m{5HjYD6m%v09Rf4*C96qmY8G+slb z5$tSFk+`cjTcl;L0auBp*|NX8H?opHFG{sxjnqX!+@44v$wmLe=D=5>wMn<4@K zDfT>_(v%)>A%rQ$mdbJEbM#QX!+4pJ#ad=&l@^u~?CX*}fd6f7=|`rE6P1L4xg_^R z93jReY?&*9U%ETYe;V2JIIJNi?b+)QT4R;lFc&mFnTC#0ooyNqRfU-PHRw?vh#+`* z{WAL#QNLHFsms;@m~_TsT+TYtGCKL(13zLO$f1-&ie;a09mtxI$mROX_ zei}*#6gvre*jU&$0!ZhqCaWR7{O+!E-m|xQx_HE}rliTZMD|y7BA8J+?am)-6_qM{ zJ)Q_NGEBK9aP899KB#U4(+E9BW>T!l5hz`!Lbz-N9ZL zjK2c8pOo}@f7$CB;<>CISr`Rp-Fszdd)?mwTSfh;%h&93`MqYDHXyqu+#)#A8s1X& z#hiZ+!txd_))Q|D@V5K3KYe={wo~z6CC+P@i+wU5s+mW#D!+j^mPGbIVFXpc`^_iK zy=eQ$_}LXui5jGt+YvK2DVl9iezuaVL&@XR`b*Rqf7CnGg&VS=UO+rkXUKFxOaPPd z;4DKGmv(-@VhFSoHT`iS-~%XvpmHLfihgLi>Op)du~~-V&Pxpko*j~{*sF5acyRdF zC=S=FDJf>9R`gHWX9~-UpMi~M=A&;|9c9TG%z9buDvcV~qvkZdVd++Xw-W*M5XdcZ zLVITIe{ox&tSmvz41e;}(WWg(_>g_!a~GK79i5t3g)L_?S&BY{`Y7*M`F6@_>kQU@ z&%Q%cLJTbao-!cgAES#2Mp=jXle?(OBB3lIPkFrjLC&k$Zy=GxWm|w0&VyDY;s`}< zvd&gbqGQr))aWCVh<^Li2o}5CO}Nc6si+T=e@&j+ZBab~ZQRgvmeiPSIWJ~hzy6S@ z+`J59NwVr0zX_PG2L)i-ndSN^5`kNt7BtV7O2pMDA(WtbsY6=+>-JcM?~2HPOi6hX zxnbzo#;CGHtxVlYvp8+CB1yE;?Eed3q{Sq(C>T<+(N@^__o;Ia4VE!s9;psXRZ9+p zf6#6$lKPu>&gbvnpaObsjN(OEJ!b5xs_ZKfiV_s#pk8*= z+TMlbB7?LH8WF?zpCYNjpX-Wn-(=cXFI>~<-P1o#3P}~yrKLNuJZK}hpe*;px=kxReN}N=d7!Qgoxri+rJRsjW zoRr2~g0bQ7oN52SOQ2Hw9R;3I&5|UWabRM6a_0e9t{df>%ZPF?0<9UEW*K2De>to6d5B-f z*@<()IuYx_R0Z^irk3Ku;tAB1VY!aV7k5}MEKm>Yg_ecLW z{Vz(!nxHW$Zvbsa-aWD?%RmP+^-WAjKtYuKzR<_B*$SQptOK@dWOv`_ipLZ*RDUav3I3! zuR4Ar3W0XOh!mQteBWUH0T}`w#$eWv(6O2Fv~#LT0pFSoo0oe_(DWe*oR2WlF?ZfD zCZY!<@TEq_r5yQ{e2Z(;vL&gn^jWx_J_HtS{7kRLS2hTAe_5{?=L~@E9XTnkuoX>x zR;oC~7bK^pPhEwb>00TqdXAV2>BO;d}~VO3kn#Z(M}DHC!mY zvbt34WKz7)))d?4kDwBRfd}Pt0d|tog%@{bw7amH+f!LqMpici(v_D~ZCP)RR*K}W zJX7mu20zkAf4}=Mt&3_&#YgyR2T6$1uKX^#M;hJ;#NmDVJ+tL{u}d9c2=MqNb-7QCOBXdF(x|WUhDmf% z@#yGa-_OIX^Z&|m|GNA^$9(r@(@0?o=AuX-KSXk&e*(&%DP_@4CRLGvcNn`}7660N zz6f-J$erx?c_PLtt<^Rpgi$>zxs2XGN;4jZ%FVkzQiz zkIcZkFPuN==F+U5qR<*7Gx5yZVt+NWwPWeupu9)xtf_$1$a^0d;N^$&KFvWa)x@+< z>&-BRe_rdZH~2=~?4aMz#(`TU1JPtJ&>G|s$a&dc=G>=mt+}jt_R$#Nm0oAWR)yhfb6ozQbBjM8Wy58 z)BHQs?@hw|UUYzaa5|OqP1l%|E#;y&nwY=Pf3$*quTZ47T)o=wO_ivB4UsL6?SEJi zcy@Hkz(?j+kC;_mX#8%9c|U}EzM!5vY5t5$ySJfAjIt%G*`=ExOi|otjp|I1P_xPL z^@JiCZl!;0i;w${wP`Esw!LAz3^javg3vyhiHt>v4aAYrpJf=!(BZMDhQX}?&!lyI ze-;fd{G@w=);nyB{ya9mX!@M}WI}*l;Pmu9l5=tB`i%0!<#gO@@PXrZ2OYfpJ*h>G zD*Ji7nMKcOBmM0E(EQ=}@3?{xF{hqg1=`zsNwz_9gtrw*HJkutmm7!roa|4v0`;fh zYS)Z>MD9Ut!PypnZFGY8%izda3tKjJe}5B+f`BzsxskKcfI3_Bk*}G6^wH0zc+Sbn zQ-(#1Q(qH7Vm!}AxEOOTOK4Pn1lR(7rQ>ERN^v;LUAoeG=!MmhI7|&(U;V=YZJP7- z3 z5ea9~H9qaDJHOl9_-@g$vYjCmnsS7r`Flf>7llK-#_ zdVAMjfmWJ%8xmD|(qEACbpu#W2l)^k0^~G5z(6TIS}l<8W0K2_j0{c5Gi$Mvq&gn+ zs?6zyVwkeniGzC~2C^EUQMR&1D>$wi_vswhBOhp6yREI>Ae1wm%MTe`p-l9xZ|7tSC77 zgDkX&N1RMqDkcs{$i*uVE>f91*yDiylI#ftN!Ki3(Hi04@)PnxYjBvuMYSTCB_k>v zyFIkMwTSm@5d8`6u4!O)G=}oLC4#}9ik5*&`@E9Qq9a?ENgVq0 z)WG}g`z?{1rweXkf1`ztrM?Afu|)2fVl_sp<1Gl*NK{lYQMAJLD*to9DQu_pIdt6% zMdbaeKMQ#DEVj{5%$&_7T6Q-h>3wu z^ipvn+=@iYedE=-t4ge$70hY%u(a3C98=AP&gl8TbaRonp@(e*+Hb>S&R zJ1Iu$%|PajsbRWP(&rmrH}Z}gtUr0PB>DuK88w_IP>4hdMxxsNs>d&gNVkF-wzQxK zto&z<+el3+PKCmCAvf4X`!hn|K>r8Mkos z{OU*qgQ7IGcK((NyMC)=K@TBCZfab24arveyvmU^$P|S{Ngftm8!6h8&{*n`OMst< z#l$Y}u9-RUItR?}R(~E0OBlNLVcv(4i&&w+rQBmOm}Lh}&{q?ptNvKPL+E;|>8=%8#Od?%l&dMnyR9@~dO!*3*{#okiELIs z`jjr+sgj_yhot`W>xl5cUQJx(%tE6dsN;TZsL^qBua{0#egyRB}CtgWMJS8MJHJ*!!$3A^e{Jk)IT@ zfM=5b;2U0iuWl?(3xac2;SCh{C=WL#d*4ITSq!u^MMfi{L=67o))YSQ<+4a;7nPp+ ze+K|t)7RDnKtPz3$w;T2%ldtDHq?JAQC~Q#JXkhWg{gR_eMKat@IZZoR931{J9NEC z0&!L4l#tQLfq4A#GC~^m7Quhm=a^W0U6-KS4iE46uG9BEkR-yY@aqjKZJ6$|l824} zBquHU*Cj)vQ2BgehXl0=N-ZVrBpxR4f2&8}=>6oLyvzak zh-rv3GH?Wiv09$Z34D$c@+aShP_%}BdnB=88?8uCFW>}z zOwgI4#E}zdzf4Sv$0CeCbrUV|e*i;`(rztX2PQ~o&f5r5mu=RK&R75)w!q8}#1Va{ zINdrR;De;hf!qz$?^@mI^F|uu(z8C5ZpKUDLM#&8%2Y4IyFn4 ziQ=nYu#U1$6pgU4rfMrU65K7-*&#uAEFh@7r^ykIni*bGhjvJKj!w!(f8pwujX#KH z=zxREdvI=yyQ?$D@K5|&(7`=&_rT2RN*c93`z5zV5peo`QnX4-OGdSqSkFR*<`K>_ zBa<3KtL^ur$P9_2wx#ytA-{IA88U)hY#cvE&e|t%-7{cgx4~9Wv1U|xhaR3Nt5!P_ zG?I6lXev)gz;{&heEwlxe`&ue)Vq`>o(W8ghg8eI&0#IRg>C;UhnLXi*jv6Ak&Oq8 zrW^P^DBvoEC?9%3Dm5krby+e|w_ddkKvqrSw1u}W^w~+#Lcn1N_U`!DlH8mg`6{GL zwUy9ZhRM9xxo~1-CmMB&k|37_$n!`JY8v8(d@{oL5OQ%? zA`2UR#_ZfKh{HT~-)Gu*HCXIW{>S3#g+b@Xrl-5V86QdVJ;bznwx6qfy=@ZX%!E_< zaZ_CTb75wXpFkuG_DRca(CzVo%%GJ)eogu8t&ek%Wm;eCs9F)?DWZJ(d}(4jz%f< zTe4LnGOqE<6er=r;XqQD9~kfpPI_j(W$dV7P#xVn2K%dKVceATA$7Oy?O2^OuS70* zJjI>UYAsOI0c|;ez8#R+_p*(!20I_R<*QyX@L!G4kQb)Ae>gXirhwjEh&YnUWZor% z8nO~6@lh4VlHKbKc?Hc$$|0|RueJvPvzai7sPqK1yh4%5E!7xtJUAE4xx}C zFxjAETM^|;74g_6w-uAx%zHzrZonNN6K%Z}IM>Z@aA+Xk_7&GvMfc`jUtYMyz1-u)!djX^+?;sw?wGAEjM-gm#*AvMfR8XpHP7Pxf>6B^9 ze<=*1z;ybt%rbXXbu)yQ387v0xS721DQS;pSd=dGLGH0xJwgfkwrnCrNW$V~uRz`F zoFwd;bYq$&m#$RV<-3Tjvf13B`B980^!zN>AN~LXe;&zIy>#>#)_Q`TgI>f)H_638 z1DDgK;irB2H~CEiG@!u0O4Zfsc-NJ0r<*~g=G;scT>{w;Md2fvM6@t4Di~V`PZtO- zM3+Tg=tGL24MTV*AL=J4dYFqR7W~zZj)A(rCCos^zet+!(A#I!%c8pgYjRWC-WEb- zh3Wv}Bjb^Jj&MEFL|l@q!CJ@aTiz7@Q$v*-axp(Z}G#0lEU^Ia5nC_X#o&o9p` zg&cZYpd~QkUK(}W2p*JcQmtcmvYcS9;tKDHwg#R!sy|g;D_Ce9h^!?-tFFTGX8SEokr7y} z_RMQ-`R|CJG8U$a0kzw9jr#YP;zYL>OS24oRPL*CD`>uVA$SZ zec1J`xhmfeTU8fW`ITp=`$+*=BMSHq?TujSRq_c)wCONL)iG9Dwy@`K-syEyr`yU3 zty39#B)RsEpU%m?Go>y9xongBP+tb4?R3#G!CDr2n9!vPlzvsOqVPbSsd_Rke^M@! zTX!Q`F%f_()P@w)N&#RHEif}vPrG{VS%(oflvj+%$^5LvD<)J1uYLcu2|Oiy?%ENt zsiKJ^48pm7k^)rUP}5C!4l_@UX*msZKskDs?V?7B8e}UnilmUkQ+zXLh{`Ff_l#p7t580trB-DaAby)_J z2g9%s_TD&mU=psdTD4qq7lQ9A3uB&y)%-@O{GJ#Lr7(Gaiwrz_f5tE7Au_)s z(aiY3RFZA6pMOBj0s70Qa_SK&5rx7NKWHJPl_^=O{AIY>MCST(4xtXpYd`@!o#h+rwn}CsU=brlHyJUT~}&Vp|Txx zm!@>P1J04&hPH}0-;r;Ld|rQ2eG4v%GMZaFJVLmKdF^BdMn))Jf0)5C4Gmon8NZ*? z&2gNyYy|Q0Z?Eziu$LCP8XQPI9uQdOFe6$o*_}B%rKVC)mZb$snDPiB8UpP8qQLRv z)WnOn9F|XLj`xV_3lqt2`$b;_rSyZAX)Q`?kV5o!neh%8Hc2|~V@OkV7mwt?XMck{ z7*2@iVY_Ir)m-i|f4vaY{46dF@U^C5U??|JWSsqh4!koEO}@w3E}lwGcl&k!e=z^Y zf!g7cclNT2*Um$NMCSqDs+qhLfujixu_I>dgZLT+gY?S@Eg`bXZR<+$dbrz9NKf_w z6Pb^-EB{M95HvQ?t1T3tx*%C%O=XDV#xyEr#jK5fWG{9qf5F=Sk$CZnb1ELiFl06C zdur#|Sx5g<-G~%!dC8nVI~)SM|Mk}(75AYTER@xt$1GleU!T_yxkg&s?5S#^dvY1w zTno3v2im)Hnmxmg7OYBFx^xcrjroJuf*b?F_7LC_;D7CWTWkU@zV`WjaOl4jgwy@+ zo7gd`HL!5uf4;f%gcxMFhQYz@C2csh1w-m_1w{a(n99p@wN@-hnG;?x2#^ppf-hgK z$^izcO2uL(IIJ5Z-gWAVHO2vuL8Cz?_>I|g=j|{&cdHMem%>CuVkWM}8o(%h0kUst zjy32JiiL~?3NU@#`stz>px!!DLQG45!yft8Xd)Ew*TujcGP1<}h<(>8NrtRN+G)byx;p5E_Z?$GU~~dD1Ek8u8;ADW3b1q$ zaFKUA0CEJ>KHr3^ZC0viIj2{QC3>r}9`gxTCf27AvY=oI>*_TIv_!fizJJ^fwAV;n zS(M)bQAk19x!Hmao*b*f@fswX!k7DRw$j*pe`seJO;q}upe*h5$!v9KoR)zKzNI)w zpEqY{3$EnyMi?th^}Cy7PM0H16X~bXG`6hbaJDd#l=22mu}rR&p6c0} ze_>|_RW*i}I?}YnGpfe+!NJu!K}XYQH2>2?z$yMb3|9H@>mK#xKzhg5Lb4$S-3!aT z9(FWhO^)nOo&$T-Yo$1s;t)}gbdS5<+m*a$${|d{&Hqnoj}PTd#3tsTTDcKW%#9WH z^tz^Ay%*_|QVm$h&p2Po`zC0an9{%;WSBemS8Uw)E(Qdr4i!aQ|HiFR(x&3XCe>YLp zx}s^q2{nFI#EQ_WSNEoOFAFScL3lgBp$6k=BXt78kR@qPAFw(Np(S0rCVA&R+c$b<>T+nIKrk|6 z94Au19T%jXSifH0B63CWdyl-Ie}7fq{tmu>!2irkdaearnAYa9b@#1Hdz$=Iq=gvX zL++S2-ze@r?$HQQtEJlDdT9mpfyi1Y4;u}J9aTRwH_{7c)_We8mLZ0;31YvX%niS8Ka>2^xq zxJQu+s5j_4_?8-xrULK_OY1b%l)FV;nk*i|qq0B;v+aEJw|vPXe_;S0YCs1e9SY4Kr$V*ZHAL-sK@@pw$ea}NVy$GtA% z`VS6Ryv}>)PLc}qBi4@jkvHf>*uGX8qsny5K1ozHCRR)l4ML`FG)u$5ecR z+kOGKGv<{xD9N0v-^BaBBP)IgLWw zbVhONi+SmGLCdu=SJ!GkJjWsw`}T4~mcp*y6hiWe|9aGP(KWmeMx!JL3tIH{dNz5% zdnmZ!{6B!yR+;bMdxc!Gmv@6^1BrOo;F(qP#;;s1nSl;(V?4o=fyA~(LN@Ky{$t583E304)+we=NPG5rIt`An8Rh#DpR4qFsOmxUG)b&7@{%?obW8cXzy7Y5R-ti9iz1P47`tI2MBm6 zwQTGvUTA0#Dq>?=bu@pNlS`SbJ}{^Y!6LkpbRbYr^IE*(Bh?wTJ{`PaeGczOkY)p^ z$kp6e;u(~2KH62d3(Pw2Sm@|8-Rn)jD-0WTe{?Nh$tmwodg#3MkjqUR4lDDsK}H=e z>Y(IH-TpmOUHgT6VW$%$7}R}&-_r=lFAl7Jp$HAE6ja6q#(4XztbFH7IlQt<-&?)~ z8@~>+sWzWC2GVcLmwvEnw&@IbSOBUiC@{nU$z#9)riKF}BO26;F zGhdQ2*4gPLD2bCh{Gc&!x_l^dIOxfU#KI+eQ`Jd&3HS|BZPYWAv_5_EeA&t`y5XA; zFdOIEafAhLoIDZ|*NUVSM(vIxC*sl7f8|0uE?Z%fn^KZ?=W8|NWplBNf>RrEpJa8H zV>9ahc9FbHj+}-zzvz&srMY?@sbC`=KR{;|tR2+yz}^)6C?k`;R(N`kf1D@# z4H~8UGcGKMoOW@`35qLeoZjf>0Qr z<0I1(C>^}7yKYhq_LTtkV2^?!gSF{i(X}R5G01#Y_PIsn=>lWZ_=e;OnnEVb_l26l zLb(j16s<G?S^YQ6w+Vaj8$OEan2Tygx@#dxh!gJaP-;ST7f0!e%GUXxXLS(XeRl6T%f zEu|_J3r5DxTFpFjZ*3|krM@_&(c*3-bpC>UeFWK!t5RI(_asxz$)RVVe=14O*%#VH zC8=@5+T33CC3XJ$^I|5epo&FI&bOgduf5|I@1tq+h%;=CBg^_p_Mjrz^5Srf%w_P` zghyvuobP#uh8^o%G1c;T_PV0{5nifdTB{XJ++-$gNwrY^WP_S>#P6`S1Z=Z$7HPa>`K|gfAk$#S&eKXcP%1g(;vcVrdb?pBp0UEL@}b;LyZE(%QB1- zF-PtlOjA2$q^1Lgu-9q^?MboZ>J&l4!Ua_%(Q5W2mw>|H-$gC~GozM*C0&u&NdX8> z_(HKaaQO;K%3>lu9wwOtz0Z}Vca0e*lov+GpsC&+_1F$!fd_Gsf0HuATlN?xaC;8Z z$5|QJWLO8n7_YDO_Pj!Gpr})Pe`k=|FVywD@JYO=5`R;&3!o#U_LStC$uQ;{#HJp0 z`jXGJWh$1;IzX$;tQJ`(f$KJ3V~fm2V8c04uei_!H!hiMV&nilLLVwZ`ZJrpWrpR7 ziIO#aZ=YoUUfv%Ve~s8xEF+zuQZ>L9w|`I^iCBOIfe7noL!lGbp$wk3HiSNhWZZiP z8u+w@hGS@HuxIO0jW4?26+)68qFbMfza}j5k^nbA$iLi#(4^f7*dvpQpVM?)f<2aL zSQQO6Y(BL7HU?>o@1KhTMbD!M2*Vo_Eda%t`~dsLj_JyVR6 zhdUfM=9Z|6yw(vrUw~DSvuxLw3Kl25!i?^;Xnwf|hL+8lUv$7cAO8NAy9UHiIobUu z{86++d*Ha(4y#~42M3E#!SidvHBW;8ysNx?^MtZ6P*t6n-<3ld3=MY!s4r0vV-+qG zEOeDQfQ34hduGjQ*nj@6IEMcfpUqTuf*TaXmLi4#;Z)LzYEWf(O3s&tff^=SR>_H? z$q;#{Zif&H_OFVk&>iz$ysz0ZCuNm??uKZJ`R`higbFl?!_O9%_{=w}0N4S`~K$51jcmVBUY7 zBFyV+3H@eT`Ux^SSDg0Kd+>lDX8fDFg`5|z7$&cY2HRMBe4ui(2IJV6#dRF&T}L7p z(54y2dbH>^bH3X|ju`1JPTV_p*0-S$7j*Vu9VL(Bu{@2qK$zq#Lm$w&s){)?g80LP zTBOZq$E~ddlYjKyQ_Ci}Sr%3^^Jmw14^tzyX?FvvZ}afBwJgUl%}E8_!1k)l(;*a@ zmt9150*rN`(5&3i)gf88Mfz(xC#qOx>^V>gug-U1*}8|9(Ky5>ZpMHhx24~xNjLO{ zGYZ(plbmUhu8xwBe5zslCE+lemm`i?Y`}Y1@G4?fpnvaGItT5=5BU3tz?@nwYAN>I zeNNQdOD;|$+T%$mnr5H5%G3lm;m1J12$_6HNeLd5y=}{^JvF#Ujlx3nfzo;uI=%3_ zyZTyAj0CbpyL{X#@<{Ky`1+GHqm6m4STW|3*XjpfCSX4cs|;H4G_^L#AX~q2?`W5< z?;V!C_*5rKunRxrbe^4}UD-d;sbezM!pitz2*bvSKuw`0P$7 z**=#_z47jZnwXaYWAA_V(1u)S<`)(}Gk-{Afz$H#7~G7f?~Y;Ly}9^Ip{DC-_Ws=( ztQCZ7f26fWcx9nm!M*=st9T$~r`omE020kV?K!}vjmx8GusDVst?G)M^17!=f`uc| zB7ufrSC)bwf2WAi8kC3~^NQVvu1NUm>o^!MbDkXF5B+bg!p)w5(uD1!ZTN*8F@F?x z?q?OVP31)GRS9ro)D;4U@nec{2^=nact@u<^bjSfFI z4&~W$nM44Hn&mHNv2bFv_Ftrv?SDOFn4VSucshZ1kXR{`ql4^~w*F%tx~QFPDMOts zlM&FZC>4Ufe|3k)Z@Drx+m0?B#vO`Ye;)92#)$A1}K6_B$` z-BTh7m^NFBtfuQ)rX_3Gx0zbwIfbwJpH&=wd<)F;>6#>DIQ#(9IAI3^P&r}Vxf6v%tBp4c7H}UD+%h$_u*oI2qX`=_O+!i9 zByu~OZZaMcO^FG_6Da9feKM+}8@9bdH`4GhDOgUhfEcy*jRGORUjgY@h&d*TIaNnA>%xhl1qKgOpIcq+xs*D>rv5s!)?AEGaC$aLxPK5eQ>viHm^}whg<+ zPSu{qg61^kaaiAu{C_)2NRleQdLofov^Ir?r6*XAw!Uig@2y*ago=+=!`t6kufAjK zsJoR7dep_$KVk-&zJ2!w9SXz~ZUb{Tu6d~_dYGVlq&V&Ztr*#9Kw+t?D9uUg z{h8FM*MC*UEDHMFrXCkoz z%7Ko!!9?!;baNxIsb&%0Z0r%~iW0e26q?#X)CQQfH)9t5nLoF2XHG7bHD%8fL1izN zCnCw{I{b*I*rsZJ0Rq!N|E8YeMl)PA*gI2q0I|+{ihn5pgj^wI3gsv76XW1WOsEVK z%hB$PKa^kgu1grN8Hrz}BzQorqHla3*zqjsdgbhaE=u-2xD;+EG)%w`oNlS5fL&KM>9;U+6>;dfa7Wh0aOf z?k&LfV1LS~Q?;`@+}dHbESatbNKm03Jp#)WA9#NN2+?NPGH5=D=}M88yGbrOm3DumKZ zAj*-j_|9+tx_804#XbN=nk_+4Ta$Qx!D5+C1+Ns2j__^)R{al2Jlc3rIX~s&C*#d2 z#}@weUcj2LI-4|Hc8Pu#z)*c5EmR|=+<%Z&oY#NZ;m34RA+rG0EDQ{fUXO<;Y+@U+_dbwE#EV&98^KcB#I6V@zL7mQB z^)HmBRuJL{x)4{%EZL@x!;%w{F&#!x-xwfXQi2!^mNf+Dw3|FY=8}Yox;q*Q&MU_d z)B2=WAL})FLD>rv!>+{FZXT1L%v@$MB9z)|rP#pei)sWAIV&6Ska`?YhJS(svEk^R zT4Pz4W-m)G+94CVC@%Fr0n|d$A z+v}M6TO%1v#W3yACj6-!d4KGHv5S|Z&P?e_gyD@{`Sad6y|wt1&&Qw6dy3n$1qIH= zX`re85;^gs6YeltEQnj0&CM}mA~<{!a!-wp+>3A)gfm|gtb7x)XSg!><*=C|UZvV$ zu-&l}7I_9(>YXRZLHc>GUL2=MfW@VtX`@Pf=Hxtg);R=;kY{1Y>bC9Ws$Y z2XZvea~}6=|DdOkq%xjU8n1}T>kWJSW6u)PI9H|HH@b?l}Vf zylg^`t4I`k@v;snyyq*4{q`{Y6!jLT2Z;A{hu6JgENSLoPdKxeD05Bm4BLOR?5@k@l}io8`-|t35hzk)y9r$L?tT^?v?ZxevpJ@d4kB~2Gf*Aw%Lj%@m%Pt-eL}|_za=jm zZ4BdT{9hwnLymI+EOW*l-n_@%2B9^l#g!1R?}Db`Z{AV&(@*t8dFPMc@d@Z@U126h zPKv9bSkR%te1CNbaHqilRoAEU_#YH;|`G#(yEctlktN@LJkjNeQj9`y&76 z-pX6rdij7~>Qh&6g`8xH^9~?rzRr$YrwTpK$d>kM76hd2+yY<}-X`ULQXAt;yutc$ zqv}UH2h2ipedm(VC*osfZw$>^)on(YpxA?tzan>OTn@3Zg{JW+37lz`?$x?{K|@^m z1pptf1b_5#USeb|4QL**KZ?bN;?0V zCMdCz_MM8dhg$Jx@CNS2D9(_>9%}}+2#kF%(J+li6xAadPsh}I3yEPP(ZA_P0WIp&1iBnj=ORw~*8-1A5Nv*ufQDTr?RbQgs6-T5XVnFE zocZdCAowZw6F@$7$;pRA6`kZvyitJuVUJKyfjVB>W`8~U6)*a=gZZJb#Z_QfP^E-s zvqq8wU1+rTfRdcapnEo&vA@~dqQLl&?0=Hc5`+b5TKLS6rd=0QM1OL0Y&UZi7-j6$ zaJ;Q{%>llDahfk2422D~bUMBTi%VpDR<#ck$Dqj9O1L)pM;vb&=w$r9!qeSQUZ+~K_ z;<-?YyN}2XPhW?WItx?uSFSxb`#<%ukJ+0D7dZQ-p^9?!qK1_#mT>U@gQhd*mlaS6 zfPBT`T%>qxM)^UPxd+GH=JSMamPnhb;q#)tSP+H4KHSjyPOhs=E>t$3(Rf$I!~Emf zv$II-&d#r`@8;bO7-cO%3_Vj`bbq6)-KB^F7TWX=Lrv^UE(2GbCpyXBnTGkAw~V}} zea`PIbc8H*Z~NEyokp)7{Dd6J{x?(hM$W04i{SP&+n4)v+y=uj^Ex`z;V=!rBj6K^ zb~o+r>2hY6g;cMcf95MR4+Egty8Bq`kEpR{^&!@cL$XKPb!*!Lb5<^czJG2P>I4F^ zqwSLKqqW}$#TS>7eBD-tIAX=EuSpJ~OSOLy!a{wOZllx(xORz@`KgP|Fw<*p!>$>U zc)R$cTar|p_glb35kNGBUTDvR8!!$tiXJ)Yy7_c`{I_YsZB{D7nDs^pZ7n9>rCu$ z&q{I?j8ZQ?ts-1>`8x!9((A%7eIRkM_h%V#N}HTyV2Z=5>OD%KBF&yLX_HUv+JaP> z$S<;Qxa7XHZSzWYx_|qQ?ZHEf8HPWNJ0q6Ss8 zgFZuRuASnXN-ILMGsDNQp8+W(1=HezF(*jd?@O}BP#6NZaeo-=N+${XzBCgi9y(=? zO}avz;>E(cGHlk{>8ch&Vi-%$$0H&j)xLKXlx!r+=A(`x7qe3a{&eBrL)Dly0QFOO4oT-G6(v9v8kvdf-b+hK2YKHG^ew zarA@TrzOKsB}7qhC9046#WfeF* z2jYPGFOa}2N4m3ZgNGJvGBO$FmyJ`^4y z5qH0Iy*OXegt+;VW^MJ>2uo3#CJ|KD*kln_Lw`@_r6I7aPXVMLsx3^5zAtMwOD3tn z-0$QZCasxjky%e@Z?7$1CLt`D-E6?j{K{r2qunq;EmekWPo@p3a4gn=R~r*ja>zMyfHJMTJv{QE% z;6g)xwAL*&v)~~-Y|9Q%zu#VL7=oA<_u4QDq@B?Dj{SaC1~EBWXl(jw|M*mmn&gG zo^{yWtPoe3d4rZ{0QS?Xh3uEexkUbA4AT|Nr5GtwH!lxp!?r_Ys>pDwJ?h&;V}F+) z?9f#vt?SR(A0dJeCo=ny{jk%4$WRIU5+bEP2ob()CWYX;JQ2A;dcN?{CTjs*(D^_8 zW1Y|$bUQAyw2)u41+a!u?0m-i?oE36lvBa$-Z^W;rWH|c+1(5#0c8YTRuv$m3MY#R0yT zQzWmV6HE|mTYD3l`R{21umu)O^m zqu6LqUV!iHEQD87)VVg%>D4q-NAYo>j5pz2$CdMQZl~DV%s~NCtAA!?F{c87(CtY` z?8WHm0iwsFjaEUAp{0Khk@N=7LV=#cNaEj6jU8>o8Uw4#m!NRgzD>Qh6;c^ zomGfz1F>3K(7lLY)PEyQC#;g%EJAh!Jd1^C4L~WLEE@JZHHZc)E;7cD*oK~OzJVja zmK?anUPTzZ;V`oplvo-o-B$QP*ch9$DE@l!h3B+X{j_Bhh9u|}I)r3m!q1Yn1N+eN z9Fg$5AH_1c&^9(RBKnfY>}`97j$o1e@qa5MUST;bFN-ifKd$Rv zlks!bytcP~I=2hYcBN|uA3P`*w(lqml~u=}wIJWgb;+MtWp#s_l5?cnr;j{d7`eeY zB&?bU=Z06c968t6Y3XG6_ZZ$#I|_LXzS6K3Pf|bqcvp0ra})}Ls@O0{g9<~Cxs*q` z_BlvXl2H6Yn}0SDo35x)uwWP@iJxq=;jE*a&yF~0hL=R~GLxgwIg5?G58{t2pxrDv z1I0Og&icJ!9rwyh$xO`+V3#gdDX7}=<-C~2X+zEcD>Pj5D1fPlctYku*D}qZ5P61} zFnQQtA#HHiI4*7;NHo&^K>H^^-H{d9-HyDj5@2i?mw$kHdzMea@%m`PHZ$8j)GXcB z=l$N2NN%ys_b!aR%qWohDug(t)B6a38xDzLFtbi%>zZK%fv^x^fCQM{&t}A&=v~ShiXnRp^3!d)YT? zj=#rwFn>xbI>)zepU@e!Ano+!Sl{3K>5kX1#bjfP+b8d(-6faX&y}XhbfA5#jjE=m zWAV2V2Ko$fhmD8@s7?~f*P9x=iRNmRk$FTQ1(3Wi{(JfRI(662lCgKH>F+nC=s#>- zdYgg?NZX}`n4sK@7aWa_GFvDRbNpgoXlNM0;eYBPZisWI)s0^H2Zi_n7JEZuA?eS# zk0YbUok&)7jRl)6Jub-N2pmPD*|+xt9!&{+BVHDdS}jAI)$mGk?+Q_)Q|)=Ow|O%z z{cQob8Wd!aU|a520$*5X%)*oHBDete9qkl*R{m9gKs|kriNrx>SWDmfJSY2aac3wC z<9`WW7az1Wup#Pko_lPfE|;WpU&A75Wsk}kP|mM+BEo6@!Is4DC7=nA%!1a|)YaF$K;ZkWTO%sQ!hjUo2a5trscty@J2Zn)S@T7yc67JcYH%N|6=A18Qy zB}3y1{ZPBn+bq2E+~YTK`y!kl-AbVG-hVyD{t%JAPad!ql>b0h3fG!Oa<3!XPn1E4 z>TIy=I;`lo{*QRWsQN2B{8nfDdjx^Acj1pRuCC@mYZfGXb-2TGs(&SXUKdk{fN>d=LsNN)Vn!u2>t?D}OC# zLK!pGTO-0E)dGQnz7&I1>;}PC37pBUi=3%iBm2%1O#ntP#j`_b`Q)_VjZ|N%^t-af z%V%JpD-QO-cO;T6w=TM?_l_GFQl3GZ!Y@m3Kl8F!gXVZ+w1URSgIZr(Snc#MNmV8_^+j*K$asR-MHkUt}B^TI3v|t zhObDQ)pFrOpaGE!^pyMDswr_`_nxdqeYVucp6&k{iZ-7scIlCt;%v-)k$-vMjoelo z6ocN7AmF`DV(8L#Gy37Ae-a#Gs_J*y@y#!FIRgT-Q%J2 zGDI)yFI0iH4tK0C9Fx!b#q|m_LSb4Qz??gs4#?Jnn-St}!9Osp7=MOI#eQVzCCa3x zEEe?)T6LRMEp`+!f~<9Be6Uz7ecWc?SE0cmGQ&Xtowudd$*dDJCWDXNcrSzPub`Hq za~k{^6F6t|4R8fpqm|x!>IBrf{kS;&Y|nF-E-Qe;DYrO2(#l?s)TV2YZr%$exSGk# zWv(T4t}G&_T=>`#pns1=-?<-7c)lKE<9V z2FdN`>rpMf58e<D;8^AmcWy=)^=3UQiHW>i$98u<)oc&-jeus zFw3QS)9*67b`hZAiQsXy;I4|dX@~4C+-y9X$s3z!01EKg zbw0bpl}=BX`hT=z7(~{jWA`#|(NZzKUgw;wJM~E2`%to#ygjG2HeQTe$<1eK4CQ09 zyfe4%tkPIYiaEjR3z&!$o7EMO7kN2UxTKV-6##1%B`UvNs^6}c8z2LT4-pCib-Q-N!KWGBb>YQxyIzW4()7Tc)M4jFLd;bp+VmlFOVxuN=B%aw7OE8zkrnN z%ms$%7=KGktQJDvL<-fl%<%w^1gJcp6;|erK-VOfRWtm4hKLo8?XD$Q8z^0<-0?-D z=|9)F#O^Z+ebE91WqAE|2Yc^v37%=Za;3+p@Bics^$P$xA&v&pKm4esLTbhk zuiicw!^PI`L63MUe&)L8M6ri9U&(8*M!cr{)cBz;Uo9Msiilz>UUO-)bU&}Ch*u{Z zwAve+&SIl*$wsku?L}P-<>S2=T=P;wyxXt`eF<8QO~I9f7;Sociv4HF@Wi(apdOqg znSb5aH{e$7AWb`oUyNofA!ZOOq??@jSAtJ~96imN5z@=@$;WA{c<_9#(aelX4%Z;C-i_63 zv4V8o7O9-=wnwb)jUgcV{Y{$+lj_I)m49rwN_#!Z(TrueGsSh#=ZnsGr`xnNt+u<6 zDdpLMz`@b3JnSSAt05#oIfNLOPnO#>Mz?wxxgy9{ZV`mLbo4~Qd|Q1}Ni~qhjJ#NK zOdXvKiw=Xh=s`yVTKH1gTNm zbioh*xMd*sxylPIX<}{^Jh3S+{c>Iow~S9=@4#X18LD|U&ibTbO7HK|A&nCEJQ{sUx}w#IxF#+G;y7BmD)zcI;PUC8rX zb=hX=<3TSd=aH$V7oa*Dj!YqQu`|{?iuDHEgeF4JAZl00EKSP z9eCdiNDzlnk(3J>*;B2(|Mh5*IV>K3nx6BT9FtfaIoOb)HuHHU?cjQL`9hBZK#E)u zvq47%ddsry$PrHcWFo@Sux~ZO2$r>4^Z^LF-!nZ?2EAM;!Ucbo?1!+6EPdP=2R|~| zEt4TmJ8@M=^#+OLNmb5dutsMAuf{A<0Qg8tB^51dKgJEi%K?S+~#UYCUkziVI zT$tPzxLFa|b9QVaWK^4ugZjx2tkKRNsA_`+z#~lfs)nyHk{QrFEq}Tk(l8ehePMIm z`8agX25kN!gBDjSfj}=3I z;cFu?UFa^MM9Pn7;u|mea&Z*J==~F+ zxpK0|TbXqlGu?GEb$@aV=C_*`g7OI>xc)Khvww~@{1%;Wl@*q!?(QlPmqN^x)~R#u zycmT$GN9Cr49)z}*bPdqA%%c3wE5q+Z5R>Eb@Wdl)N}vmHc8$jNa)bN!h$3WGXN2et%{6!F^?_jN2DOuC7c6r>#Ow12ByysSt!T2}Ijtj!^|@*{n7 z%_W+N-NcW>>I9VksEYVT<#UKVSE2Ijd(9cU^#JR=~=2qVBO&F0bf5u;6|B#?Pv zxNs*G2ew3e>?cubdKKU7A#yv(vUIAB zRz5z#Wq;!>7(DjGpr3IpW@%=C$8B})`4?~`Z?(facLFNCy>1qn$nsfj^>wlM9?G0v z_{o@r&n85tvwkS_r{1nyTA|KDk0!iY$4B3X49`>+oU3JLkl6Y~FlpMyAd~UO)%Lkz zat(SbN#JZYJfsO&ICwV{i8sHMigMHeI<0de9Dk5>1}WAFp;c&Iuyg6_dCl3vuU7@B z^!tG>YZ8th)u_In%%!2In2CTT0ZlJu<({6C!r^+L0GUFT<49il zJNXpjDtsl^C-8f_WDJG|rvq&7TT6e2i`-bs4Tx18f*tOKDC$0LPyJ^dkSyH9dSB7c zXn#`2YUb8%RTM*I0eTel3e6vV>T^n^1wcEcAs3Ra!h>-^I|^BFXLNGPjHnvbP9$?v zMH(q%Tw*%%>#TSaki#!=c?f6Dy0np+>}>-juY8Y~esB;8lfK~hE*TH?(2L&=CI zY!&{YWhsMykT0U-zAhjBm3a3Rcpy58DZD}WK$8ZdOb8O`8|2aU(OzfYR`X001%fSh zDXIZw)agD5USzcH)Q)jj)f3VK*;i&mw_}Eu109c}m~{*3CuuW;1t`}Mg@Dcg6n~;1 zIhe-E-J;^VbUbu9dGOD{O?kB)VZ)p5{g6>XVT#8}jJE(LjWNE7q=+87h^ixN>+2#M zDWtL`e|KaqdWQ;4|KPaMQf>Txx~5{Kh7QxeG)2r3GKHy*24m3@rAcEuWWC|LOo} z`f(5?P??)#{j=sw9Ffu4n<;`tddS# zXgUE?O8^=~WEXu9%^3vQvpiqkeR@G);(tRKUwY zZAK>@X#)7JnO6fVow#}9=^@B|l%B2m2i`!Y@`68xAWtY{F^v)3Q~+@L;MIi(*#P{B zlJwq-U82nO*=VpxBY&}=iF^IEM_~8{Kd{gP$-M~U3d4f44Jd~jC;ZY)78A(9pW^z4 zO1yiw0hZB%f0!>~!dC(-+EfP02p?f_p}C(t;*m`P@PUk&5wMtN68yqGYxT;-J6M7d zVY$6w(C@dArS9O3RXU3OABgRwmpNy*`WF*wHFfEn9&~Xtnt!PGlm2oLGPeD&xcd@T z@@F|xbN#O`#NS)^?07#HxOEFVNF(fcgOxrusJ+!jN0<~cTZua$bw{bYE~||8RsU> zafD2z9(GQVf+q@Wgn$OHt=Y)obIOO#+cD6Z5=RVL!mT_tBEvE&j(^}m+M7k0Ax3hDO3O4t8FYub zFk*ip>2O#0Nqt;Ia_)6LlWpa;wO_e3+%GlaN{Km@;9`lnq#|Ia-GB;GNq}AXJphL9e=>w`&p_uO6yNoTkruN;Y8TjQ>)Bu z9?uUqzh)r7kt@YK0M3`wFiZoO$6lyPquV)JN-)eIf8H!1P-bvMpOjyvi(M%y)S&Vg zwC^32m}@^`h~HKytdkF_-RQB17H4nN@qw3o9IK;75$kS>3#HIz_``4dq-5T>HOR^? z-G4dQW=Pu8Q+ONM2MjBthzNApmescCx?a`gUJq;vRa0sH#dR0XdG&V)TP1+D0C>un zMCd08R*Izeds+z3wMoYn7p8PLb~-ljf1qXq%lGe2Mm zy1GZ^_0f$kj$AnkH!Cg{qgo?PN<@nzV}B~$H&|gT;Y8$5KWr_1kUZgvNKt9E23|0e zz?4Zz8OpU!+g9oelwir3V0tUjc1F1M(nJ$E97cxyo#%npSzP_Jd_IUh4AYGo zRkY2ZJ)XbDK-jy49MrcS5+-Q?VAQ^{MU(FH8!6pGhKWg-J}reY`NuKl76{9kdw(6r zjwK_!U_=pJSf%z$VN*8$PHsuflJI-jCh*EkxnE%nN(({60K$W%@y3@+;HbbqDK6s# zIFehEPm8+!XOWSs3=Yt9jMy`)KEHO`x!VZ+>{HV)7cK6XBJmuQE(UoZ`fXdSNh_qB z4>S21NhfR<1b;0!1DSm&bqdmG8`kpaW`PYT%V_u1FAO9vwuI!Q z-Lr*!|tHvOmA1qlL5vFN8tzrPlyjYFI#W^{pCV#9*nCHA! zlIb+zUVB+58^BJwGlj-9KivVV7qYsyT-{Xs@%9pO(EjCz|=sr1C1C}PWg;+XC>KouPCrx zkPFLCpt<)_&#X?~25PDpy_@Z`k@}-}!Tm)8u?bCU4W`y*Xxu~vh<~9spFOCJ=PwU$ zq<%;snP2I`!H_Nc!xbWOntH5FDSf7V=*q-YBN+#67OFte7fgwS9b30%Jupu-Iir9w zvjJMjeQ7_uGHumRm9PIxL5{w4orXPI)!fAyJ;AihQX0%qCaSJ3LjC^QHv0u^nrJ=Y zQL?JN>X{@j`;-Jll7H%8X|PMA^meYkJ(%zy;uxt%?=vqBbFl{r$k6$&vnaBQ8F&@| z#B)J=NW5^90-Y^EmIFf)8F3xR!!DF(r*)|&A{OjPHCWoMda{$I2$Kt`%zoyuf4tf8 z`f+{6DF7{3%C3L7HL&FtJbw+hELyBbmkPCF`GGa9vV;ZPFWbm<0HB&u^yaDUo1TXDM+nUlUEDyJts;?tfXl5c@1cpe z+Owk&i<`D<{D1K7dR@s{J14}@`Kol`Yz``71(eL*=IBtSpIDRit>pb%yQFZyIl}%} zKyvt8_%#k2IL2c4n&f`Xro1X*(W0ZLg4aq>kFF2|kvGGt7-yeA>vL*C_CZ70Q~GJ% zzhuDmwVmM15uy^LYh7PW>Y>{GABoz%uG1h=leU%;d^{4w1;YtU%4s(a+{DMfCgjgo`%OilR%Ez>&_ zQ*+FqBx^hwM6c#VcX#tPIaP(cePqS`#srWYXAJu84mvPUyC-Nvz+mWD$g&(fwtRFA zWwo2%41elTA4uk=_W#yPwWe)ei06S4mI7Hz$>s@7-NCU}z`vJb7J-$ZzzJK&)-bpz z{HMDKCe3rDMm9kEWqwca9Z=!t6>f6z-+#Pb{L_BRf1|_IiAJz6Onm07Itlu2Z)#E4CtP@dd{U#|v(U)N-5-slVi%Y{ljh&oy}ZLD zx_^Xg7Za;Y=q6a2JrDg4tsN+Qn*Y5+-gq^g>xO4hJBKhX$;)1>Gv7i?Us-@iPr8SL zsiHaNXH3h#;;d0DV7a;6@hs~l+IYP#R@oA>vCkNfBg-%Z%6coUAr3z3>+5xh%Qu@S zsYebaeLA;6Xc^@L9@$4NvEi!30YBu~K7VSxIhKPaTC*`z?N-d^j<`t$<4QV7ix^X-#8S~TOe148@UNrUytn*>q78zP zKk8oCp?gcG%V1Ba!_xj{vlZKEDxv3U<3DBB5;)y4W%n;XTZd0XFC(2fQ(XPzjDJ5l zYC$Cp&W|jG+kLo1X5l+7oM8;Jqm!vT?R$c--eBaNIiCQ?e$!qO09sUq%|=eH6wb~Q z0IOyz_rN|gxY_V}t0FtGyBQ>I25I>omk{>g?qGxnIn9`P?Jjx>FpE;DO|Sf2Iz9F| z82uXk72h}QpfJ}v(EG&W>)*RAi+|%L7H90tqhQ+Q%%uw*djm^Y83bMg*Y(ag>ZR7O zlm=LrV?}6F1s!25ELc>k7v3%uRCvTTf|o)s*TIGjhMtpMp3{_vGgQ%N=O<+?Rsqr3 zqT7pM7fk!*S@MYQJPVRX^pBztRJD&nKza7I0|!tp^W}q}No@YhItwniv400&k-yCR z-DKOW)k3207m;pMeS{ZT;x&BqL15|Qu&%AxB!hZw#p!o!mN3x{gWM8#RHQ#}yS6=^(hj+L7TdjapQisHU zeq7&j#M&B647N^jq@jrGk)%H-SS9yaAh(3%SpmZMRAFw?N@uS1Jc71iqp~TW0EE;~ zvkF`uGo1t6Z?R8(?0@@L#K1aJw?<-Yeo|Q=q%2X-jbu4 zSvX$17$y@+Z)!52o__^1N0QzKZbCOxM8%TBm<5^Ep+u9&Cwkl%OO{F1b|r>nljHUM z(!kaT!VVtX)?0~R^#XiBAN3*nEG4m8L`T#)~72c&!0mZbRoQA+bO* z@WikeaZ#w@0g8*g6pk7Ba;q;dgp2`9c@L&5+(!8d=hk(b>VLT_-!&5R!&3WBk$a9Q zj}|X*FV#tb!`UOycd<5|vMOCe$wQ30YhVse`8+8y8-}XcZ_xkRrKVP%m3!Sk9%DGz z>etzGw1cmj!O(pnK7MaRHMN<6I6DFrgE4$Ko3OE=Nz%!?KSZq483-?Mqvbd3o${Z% zY*g9bJ{QY=RDbM!%Sq|~!4dYuo=CF;QN2@&XFv=}nmG^DQbSOxxV4mu(!Cy|K7l+7 zByT^kS1UbF=6jx1WcG1u*_s+RnMwRT<*F4>+Jsv{jh>d02=ub&SO>tHZ{fhN_M!DRxmT@S`Sfb!Gc`4G-K@E24{3e?Y8`hO~H$YBJ_N^0kjh!7|9FlB23 z0#lqtTvGg_)HM3(#>5j37&8%g$$0)y_M@+`(O7r~qj6LE3|DmK?LkNjk9WIP25!=S zXA6RMr@T+cF`kSjsKS_KW85BA*`xUut zLm8_)9p9T4oS`-w@l5q=PCc&SMsCDOeGO?np7s#Maou*skNGjs>rH>3#!k`&}D5_FID2ocpMtOc)@XM zfTY6xbI{~+*xt(wnP+DIK$qjhcZ7=6AOuQ|S@`@%t}Om|d+}c{B)MsB?RjN9m3W{> zEPtI*1grjVAxzpYg;czvLwUY+0HM8kDh=d_8=p&rVhK?pEYauI0C2AzjWNFSr)?Mk26jQI$`fR8tvyPHu8sE;Ail zQ%Yzr$-p9^NuT2SbyPS95ylWhjBESyD1R&&O&=kDcH@$n{>OWJeFd_f(%0w}c?$x1 z`}#n%bIL}#`Uu<^uBVi(=`KBL9+M%CgoIFY?3G@-2xs~m6}9~22mGUBi;$kb-W=Ti zRee&^e;1OY^dbTNC9Z|p^j;F$K-~3iGghW_ktByr9K8Z0&}xX2Ga&&&ATdpgj(;wk z9f%h!4mB^R$};8j-Jr&@_0>Bf8l(WNhE5Q}&qtod9__z7_Xd&eemYcbRQm#lkh}(( zCGY}^ocjEsEk*TTLswek=!xRHQ4*^5d2c(c5fl;-%v!1ut;KeL{k%*7VEeYR6FxPqktU_ig|gwF zfEn|JG>b6jnT#%Mb32^}VI;MP+b0u0Z-ESEU^a@XZ;FCe*C=2MHv#cC&lhG#o?I(sArL zg~Gjx4Mo?zkSZ#<6ebyzO7nF-ZMuKW=sh8IyjiFS4x}?gVtGZ!k^_)!9oy1(?e#ePd9oaQT6WGZ6 z`2W=YrG}AK6+02xBLIwFC<7rthwff0+Usydev$3kn!qAyi0Kl3}oxHQa!ZgV*5`pbUS1F}s>phqo~w6nPZqq8zr=Xc*XOo3?Tl;k=g~N5@I< zD1${8Sa0YP+!GbbE~mol2>dh8VLHF5$M8?cS><%&zh& z%7^F|88^mH(0x@294>-R2oZOm9~ppsB!g5a=LxI4DXt(?nT({|UTS~hase^9bM-}u zCUEcHrS-om?YH@qz{ZdGsA4(QcITbPzY%y48%8T{@af??Ps8(*QXJ{{mAkLvdy>H2 znx~S011Oqg4u7zenv-yUA6`~6E7{4IUwFenaHPIX#sy7boXkO8Q)6=XFwdxGc6F0SB;o%>)SM{cusSsNW9&_QQM^E zv?FfR-~cWB8%Uisx|nlmYw8ez!v<07)bYP{?D_sxAFU@5D=JnW{*d@f1L5x8WnvjkGInjSEI}=LKiUjvkxQ}!b z@c`0lfOhNicvGIY7j(zz#c7& zmPM}y>Q4N)5y2l~=czvy33`!b&GlnE6yJ0~X&!NyWeN3b3kY@l7^YB`Qny90eA{W5+eB-VlIscTiox{y$$^{EKwHsT3!^3&^&yCrIljEG z3ykD%^o{h>=)rnoeNN&Gam>CiYOYc4HV-rC2dJ)i(N>+?{5rVL=|OfCyVRYXccNwO zv|B2{(GY)fn_*oRF7AXuBbN@;GHu-YniAY~sM*Upj@lFC9(ZMcZM*`*r`Xv`umGai zS*%{s)QWBcaO<;&1+(}QZcsqK3pZ7-RG#MZvpb}*PKsY#pC-cnYM5a3bbI(!8%%T7 z@>VWGAORuC^=B686}U)ynk0ij3dir4@$hs#6y1O2$Zc4emTtPH8+O~*(%DPY9zWRF z*3QpNJn6|FNt5~v?UrxY(7FraO1V?RW(fTLmIIqCUpAd{tlK@=2a_ zp)Z57^OzPpR|bR&sosTW zRrl&P!z}~37nXMasW>XV0&F_V6w^%rOA7NCf@bmB&ykQPBi0z>?7Gh{4vZlc2MR^_ zxvCd8-M(X^unIh693Z7%ocGc;-DTuMQ6_&O*7C^Sj&R3E;!f*RJ#ujXnLSW;GVx+Y z0f1Js*${o3Xertf;p>n6Gl=towmHo}3Y(vSRldMUf$8f%u&18iW1VMeg_l`8nT_&5 z{hQ{Wwe2YlZBkw;L>`}WSM84rDc(uQAQGcpr>&ln!`oyj=LM)MSH$v`p%}C7ANPOF zCHrwRaOnnEmt=_$C*=}T|GH{3?|cJqIB}qNx<0THbRG1EgI3X|n8mB5QQ||V1^tM6 zM2E;_H&<0K^hd{qS6$Xhm4~_K9ih1XhqRU6TyynBG_G^r|^H!Oggp& z7B)gYR=Iy-Pb%&Ncakr$5cu*wTru2`im#* z+Eh^~;@dRMP@k_Z?YK_tH~kWpz@!^M7Qq{$vD| z*>gue?*cDT%|k)=UZL^Xpc8VF`gV5Tn`lT_zwCp^2>2HsxE`t^4X7b@tnsA-D_ie+z!5=o8f*I4M~;bdKbwrEubIkU)B0p^Db57&j~ zbMPL+S3@LyP6JP#+Va9Mn7zv)z-G({gQ<*Ujk&+xXWyG#a9X7Kbcp8Bv{XkPFx~?| z!H%T=J~4l>cQzBdOK}T|Z&{!SE2LINeC78D5J*rBYW34slg-nVoPhCn*4nUg(=S49 z1poYg6DszVDl}S4dk5LUrxEUSEFZxQt1Lt3J^OFu<2(+37Gi1vU7t4%5pCj?Nl#a+ zH^5b5d$ZzBUVotWz>}WG(4l>v>r8vN(RMfgj}3pA^Q7&}YK6y6S>3${QM(N5W&WM+ zl!B{4E{|~)T@4M-N7bB{_h+cju#6I56#U6g+D|Y2hb_EvmGCr8#LMtNHGJ&|5g9q!c;_ah!MW=-jnfo&>yWMH7AlfJK%+FT^G=QEilj;5P}FV) zA{l=d-2Gvxt}12YiMFj{m$9$xk@J> zFtDQU`*MZ3*!PA}{B+(^F--8~VWQ|w2M~Wia7hRFMbw)>LqHTp*kkmyd?M3hT8&}< zhb0KL@J9|ki%-RN%Cf%3mE3?R8VFbYF}1S4)AxTkEIWU} z9&@MiN;6~Qs!rG~;NO+TxV!E>U}3q!f5hs%J+?RJI3n&k|4i3CPNpywiX!xC#(Q-# z0KxZJwqN~j&bx55>mGxC$B`MRx=1zT~K#&38-<=k5nVg$J(K z0Ic@tNw51he^pZ15X>RKum8+kP%VET6i`dJGZt=aWZOb1re9}kt`q4We*A0$dl3l8 z#cPDba#E0?5ypqGwg&`xLrEA>YMb=tbn{-=1;Nc6R7GNU87?f-A0oU@sp;K{hf?)B zyAj45>=7iB*BR^D#`2b)h-b4JoJlLF;4XK7#~Q*Z6%zh)h9##ANsTqpjsJfRnkPI} zLcQ0Y$+cdXCkvp1jlO*RztoB8=CH4fI`wx&x#_}wJHT%1g;)(Znse)lN45LTd{&=6 zpt5Zvg|8gk0Sh33 zM7v+*htdiz9y%v*S=rR1Me%<^+Q%GJQi036#Tv^IVESRL@#IzUy2{jFIAiZ_s^s6% z>UL^i{z#+=6z@yIqRrv|4LsZ!-x?$;p)CW1Av?EROfr(#qaF)5UOjc<945_K+3aFy z*IUvvIksk{O)Cux;^v{;+_Igp|LajNwVH|f-b+vWh(0t6Sgc7c3T1zkg-l;&f1%mX z7+s>@EoWqjpW(vvfMad`k#!LKq>k|AoO?;NkzY1yWbW|p_YbKtnQ3}BVelD>`tLC% zh^C;R)4BXX$+&V!Ek2KB4}r)Enel24_T`Ut++B$nwHlDqi{WvIGP-X*uF%#PIm2u$t$+U|?f=*mA6OCGfvyz#jzh(F)X zVWA)D=R6G|=-i2d7mJMFD|26m1AU3dtSJB_P}uD(xa`#8r(SL3GVI@DW zGexvpBaQ~Z;4^B9IXB9G^;KxNnP?bpcc*qTq~eEek+eX^($^@PzCVN8o-RmyN!R9^}9X6u@l9hg1$D_e$3=+ zmcCvjTKG`eaz)y7VtMZ9A*MeczX!x3>OG35k|`mvI!8aF43{-4an0hdnpbhpxHDtp z113B~QSGHDHTPe;BU$?iDv*4{L1;JHk)`#m4Q)cAiZ|K`u75&!k8gV^TC@|b>jacv z$%?Z9R2Y9k#^6x+x?IvsQVW`&^Ua@`K+qV?i~1gu8f#0-uT+kbAr^_0Z53{s%-&!; z%c(&G)tP87bRBFjVlL4cpM4O{+%#Z((Hfax+#`Q6Ktuynje`u2qS@gylsNUHD+!+O z3^=zN*00`1Bp@ZAb$P{uO7)#!qCp;8gQ$I#Z#5!DnX;ToN5o7^k31EFv@{7~8C0Uj zbc#hM*8&=T9p`Rn+|Db4EoF#yAZ5qmO_*&Gu6bFtLH5noy6vHf7o-x zj4I)^75RvHmo6j?->k>ebH6QBdcs($*dKosk&nf(ytPUCJU}f9Z%40?M71oMn+a@~ zb!ksoHWHre7;JBKNselOe#g&93XB-4-J|aC)CV`QcT>VpxybP&HH`1iPC+i=Y%OGd zkdx@W%D>vk=+0S;$J{)70`8wNk&9EXgFwLv`Ea|8`lhnSJ`Sb~5jDHD1TH1dtQg3qYa2TdvL2 zF=#lbF2d!_Rnc3FKl-C(o~!|iuN!~GjsoFdV?{)!{S)Xx;T@)_jv@0gV?h!AE|<{~ zx8y*%EEy(;<~z9&7j=5$2Ua{mnOZ?`7S6ItnF{}34j(142AGu;m`F$0Jn=X=i)pC1pB4Y8|Ai<$3!CZg)Fk%W~ z5~)vFWq^(>FLDcEkkR8?xIf^iIEZOQ04dE$YN3qH{vbs7A1}hvy&c~vq;O5RVwUTO z69;g+zUo9)=so_e*wd8?vPY1KOyY3Lk+&&Kk+FBr!84U=oNMHb=e9WaSjR4Cn z5JmKbLt!!GndQV=FKee4(|Ui8V(2c^m?-H8Ej~ekEL@)IVKyjS0ufoxKk5;UR{sD$ z@Bkb;otc+2xl!2z^xZ7E!OtO^q5hS3L|mlyH!$Ps^v z~S;yp9oi@lP=*ZF@YBzkpmj{rek z);U#>UWzyT$p)`CJ?8?_k2!F`g2%X|kjr zH_ri+mgs|%X7qJsaW-Hmsy$6(0G%b!DlLEAU0fbtpSHMovD9Sb!xRDr;)kMCn%CeB!O)l_-ESoNWKB*t z=?GbC)15Fjv@hdp262f9FC!4)N z@rIh832H$NnCl!62su7JdC?~)7E=qLu3p-!ZNj~%=eP$R-@5!uBoJbR4A1r0SJmSK~G=j&@ zB3D^9j^WKPu8n^ri&`UxfR|%dh-I7{ZN)dz_KkDbhqzE+dI3+X)7k1s8A$nQ)U9+6iAyIZSrmqV>II z=j${LV8#^InaH#M4m{XjbN*C{tJ5RQoSIe)(z?fi_$(NlGd)IxV%Cd(3I*F(rNMcD#;L+?ExeCA0hgO=nPFAJ2^);BXO zGD~-t;t*;nRuU9*BJ%S~Rl}8=a3;~}beWF&HfJrHSJ?E)Tmzx5vETxs(y1$#Cf%+h zSRmSU%jti=oUrI~6)Z7IA)G2)>8RGZ_|r_jO|v6ANDbG1;3)jfLpfhilu~$Apx=TZ z)nunK$Fxfi%A!hv0Xn4C7zXXFt~2gkwNvc&={r;4*<~b7S%=xA1%~Y;zP-T%%Y6Xz z<^yTuA}onhxG1rbSKb5EuBDWSznI^*S8=2bo8o^W`KK}3A_W;hB&zOJjg1Y1?*J%!ZeTBD>V`jtcK1)h?E*o5*4Rd>ROBKoz3&OW zzMX_^=9-2}>7!{#97cv;QJVK@ip6hb7}me3572t>o16CK1)q|!=Q7IKXlhzAYyaH7 zR+fLZ$2WJragNH_M`|u4NH;i56oSU=iOQJ1u1*$LoM+u8pni7sgaFtFC;Vy;BYoUo zaGOY`y<${Wp>f9*q#W)krp1_D;Z^4XaFOlt!nVy7qF#>EKNvBo5@eUE<^Ji$OTiJ* zg*A$DKn$b`vX^CNXHzt20vQ`?apvhF?6H5n^C=P(!i~&sprMF_(cxM)#nR0VapGv9XEqZ=rh>T{YgyppkuI70 zN3UMTh0>h}&?PM~%GHJLv}pm`GHhFcMRkA-@-g_RZ|?xzYAFz7MeTNI@TlK{sE~iY ze_o3}%&bpdh*N54WA<{Cs8r4s0N!Ti7*K%Mc<_TRSwz(Gj|mlRDuwl!Oks^7TOxW$ zqi#DP+D+pu9|R3aE{tR(71qbE(F5ZS;xzM?_ftll1Rx5bMx-4Qm4M(q;3_5x`F=N8 zbvetRf*cgjnj4OTcN_UI#{(;cQN!4fxAx3|gF!Cx@ zP9N=r_Q+GSf(-y@YPYd#s_M6^&1MK&-yx&qQ-?prD3G%@XxZ(xgu@8&_W&{|8XL#{6 z%kvt&1sJF{EV&em)ME;*79d$`yJDNsi|-|m4xtvhNU)(*b8 zI|QbCO7^r>&%Q>a8O?v}y<6-qb~M#-ctyzAS>tzMWORk#teSQ_h;#f~zpJR^nHkd5 zY*5>`rXD{1VTWsL(s}&Po5;~LXMy8{OPExOxf>&7`hKT}2b-QU>Bxvp4=xjdnTpSi zpL#g94a5<3NYn$sQs%j{ z2X`@cE<)?!V<3Mcbv0v>qX^^3^{KOhpjwZP&A);Wc#~W59Deje|4$>#@28eBe#cd< zw_`mw_9{k&4m!=T|BwqkIwQF?xfvN*x{*1VDnHFdv<$-SSuCTZDwZQunRCQ|3F(!9XDn`}zyek!vca zwC5`&m4SaFU6qyxXFEt4^%)NKF_p9)XTY@~yGN9Y)568}NYgMVwt18q9n`8H<01he zzv2CavJKk3{yDtKc6`c%Eu0}}5q9_IOJ?NiqrW5W=0`F-kH{DIvyF_<&bD94)!c5k z{&Eqw2@HtyT>(Pn!LeJM(*K;W!z}u4DBOjvcQk)LDJ2QBzji2Y@&mNZWNB!sJIII> zaGp)5Xfr}^$>@@HwEkQ$JcI`f@g+SFY<=_cd0O*|Kg63Z2p)fJIIU^f)Nb!t7&QD- zA{R!@If&(S@XO)N1RvJ|3{0ucr0(1L<(aIX>WX}jn7e33sP~$oZwG%J-oQ9iF`oZ)6e}rs z*G%O6+-1r@yj{XaDJ<3YBpz2yZBo8k5J>YWiXw?y?4syI!Ol&Q+6Bel0G3{tAr-Hq zhBLDhC^DL_B~lCq4v##gZG?a6 zaQnDXsX!l49YPB?NV2f*S0?JPk%&R!)+%9=&*KirCfcyH&-N8AtwhZPnnwIo4P!aO z+d`DMPk2kHTu`0${L^DXvVaqG7%2b_XYPmV+Qwi6bUKu|?^MOw8pa#!m>S=nMMVRX za^VY`Nl6%)oGI&*4`ev{BT;R@fG~e{*R=lhd*;ioh=9_cZpl5rzO4Bla)40m!U!Zr zw5!jtog-rPBSZM06}rqp^Z!E6;A#iaEH^l|&kxkv5O_o3x%4-Di0>W11i@-hS-$$r z_nH1Kky!zKDr-Snx2X4v^tb;9ZW)ofgIu9Mbu0+!{2O-q7YP-wLEqSM`^A6%?dvD& zS%`{L?(6gJs7Oi*>KqH%hHmT0p61}3_!Li8P3wI0A>6(21&|Lbw>98+&Ilw6k&gD| z0<>uyokVnx!_;D;4_Eort!973u#pnM{qn;e+P}F=0#fHU*k1(k)^?_RVZ_Jizq!8r z5(lBMY9uIrSV(J!vw9Otl@Na?&u_!4V8CJbD*AMQvx^6mvsU>Tg7ilBK6h|A3KTr! z(dnWSw}T5OyFXwE3{ml)-;~IQ7U1J-qDs6VQ5dI?1-sm7$QU;@yb8tS&bbi^r;v|m z*tM~g_u4EHU(gDz8M)I7S78jx*srYyUCEz%jo#>>^2?dLB;|V20w{l>Pxpjff#bdk*JT$zG@nuUOw5zZUbRh^f}zBhxq2s<;fhfrh;4N2-8ucK zRE$=o8$kfyhjS-%mifsPI`cJdB3&=JjT%WmAgRCMQ`%~yb|u%TBJM395x-5>QXX&! zB0S**ZO?n4#bLqgwj6)WxD3J4Cm&M(_8^b~L}^XAstt3b#CXOtr0(oo9Jg$sTP`I_ zu@;ibhpw(Y_h16Ptz6AG1NK`X+O2AX1LjhsIVX%MgI!345FY%;n5Ee|qx5()?R$m2 z=N6gh-1od@mB9v}xCa})QVog-|7`GnadA3nDpA7K9{+bkN?CvEoH}G2GOAT?Eul^P zeBiqq-vBJ%>Z$76Fx9g0rz#RUAay4aevamoh%5I@zTN3vKV?5Gr_LVA`iJwXsH;9S z&D@wD(;9I#_`uLRjRmBikn>8Cx<1CF%LIq z@r8oic7u(99Z-7R?`w3|7O7KoC|jWd{-K)!8&7?%XH;a#(r<}YI0vsjw;gk@JJ<|V zPKcq}*(YG$iSz$vzD>dYHHz4TqmoBBQV=MZJ4w|JD=4 z8(n)!a?=y*{Mq)gDdKqwTYH*+7Mz`Jx@%Q(qd1f-fhpp+x#&@S{So377u4;1d5vR8 z@j_+T$uH{xS^{yXkq~Z0+AX|}p(Z58Ho;DXUy6U|nm>i|TIR28Zh+7LtNzqenZfErhipvc{}sj0hN#K=kZTz946wm=~U+Gfp5k&Q`6`5 z_O*XUwj9L+Ur_fnc|9YjHQiCT;y0l-*Vv!97}-4&+;w>j$3w#k2;rmeKJB}_c_l(z z+40sxuC0@kRKd4U;QWj)>XDyatH$H)`I*{3nMkcaHGE&QaX?QSkd;2lSsoQb8v6${ z(Vor+>fro(`rubI`?G+AoQrTNpHimKwse2wdn{lE35T%DQ_rga;;>p2MZ*dd%g>ta z&-`V<$c&!b^q*GbZ}70}Fn{)hzl-*Ezs_T@ucU03y@8e2e*4mOiGKUM`#76)4aL^7 zV{^_S%fb1E8*Kk+4y(Sbltr@S)5WK!0za1LON}1Vo=dUnw`L-4fu|xEM;c4eNp^qr zz1IBtVDO(`PwLK(bTnKrqHE0mExXr=Bq9q9m=yzUVC*5%VO%}usdy#}xDiBpY0byD z!xU&D(Aiaj%xC5DHV#uSGR>SHuh4&R;ADHuG7SjcFZw45Zj#2go&M2AG}EbH_$c*O z4I7p{lO7->dY(;SKBec*G5Z~Od1uwPHsK@fs)FPF%WO))6h(0F9|!~rRCGRKI|WwW4WG+HS3vo#4ROe;L6NH6GCfK;MtTS!$~ zoZkN7Ja;PwKr$VtWwzegO>eznmeR34o?q&_9(6{Q4T~a9WdMv7RAhgq3%-SIvl6Ly z3>xo_@e91CY3P&D;y8ylI2zoZ38N?v_wBU^sg^`A`ew z0|m`ygDkPBphn=Zbbx=8TFuZ>44LHK@zrUYr))ZAc_407+8FKbda+m6K)n|l`4cxbE;ScxdYTFqk ztM^_#ii|5&Cj>m%tKnl^>~-3X-Pf=;jsS4q(<;if)WX{7HsB;; zfazqBCl+Addc}VZ(F+cOko$(Lgz%3w){-D_cJI83cUe?iHQ`F7%Ud0YzxU)4dPON_ z-`0%tjY@I{mJ|e>RieP*Bmt!qTmLj#;q!*$(b;QXHGt}`S{W;WyVHh}THA9?gD2O5 zbh0zysd`YpSZA}$w-?EYF~y!*aroxhFE3|`_XC9Sn;3s3n{NyQWvX}xsjx`>zJ&U( zG1;MN5!z6c22fRHQ-f|#aa=>H;BGe99-sSJOE&f3`6zo-(Gi-JJ$*|HagF;!Tj>Iv z3~#*!4`Qe^WpoMwkQ}sBR(B1LH7E~d=>XN72rOTXpYf9A)Lo{L^-GHTJ@jlUKIlkE zi-b_Ns*Zm%$Dj4L%6YcTv?<=pV?Lh4Vr26W{q%@UcJuaQpZf2oW4fE*ehd=|$tZDF zeSN93T=QlVvcxX^lgq?}dK)-N>uW24|k@n)ED$NW?UdUE&bj}ivKRVk)T zNZ5Y^gcUl|kGxx7jt6Z$J1p+-3_G$B4!2f{Auc@*d0iPRad3iExP(1F2AgLq^LJJx zRdm7)SeWnWR<1uW`(H8h((f3c9aN4vWwdqa`FUgwv8>Bh7}>+4nhQdyj^;teOkp)~ zZ4^2J+z# zNaJe!I+(w?5?r~2hcvA+J&S)QlMb317ZKW}_js*$xsgiyG}!r;Q&2os^vwUPpd6^0 zLVxg>mk!&WqR<*lKFtE4)z zsjSnmLkuYaIid>vdv(iie%>Gpo=9d?=cwg9@x@tDyM}Khv@ft2o@AXCp>rO^RqDOR z16%f%GnmB>tyZY*_e*ktD;#uzmDqnmHJ3TEGGg!;&3Y#&1Oe2MscTy=ODwXoGK7LY z4~6LcHgZ9E!q$KQxz_A!T)w=MRuy;RmXh1Hhfb)6Wak;F%6~Oj+GYjZ>8q0CwmyzGfJ+M%+yCV5qltVfDv=u(_GNJZLN8m`Vow|wXclfP$eU) z+J%Ts-QHC#bwwv-D1Q>t5FBLqV(?U*L zXxiIOCH|0XU7;Npd0TI$r4ZUK2;o^Gd@v~O%|F|6=6ZMj?a`#(kF-ysk43XrNZpSK zL}VZ8YM*g&q%hWkq8Cwm@vco7`aS}Gio<38scvT(BGDu1So0aIgjqah$he^~MT^wb zS82@|j2+}P`h;_|IVykMpC|}t%}`+t={5U`{He+&Cl7)9M~ckso`tXwQ^k!LjYr{; z^l!MYP1k>Q3-w{D`is9WB8Ij872l5f)TX77Xe#gETR2<)O)yacO`zE-YRCB+cwf@* zsH`_6Q$gm;f6Jxr#tcm{s~`-NM2VccNV6A{u8XnpJ2UeH`;33uHdr@4BBQa|Jved` zRq$nR$fKKe*Zhw1{&ijE8kO}(s^#|&wMW=N3C*@HS?LULGBEJye{+P#@NkHr6RK0b zj8eXrg_=L6{efo|HkLv=1cL77;zDmpC3x z0^@YaOG!e#A52n8L1YH1E>)lgy?^H$BA2`6a_1+g4^h@w9>KgdPy-mv?j|N=lnx#p zt_u(x2s+9A)q>W#9Fr)~UkbWCcDaJr>m=@@1ZsOT&1$vmpW`UyR)5sT55$JR0kpP$ zJ)SsKe(-;T-_7|Gi15!;w&LKRS;->>QioT*%_B^kJbpDNA*7dBp>{3oz#?_x8a+K! z?Ul%;Dk8j+bhMhPb9(%EoKq65q0hIhv&$|8Qnu}9;V9}#0| z+Ml{BjtE{xJK(EojZ*8Y1495T>m>bh_2=3$(#wA^3jmAvnw$R#aanJ~TFt%ei;gV) zRCBCT#`Br&AUT@2b<(^$oaRTgGz8f|>)D2_O~!iB6#F93e`h9LW3yK0J|LVH*mhO{ z+N$6$@{T-^-qSBJYz!&QK&fg`j={eqr0p{H5U>)(_|5xmy1=h`Ji%$1Au2x@A;|!L zY@UB!5}+6yC38KFy5bP3AF>jqH#vPxC?m;&WE_&gFjYl#ovhm1BL3TsPPYu)Mxk%My3W6P4P85;`^J>Pr#@ujx)?38=)C^2^?=_U``y+Km%oUrhMRJt{ zOeM6!pj}iA2L+i~GYNCz&sU~z??-LYwi-yt#adsQrjtKFvJEqe?{ zyK6rjZuiEr^lvLF;}@oq1dst6mEMMxxIrC?QFN(_m1w!;?CJFi!^Ti(E#bKK%pkKGQa^uO`|qj4 z28X(nQ-~ai^Kb`Ou|k5)BW(nYnjK}Gcych?AueJv>HeAPr6Et9gxy}Mz;=f%VzTIo zN5x$ExCk-pPoh2GIy+|ersZ7r+HH{ENogJ0qV*Q)*+L%0!F2Lz9yE|S{yYlF;wj!b zXssizS-DzbP2db-=Tnec(9wU{u7ns4M)7-P3EOe5Q(Pq(IScyaA2kkFg=?>UH$YF3 zmO+Vqcb!m9Mq40|t)f?}kx;f(!=L0l*cDHGfnzVXmBW+d>R! zljyWE=8{*`e)th6_E|lOZ7+w8I&jphHTh^0a0P=&rFDg0f3Kr_s=0ruoYF7mTWZs7 z!MogC&+$AIa+frejroUPp`$MZq)7`N#H^Ir>klndDCcAoVw z2oj=XuqT16gMU!$O1J7mppS5-W%i|7gRIMsl1J49^ft|V0S3x?0{zk)3GHF~tr9J! z4Zg!k?C^*Rn{4y8BB9EwyDw8Puo07%cLdF&lPHIgtVw?%(LD%;uN9f%c-mRR8s zO?!uHjJ)Pt%$!X;F-b5mT~r2R_ufb5Igcxy?!)5kOU}`B7#5b6nD?y?8|#B;DKst! zJD1G&iq5d_5C#s1!}PJ?9?wZed8~iHH0|)fQTFQY@%t&lY|~X6238&qIoynvvTmai zfFQ&v!`%@{cshUW-%alsM>K&Y{0!GvE%AqVgo!v;Hh@3vPd4A0&T~I=dR^rI&8Wz{MJ zgw^$CvO+Dt_+1}B;@fD=W0ZgUOOe6!Y7e#*&U!Xgd`5rKXK-8kdwC~pgkkZ{1>~HC=kyRSQhWJTlMZG9 z5fWgD(2{?*yRK+5!=^TAtFIvXkQOZx`#qCfI)n~sA_9TNbdKiAiY?xZn(Ul?`MfD( zBg2fT^EA|6QfHO8z@7)x<12LoScZ75vZQwrSbhucZnD+;d2!pYS|0jC3C#X zqtKv`h2!+WHk9EJ6Se|+3PAWjRLvA|DD!#5D4KuyTx4lRrJ6>s%eFSG(lLbD$3R2M z-6rOPDHInS(x&1KFxW4EJ@u=Q?zo^{m?zo)T43I;pjp^;#?r4B46xHr4<|)E2{ZxY zmIRCM9RvaD-5DUSDU5DxFUsGKcy{!Gu~r-~i#4AQIFeL5QQnbJ`8WM0?!Zr2r@uS^ zDeiyGfawDBN}mnyk**WL^dvLROYv+?hWRV@QSlI!6X`KfAd2+0E49Cf9k;ZX%ofOW z4MN^kF)iB5-@rxzxsX8&wcTzJkl>b1RJ@0p5&+XBKZ4Od+fVi_jA_@4!j@)`M3s~o$@ZD4=C z(vy#L^>hr^V-M?5arntNJ=93^f*!I8vJ$w075nuMWi&)Nau}$na!d8G|;koPK=hObnqq{$lZc%3iheC%Wzb zrpR?~b*LK+mOnN$`>5mh(DG|b@pKBj!Vo5P=x`v=K5;`t zi64p_mYW_#?hu3OCoD97nJjp7eh$r>)XE|A*}VTJ^Dn^-VTgtdLutLG5O%dAJ_IY#}%DIk{X%##@EaE(Z!T8A)EHcct=WCWk&KR&j)js%#lFEs~vb>mGSnqPyVu4E(~I*+L6w;U1$KXT5R;ds9;A9n8U#`pRZhHx$Yg^-Y=#TTse*4OLs3Aak3J1` zbQAOIBwH2MH1h-r^!H>Apn8~W1psUu*+^)39mTm`wAKq*HTb2VxsK)QAyIw&=0NrT z8qna><3?#*|BmgI?she{23`5oT%f%Knj{Y{B;WABeuu%IFb;n#JZ5HWSDNV%ipY&= zpNnR(+Ap=nxqUS)Sh0Acnq9&pThx&cL2;J#mcOdKByiOU7|Rne0m$d$X8RCRvIuNX z!MQc5k&Pu>n1@C8qxJ?jD&nZ`QUi&q&1r$2X12% zdl)INPnMvtJ=2F+8>873_x{=Ty9D!?q}8z-49S zDY%-WkhOz8#rAWkN2zZ7Q1wdgKTCc)k?ref{HHekl>C24Q)ShCkFMQQ`7MEqP9tjW!hDjQ_!(OKQ1!ibR0fr*BQ zc3z-)MV67?9Nr-m%rZ&k_Yi?OQpyv_MJ2dM40_~N&-sF(Xk>cy&;S5^I@z+UntVq{ z+jtAGshx5xy@{gj9mKnGO}!+#g}h1W6QgCsI#Yk41j`OW0G%E}zP!o5lIZ2>CO7NM zV)iC6b$+7hIfX8!`tbmON8VOnoAffXrs9oes|p6)9WQBBb-?8dhR!jPD=?!VNgFJN z8BnQ)d!0Xao6UfO=6-L1wWA>sZyW~b%(25r93Oegui=H^&55N*$BS_)@mi zJg>A0wSqVffd``x@yVq6%yYB`&}7y83+x{#^+I^FL%LHxmUn}HQ8^G7=3k-qBxL~ju!%bykr;K( zO=jo^4fc#-$CAANt3ztDGs9E9pFvJxopwe-L-%f9af=i1x$@X`7o#}Tv83)Q4IH5; z7W2kMX7oJTKa8LuZUQvBI$a6l^pDc4xM2`6l9xGKI{99$n~@;JYZfGleJUB+NfNO| zm9hYTrl`N9=C9s|94);gRaO!t6047px{w!76K;Ls%Run~I3oAr5#wT9o2W|#F4UAxvvvW8Lgm8%$BK5)PFo$K$p>*lcrl9zeAnPD$d}j;j@-F zFF1qXV1ZU0*pSP++iyKlb4IdUw8~;oA^vn0^+}A;JbOV0iU}NHO~5wVG0YL~0^#@V z+pZlaVKLH=LyWQ|0`DWKg;%`o!cW0}8{Q}vKGdSXB*D%xU!~P$$nLbHBr`FiDm#H_ zA*lpLVJdlO&xfN;Rel;A z70k(zP`LEf+^!gtlD2d@m1%E2c1tOl!wRw{lY-I*(CdKOTv*qe3eHl$S?NaMIF-Os z{#<=IfZfTHmmDPMZsC$VFLx1t#jxsaEN~=?tc;1eHjo?YtR$l3?Jj=L(dhIdG9dd*z~ia^6S@UC#%nMZN%WihV%^tkT4HbP`{$yf zc57=F4~Aee%f_b92b%6LaS=g6Mgg?KH8>2{n$ZOc8}5u;=EO$yoyZ9wRSLShcHa?O zgt%XiBVADKh%Yj+vVxa?*V0ZG@zAMV20sqtlZA*}AaJN}aswg;v!oicV;bA5m2DdJ+k6gB64!=Reci?~WdmM!w|&!z zyWxg4&kJYY^psePanQ3^t$1Vd)CD7*h0GEBK3pHe`;= ze!Ox8aavw2$+NS6FU{+$iK2Fwd2;?t_u*mHq$y1|98KgLLR(cMPjWhnkKQdSf+H?B zmmNhN#0?R8as*t_J!8lzMR$$!(O87Dk|&+&nd~i=u$8AP_+V(+mi3Jw4)+*;uxxI5!LGx2hQY`j+tTFVKIi&JI`W&=GO949ndYmGfMv_ium4a%pR4! zX`-g-JmmM11ARddf%cwSHp{-Dpa;f%V-5*%YyZOZz~UbsTTsh&%o@pNfsn8z-(E;> zY{S6ont|%k>13n?q57hGaZ?Ph;URq|-~xj*Y_1v|RcY!e%SmuMPmDtH^NK*fG(C^U zrrl3}EU-uF3o|OI3itnubJ^c)>aalty489$`lN;_GQZJ`wN9;QXYit>9TIAjNpkc^ z9VH-nRaJ(6w#~vcw;T?OcK~1srHH5kW7R=eI`R8oQhXgt*&D_ycm}Vd)VGi#?&tey zqtBN_Wn6nlHtIRLfr@8N54UZP7B~b5w(#IeS0l-RA+db|3+7HphUqRJbgK=yB zg->s@?)?htWpq^v`+pqg(eE_XRMFj!qBE~irW)TQ*WbRx;acVg1FtYhw3m;JfB%NW z4ypXZfB8eAJJIWtisb=nU7g6RuiNL7XA-ke8rIpZqAQ8`r(!36?MfAMpu;UqbW;<5 z9S=X&EE;I~*!L_p$@bFIo2WhO-x{R50(C_^yh0`u-fbhk^Rg%&)lO{CH{lJ(Vuj=U zS$552)mtmxOS;+AAjC*a(1C*OZy6?;hi;|z5M_QeBc*@ROE%p&+Ttd;hr*JfFi^dN z9=>l5nYQ-~;6EZb9F!!ywj^@$dK- znc1{1B}b!4s~*uT%ekFZ!Eh6Kg8TpoJ1bw*dwG%v)vXy3{dvvu60OF2l`?C8Cph|Y zLAB=eMYDtL3aSE)?8|^;+e0{4CB3b96>m)^$X#I>W7c6gc%?eWoqy)fs{AgvMji+8 z=aogjrBjJwQpv?*FXT&CHeNtPb(LM%YhhyE0ecVh?Nm96e1Jq+@0N8t_c_}qk}NR@ zeRza(q$|2@7?GbQv%Ap`5iM|kPQ?of$GPQ6u0VLY|09{!WY-%OBIWhzGxyBoj!g_%UOTIXlTjys}w;zYQSo7UJif zwtz)>87A`1^^P3a*Ghd^YjhtONaJ`n)kX$*e7F;$E!D}QXZX{_+YE0`5_e#CSu!hX zOrYLyXeLy>PUUy#`NuAC8(u2cKT)^dEw69mB`j9SPUVB|3|ZmBHWdrOt+oL5q+`Ot zHz-8Yv`%m~0cY79*pYF6X{#N*543ne2Ho+CA=al$JO8|h`ecU2!*?cgC9RE0Dw4Xk(V53Q zYP(CyP-IJ5Qi&{6BIk+D;RQq|DKaITIcu4c<#-JgJ~t_=-+8Woj;8Zk@y8^Y+XeLs zKo_P6w82AZA#Dm<+R_;Ot9-Wn9jQf* z{zjxHq&VBATeDGrJ$%zrabqqJJ{Zdsbgna z*|pAmRTGnEYL#t1EfMRbRt4qOY_UeJ3`}Dwn8Xi*>Z{Sg5h;onFPok^NK&UbQ z;uteGiu0n57mi+2?7GNNESHa%vbdj69@Ss_1l-)&9?>J6tZhbQ%J)!tdOd9D@3z#g~`#uH*u% zs}#9^nROMdCK=6QMg#Xjm-f-Z)$P?#ij&_+BNvq|0Hp49ynlzWJVhoCy@?gQPQonm zP+o_c-0dOQt`1$J^dZOf9?HYue}1n46@r26bq52u>)J0UCO-vmIXX|Q!BUc*IMC0t zTJ$ElF`S+-iMB)z7Z1rP03P1P`lAmoSKMKLRI^V-@74sCGsax9v%%^_+T2W>P2KrT zw?keoO&eS8zm_ykIn(1c;8BJ}FP>24J`_Ejsm_buH_NZsi`)mFxHLBJ^xUKIp$Cio z1-ND|xru`f-E7#%kUx(c*1_6dIsci^!VJ{rp4ui{2*?#`HMC6%DT}>|73TI$9}n|? zL3I}%j^n-<{+l#|OFTn&Nl zS@>?zdh1bGN>D37*GKra$)jj-HT(es>zynY;|Igc1F};d8c#N@U^>4+gBEJ|k#n1A z!!iT#1 zB5L09v2;V89S{q0@;F}9pjNp7*Agaz>h4V$v^eMwkWY@ zG$`60rU#zK2I=2XJq%t2Jf5Q^Nrs!3ELJk_-_$7M3L*=adf7xc>B{PX;Wv5g2 zAgmY~m}!V$yyUl1xwnOyVX*}RzyK+o=`FJJo2CtcMAax?j_#e87PBcz0hKhYXTH{i zU#^GdH2tT0{0=MWOqXhpsBhUw_>5+W1{in5N^*J1S$x zh=s2u?f%fg81oU>4B`?OrQ4-{p1Di%U5yARmC`+iokb!3ol`myU#-}+PV?HtD!<5O0w8ogrfibc4}&*M&pQVS*m4=tn2ur};}HEd4?z*hUs zIW@!L=t*~e>H{e@+qD1m#s=zI%agi!YboyIRX_7l1#MbMab>atkC#k`ys~0hC)O{n zj}^Z-St=HxX^Vg#|6VZ3#hB~|E{!X|=P|Mu?S2Wb?)8hr|HVeuS&zFkbw0)*AEiNW zX*4|B4VT3)PZKv*OsPkIJ9#?tk}sDM3iPsqxw5CC6a(V?`^ycFu^mbi?y9lo&vZVR zg(^@hEbA$P5;kw>jP)j!|NWZ8;C~6TaN9YbV^TRp3g# zMZ~dW_3>az4pA;a%oT^`$VMfhyUV6mS6S8&F($XJUy-7i;9p6?6~kK$TMrlz3|5-W zMlYj)0ly@`O!BJBofLst3IsoKVsK*55eV^%R~6L@6()Vzp{A=$0_~kK1dWiRn(CDygCeNHVhpQH2U#n`1)) zbS_|0@S{c%I4fW(_CE+X!#|&ZFLsO+uc}6tVMtkLjmD(EGIR|{XS=ks!WyZheY+BE zk$1AU+($bhNxahpL;a3c<4y5}uitw(jREAI4(zpmTp4_{0*@6b57lq_#q|V`%Cj7E zk&_XIq;#PPOTt8*i^vmfjjs>7!0YvWYU*B=l#|Gf;7 zMe3S==2v&Z;hdUu7Xm_AzWL2;?}YIbrBj{0yi@cQG*jtUifCwin)Ekv++RUg>tcl= zoa77?-e<<(tbmuif6HqAfzg(Pk%FP?jr3T~M;=ko6bxs8<5j|o)&);+D&%Q7hRu&Fn^ z<}_(6ID~AM|F0W== zo{hpzjpA68uFgIocCqB-{7A&@-XNx5oLei{q>()w7e{i)umrFB4P^F>3|3tb{O6(mvfSwcP)wWf9sIB+(1#1`%ntBfOEju7TGZ1q@{l(~i2RA32xcY#mK0|M=> zV2+YniXs>s9zC!3OeikLwi!+oG7j*LJ=Y4|`w-2Gn0ngt0}TQw;tR(Mha2^O$CLk! zVVbTI)RjxAuKj*aCE4rTU_$L^DrrMi-ds?P?fh5uzrvH#h!It{vaA@o(s{$uk1Lcm z27|Vt3mP~SArG93AfB{PfnxcvQJ@}t^FK$eeEIk+l=2)fF) z6<+Z9<3Nj~yfG{+32Jw^3pZ3LKtbiJ=nESTQLpP|-05D-E+a~j>6V9tkP>xZwYUqB zu2yo#KFuCFTrnZ92X|yT4A8A zxB!1BCN5He`n{Y0*Oh>>eLOElWhXZyE%C|hv(L~jb>p!kvGaa(ta9_le#D{WZnDz( zsH+~BBV7XY*)+OG{z`{`sxC09L^q8z6Bvb_6V z>=T^vlmX~tJKIi7LQ7bRJ%lFK&l-osu^B&)i{iz2-5Y4D;jRez)x z+Bb*N5wOUqM1>(s-^PHP-_F5nS+LB)-|Jzk7YmI zo(v8r!&YZ{jq$NurJfP)^t;B@ngec@ywzL7PiiY_$KwBgCnDi1HBXYIAc>x1a>Vc% zMsr)QER?11YZ8ajZ$>`9)%+AhJx40w~4eC-iL?%csc|I8<~l*&<4< zeTv2nXVWK76~Lr*km%9N6L$R4P3gygXlba9eGME*6e@jGhKEPSQ$ogY8A5ei?^7i0 zxP9v0ncG-@uYTQNBndDuOEoZevr&i-di@vZK(LDr5V ziYHYNiDLaXo2tl(rVEW~+l~oI8Yqns2);^Y-ZC?A^2#R3fjc^h!pkG%(2zG6ccd#- zdhbpB%RzICHQ8X3Nnv?m4gq`yLqDrKw|{y3?`DM=ob4NNB6IKCvv0Wrz1twni&&eaht{bQsK>B~}r z>u$uR{YyVU9!;Y|B252yWN4Ti$mAMf z+Ww7yDOj=rpjLXxnOB=gP)HwzwqJ|4;m~UhYg3Fq#vzOHUQE;(yV$6JnKMb|DUsdFz>9Uiw zu!Mz0zlS(gz}&~rarpq#YU+qXgU{lC0pQ0I0) z|0j28o6vDJ@BP54S|XP`AgdU?o<)im5&EpYTbu)~@{GzfxhoGM`LGg?Yh!psR*&H{N zv$AGmt)sBW(LCO$ct+NB|5JTUAdN9rn~U_akH2=ti$JJk_J9@nf*P~;HtGpsz5JTk z%#Q-w{|R#cZ8ItfSz{C)!*Z3VlkGksb39*Mhd=k;Pf{YcDH$7&!2qR0_v&_k?<#J5 zhq+ix-to#|)t>RqGJb(IK`rfgMQekPGY-%>KB?PcO>xHGZG)JK;wf5(f|3;_b0LtzUSyP{f2}bwASwiB7is!;-pV ze%L1<{0FWcF{ictwW=JU0>zepg-2F&_k#7pKHZLKJ*waJRH$Lpd>=1#f9HWY5MTk* z^#*TQ=R4@&2o)m*cZcKWMX^B6)$O;9Ot2KTc;Tvbg(|`rCptN)Tq@^IjVimu;_VUE zmOy!f%Z?qR(gwt4M6}!m551)-)qpf<%WQ#nHcXi7>U2LE&KYQa#A^qC+Q#1M@qPP! z6RqXs!0ck(3d))3KvUG73Bbz<#kLA&>k6X13h1zL1h0e^yE{v421LKPR&7hy&G=1l zHi2rIyV<@|I}yV9)K0sX-d~Thi8EXF|f93NsfjL5zpc-0V zPaPJq1MVq;0wkJbK>7-Q3B#%AWOS8Mzo;waoMNBcq0Jx2C??;5Lrd~=h8_tn2JBJAZ~i_6lM*CY29 z!s9y`@ZhQ{nrMpSJ3aR?Ra?6?5SV}rCFs&G{bvF&mwIU=J{Wa>=rj%4i;kNj-ZtQ{ zYqeLCMm;!1T(REc_&qD~t)BiG`T=itE2Pp6-u#Odm~r*RO#?=o=B#`a9TOJPcI)EE zcr@`^tCAStrA897~PQ#0Ts-=p3d<9P{O{j z_{tq>hOV2C8l>BQia``GbfPKs5`MvbSbd3ECw%*KP%~9s#KY{@%_oOw4D8ou-^z7JR^+n)M*wq)goSzk!$v` zK%~0!|3?F&VKN#J>JN4mHa?SrNDa%@N+^`PAa6Egj|4n_^Ikojq&bLl{cZISSnHXo zcuAJ!8I!>)V=a#9{qeYys??zGGGWQ0oW43uryUg0UWrYqgdZ68j7*=vX(Il*<14s! z*()b$my6U>0|?Zu1BbYau()F82Pd2cK_jXU)K`m{L1R_#*QWM8cQp-bcXmFHo5ZQf zfXvuqaxKDtGjSfZPFzgOwS5N!6yEhZXM)7I^vZvrdt%HZGxf#-*1@(b}lWaeZ z>gV&#zb^)-_y%=LyGWg>q(L2sG4gvkj>QgJ4=ksDE+LxT<_%pwQ?RFUS#lI<8j{qv zKO$tkG%na3rv1R~aGCna;!nmh`|fwh^Ww<(lHsTqt)3R~ruy6DC8z~)<$0Vvuq}66VBaq(M5D2UNC)|!7>7^!o(3=G zZ>L9p&>79Eb@9tJ|Z3IytSiD5>p{UZl0&Em|T5=L_%0+x3YA zF+3u6p}qx9>v91#a~6pf^ybNNQw6FuTOeA<0IU}3r7v6b18wqaafu806IyWbBpeib zra6K10k3z&*iVj0mv<&p+8h>t6eb)Xk<8t*U%fr-C8Z-NjJ!G8HCor>PI{eNF|cr6 zp$#g}i>RJRGGg_6TZ%Za+BROU-dnKq?UfsX9LHruPo)m?D!W03kbL>adlH{1!eD9_ z^jvCxl}@j-`h$tS=O%J@cGn19IkhHP@#CfHcbcS#%bxZIq|ks?RTyr6bXhoCnnxWk z>E`WW1Kp+!GX>WS9oxYJ)oYUvxZj8FwIjU#2zUx)t+?AD&t@9J(9z_sD>c6{2rq=*^(qs@M z2kB@?Ul{)QAVzBDwmR>BR2=UD9(%lrfJnAeoV_q-BKE+&4i9KN`omu~SOBK)AEDJu zE$iN^Zu$aJs2MFfbjZLO2fko{dF>qoa=04HJM#74H3C7zW=9&dyMZxa9b( zl$-?LF?h6&g4?Yb_+_1kiYM{GoX7aZ?5ET7ZWt{txE_4}pfj<59kz>+cbV+-aa*HM zm1=NhWZ{fd^7HR*YfdET=MbiMaG%muVDW_r`l}2q(>5-sSlY@#_jG}RKR91s2;e^A zu^>)cM!K*%L^z+m*x(Kx?(ohg+A1OLz<{Ucp48bGydNoE-}BFFtK&Mc5JUiK-vkzU zkyqTrC|@0i5RvtN+Is{1I(|B9iLB#=RIQ^_hj+If0fj<`9Q}9$E;BEkH7v4diHI#$ z=RykEoX0=gyOc;MC+J=b661jtpI0rP=AAV>G7TiPvI_wjrf4s{utYdsuz>wZ_}H3f z%BVH^9 zGxbr$=}uBcz%yk^FimAc7BJV9=wjv^do;hU$5ZI{eETM|c<2AwXRHR*8jKqoE}}Tm z+!F1phZ%Q_YseIL8y)_r^b$LOh9D<&jO1$>h4+?O3+}rJtC;__X8|2)IWPlbA-bm-Imz@{8qu(E}m?xb8`If`i zzG-7{6hhUKobvNNzls8cO}{!@5Y{bBoMUapVp-@B1xA5e-( zKP?MlxuWkCKqt1(ODS#K*I;W?No+7a7HAyWwXJunX(e7~ekVJbR#}FheV$A0IU8#vzWQ5Gxg}YUrr5n$Ts(dgGMa~v`dYI z1>yWAAu_B6@Sag?gy0-O;{5Q;=@{O#fS2ljE&mf>Ja2%Iz_S>X-(qTY?6|<#kl5Q> z-K5x_!$gpM@C?`GQVsyN_T}2Vhzy@?V4;x7`K~TdswJqXhdU!$f8Ah)>wj0_UB1qc zb(YjqO7&HaH(rtP4$Uq{n4@f7*j~k#w5|@$tf-G6*;e;Syn;=gv<=3%fd5-cDF4rY zngg7 z5Qq+j%0GQmIQf|eKoCZ7OyacYV6FLR5S{%?9+}A#>CiUj>}D9>pDkG4$Gl}kf4|d> zi2dYF-j49CB57ZLp^UP|wJ2{i^Os#5+1Rv?Zb~E}r;;tg0~#Y4*_iGM-ts;DqpLRuCMAh3Yx8&7#ps{1EC^`AF?%y@7y z={{c2H^L{_xxbh<5`sliQ4OSv8(0YjS}4!>C!u)1W_zhvOqi--o?^jTUtfW-=Kjq; zsL^17FpyST2)7KdH#DN5I&LIrS}mhv`A!)(K5Rq6KH-|#f>Vn504hd=4gNu&s=2%< zGSrGSvG`RiJDKkdtAO&zUD1Gl6rx}$0axzvAHlw<)2{`-QdFBb;1tCjW(*iwFw01Z zbD=Z7nhn&F7X`L{4Jfr_+%Q#32^^=YmvvS={3DiGpbFm*6wa%o0SlVI`GKWC72Gqy zE)^v$09@||33`w_*Z)8$%u2?mS8hhl;+E7EWOv*l%RHJTw@Vb2vUA~og3IF-MZ02G z1*W(xZU7EFy)&E6_rtOBE0?EGb;v9aiMWry(te*Sj3!o2y&LXE5H!XtZJqc=9~7LO z$>ap%pa?l$VOg57kbdifkG?)Hjo^zj;ealO2QsLoP&K38^?t$V@s3TKo5V|el3Zx- zH>Ex!_0yOG)0NBqNU`&O0!J{60{yg=Z+tm*d#_2*+7ZfL&s+K?6P6v4`W*crL4>`R zebNs%nQ_61ehxCR!15_HOSXxMU|DKGa3pXH2rwJDDe%k! zv)cHB3-C^5H$(_9@CCQma{;}J)R0$;D4rtckxFKV>3WwxEyRF`*Fi0b?w(Tw0FD=O z%9=MP43iXHeHT=JJG6?8%3z9)M6V8ijbfU0^b;mV%N1$zER@;)vk7ctri@bq2Zjt+68(m=19pKqak5`;~01BAs(}Ny7!GIiCTG)NBG!NY%3-!=c-{1eVIz zVo`Y=+sU0FT~4la)<8qN@m&7V1OiN0&f8DiES?gR3n))4%5@P^b0`kSbSE2w_$BHz z4uBf{^)P&Y2F9i`#_-}^z*bI*yPdDr0YyRYp~BQuM%51w&xd-!mv4z46HkgjWR@Xl z$I2~32+Hs4XZ&5g-s?)umII&;huzh%Wa3)cAPDI!+(q>41=c2ra)s$@#1KA&e^qs_ zq>a}ZML9qcBABL-A}@b64+#W6_Iy~p_vAg@b}s;bBEMM0haG(@1c(hPf``giIZ1m> zP1n_I`yGfzrHKD5&8jCFUZ167ubPgb*Uwr#sX2gylBiD#<5FAUf5^4^RptoBL@~u7teM~Ix(un8S{WC9?$r7dlGvxYswuN!$c*JTLW;=x_ZLTx`Qo$ z?^l`T{iBFbHwWVLh#sg)=rkU7k7=r!3puyr-R?_{1L|DehY8sOzu4*tT3*!lK|8mD zvUdpccS$4G@x9OCXy{IDgr@=8AN6RM|E#ZjvXz9OOw0qUdO$}3TOdsayx=di+BFr{ zlAvp_p$M`5D$pB~l1zxn38ww7HK442RLH&kY`_qL3l`OF@oNGM&t=IdZaw|-3g*Ym zFR7hQ{Ppz#hPGnxFA8)qXWPZhWtAA)yTg;MYGslZC4rZ^ok979wkysCk3%X9`8|{N z%bxKl)Q}eNe2xpds<@y1h@#5@ZBu08RN|@$avdDmafZ$^PAQUz<#*~#j^AE?17y7R zbbNs?VT%RkDX2%yRACWlO6f-3h~ol4`mlPj#J1H6X5Sf9aqLm1^AK(%45pfWx+;>9 zv1Z2Q&Z02U?eS7)?Fk#-3|{6XCl$lV8SD9i>IfCOW$&WDjMu*dSZxSy^>~I3{h&_Z z1QLY|cI%&jQrnrO*?8MU2l#4#=SeC_^;2&r%#M10l$uici#10mAFEz^1&OMmQfe+oE|)Mcld#=hqe>=^ zWf&zVhvOycS%f%^a-jB0YWL76sYlD5KEe#eX9IqvK=GhTmZ!K3`)BiiSV&ynB>%vH z_v7mV3yO8H%|$$coVC$}DtDkjwmdN&A>Korh91`7$rc%h1uQefkZZ1fj69Cg{OOPagD(K3^rFr`xfyVd|tP`drN0`*_R$ywh);QQH6aZg<)g*E; zC3wm49oP@;?)9BSH@eLRVyT*23=-|vcbJnUV}%TTtdfoJzRyW#(F`9uI?!Uq4lj)?aONsB*4 zGUW3fVPt@q-F0Q$;L*1YrZ16hDQlL z?~bxp+s4+A#f}DWT%=|ASY)f*?<0;t$7XKtWUWX-X5p28qb%R~UuSr&jJtZfIHaZ4 zge^u-({m%-{79atp-Eq@mZW{dxl|e80o}rGqkMj!D-n#F9IKHM%;WU9zgSnv6 z2u#i^dF>FcQ%rN!Zmc>2WhE8QBv$<+I>)b8_g-1CcifgJCpuMgcc|Ib=&BMzem}E2 z9%7>xgUl9?y#o{sSQUG@IVb)A|IsG$V~i$PS{@GT4^%ITQEqtcbD zC;ngO60}fK@3hR=?6}@|!8+O)n%)!lAMhFcASFFSq0?ba3FDA6e{W&Seo296IlE$1 z1HnUj%DtSljctY4PbnkQHlqs@7lbb2nN+j=$PxC=F?p`M@ zZ$3+Z0C{94y_M0q)E=KhsasBB>V3v|?P9Jp?I%j?2{@Stv*To>)Zrww>V{-UK+#tRELLL&W10Q%a`cC1fv zK%Y)D91W^!jAZeWe1;6Ll5A^ak(H-P6mSE7l!@umO|z&giJ#cd6?@RHU+1zO($z5$ zALzQEj8#gyuw{8~0}~xt<38pPQh{pT7!QGk3S&g`_ni#mY_2Kf3kVU&XUyF*{@ud= z`~oxpC|4F+QkBy@MY3dPb;9iaKt+xDHU#Q+{T*XZg6|VjQJHNCU}BUThKL-0 z(LJi9L4MHU-*Okb7BP)ege&=)W#qSlX~C=fXInJv$MwPH=dOpyEpJh)EFx5V$RruFkJxPwDjRO#T5 zxA^=31y7i+PwuZQM*$1)6;dgkfUX(}J9PoB$F@`U2{QZvs73a*o)Q-_lcx{G4Cinb+@Py^8ygr&&b&A~<@jpsYUVis# zf9vlsc_Ai=az3O-&XLB07Mht3lDYsJnWxz-N)#Q#hOQJ^na_^p> zC@zRpD1l*_`P(z^FqcnDWa6R$<%Uv@EwMfc@uJRxPLiNTB9FnxRTyNeD@_gIt{;hY z8-HRcPeI>C^g{?s0VnQ%ly*jjAhG{M(fzFx`f*FoDMUmyKn0-n`wHS^kU#ZD$c=|{ zkUQh>kWSxza`6#Zy;yJyOGbs@FEEQMXrzJpuj8O_VPPH8y4H9W0$oguE|JHmB~ zFR56O0ztC>f?E${RFL$g@CJbCYf~jbp(H#@{zDV#LaB;}|1kl7A2O{?mksWd>NQj* zGXgPGZTslVI3zkwIqWFY+4}x9Mb#<9mURqPU-G0lY#c z{3T8hy+I=KI+9XKR5$4zau*x<&K!X`YQ(atJ!cc06E`FLS@00rSvCh=(yjOg+;$K1^>gbtI2~r5QJsV!pf%9x z26UkX3g@XIC}l}ijI+?KcrFqTHM`kSN*_)y@LL$fpkf0TK{XkGbCNwX7QH^O@6nz# ztTS4|t0&ig9BmwbjJwWQ3A(7XSkCy-IwqTFE}IhD#`F}*Njg;L{Y`v2aHH=??oEY2 z4(a2h+@(3AO4bp!SNy4|gHyu%*6A^?*oq z{Ja}KWByrG#jWldq$1G`x48ef`6&*L{dIj;U4VcVcm4YX({Px6%cOq;a#)pR{kfRQ zls*f8V0Z<)R!zj(@nq%QB4;2(@a=hHd3~wN9D-D*r>HsIHu$RDRM@q5=8nZ2LE&$i z0giL`W0T5W5=$qdknYp2{ak`hx+@1=m~uuoP)2vlw29L3{iJ(zd|CwHSFC8RZ z?SM)kjM{$>$IXF#OPN@?uD)w`ZLMqc@GKV618E;SZ9nFlq@9!#>;;$on*TnQU|xKH zpGR0;5_14(38BnS??m|p6DDJ)L-QMqNV=VSGd{ltWbJfZJmJ1F6^5C7--*LHla7gh zX2~){{f<&+fm7`@dbh0E54uo}5Y>^91h60DB(-o?vKuMejq@vLzdA{*SkG7QE+~G) zi_12YMv1xRhnqnb@g}W$;hNddV!;DrICbskT;+8K@rg~LRT4||lf4)*VEMzb_8ny?cA{Q4!{426Gxdbhx1jf{4+aCTI&THwax4>MG!Yf|d$p&OPX zrMC!dJ)P&E)+1yE2ZxcicfM!sVYrZW%=rA33^^Kw=K$-_f~0c72uF(muOD~jHRxWM zC~Cr^Jn+HbUTe)(VVRt5bI~DAcS~huYNp6WlYMe>epEiv7kQ+(3ib9H0UsxSL9J0~ zYds=R9~UsT+M89VPVnymdHT#pIcDv&sc+Z&{>z>ho3ayD%g727+=j}Vy&^R`O z#(bcDorW_`)fMVMNT_8r?if~oeP@raxhDmD{`+?P@dwLzEM?ONYtR%kkI~i@;NXeS zwVr@fRMIYDC#Ug<%jGQ{t_>qUK&XGA?MQAphoUci{7E%&0pNtZ6bE)6b?v#L9~L~V z(^7R~?WJZSFkp$sF^7L@s3SxpbgU`UCgOASHLYXR$*YV!v;B@FrPyF zHt@t8M;@!Rty6MZPh?dl(#S?{7*up&Twq@PPQT9su&@Xt`t6)e z8qDvUg58@gi%{M$3V{lLjFM@y3S;9eXjk>ptMT!^$gc}N|8Wpb`pnTl+yvd4fG1($ zzrUhAe)Y~J;=P|LjL#Y>V5LzNNEN*|H}Ond>X3f@b9CLX3;C>}_=}(Jl4>RP<=;pq zR)|g%&P@L^0xq$~ppNP&Fb#u%n%ps&%xQy76()NgK=zTZBGD#)5q-+At=-nNGOi%B zn<8GSYC}pJRA$uW=YCbyZj%s>Kcf5VSf2SVO;_Sfnj)5OO5-CK zVfxfqUf&FOr%4v^SyobXZ(9(WRyEi51cu!9)VE=5!eQyl>sQr4P8jB zvVQzVTaF+ON^4q-t=1?q&R$%%xR+6q_hM-Jc&|Z1ATqRnVXCWhE!vIe$INpbM%BC& z-9`XMK)AmIec91rWILq&0C14lzhFRn7w4{7V(C2fFi8L#c;{KC0_6V zi}BMG{SQ(4(HXIae;cG+TaUO_x}A(j43un31a84-`lx%*++`PqVu3_P)kfsJE?K?s zHh_=y1OKEV%;Zd)*Rd41i-_rvPJU&jR*gxHxf<}(Y$Jc_yqFH}P#o*2YhVzOu?QH} z(hQzT05h1^5ks{RfGEI0+pRuJM^3)+^*wHfS_r!hw+AOEe;tRQRF}OywoP9T`5@^= zcHJ8oyu5`Ywu$hE!SL=2;KMV{90BC48DM3X1%=YPk9Wd&+bhIl->M$+hjofsj!hiQ z*Uc7o&<0xzFW1YX?T@L$LQ^O{zcevEk0?`mReSl)rWQLsEIFukTx>H%W%l#6Z0lPp z#7VUn!bvq#27@K?i15g{E>-AX|Z! zUJM5cr^oE3;EgGx$W5xcekgGLv!n70cT9G-Uoo!KK80P-tI{W%bAj_tQw9flmo~}C zk26PUT$9;9;MFYdJ74yF%hqJV_BY24Kaefx#zK-Ce{tkLbsxATjCg($5F>6n%)!ck zdwa|4rT)(yxatjp+~xuz9zbu`^zDN7ys1gd7M+a!aM(G=hxy2ScK|M0o~iFg4^Y?f z&Bpn&Y5~}v6PRI+39*=v0b=5~!BUg5mv*z@1L>)-Gv-VA;=0_r+WXqNqR+XQYJ6Q8)#_}K_u z;5pIkWFXLWli5((NEaZ4tic;#uJ5I^(e&nzFV>1ldRY1oM4C75Y_u!;IGS-jjy^br zI2Gr^LeMrU~;Ie=hdaAYu7c7+(Q3`RncpWKxRW1L{dI z=v#FshEsqt*z5NZq9$-`;)<9SK%=v^G^gKeNAAo_!-{!~KX(xLl?G%&t>aXfiSy%G z?}>W>2Fr5VOPjZcs^V<@12S>dX*nHkbhkSB7%F7T%@0- zf9=poZ14GH$eOE>io=8Z{b5Bzy7m;utwahwfwbxzxl_xKHr!7eI3VCNIu?Pi8ozFJ zx+c+t1dJx(4IxPfQdBjVO9QYsPA>bzTBPsa`PpwW{+ponfZMdD@gp2v;EyZ|%Pbr; zL7M&)w@Q}ak%||Awco&jGuUx`GAz$Pth_iQGYGn&kKi*Yyuo$J&Y=uv_ z_IBc}Fe?hV> zx{t515rceg*j6slwl4`SOYzN{9CHt%sg{P zuI-iHgUZ^#Kt?yN^RNKE&O=Mie*wkN##A*g%USD^_?zm7Zk;B3D2!`Q#1|0*BBD!3 z|0aoJBEbXtY)vs8L4^1$+&$F<7p;=q@Uv|+wT;#R;TtKjP_1flk#rZ3XW1QN6JxA??~W2ECx0*gUdrhEmF=}5wg2};kDr@%E!KT+FHo$( z#RTEY6R(2&#?8%V<06Fy%1~8ii&*NH)IJ^tK6qVJ0l&CZE!R2C-zAnWv6mN0>(sTS z2h^14bCF?&M5)e&e{F4#e^^L8PF`*==on|UUabWF$6&+?b^#!v_iAPoVxD1p(}3tw z?m6m-hPahstFWTpX%v$JEhUY^*6t)n0Q39K=~&_vv+*MQYF@pG|KAh)SW=Gr3hs@E zqunrkG!m8($QeOg9=>MRdtUhM-A#4=lj6CVhMmm`j%!#Pi4M#df38NsJ%(xcUg(J) ztWTtuF;k23V)a(zV^rjSRKM|j41ZU_VvWTIL2Bb_NENw532~x>p7hNL&|WA9pBVP_Hkag&`T70pw=!hLTP4Xl?^nQ)U`9)%q2de0>M+e0~Z3Nkede z=D$o<<|g@On(8kSe_LaBD~dqb0Lht2dXio*4sf@j&Y&+M4OTk5?d{v104*p)lg$TX zkOr77QNJvm{68ymm4aBqlC3wj%G+UUnke$E}3vTW}a4Pj|aZ z{$-;jjNo&cxKBHuijbuADs(FLvwue|9WSEae=NdJ#mZE=f5RJ@3n!-}joW*hH!&r& zR(lGwCo4K@s=WkRU+V430Hlp6auN-zi6+b3V!)dQfMPN7fm%n4xV#y=_Pwgr&7SBn zPAT@-PMBlCbiTOGJ?PjvjYe+pjBk0~4&4Hm;RijNe`y=~@X&T{Hbgvd?+k}DeDU^P z7+{f=C42)hf0?ORbiK?6*f9tLpGQrQ@m^!wk7h)$k8Gi0?=Nj(tW{WuMq+mPeQE3< zR;vwZNCOS1Z{}sQV?5Z4bxhHHp^_(Mgv1T*@JqNfG=#~5%*Z&lH<3$yjzS=kJ| zvvr@C4#|X{NNhcU#~;^P4XKu<^I6YR{1(l;?Yg6l=Osb%(msu_zy~?Wms6jwVheTZ zbq{5-f7I3kgG%%K0Oq zGEp*v)%ZLDKAwq-Hwpa50{L@rp`zwDGfV5-+uxciQfUFcQG*6w%xB$C+ycP|f`Imj z(VQ>Ru|>9cWUB0}^OQTaV&ffA@faD9SLZWqf1?IT_n9)7YulQ?eGv@omovO=?=lf6 z0x*z(2o?1T7124h!ecQfey9`0iXpnG>jvdK3i3i$L0S5iU9*Sx-<&t-wB_7AJ11wc z2I-0wvGm%MDgKXF=P67XYC1T%X#X+raoG=IaDwQbad|H*tzf(aVBt-iYkt8|iA7uU zf6~w=j3;5)q6;90%mMsa=j%Zg?nuF6kZLzaUptC3e?n|8rDiDbzP6x;OWAGN%-ilq zMMW0({?-+G2-1!Epvm7NmU(Ijnb%nnJki~wz&=&y)?O_#e>d``-YMh3=`krqJa_W7x_ka(h*kNQKKnKq zE?GnL9G4|GtO~3jzYGI-zNO|(3gT6K8h4YJ7JySu!zmegX$3DEgFBQHZQ*X~je}Zg{ z7*c+%TAiIVS=4120lwIF%O#OUI1Yv=1JBP76@Pp)q{>1@Ly<8e>yU$9w43w$J0 z6c;;xC(Omw^v`kl>lZif6gS$wVq9dR0DBjKz)we4)pgTdo=59~u4dpLOTQZ_UaMyc zvGsjnWPG}BG^x|={M24ae>+>}-=6n%y=Sc6jcNToikd}8^wC(3gIS3nayN+h zfaSwc1W%R7$()_hpOE;&C<*};OlGJ)$^!znS^VOvirXOzJo|AmmhI}t(tfEg_Ux6x z*mf*1NQt<6T{^s)*hyb%$IDAmN?L6xt8lS0fJY^h)P4rx*-9V)O4!1ke>%Dnp;Nqq zclk)^!h4@B@@agZZ1Rt2w6y;~^!+eWkxhDG#`%c&)Y6Y`m{63htxxWc)V^s7Bb~PD zv?WU{3)Uj1xvldcXfMqUKv^0sOE&EYVi}i8V-qGgO^;q_a;7$t&}e1^zdA3Njju+l zl>#d~iT{aN_^lA4-ZJl^e*|NTfl?a>pZ#UEmUJ%^WzlSF7WmQx*6sJo%H|>RP72v8 zo#palF=;u7G;nNQY9$myzCZ?74t)cnw*nmw3zKDOu~y<)kyLJsPB&Ro?2Z6-`st(Q z9d~YmOEWo+p%19BV=B>F#gJa;ykouFiFao2-AU29SQ-NnN=4OXf7mwZWVc_!)|?FX z$qS*iT1QPxzt3_BLdzkz*Wo@|o=PoEC$jFWBfm1GT$5Ux4-TY#tb!Et^7#@wIg=Gn z5Ow(d&yvx&=;%-g~Gav z8qh2__6i=;1sIiGe{>ow(LmARBY?T|7*?&#J9bXcoA>u~ly8_-C9UH2z*L977y*E+ zdLV0`N>atNj0rf@95A(YUb_U0>cgin-krk3VDe@uwWO@BUJi}N+x7>70_jVaz(-9y zvC4V>@rED}=gCNRRPd7k6d5mv_`kg}2NlyeFj7|mtFX#me_QB|SX z?vyt$L(-2#deZh5am44w9YIUiLol*%!~|5Z0nG`0c8jl6mX6BUm#tF)XX|K*6cvM@ zP-=OGp%!~L(Mc4=%8;Uto7P^eoOtx@VR+9CsZi7f6dD2}5;}MaZyeO68ii9i<~%+o zUth5)FOQYqf0ZT8z+CCzYLx{{F;!JpCp)`WG?y1dgRCnU&Z81rF7WsamhzU{kj3kh~Y-ABOhsv z4X=4T%eIB!fND#p>YF>V#ZA~7zo#y^`yD^P{NpOYe@sZ~YdG9mUpibn)!7y!m($>@ zAWp%pa>sv3I)GiaD4oRf>YSvLpQx(7XLzuan*#5wBzmKE`0?So1r0qaC*(C~)TBa| zcL#}%EhcT93IFcP)NPR;cSA>x&PLR5H6XYKMh$mqFp=#@idNhC7A4l$sbKc_=EN2btCW!z5&`L?Uxt>W20kLl? zjMXj%3b)x*GAMvX9!v>xCM*qFf*DCA85d<6C?)aSxg{ut#X4U&eW?)*ujK-0=!@i! zv@n3o&(#zXA^Bgw$CZ04FrECdz3dQ0sNG&ee`N9sBvaYVZ8pd+BqqV3|Eqgx1INQ* z5Xta9Zxb=EX_J2(s}p|A=5r$=_$Ye&NF4joxc7AnJv7KF2CiW}YpnvFH<9gR;MV}m6rqckm^ORr3Jdr3dOm8c1b@xRSNfe@J9x4j zfA>#yx5GSA^z3%SvJ*vb{=2sQS$5=mE0D8juXN)pxj-EifN^{3IOpx(9o`M(EMr@P z6WfPKHVy==GbYjsvU+tb8h}{NJc9iTg(t-Oc?LLPtKxuL+awxi3UgTj@YhNgjs=W+ zL584q#OsdHWG(7SW;v99$R%!@miiv5e|Hu|9CO8ZV1H+t!xniLAN_-b^9qK}${HV= z|9q}*B(x^jN$v>s-Y!xOJq`B_6ghz)9>GZ!1C`bEmuuWC77>F?HEN7%2A-}rjb^P& zS~Owz8Txj;WGzBa=8K;TZu>~cBmD88o**9$#cBcO9FffV>j?rc>|7*3?PU43e{vCT z7@l-S7ij{v?(Jn`;J;Zrb<2Pqn2!|^=555b9nP_;5`QLXx$m^pE|;DHKxcNutVjwK zs-h^*;bN{d7cl?VSl?htSjIV5=L2M3ABjPvSrau;bVcT0>sIOugaIDAl-y<0f2BCY z<-ycgyyD)kR0%j=I4R;6B!ga!e}GUd;@K z>nQ?5m2Sa;NejD=jS=wqr~$^SbNXt1c=K@stD37uyYT`e+_e>o1qzIPgQ zGBHaVAA$Ay6F5|L-F6twsU6^$(A4xS(by8=_sSLpI5SIvVXNAmYZ$@@NNni<(v+A5olc>a$)hG4^O(utoXe_A3WFY8o5gO{1{>`dt$#!JG&i@K{uNf zFM*8i6zfX%N&umi$m{?$f9dZP(TS2o`>Xc(Z*HyAy=^nE2*IPwWP#jrlTPu1f}>M$7kod;g*Ihe)Lxs)UZls$TTl> z(@QS+;h5QiM!!^A@u?bpTX1@2cbNK^)9eM5sV1ni7Is9bW7?7PU;|fZMBeR z_@q3DQU5q@`%%otYSD_`byh{l|YAmD76ase=C92F6W>up=oCOf=7V5Go^?TK2v7Y~dIFqLxxOGOSQ|o&SBNTTC_ya-s%St2oLHk%&zUW}Z*0I4fr>XWH;})Ta_DnYu zSW?ESUKS=BGVAd(C&8~6W}CtO3?)c=8ojtuappHxyHr1!y_J7R8ZdWg+IM~Kd%)$J zfGCAOpWL+*Za&aKmDW#wsIrmb?;W{Z$c9xYulkmCeMx=`&Y?Ha+?V_Ccal@)wFSi;L)3h)D$92}CSaq4so=hpCe z0TdpYslT19#zKiEoU+q5O-)T+ydD!r)xL2v!%f=G&F_(J4$Vn)RoU zT1~C!4y`49)nbxmJgR8NY=_}Q7t$Rs{2Do6bbUP!IimsDy-7)_ zkpxmd>XGI{Y`(Y;2!}y;$_Kg#vwkT zD}tvGyyS&k_5_&kgjcu>gQ4$60`W&afHQsF_BOH5B3(o*kv~+?U*FSK>6ItGZj))X*l2i1xBio9^BCO2 za$e);^n=HbWv$C`gJK2le~eXEGa5gvSPh~>yk3L~z^BIgIwhwdR^A=}=v|N%0tpD- zUBdJ}7rG!*BkD$z)9DV88wCMXfo-eb(Or7*yR2L@c`aGj$*~PG-X=$pl)&Og(v|9PS$3Pk<^D7-A}VfAaL8YqPN9V0@o_wH zUtpT-oCf;05P*(##z^X;g`ycr^;MY=G>-vhCK z)J`c;r!;6okpFjLf743OjB+jtb1>PwoV-d43%wT9eVo|RFJFugUk{?Rc>TX0g04G5 ztD3_iy!Pp-L$30Rb)504te2%kE@l}D%!tk2Bx>nXU1#{m(x46s`&4_1K?n2aq?<0Z z*r3H=CN-t3V^Mq!_Q?Iv1jvf{@mB}s5zhqOAr4+mBV>sff8quCWdEHN8q&)yudk`< z{m6gh=YJ9b=#z}-t*u)Bg1;%(B05-J8E*6*qcLOANl7}$osX1ln^W-;I;U&Ih(Be` z#vnbNeMNYS8}=JZ3MIrVcR7o$%oWmEdO;WsH8QNxC3_h#4JblCt5^S@Y1Tx1j2NC_ z1YCAdlBh+Sf6mi(Q1;fWOpE%{9TvKW!*WwJe$4bh-=6!_s`*^HzTJukNEIXb{4Qi5 z2)PRg%06*F)vag*j$Cz1&I+Eq=kgLXCRgdC7RhFIM}QOLq@r zWjDse2!Lw9&PJ;iH&dj(Gy?Z0GIAy%ae=)4MD+-Ce~uXsj_tmLkF6ElcGGA${$JO6AB{Krz;e}L=_@3Q&EM`!Q%6Y~M50MIU*0$8s@Znu z=f8d(>LksHKkF<_WFHrg8pj7lo7xQs2l{b<^dVw;z1#-bO*(g`y=(bi%-BK}34b_KSCCm5Qol7{1BkA3Yc1Y3$?aTl)E?Q&uc#UXo7qJ{XAUe+f z!#Uk6njnh0X=)EQNp70Zi2g|}Qa!5Xh0F#$e|2wVgZJNw;x-;NpR!cdO`Mz4Q70PJ zO@b=N+j(p6lhZNQ6Q&5ha;HOQpD4%<73flXRu9gz^vC%?YJ2Ki*tJZgqj7?WZG9Cz zzf|5WU_VI=qBdwFRj{hkNAzYRKh7z&Hv)~2TZIjCzy0y-qazJR&AS!^TacB^S{@WJ ze`CrVHYD5Fh)#V4-^mDGkI~+FbYGj{$C5RPq3TdNPG`gRT|4$bt(Uxlw$e&}3Y5(Q zwNcH^aoU#3wVD_r0u#gcRU`CFMkK?@c?`FfAC1#F&Yi?1i*>(oZHC<~w!7C=HB-SB zGVbK3CSeC_9uz+Sz%&>2wn1_xXXBDFh9!8ZqGluI~H_A8Eo#-DG;VoY2R8f3~{g(Y?rierz*7{%mu@ z!!Wm>CUshY(JUUCX9-ftO!*o)^?~f(`(du<`dW*e8UdKf++WPfRr-*}!M#Q@Bd+1^ zn21}c8bARbO;Vo3^(EulkKNqAe|&{qV58!@tfIK9xD&OTo86fC2IHBp7@flyf8E9F z-#yCPu{)y22gMlm0;z77a%)ZPX`Nrnu^#fL_}@OiWW$mX*?SoeM6ptlkjP^Z$huIS zzsa+B5&)NW=5@X_8W(BHQb}~o9#&UMjr71A^bCo-MUN`{6u`=TEvO&Kf40q(jw4iJ z*u7iRq8+!8SGGs-m#?i#4C3Gqkm8c4>eZNv&))s_Z9t$`M!+7ELfwCCKgfFc+CYW! z{b4rx6ZiTf7LMiDf6cT1N4}Qz`68u7Lq`0=i47J1Nwe+v`{JnUd10F$i(=31gkWj> zp2!yrHWB`HbQ1GEz6@%_e<D5f4FADTr#rXlidHoVME}K{+b;g0M_HY%tyo?IeA|pS$DL79uzXM z4hhquYXF}%`V3qXo64OIhFGwWz5+GXA+V$m@twm!EkU~6NYcJOwRj`LWcQ5|A2Sge z$vgm;bL>VVJBZ+lru$at%XCJhr1Z!d;8+MY&}{(Fm|e7S{Ci7ky_Lee<-wM$qs;IvrSEM-BY|9u*sJj$ z!*y8Onea*mdC#DZHF-F?^kV|ywMV>o$L==S2j+yl&_i*_$ybVwG!bW6zRE&^dVIW7_cg0zgXNk3r)5EywnQJrYhOTH(mBn(m=*tKy+s2^uz>p*%7}O47T@ z$3?gz6gmpf9Zxs1bEx(y79kR0yoI~NWq)XJJ)m~Fe}3^hYIM24jAJe#5z*Y1pr>kh zS+~&(>#P~VgXbvXNOh!DGJ51V&!8>sNe6uILo4Kq_Ue!O9Kq^=)!^3@!6<&kWgqfx z>MN$cGu}$>?KaCqf>;Vb#yzbX4M>--s(2#-JYcU|*F9`Jen@2Y{%1vbsV2eHDUnFG z?oT+je`B17-c2kV<%)i(Jx$ToihF+ofw0IHcp*1aI77lUzIXk&`lpyN(%?~I?d!Wv zE9EHF`&hR0GbZlO^)wQ_+15?_Tz!vD$4O%#3owMW1LyKK2%q1<)nhKRnhSzo9br5&Pl%0z&uIGtWccxY0zvXzZ=AtKBb zi&oGA=9x+Sfw7!d&88})X>`?YIlA56$7v2oijHZm%7a~0>&bP12?>VsdR$Vs8bN7f ze|!nvk2R~7UOk!#!XOx4hmsb<&+D#c$zmp!f4^n6kkCYatZVVf!1@V>T7ZiAqA^?+i-0SB{Vp1p zmNrM#JcG4}G^4jen%j{@v?YiOk;EH6f83sFhUg+&DNS>R3t?2$75Z{t(G-x4@>T>^ zugBG+J-lAd5RAu_jd9s~{JG;+eUYRhf>rDZ=}vpqr)j9F(bT-pA_hRt6Txf{WU)kt zaR-efe^KK~fdLtmtJ`pz-txjvD7k8HCQJ4=C*&KAPErQj5{%O`2tw|!{TlI<>uU1fNzVra@8z1C_DguYj5+)mTO_!3@)9W6wI#*NbMfhOH-i^T*>oyE!} zoVMH-4cjo(3HRKOvH^e_8BQpR$th5ETq+R|J4up}o1|9x0W|0vHFdFoAE8_BK~sJw z)S_h8Qeg<#L!Xj)SWMP!(m8jae~@8!pPZ5?qIe{g@=T&RJ) z$gi@Py9$)~_>G4qf>yD1y=@qqi%q^CWHKGOL@99}c>VSdLqw#0nhsWOCWui4M#a^) z9Bt1i6=ZAGE&x{8Z(D34Jnz^M*i`6`;ne4|r0wly+%}>-Eos}A%PGUWcoE9I5hR4O z1FW=rw?<#p9ItRrD1x}^f6QIa5sDSYcP&2=@o`g7K1>R66Ob$|-guyzXE^i8IFC3H z77uu&hffeQXrlc>5T*)!6?Xk%<}Yf#(W5I5fd69+i<<|1e^P4HH|DCqU?vuwCt2fT z-;OqrjVZ^sKihRaey|NR!nf?uSwb@Wg>X8?V}BgkFF4@Pm*_U^f60W>SWlZwHQz1q zb1V7ir3HLmrltd@m%|ZxkBqUK*?6Mg5Cg3QHldn9#ldf^F&ky!g1to8cj`_yg0#Hi zg$=GgJ#G)2$b$=m(~q-0>7nZ7uoBN(YQvk_gj8dabtJnzMR-yF3VjliMcT~Jdr08I zr9u+-diXez_h?9ml^zrdj$ja%f*N9uf_-uD zo6hr|5t1i54!lJ&=DftKxT%X0W)WYBrV#{9y15-6-1zNtf2#)$Ic_Q{0C0T&Cj`p= z?8Bhr;C;|Qx0;}<_@u%|&)7I2bssfuNpA` zsJT~!tn?&CjvSg6tH&{g0OMijDiQLe#eugk6Bm8UuMBv_7YuWPO7RHf40uPZC=Fs-6NKRFvkpvCVw@v z5csZ}747J(KR}7l)S0bCJvmnno$^wkJ6;iTE0&w*rNuzA33#AU+oA9x^ z79R{~Z_YKBcO*sN#-kP9zq@L@f0~*1J;n3oCblC&%C;tu=P<4h3(r=)~bCf535Kz``j{3i+gxdP{Vk1T(Aj$uGb_ z-{B}SYk}2=6(ikNJfz<7G$W(gM6`Xf(+mo7dlfyo! z1Xbdwh_jq}y5o6W8jzIn%XvlxegtmsWjFvE^P}sJugRFVg<$7qzOB*b=N}pv2ku2w ze@=Mb8h06H3DUs)N&K!}X?01_lOw1!AYa;Vu38?!q1ES&Jc>%bh)6S-KjRip@}SG~ zF1e#g9QBf&*MZS^)umR^a%ew}=ad&WolB=AU&6 zAVT6cEO40=Crr>sg z&o1|Rey2E8E4Qy*Q`%*>#L`2LWDh==ohU@yE)26xGsRg7p0lKUNY101u_mM;rWfyF zej&CU$F!S07y{Nm{^ua+VEV=XbdN$KFSp}=B637E$?&IF4o4^g3FDqAe}}yrz7}-c zSupM8NzSaD{Qlr>*al~LG{W}}@<7Q@bGG1c>{{rDk0%Q6NR?6@9^Oik!cGaD`N@j1 z2>P>G*L~z+D9>GAI$ph4^-jBcQR&g}Za-HuV8i()?U2hR#2Ilbq{}>y_~}&0cbKx* zxpQ#5P(fXzn;iBAfvb=%f7(?x6Uh~z+!Iej4WpX>9VGWR|Ds|fmy|N)D8y*OUB;G) zoM@cF%uAV(1_X58Pjq_0;VjvwDdU;P65|Am!yc*?uE3>eO{l&}#s05+7SSj;7_= zS8cxOn30jt5qZq)Mhk3nVeS_tDYWAVo__@wQx(AgBW&H3QSP{`9&d$!d1a_Cm2WV+ zM`DfNhBg(F2(B09U$`)4S(Qsim8BP7ctE;(`6c~p>%{;KozN}jf=MR@4H?@7^qi>{_L9xf{j7N1zmf~6%_m#lbO7Wuy*>51`MpD0FQjfZ#`P6UAbH5xCZ7g`yf5>MpNi`+X3!we^!Z<;`t`vOQ zTc>~B8fRKPtC?Q03lg+mreDZFi}Pn4$Ph{Q&vIK!&pYyl8NEfN1ceeD!n22nWuw<- zKpUJ ze);r7e-s(Kd=(-rFEO+euM%X{D<}&^fTtC(5D_nCz3x`3dpgYbkHJD+A}pz3MOknXE}*RoD=Ftb5)ec|PfL%f*Uu@_6L6O<8qOt_+}N()(Z z;AH)3&B6$0)G~>Zx8CbI5GG4{-}xU`61L5}e{FAW8OmtHrV6LFNsf5788-Tyvz+DJ z`hKWRyXcMN;`+Cy6np;1e7DG&?ipj+e8*^o>}d<9Q46QuG}pn)-CixYksgv(0K%L~ zWXlkb%*@rqd85;1!SqUm#_uzbeDmiR6?=^g6_Mi#&J(VcHnV$>OZ3;02v~#ViqGtr ze<8zINApk9eGWso`(7x?jCaD<}ePx60 z*O%AamG;t$Dl)0jV#XSGK+UZ6z>DAa8isb#xf=kmbK7FhN$EZec7K3Io8 z{pg?MRH>2FLW9{cO${7`;IPHPw7xqxv(|}=>Z1;l?19G+|FvOrdA%d^S@jiB=C*^R z98LR#hDD?5|42+tf~Nq0<|k5yf6(i&m{z3*h%q` z^p|{8GTC+|7jlxm{`csf?^1>&HjhnP8#tS49~zWHwlV$fP&O744tv99eEQZ z=y4B2AK7k#2MkkolEt%BnC5^9+2NHhHce_*8Pbesnh+bm}y z*W&wS7!8!iA+1dA=IE|;=S7Y~tZifUXy^f<*YS+Q7D>)0jp=`6SvkOP5d?^Btp=A3 zt_r0Vjtn7!q)7R4+6pru`dr-Dqrg z)aQ7I3(_1;5Kl*Te{XRa9>6g#tk!l{a7vA~3lwef*+COEBYQ3w8rF>Ml`&j@OOA{PXY(VK_#dV} zJ$!bvx}m2we^7CPFG&JBknH}X#$$XEFB+&N>- z&$AkN5N}8Pv8Cug&G68w&c!>UO9X4NC`j+TV=
He>ZP4P`M@G+fOc*_eQ4xYDC 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 FOF1)+2WkKS diff --git a/INSTALL/grub/i386-pc/legacycfg.mod b/INSTALL/grub/i386-pc/legacycfg.mod index 850d9851be917a824ff9216623026c9bb387157e..b910f873dc2d21bd65738ec116f15aa16cd5bf08 100644 GIT binary patch delta 89 zcmezHit)oM#trA0m;wSeUu3$%sF1|~g25mnLyLg{NEx2&{Ir7+$b9kV|NsA!kFvaC m0m)9@$SS${4C|FB&RP}*21aHEhTh356Xr8c+3cC9E&>4k3?O;{ delta 87 zcmezHit)oM#trA0m;wVgUu3$%$P^GTc_oVsQ$*C{qb#pv0|K%bg0mPP(C}pEryYz8 p3=A*+{Qv(yDsuA~)+!m(2!Nlijd86F^0` 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 QzPZUB|Db&|c0+iuaMOOJ& z%0FBFKfX|ETwryJfk=_kOd7}76YQ2GUP1UJ)b%$C;Q^v*U}n?s>ce8Y+C z^=s(_COjB>GX|Lgv}QzeDnpf_*_EMtXP&CR5np$5B5r03Hv`Z=^YQGDzrA-azTv_v zed3#+Z~OP3@j~XaW;l*z7WW@dBzEs?eBG)Op`{B*aU7K$A1=)LPK~8ne-U1tzq2qM zYsRIwepXmr;=TI-H9+GV;~%r>kQOqbBdA)m-Mj-+*>0A$CM%!lWtOz|dGTn58Pl3v zx}cXgJHt=lydwY9*~N%eTW_PHy~saKBKDw)=rKj7sobk*sK0*Mz&}GC=6KXDx88I`()TVwKb;@t+D1JOpWy}t4Q5L z7!?#V1WB@meC|Ek-`C(M)|?=kaU>|F(#6-h_&1Qh#+t+EqO5k6rPubS9OGS4lr`sw z=3Q4Yn|DGQsfvq*jzTTvP7ToILZ5VWUVzpMUFPUpicay1ID662Yl?DLdnETZVzt)G z$ng`{sc8`j9Me{_J51%5s)|TB-RPVr< z5kEB5?X!}ZtNgmwWF)B8Gm7R?MryyRK$7Un04)&Bjp$ly4L$vJ*1YHJ8E5~A@^#kh z3S_0a9Ee(qFF*^~N1c7z+1J^6hX-``&z+P?t&@nXx8|zLO+yu(|Jd1=oL%p1Gn&@Z zjwD+@&j2f=>fS^LWf>$lyD88nY1HV7+;Yj!YpsHlTv&2a2X9 zh=VR6v4I|!qPk*O-UZl~YLv4kD?fK4>7g=oQLWjE%IBGrLJN?;(RwwCPIZ3Y0OdsA zR8%j7l3pYmN3|ff(Ls15MWs<%?C(&DqGPo+a-*T?WMAK{5L=bz;dP4`Z zra$+*d6)79jd7@=m?pZ1oRj7PLq9vVt?3q6l6qMs|unkS{! zb>!FEnmdYepLz7hBSYSWID_R@ie^s0KTrHal%I3{DqGwb<>$}?53=RFo9L@mQSM)MsnAlyh^|(YMYA}BMx9gMsVFOtlJ)dEG*RvW zMJ3JU{s|pK+XJ-Ju~6s}n9bI^6ric6{~ts*+p@0%G*5E-^6o){d*O<58S(=D)IAm; zLA9m^C@b)ok0j9sMdiED(R1h``n966B{@0@`CF_ha<&-dbiNX`WZRv+zC`Fqm$?gMRoONM7GkpRg|AjuKXytfEdxfHnyIJCdaHrLzOjwau12B))IzX=r zU90?BtwH%&?Y6|fg%(nKKR{DzA1J?8JE#0w?K&bmtY_p+ICZB(ds9Igv?mjt7N85I zlOLgq=BkYpP?^p>K9zLc{$=ps5y{sX|X zAzu}a(muJ{dXFi}%C|*%7Rq;9tl6D|U+xa0k&ZidhrO`;Qf4jP#{jgD*5is!a5a20 z2c1M;R+Mw^NTv0NG+6HqMfHj}f*8>}c~uPF!%tDwFxJ~Y+OH$89d7UC$ab_)Zo5!f z2#R(pDh0lyA0o2HdZ*-rHq9@fXpCr~%w0S{`=N^HG0A-{Kwn1_(NtFp1N1gJh+dYS zs{?c}Oe4KR%WA3%(94Jty)3lxK3bvZ{`+V`(YE_&veBBet>+ut2c)$Yp#S(0XnQ-? ze1?v delta 5302 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 QEPcU#ATXOUntBcY5AgPAmjD0& delta 49079 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 ZCpZ2nE2!!-9I?Yn`=-DG%5CB_{y$l9-pT*~ diff --git a/INSTALL/ventoy/ventoy.cpio b/INSTALL/ventoy/ventoy.cpio index a6c4c460b48b361a18d60454bb18aaa84048fb7c..a6a97d4990c3781e94ab4c70c16e1758dffcd7b2 100644 GIT binary patch delta 1045645 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