From e2218a0f326db0665cd7a460d01d20316e8d3a96 Mon Sep 17 00:00:00 2001 From: furrtek Date: Tue, 2 Aug 2016 12:44:31 +0200 Subject: [PATCH] More AFSK options, scan lists, --- firmware/application/CMakeLists.txt | 1 + firmware/application/Makefile | 27 ++++ firmware/application/afsk.cpp | 111 +++++++++++++ firmware/application/afsk.hpp | 73 +++++++++ firmware/application/main.cpp | 5 +- firmware/application/ui_afsksetup.cpp | 85 ++++------ firmware/application/ui_afsksetup.hpp | 81 +++++----- firmware/application/ui_lcr.cpp | 149 ++++++------------ firmware/application/ui_lcr.hpp | 89 +++++++---- firmware/application/ui_menu.cpp | 5 +- firmware/application/ui_setup.cpp | 10 +- firmware/application/ui_setup.hpp | 4 +- firmware/baseband/proc_afsk.cpp | 53 ++++--- firmware/baseband/proc_afsk.hpp | 4 +- firmware/bitmaps/fox.bmp | Bin 115254 -> 11314 bytes firmware/bitmaps/fox_rle.bmp | Bin 11314 -> 0 bytes firmware/common/message.hpp | 6 +- .../common/portapack_persistent_memory.cpp | 16 +- .../common/portapack_persistent_memory.hpp | 1 + firmware/portapack-h1-firmware.bin | Bin 498848 -> 498240 bytes 20 files changed, 445 insertions(+), 275 deletions(-) create mode 100644 firmware/application/afsk.cpp create mode 100644 firmware/application/afsk.hpp delete mode 100644 firmware/bitmaps/fox_rle.bmp diff --git a/firmware/application/CMakeLists.txt b/firmware/application/CMakeLists.txt index d9293eee..7139f559 100644 --- a/firmware/application/CMakeLists.txt +++ b/firmware/application/CMakeLists.txt @@ -135,6 +135,7 @@ set(CPPSRC touch_adc.cpp encoder.cpp audio.cpp + afsk.cpp ${COMMON}/lcd_ili9341.cpp ${COMMON}/ui.cpp ${COMMON}/ui_text.cpp diff --git a/firmware/application/Makefile b/firmware/application/Makefile index b4a168ba..0defcfc3 100644 --- a/firmware/application/Makefile +++ b/firmware/application/Makefile @@ -2454,6 +2454,30 @@ __/common/wm8731.cpp.s: cd /home/furrtek/portapack-hackrf && $(MAKE) -f firmware/application/CMakeFiles/application.elf.dir/build.make firmware/application/CMakeFiles/application.elf.dir/__/common/wm8731.cpp.s .PHONY : __/common/wm8731.cpp.s +afsk.obj: afsk.cpp.obj +.PHONY : afsk.obj + +# target to build an object file +afsk.cpp.obj: + cd /home/furrtek/portapack-hackrf && $(MAKE) -f firmware/application/CMakeFiles/application.elf.dir/build.make firmware/application/CMakeFiles/application.elf.dir/afsk.cpp.obj +.PHONY : afsk.cpp.obj + +afsk.i: afsk.cpp.i +.PHONY : afsk.i + +# target to preprocess a source file +afsk.cpp.i: + cd /home/furrtek/portapack-hackrf && $(MAKE) -f firmware/application/CMakeFiles/application.elf.dir/build.make firmware/application/CMakeFiles/application.elf.dir/afsk.cpp.i +.PHONY : afsk.cpp.i + +afsk.s: afsk.cpp.s +.PHONY : afsk.s + +# target to generate assembly for a file +afsk.cpp.s: + cd /home/furrtek/portapack-hackrf && $(MAKE) -f firmware/application/CMakeFiles/application.elf.dir/build.make firmware/application/CMakeFiles/application.elf.dir/afsk.cpp.s +.PHONY : afsk.cpp.s + ais_app.obj: ais_app.cpp.obj .PHONY : ais_app.obj @@ -4411,6 +4435,9 @@ help: @echo "... __/common/wm8731.obj" @echo "... __/common/wm8731.i" @echo "... __/common/wm8731.s" + @echo "... afsk.obj" + @echo "... afsk.i" + @echo "... afsk.s" @echo "... ais_app.obj" @echo "... ais_app.i" @echo "... ais_app.s" diff --git a/firmware/application/afsk.cpp b/firmware/application/afsk.cpp new file mode 100644 index 00000000..f7efc091 --- /dev/null +++ b/firmware/application/afsk.cpp @@ -0,0 +1,111 @@ +/* + * Copyright (C) 2014 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek + * + * This file is part of PortaPack. + * + * 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 2, 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; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include "afsk.hpp" + +#include "portapack_persistent_memory.hpp" + +namespace afsk { + +void generate_data(const char * in_message, char * out_data) { + const afsk_formats_t * format_def; + uint8_t pm, pp, bit, cp, cur_byte, new_byte; + uint16_t dp; + + format_def = &afsk_formats[portapack::persistent_memory::afsk_format()]; + + if (format_def->parity == ODD) + pm = 1; // Odd parity + else + pm = 0; // Even parity + + if (format_def->data_bits == 7) { + if (!format_def->use_LUT) { + for (dp = 0; dp < strlen(in_message); dp++) { + pp = pm; + new_byte = 0; + cur_byte = in_message[dp]; + for (cp = 0; cp < 7; cp++) { + bit = (cur_byte >> cp) & 1; + pp += bit; + new_byte |= (bit << (7 - cp)); + } + if (format_def->parity != NONE) new_byte |= (pp & 1); + out_data[dp] = new_byte; + } + out_data[dp++] = 0; + out_data[dp] = 0; + } else { + for (dp = 0; dp < strlen(in_message); dp++) { + pp = pm; + + // Do not apply LUT on checksum (last byte) ? + if (dp != strlen(in_message) - 1) + cur_byte = alt_lookup[(uint8_t)in_message[dp] & 0x7F]; + else + cur_byte = in_message[dp]; + + for (cp = 0; cp < 8; cp++) + if ((cur_byte >> cp) & 1) pp++; + + out_data[dp * 2] = cur_byte; + out_data[(dp * 2) + 1] = 0xFE; + if (format_def->parity != NONE) out_data[(dp * 2) + 1] |= (pp & 1); + } + out_data[dp * 2] = 0; + out_data[(dp * 2) + 1] = 0; + } + } else { + /* + for (dp = 0; dp < strlen(in_message); dp++) { + pp = pm; + + // Do not apply LUT on checksum (last byte) ? + if (dp != strlen(in_message) - 1) + cur_byte = alt_lookup[(uint8_t)in_message[dp] & 0x7F]; + else + cur_byte = in_message[dp]; + + for (cp = 0; cp < 8; cp++) + if ((cur_byte >> cp) & 1) pp++; + + out_data[dp * 2] = cur_byte; + out_data[(dp * 2) + 1] = 0xFE | (pp & 1); + } + out_data[dp * 2] = 0; + out_data[(dp * 2) + 1] = 0; + */ + } + + /* + // MSB first + for (dp = 0; dp < strlen(lcr_message); dp++) { + pp = pm; + cur_byte = lcr_message[dp]; + for (cp = 0; cp < 7; cp++) + if ((cur_byte >> cp) & 1) pp++; + lcr_message_data[dp] = (cur_byte << 1) | (pp & 1); + } + }*/ +} + +} /* namespace afsk */ diff --git a/firmware/application/afsk.hpp b/firmware/application/afsk.hpp new file mode 100644 index 00000000..b78b0864 --- /dev/null +++ b/firmware/application/afsk.hpp @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2014 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek + * + * This file is part of PortaPack. + * + * 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 2, 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; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include "ui.hpp" +#include +#include + +#ifndef __AFSK_H__ +#define __AFSK_H__ + +namespace afsk { + +#define AFSK_MODES_COUNT 4 + +enum parity_enum { + NONE = 0, + EVEN, + ODD +}; + +struct afsk_formats_t { + std::string fullname; + std::string shortname; + uint8_t data_bits; + parity_enum parity; + uint8_t stop_bits; + bool MSB_first; + bool use_LUT; +}; + +const afsk_formats_t afsk_formats[4] = { + { "7-Even-1 R", "7E1", 7, EVEN, 1, false, false }, + { "7E1 LUT ", "7Ea", 7, EVEN, 1, true, true }, + { "7-Odd-1 ", "7o1", 7, ODD, 1, true, false }, + { "8-Even-0 ", "8E0", 8, EVEN, 1, true, false } +}; + +// TODO: Complete table +const char alt_lookup[128] = { + 0, 0, 0, 0x5F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0F, // 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 + 0xF8, 0, 0x99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 !"#$%&'()*+,-./ + 0xF5, 0, 0x94, 0x55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1C, 0, 0, // 30 0123456789:;<=>? + 0, 0x3C, 0x9C, 0x5D, 0, 0, 0, 0, 0, 0x44, 0x85, 0, 0xD5, 0x14, 0, 0, // 40 @ABCDEFGHIJKLMNO + 0xF0, 0, 0, 0x50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 50 PQRSTUVWXYZ[\]^_ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60 `abcdefghijklmno + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7F // 70 pqrstuvwxyz{|}~ +}; + +void generate_data(const char * in_message, char * out_data); + +} /* namespace afsk */ + +#endif/*__AFSK_H__*/ diff --git a/firmware/application/main.cpp b/firmware/application/main.cpp index f2558eeb..1b130989 100755 --- a/firmware/application/main.cpp +++ b/firmware/application/main.cpp @@ -24,11 +24,9 @@ // Gimp image > indexed colors (16), then "xxd -i *.bmp" //BUG: No audio in about when shown second time -//BUG: Description doesn't show up first time going to system>module info (UI drawn on top) //TODO: Check AFSK transmit end, skips last bits ? -//TODO: Weird LCR AFSK scrambling ? -//TODO: Use msgpack ! +//TODO: Use msgpack for settings, lists... on sd card //TODO: Frequency manager //TODO: Morse coder @@ -55,6 +53,7 @@ //TODO: Persistent playdead ! //TODO: Show MD5 mismatches for modules not found, etc... //TODO: Module name/filename in modules.hpp to indicate requirement in case it's not found ui_loadmodule +//BUG: Description doesn't show up first time going to system>module info (UI drawn on top) //TODO: Draw on touchscreen and transmit as spectrum paint //TODO: Two players tic-tac-toe diff --git a/firmware/application/ui_afsksetup.cpp b/firmware/application/ui_afsksetup.cpp index 74fe4956..b6dfa95f 100644 --- a/firmware/application/ui_afsksetup.cpp +++ b/firmware/application/ui_afsksetup.cpp @@ -1,5 +1,6 @@ /* * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek * * This file is part of PortaPack. * @@ -19,19 +20,14 @@ * Boston, MA 02110-1301, USA. */ -#include "ui_rds.hpp" #include "ui_afsksetup.hpp" #include "ui_receiver.hpp" #include "ch.h" -#include "ff.h" -#include "hackrf_gpio.hpp" #include "portapack.hpp" -#include "radio.hpp" #include "string_format.hpp" -#include "hackrf_hal.hpp" #include "portapack_shared_memory.hpp" #include "portapack_persistent_memory.hpp" @@ -39,6 +35,7 @@ #include using namespace portapack; +using namespace afsk; namespace ui { @@ -46,11 +43,7 @@ void AFSKSetupView::focus() { button_setfreq.focus(); } -void AFSKSetupView::paint(Painter& painter) { - (void)painter; -} - -void AFSKSetupView::updfreq(rf::Frequency f) { +void AFSKSetupView::update_freq(rf::Frequency f) { char finalstr[9] = {0}; portapack::persistent_memory::set_tuned_frequency(f); @@ -69,12 +62,19 @@ AFSKSetupView::AFSKSetupView( NavigationView& nav ) { + using name_t = std::string; + using value_t = int32_t; + using option_t = std::pair; + using options_t = std::vector; + options_t format_options; uint8_t rpt; + size_t i; add_children({ { - &text_title, + &text_setfreq, &button_setfreq, - &button_setbps, + &text_bps, + &options_bps, &text_mark, &field_mark, &text_space, @@ -83,62 +83,45 @@ AFSKSetupView::AFSKSetupView( &field_bw, &text_repeat, &field_repeat, - //&checkbox_lsb, - //&checkbox_parity, - //&checkbox_datasize, - &checkbox_altformat, - &button_done + &text_format, + &options_format, + &button_save } }); - //if (portapack::persistent_memory::afsk_config() & 1) checkbox_lsb.set_value(true); - //if (portapack::persistent_memory::afsk_config() & 2) checkbox_parity.set_value(true); - //if (portapack::persistent_memory::afsk_config() & 4) checkbox_datasize.set_value(true); - if (portapack::persistent_memory::afsk_config() & 8) checkbox_altformat.set_value(true); + for (i = 0; i < AFSK_MODES_COUNT; i++) + format_options.emplace_back(std::make_pair(afsk_formats[i].fullname, i)); - updfreq(portapack::persistent_memory::tuned_frequency()); + options_format.set_options(format_options); + options_format.set_selected_index(portapack::persistent_memory::afsk_format()); - field_mark.set_value(portapack::persistent_memory::afsk_mark_freq()*100); - field_space.set_value(portapack::persistent_memory::afsk_space_freq()*100); + update_freq(portapack::persistent_memory::tuned_frequency()); + + field_mark.set_value(portapack::persistent_memory::afsk_mark_freq() * 25); + field_space.set_value(portapack::persistent_memory::afsk_space_freq() * 25); field_bw.set_value(portapack::persistent_memory::afsk_bw()); - rpt = (portapack::persistent_memory::afsk_config() >> 8) & 0xFF; - if (rpt > 99) rpt = 5; + rpt = portapack::persistent_memory::afsk_repeats(); + if ((rpt > 99) || (!rpt)) rpt = 5; field_repeat.set_value(rpt); - button_setfreq.on_select = [this,&nav](Button&){ + button_setfreq.on_select = [this,&nav](Button&) { auto new_view = nav.push(portapack::persistent_memory::tuned_frequency()); new_view->on_changed = [this](rf::Frequency f) { - updfreq(f); + update_freq(f); }; }; - if (portapack::persistent_memory::afsk_bitrate() == 1200) { - button_setbps.set_text("1200 bps"); - } else { - button_setbps.set_text("2400 bps"); - } - - button_setbps.on_select = [this](Button&){ - if (portapack::persistent_memory::afsk_bitrate() == 1200) { - portapack::persistent_memory::set_afsk_bitrate(2400); - button_setbps.set_text("2400 bps"); - } else { - portapack::persistent_memory::set_afsk_bitrate(1200); - button_setbps.set_text("1200 bps"); - } - }; + options_bps.set_by_value(portapack::persistent_memory::afsk_bitrate()); - button_done.on_select = [this,&nav](Button&){ + button_save.on_select = [this,&nav](Button&) { uint32_t afsk_config = 0; - portapack::persistent_memory::set_afsk_mark(field_mark.value()/100); - portapack::persistent_memory::set_afsk_space(field_space.value()/100); + portapack::persistent_memory::set_afsk_bitrate(options_bps.selected_index_value()); + portapack::persistent_memory::set_afsk_mark(field_mark.value() / 25); + portapack::persistent_memory::set_afsk_space(field_space.value() / 25); portapack::persistent_memory::set_afsk_bw(field_bw.value()); - //if (checkbox_lsb.value() == true) afsk_config |= 1; - //if (checkbox_parity.value() == true) afsk_config |= 2; - //if (checkbox_datasize.value() == true) afsk_config |= 4; - if (checkbox_altformat.value() == true) afsk_config |= 8; - afsk_config |= (field_repeat.value() << 8); + afsk_config |= (options_format.selected_index() << 16); + afsk_config |= (field_repeat.value() << 24); portapack::persistent_memory::set_afsk_config(afsk_config); nav.pop(); diff --git a/firmware/application/ui_afsksetup.hpp b/firmware/application/ui_afsksetup.hpp index d6183578..2d85cf00 100644 --- a/firmware/application/ui_afsksetup.hpp +++ b/firmware/application/ui_afsksetup.hpp @@ -1,5 +1,6 @@ /* - * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2014 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek * * This file is part of PortaPack. * @@ -19,17 +20,13 @@ * Boston, MA 02110-1301, USA. */ +#include "afsk.hpp" + #include "ui.hpp" #include "ui_widget.hpp" #include "ui_painter.hpp" -#include "ui_menu.hpp" #include "ui_navigation.hpp" #include "ui_font_fixed_8x16.hpp" -#include "clock_manager.hpp" -#include "message.hpp" -#include "rf_path.hpp" -#include "max2837.hpp" -#include "volume.hpp" namespace ui { @@ -37,23 +34,36 @@ class AFSKSetupView : public View { public: AFSKSetupView(NavigationView& nav); - void updfreq(rf::Frequency f); void focus() override; - void paint(Painter& painter) override; + + std::string title() const override { return "AFSK setup"; }; private: - Text text_title { - { 40, 32, 160, 16 }, - "AFSK modulator setup" - }; + void update_freq(rf::Frequency f); + Text text_setfreq { + { 8, 32, 104, 16 }, + "Frequency:" + }; Button button_setfreq { - { 8, 64, 104, 32 }, + { 8, 48, 104, 32 }, "---.----M" }; - Button button_setbps { - { 128, 64, 96, 32 }, - "----bps" + + Text text_bps { + { 128, 40, 104, 16 }, + "Speed:" + }; + OptionsField options_bps { + { 128, 60 }, + 7, + { + { "600bps ", 600 }, + { "1200bps", 1200 }, + { "2400bps", 2400 }, + { "4800bps", 4800 }, + { "9600bps", 9600 } + } }; Text text_mark { @@ -86,8 +96,8 @@ private: }; NumberField field_bw { { 172, 104 }, - 3, - { 1, 40 }, + 2, + { 1, 50 }, 1, ' ' }; @@ -104,30 +114,19 @@ private: ' ' }; - Checkbox checkbox_altformat { - { 8, 150 }, - 11, - "Alt. format" + Text text_format { + { 16, 152, 7 * 8, 16 }, + "Format:" + }; + OptionsField options_format { + { 80, 152 }, + 10, + { + } }; - Checkbox checkbox_lsb { - { 8, 150 }, - 9, - "LSB first" - }; - Checkbox checkbox_parity { - { 8, 180 }, - 11, - "Even parity" - }; - Checkbox checkbox_datasize { - { 8, 210 }, - 6, - "8 bits" - }; - - Button button_done { - { 72, 250, 96, 48 }, + Button button_save { + { 72, 250, 96, 40 }, "Save" }; }; diff --git a/firmware/application/ui_lcr.cpp b/firmware/application/ui_lcr.cpp index 3b71d75b..8dc4e34e 100644 --- a/firmware/application/ui_lcr.cpp +++ b/firmware/application/ui_lcr.cpp @@ -24,6 +24,7 @@ #include "ui_afsksetup.hpp" #include "ui_debug.hpp" +#include "afsk.hpp" #include "baseband_api.hpp" #include "string_format.hpp" @@ -33,6 +34,7 @@ #include using namespace portapack; +using namespace afsk; namespace ui { @@ -46,25 +48,21 @@ LCRView::~LCRView() { } void LCRView::generate_message() { - // Modem sync and SOM - const char lcr_init[8] = { 127, 127, 127, 127, 127, 127, 127, 15 }; - // Eclairage (Auto, Jour, Nuit) - const char ec_lut[3][2] = { { 'A', 0x00 }, + const char lcr_init[8] = { 127, 127, 127, 127, 127, 127, 127, 15 }; // Modem sync and SOM + const char ec_lut[4][2] = { { 'A', 0x00 }, // Eclairage (Auto, Jour, Nuit) { 'J', 0x00 }, - { 'N', 0x00 } }; + { 'N', 0x00 }, + { 'S', 0x00 } }; char eom[3] = { 3, 0, 0 }; // EOM and space for checksum - uint8_t i, pm, bit; - uint16_t dp; - uint8_t cp, pp, cur_byte, new_byte; + + uint8_t i; button_setrgsb.set_text(rgsb); // Pad litterals to 7 chars (not required ?) - for (i = 0; i < 5; i++) { - while (strlen(litteral[i]) < 7) { + for (i = 0; i < 5; i++) + while (strlen(litteral[i]) < 7) strcat(litteral[i], " "); - } - } // Compose LCR message memset(lcr_message, 0, 512); @@ -89,74 +87,21 @@ void LCRView::generate_message() { // Checksum checksum = 0; i = 7; // Skip modem sync - while (lcr_message[i]) { - checksum ^= lcr_message[i]; - i++; - } + while (lcr_message[i]) + checksum ^= lcr_message[i++]; + checksum ^= eom[0]; // EOM char checksum &= 0x7F; // Trim eom[1] = checksum; strcat(lcr_message, eom); - //if (persistent_memory::afsk_config() & 2) - pm = 0; // Even parity - //else - // pm = 1; // Odd parity - - if (!(persistent_memory::afsk_config() & 8)) { - // Normal format - for (dp = 0; dp < strlen(lcr_message); dp++) { - pp = pm; - new_byte = 0; - cur_byte = lcr_message[dp]; - for (cp = 0; cp < 7; cp++) { - bit = (cur_byte >> cp) & 1; - pp += bit; - new_byte |= (bit << (7 - cp)); - } - lcr_message_data[dp] = new_byte | (pp & 1); - } - lcr_message_data[dp++] = 0; - lcr_message_data[dp] = 0; - } else { - // Alt format - for (dp = 0; dp < strlen(lcr_message); dp++) { - pp = pm; - // Do not apply LUT on checksum (last byte) ? - if (dp != strlen(lcr_message) - 1) - cur_byte = alt_lookup[(uint8_t)lcr_message[dp] & 0x7F]; - else - cur_byte = lcr_message[dp]; - for (cp = 0; cp < 8; cp++) { - if ((cur_byte >> cp) & 1) pp++; - } - lcr_message_data[dp * 2] = cur_byte; - lcr_message_data[(dp * 2) + 1] = 0xFE | (pp & 1); - } - lcr_message_data[dp * 2] = 0; - lcr_message_data[(dp * 2) + 1] = 0; - } - - //if (persistent_memory::afsk_config() & 1) { - // LSB first - // See above - /*} else { - // MSB first - for (dp=0;dp>cp)&1) pp++; - } - lcr_message_data[dp] = (cur_byte<<1)|(pp&1); - } - }*/ + afsk::generate_data(lcr_message, lcr_message_data); } void LCRView::paint(Painter& painter) { uint8_t i; - char finalstr[24] = {0}; + std::string final_str; static constexpr Style style_orange { .font = font::fixed_8x16, @@ -180,18 +125,13 @@ void LCRView::paint(Painter& painter) { button_setrgsb.set_text(rgsb); - // Recap: freq @ bps / ALT - auto fstr = to_string_dec_int(portapack::persistent_memory::tuned_frequency() / 1000, 6); - auto bstr = to_string_dec_int(portapack::persistent_memory::afsk_bitrate(), 4); - strcpy(finalstr, fstr.c_str()); - strcat(finalstr, "@"); - strcat(finalstr, bstr.c_str()); - strcat(finalstr, "bps "); - if (portapack::persistent_memory::afsk_config() & 8) - strcat(finalstr, "ALT"); - else - strcat(finalstr, "NRM"); - text_recap.set(finalstr); + // Recap: freq @ bps + final_str = to_string_dec_int(portapack::persistent_memory::tuned_frequency() / 1000, 6); + final_str += '@'; + final_str += to_string_dec_int(portapack::persistent_memory::afsk_bitrate(), 4); + final_str += "bps "; + final_str += afsk_formats[portapack::persistent_memory::afsk_format()].shortname; + text_recap.set(final_str); } void LCRView::update_progress() { @@ -212,7 +152,7 @@ void LCRView::update_progress() { strcat(str, " "); strcat(str, to_string_dec_uint(scan_index + 1).c_str()); strcat(str, "/"); - strcat(str, to_string_dec_uint(LCR_SCAN_COUNT).c_str()); + strcat(str, to_string_dec_uint(scan_count).c_str()); text_status.set(str); progress.set_value(scan_progress); } else { @@ -235,7 +175,7 @@ void LCRView::on_txdone(int n) { } } else { // Done transmitting - if ((tx_mode == SCAN) && (scan_index < (LCR_SCAN_COUNT - 1))) { + if ((tx_mode == SCAN) && (scan_index < (scan_count - 1))) { transmitter_model.disable(); if (abort_scan) { // Kill scan process @@ -250,7 +190,7 @@ void LCRView::on_txdone(int n) { } else { // Next address scan_index++; - strcpy(rgsb, RGSB_list[scan_index]); + strcpy(rgsb, &scan_list[options_scanlist.selected_index()].addresses[scan_index * 5]); scan_progress++; repeat_index = 1; update_progress(); @@ -267,7 +207,7 @@ void LCRView::on_txdone(int n) { } void LCRView::start_tx(const bool scan) { - bool afsk_alt_format; + uint8_t afsk_format; uint8_t afsk_repeats; afsk_repeats = portapack::persistent_memory::afsk_repeats(); @@ -275,11 +215,12 @@ void LCRView::start_tx(const bool scan) { if (scan) { if (tx_mode != SCAN) { scan_index = 0; + scan_count = scan_list[options_scanlist.selected_index()].count; scan_progress = 1; repeat_index = 1; tx_mode = SCAN; - strcpy(rgsb, RGSB_list[0]); - progress.set_max(LCR_SCAN_COUNT * afsk_repeats); + strcpy(rgsb, &scan_list[options_scanlist.selected_index()].addresses[0]); + progress.set_max(scan_count * afsk_repeats); update_progress(); } } else { @@ -291,10 +232,21 @@ void LCRView::start_tx(const bool scan) { generate_message(); - if (portapack::persistent_memory::afsk_config() & 8) - afsk_alt_format = true; - else - afsk_alt_format = false; + switch (portapack::persistent_memory::afsk_format()) { + case 0: + case 1: + case 2: + afsk_format = 0; + break; + + case 3: + afsk_format = 1; + break; + + default: + afsk_format = 0; + } + transmitter_model.set_tuning_frequency(portapack::persistent_memory::tuned_frequency()); transmitter_model.set_baseband_configuration({ @@ -311,11 +263,11 @@ void LCRView::start_tx(const bool scan) { baseband::set_afsk_data( lcr_message_data, 228000 / portapack::persistent_memory::afsk_bitrate(), - portapack::persistent_memory::afsk_mark_freq() * (0x40000 * 256) / 2280, - portapack::persistent_memory::afsk_space_freq() * (0x40000 * 256) / 2280, + portapack::persistent_memory::afsk_mark_freq() * (0x40000 * 256) / (228000 / 25), + portapack::persistent_memory::afsk_space_freq() * (0x40000 * 256) / (228000 / 25), afsk_repeats, portapack::persistent_memory::afsk_bw() * 115, // See proc_fsk_lcr.cpp - afsk_alt_format + afsk_format ); } @@ -327,11 +279,8 @@ LCRView::LCRView(NavigationView& nav) { std::string label; baseband::run_image(portapack::spi_flash::image_tag_afsk); - - memset(litteral, 0, 5 * 8); - memset(rgsb, 0, 5); - strcpy(rgsb, RGSB_list[0]); + strcpy(rgsb, &scan_list[options_scanlist.selected_index()].addresses[0]); add_children({ { &text_recap, @@ -342,6 +291,8 @@ LCRView::LCRView(NavigationView& nav) { &progress, &button_lcrdebug, &button_transmit, + &text_scanlist, + &options_scanlist, &button_scan, &button_clear } }); diff --git a/firmware/application/ui_lcr.hpp b/firmware/application/ui_lcr.hpp index ffc87969..87642744 100644 --- a/firmware/application/ui_lcr.hpp +++ b/firmware/application/ui_lcr.hpp @@ -28,8 +28,6 @@ namespace ui { -#define LCR_SCAN_COUNT 36 - class LCRView : public View { public: LCRView(NavigationView& nav); @@ -41,16 +39,17 @@ public: std::string title() const override { return "LCR transmit"; }; private: - enum tx_modes { - IDLE = 0, - SINGLE, - SCAN + struct scan_list_t { + uint8_t count; + const char * addresses; }; - // afsk_config() - tx_modes tx_mode = IDLE; - bool abort_scan = false; - double scan_progress; - const char RGSB_list[LCR_SCAN_COUNT][5] = { + + scan_list_t scan_list[2] = { + { 36, &RGSB_list_Lille[0][0] }, + { 23, &RGSB_list_Reims[0][0] } + }; + + const char RGSB_list_Lille[36][5] = { "AI10", "AI20", "AI30", "AI40", "AI50", "AI60", "AI70", "AJ10", "AJ20", "AJ30", "AJ40", "AJ50", @@ -62,14 +61,35 @@ private: "EbM0", "EbN0", "EbO0", "EbP0", "EbS0" }; - char litteral[5][8]; - char rgsb[5]; + + const char RGSB_list_Reims[23][5] = { + "AI10", "AI20", "AI30", "AI40", + "AI50", "AI60", "AI70", + "AJ10", "AJ20", "AJ30", "AJ40", + "AJ50", "AJ60", "AJ70", + "AK10", "AK20", "AK50", "AK60", + "AK70", + "AP10" + }; + + enum tx_modes { + IDLE = 0, + SINGLE, + SCAN + }; + + tx_modes tx_mode = IDLE; + bool abort_scan = false; + uint8_t scan_count; + double scan_progress; + unsigned int scan_index; + char litteral[5][8] = { { 0 }, { 0 }, { 0 }, { 0 }, { 0 } }; + char rgsb[5] = { 0 }; char lcr_message[512]; char lcr_message_data[512]; char checksum = 0; rf::Frequency f; uint8_t repeat_index; - unsigned int scan_index; void generate_message(); void update_progress(); @@ -79,7 +99,7 @@ private: radio::Configuration lcr_radio_config = { 0, - 2280000, // ? + 2280000, 2500000, // ? rf::Direction::Transmit, true, @@ -91,17 +111,6 @@ private: // 2: 94 ? // 9: 85 ? - const char alt_lookup[128] = { - 0, 0, 0, 0x5F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0F, // 0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 0xF8, 0, 0x99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 !"#$%&'()*+,-./ - 0xF5, 0, 0x94, 0x55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1C, 0, 0, // 30 0123456789:;<=>? - 0, 0x3C, 0x9C, 0x5D, 0, 0, 0, 0, 0, 0x44, 0x85, 0, 0xD5, 0x14, 0, 0, // 40 @ABCDEFGHIJKLMNO - 0xF0, 0, 0, 0x50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 50 PQRSTUVWXYZ[\]^_ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60 `abcdefghijklmno - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7F // 70 pqrstuvwxyz{|}~ - }; - const Style style_val { .font = font::fixed_8x16, .background = Color::green(), @@ -128,7 +137,8 @@ private: { { "EC:Auto", 0 }, { "EC:Jour", 1 }, - { "EC:Nuit", 2 } + { "EC:Nuit", 2 }, + { "EC:S ? ", 3 } } }; @@ -146,6 +156,11 @@ private: "DEBUG" }; + Button button_clear { + { 174, 64, 50, 9 * 16 }, + "CLEAR" + }; + Text text_status { { 16, 224, 128, 16 }, "Ready" @@ -158,13 +173,21 @@ private: { 16, 270, 64, 32 }, "TX" }; - Button button_scan { - { 88, 270, 64, 32 }, - "SCAN" + Text text_scanlist { + { 88, 268, 80, 16 }, + "Scan list:" }; - Button button_clear { - { 160, 270, 64, 32 }, - "CLEAR" + OptionsField options_scanlist { + { 88, 284 }, + 6, + { + { "Lille ", 0 }, + { "Reims ", 1 } + } + }; + Button button_scan { + { 168, 270, 56, 32 }, + "SCAN" }; MessageHandlerRegistration message_handler_tx_done { diff --git a/firmware/application/ui_menu.cpp b/firmware/application/ui_menu.cpp index 9a102497..1d665c26 100644 --- a/firmware/application/ui_menu.cpp +++ b/firmware/application/ui_menu.cpp @@ -87,10 +87,7 @@ MenuView::MenuView() { } MenuView::~MenuView() { - /* TODO: Double-check this */ - for (auto child : children_) { - delete child; - } + time::signal_tick_second -= signal_token_tick_second; } void MenuView::on_tick_second() { diff --git a/firmware/application/ui_setup.cpp b/firmware/application/ui_setup.cpp index ea448d12..2caa8edc 100644 --- a/firmware/application/ui_setup.cpp +++ b/firmware/application/ui_setup.cpp @@ -257,10 +257,10 @@ SetUIView::SetUIView(NavigationView& nav) { } void SetUIView::focus() { - button_ok.focus(); + checkbox_showsplash.focus(); } -void ModInfoView::on_show() { +/*void ModInfoView::on_show() { if (modules_nb) update_infos(0); } @@ -436,12 +436,12 @@ void ModInfoView::focus() { option_modules.focus(); else button_ok.focus(); -} +}*/ SetupMenuView::SetupMenuView(NavigationView& nav) { - add_items<7>({ { + add_items<6>({ { { "UI", ui::Color::white(), [&nav](){ nav.push(); } }, - { "SD card modules", ui::Color::white(), [&nav](){ nav.push(); } }, + //{ "SD card modules", ui::Color::white(), [&nav](){ nav.push(); } }, { "Date/Time", ui::Color::white(), [&nav](){ nav.push(); } }, { "Frequency correction", ui::Color::white(), [&nav](){ nav.push(); } }, { "Antenna Bias Voltage", ui::Color::white(), [&nav](){ nav.push(); } }, diff --git a/firmware/application/ui_setup.hpp b/firmware/application/ui_setup.hpp index ba116e1b..2148f3e7 100644 --- a/firmware/application/ui_setup.hpp +++ b/firmware/application/ui_setup.hpp @@ -308,7 +308,7 @@ private: }; }; -class ModInfoView : public View { +/*class ModInfoView : public View { public: ModInfoView(NavigationView& nav); void focus() override; @@ -376,7 +376,7 @@ private: { 4 * 8, 272, 64, 24 }, "Ok" }; -}; +};*/ class SetupMenuView : public MenuView { public: diff --git a/firmware/baseband/proc_afsk.cpp b/firmware/baseband/proc_afsk.cpp index 82c66448..624072f1 100644 --- a/firmware/baseband/proc_afsk.cpp +++ b/firmware/baseband/proc_afsk.cpp @@ -29,22 +29,24 @@ void AFSKProcessor::execute(const buffer_c8_t& buffer) { - // This is called at 2280000/2048 = 1113Hz + // This is called at 2.28M/2048 = 1113Hz if (!configured) return; for (size_t i = 0; i= (10 - 1)) { - s = 0; - + // Tone synthesis at 2.28M/10 = 228kHz + if (!s) { + s = 10 - 1; if (sample_count >= afsk_samples_per_bit) { - if (configured == true) { + if (configured) { cur_byte = message_data[byte_pos]; ext_byte = message_data[byte_pos + 1]; + if (!(cur_byte | ext_byte)) { + // End of data if (repeat_counter < afsk_repeat) { + // Repeat bit_pos = 0; byte_pos = 0; cur_byte = message_data[0]; @@ -53,36 +55,33 @@ void AFSKProcessor::execute(const buffer_c8_t& buffer) { shared_memory.application_queue.push(message); repeat_counter++; } else { - message.n = 0; - shared_memory.application_queue.push(message); + // Stop cur_byte = 0; ext_byte = 0; + message.n = 0; + shared_memory.application_queue.push(message); configured = false; } } } - if (!afsk_alt_format) { + if (afsk_format == 0) { // 0bbbbbbbp1 // Start, 7-bit data, parity, stop - gbyte = 0; - gbyte = cur_byte << 1; - gbyte |= 1; - } else { + gbyte = (cur_byte << 1) | 1; + } else if (afsk_format == 1) { // 0bbbbbbbbp // Start, 8-bit data, parity - gbyte = 0; - gbyte = cur_byte << 1; - gbyte |= (ext_byte & 1); + gbyte = (cur_byte << 1) | (ext_byte & 1); } cur_bit = (gbyte >> (9 - bit_pos)) & 1; - if (bit_pos == 9) { + if (bit_pos >= 9) { bit_pos = 0; - if (!afsk_alt_format) + if (afsk_format == 0) byte_pos++; - else + else if (afsk_format == 1) byte_pos += 2; } else { bit_pos++; @@ -97,10 +96,10 @@ void AFSKProcessor::execute(const buffer_c8_t& buffer) { else tone_phase += afsk_phase_inc_space; } else { - s++; + s--; } - tone_sample = (sine_table_i8[(tone_phase & 0x03FC0000)>>18]); + tone_sample = (sine_table_i8[(tone_phase & 0x03FC0000) >> 18]); // FM // 1<<18 = 262144 @@ -108,17 +107,18 @@ void AFSKProcessor::execute(const buffer_c8_t& buffer) { frq = tone_sample * afsk_bw; phase = (phase + frq); - sphase = phase + (64<<18); + sphase = phase + (64 << 18); - re = (sine_table_i8[(sphase & 0x03FC0000)>>18]); - im = (sine_table_i8[(phase & 0x03FC0000)>>18]); + re = (sine_table_i8[(sphase & 0x03FC0000) >> 18]); + im = (sine_table_i8[(phase & 0x03FC0000) >> 18]); - buffer.p[i] = {(int8_t)re,(int8_t)im}; + buffer.p[i] = {(int8_t)re, (int8_t)im}; } } void AFSKProcessor::on_message(const Message* const p) { const auto message = *reinterpret_cast(p); + if (message.id == Message::ID::AFSKConfigure) { memcpy(message_data, message.message_data, 512); afsk_samples_per_bit = message.afsk_samples_per_bit; @@ -126,8 +126,9 @@ void AFSKProcessor::on_message(const Message* const p) { afsk_phase_inc_space = message.afsk_phase_inc_space; afsk_repeat = message.afsk_repeat - 1; afsk_bw = message.afsk_bw; - afsk_alt_format = message.afsk_alt_format; + afsk_format = message.afsk_format; + s = 0; sample_count = afsk_samples_per_bit; repeat_counter = 0; bit_pos = 0; diff --git a/firmware/baseband/proc_afsk.hpp b/firmware/baseband/proc_afsk.hpp index 3a2e4639..19d8bb40 100644 --- a/firmware/baseband/proc_afsk.hpp +++ b/firmware/baseband/proc_afsk.hpp @@ -42,12 +42,12 @@ private: uint32_t afsk_phase_inc_space; uint8_t afsk_repeat; uint32_t afsk_bw; - bool afsk_alt_format; + uint8_t afsk_format; char message_data[512]; uint8_t repeat_counter = 0; int8_t re, im; - uint8_t s; + uint8_t s = 0; uint8_t bit_pos = 0; uint16_t byte_pos = 0; char cur_byte = 0; diff --git a/firmware/bitmaps/fox.bmp b/firmware/bitmaps/fox.bmp index 2556fa220f3189e612ab3ca91d901a78c072458d..9c491783a4c070998e481d65538b02029d78b4a7 100644 GIT binary patch literal 11314 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 Lop0~|>*@MmjfIUh literal 115254 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 diff --git a/firmware/bitmaps/fox_rle.bmp b/firmware/bitmaps/fox_rle.bmp deleted file mode 100644 index 9c491783a4c070998e481d65538b02029d78b4a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11314 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 Lop0~|>*@MmjfIUh diff --git a/firmware/common/message.hpp b/firmware/common/message.hpp index c81a1724..71a9d64b 100644 --- a/firmware/common/message.hpp +++ b/firmware/common/message.hpp @@ -530,14 +530,14 @@ public: const uint32_t afsk_phase_inc_space, const uint8_t afsk_repeat, const uint32_t afsk_bw, - const bool afsk_alt_format + const uint8_t afsk_format ) : Message { ID::AFSKConfigure }, afsk_samples_per_bit(afsk_samples_per_bit), afsk_phase_inc_mark(afsk_phase_inc_mark), afsk_phase_inc_space(afsk_phase_inc_space), afsk_repeat(afsk_repeat), afsk_bw(afsk_bw), - afsk_alt_format(afsk_alt_format) + afsk_format(afsk_format) { memcpy(message_data, data, 512); } @@ -547,7 +547,7 @@ public: uint32_t afsk_phase_inc_space; uint8_t afsk_repeat; uint32_t afsk_bw; - bool afsk_alt_format; + uint8_t afsk_format; char message_data[512]; }; diff --git a/firmware/common/portapack_persistent_memory.cpp b/firmware/common/portapack_persistent_memory.cpp index 970150a6..be4e41a7 100644 --- a/firmware/common/portapack_persistent_memory.cpp +++ b/firmware/common/portapack_persistent_memory.cpp @@ -36,16 +36,16 @@ using portapack::memory::map::backup_ram; namespace portapack { namespace persistent_memory { -constexpr rf::Frequency tuned_frequency_reset_value { 858750000 }; +constexpr rf::Frequency tuned_frequency_reset_value { 88000000 }; using ppb_range_t = range_t; constexpr ppb_range_t ppb_range { -99000, 99000 }; constexpr ppb_t ppb_reset_value { 0 }; using afsk_freq_range_t = range_t; -constexpr afsk_freq_range_t afsk_freq_range { 1, 60 }; -constexpr int32_t afsk_mark_reset_value { 12 }; -constexpr int32_t afsk_space_reset_value { 22 }; +constexpr afsk_freq_range_t afsk_freq_range { 1, 400 }; +constexpr int32_t afsk_mark_reset_value { 48 }; +constexpr int32_t afsk_space_reset_value { 88 }; using afsk_bitrate_range_t = range_t; constexpr afsk_bitrate_range_t afsk_bitrate_range { 600, 9600 }; @@ -63,7 +63,7 @@ struct data_t { // AFSK modem int32_t afsk_mark_freq; - int32_t afsk_space_freq; // Todo: optimize size, only 256 bytes of NVRAM ! + int32_t afsk_space_freq; // Todo: reduce size, only 256 bytes of NVRAM ! int32_t afsk_bitrate; int32_t afsk_bw; uint32_t afsk_config; @@ -139,8 +139,12 @@ uint32_t afsk_config() { return data->afsk_config; } +uint8_t afsk_format() { + return ((data->afsk_config >> 16) & 0xFF); +} + uint8_t afsk_repeats() { - return (data->afsk_config >> 8); + return (data->afsk_config >> 24); } void set_afsk_config(const uint32_t new_value) { diff --git a/firmware/common/portapack_persistent_memory.hpp b/firmware/common/portapack_persistent_memory.hpp index 99bd62fc..30b6542c 100644 --- a/firmware/common/portapack_persistent_memory.hpp +++ b/firmware/common/portapack_persistent_memory.hpp @@ -47,6 +47,7 @@ int32_t afsk_bitrate(); void set_afsk_bitrate(const int32_t new_value); uint32_t afsk_config(); +uint8_t afsk_format(); uint8_t afsk_repeats(); void set_afsk_config(const uint32_t new_value); diff --git a/firmware/portapack-h1-firmware.bin b/firmware/portapack-h1-firmware.bin index 6ae7006c55cbec07231188aa2a7fb1a3204eadba..600723ebbbb7be8d6547411fbe066ccaa4dd1894 100644 GIT binary patch delta 64616 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%0D4LA(g@dUi>kPx{5U()~!G4kd$tnDE~r0(K2 zKAFlhY z`!eKD)EL)8HLhuBvW8L^C}_*~MU_WG`E6W6Xx2*42Gd$oH$9P4@ASbyP3)B9d;57U z-ewqvqDo1ak{h!v8`3tXK9Rq^-}?O*nW{7Ktp?3fJuGkdZ^!f7#O9`c>x0S$l{fNJ zM1)x@sJs;|cjo)7Ui>qQx6BzZpH;SpEt^V_8<-ZH>~LB)S=REDb?q7D+GtVFV2#=D z{4r)LLPB$XTTrRdn0+#s)5C}34S#`8R^AC@6$)Qi8_pgtXe-9>n46%fr9Dx)Ugv!R z^K;tq;+=y?D(qx$hG!j5YR&iMd$XMVm=*sPga9n!Plof+nR(Gvu)H?HiQEEh>+jI; z_?tdmb+g)V6l0t}#Sndszz?>=84%_n(7l5EHxb@JIEJ!Kw>IgBz!fh@_)9U?{Kplq zcIa7sf3X20^jnx(~WtNcjeIj^hfTF$F#nijvL zrfTs4m7kRyV~@(6c%1j|{YhGx4^5rHHXG}1zUKK7=B9AIr1|p3QqRT0C)#H4JCFM` z9`Q=lM*}2_>x}X%Nbsv90c9un_TvF>0mhq%7b0GRcs}Bpi02^Y9WV>=8RhwS(_CV_ z_!sL5ewCz;Y=r}Nw3IiFdnV5)&!I*a+F68lZb!_t4h<+?#Ag(bMvvQS&;MeS_`qk# zr_|2f10}QAKT8XJ@I%pPRWB*5f`Av-seo^O^A}Oz+Ov7~lUoaO(+3q4K(|rzC zfPQDi@E2H79=)iXv-*nvcYF@-`xCtDA~?~_9jWIaLa@Qb(kOJ}m733kuhT!eKz~)D zkw3aX`^Y<@zq>%8=EYs0Sk-@VfyOQ>hz+Xp3HpKW1Y2-3>f)cW|Ee54`=MCso&O88 zm<;*#2b3V1xW*WT zpj;NGQix~mBVQ6R4uAJ}QZx5&XUMmNM?fu`$KP(mB;xPaT>O*wd!fAahUVl~7DPyY zam~>MPt+8DwRK@3`9<+Lq4Vhl+d@4aXGTzLpSCi0rEcff*$-xOMtDc45rI%&5U=>? z+qlwt+@IV|ck*{;g3t+*@lfZ&diIj=RVN+$|aUC!ZWY^b+bba6^?Jd4haA5U+* zYWF)Q5NjqFUmX>Q32`tyzJbSY0X8E3Eo^L~h!5c6Vjp;edD%N5UgPf}v4@wGMucJi zI9}Dj({DtH{Z4ld$wVjK>mL!P?TXX>AZ)Y=cq6e7oWUCPCi#sxd45Z>58kNag)JKS zjUi&!wZuqG^Y@RFs*00(<^ri1F;ep8IHfrnrN3#EZr3O+4$(Hw@YQN&8)=5jALP({ zxU%Pqt@o5>!5Eq8%jW+Z%;>}WBALF^3a-)u=_;s8{BBTJ-DIrroe0k%>_K=Q;Q+#G z93BeOmP0r{Bw8#(7=xH%ow&Z#;5BL%SEJJiUVp`;JFVP|eI#Z) z?ZS6x-UCOCh`A|bIk;M0@;hgIc70&UkiRaEOH{YUorkzz0EsH3-1-NJio1wo?n5Yd zQ5G(j$_zhZ0`-yqJIE@ANreXPq3Ht$4Vynq$`?QLvj>Ms0}9);+=^g1Y+R!E9jJk8 zpfnc3er>WJ^~`anU{eYxyZ!7_PGh--&F}ILmn`A~el}n@ChDcyX7hc3O&cx^LwCur z{fCqX09Ke23Ns^e1y+I-zD+$|ay1WEfyhVPwqYpj= zB-yI?2NFK=E-}>3S5mEs<{5R<4A>|?eNHWlA zghhCubDw4r4&h}F-WzkmxF^|~2)n;k>nv-$vp&~Kuf$gv=6bsDbp{8#?gO;%Gl#d0MWTN37D>sJP7vf2uNrFN^? zM0FP~{BH;zJh=0Pl{*{p&g;NGtD0*^El5V060Nr0Q{{BN++~Sr4zR zs>8z5Z44=Q`*j!+E_|O>e!x}QKJqAk8ZJ9o(aLO4K2pM7s+1fw9dZRbSt(@>xC}M0 zGE@g@Jg3#5eq6piSPd<;5Vf{)zDilqNU039Oe%AYlrjsGwOU)XT6dsUhWx(DYjxG} zdJfc^!k?p*Z5}C=pxzfz);&_n7=_CzDsOLrR&$J2(|b|PO4J;SntMtG?P>>iaJ<+N zR$dIU{87@vrt-MYpcH4EcSTrPg!f+f#Re5CKd9^q4X(Hpu7Tr+hXC3Uvf=-!P!|55 z#N-buk7K_yJCiXHvf{1*y#EtO(Od()TT|k$f!^y*E3d%}G!oClz=Vl^Uhrk`0yp@D#UBCm!A655b|B?W=p!9tG%$JDmTP8tsuPMob~7a z@WM{)UJHNtH}LR@!BLubXJi9=uu59$SQ?BuPPnTi9i7k-SWw41VO-E%$L(E%D;l&; z7ypRbk-p6l3vJhlXRyAbmN~r;xrH zv4AH#R4r(Gv=!;GBM}g9#Z#vuaM{tI>0~Ykrw{qiS?}03a88C?giZdm@^36sE->=r z=morz5)(GL4x27diEwSkQr!cbW>o(M@k~clX+|l(>pc^Kz-eVqoC04*=YKIOT$4$c ztr0fq5?p!j03NS3OslmjUW*?v=YJQs9l)jDOK|ZYcX_c^_{D!C>cw6GkdX2tM?m~0 z;t1x`8pHv_GZCLf%v(Bz__R`|wZykr{)@H2wY7BlMSK=!j5NWl^Xqy9V#W?p;peA7 z2KIM;Z;*9+BnRslBk7xNMpH56gWnS6cP-DWB5&mB>ZM}w3vog#X`a?N-X-C*yr?U5 z4zeF-(icA~VnCNr zyl>pto6_a8cx~)bsU-78Jfs2l!N1gc=kw67$NdMlH?W^Bm2BdR_@GC%R50>sE=6s! zlKWgbSFKCu&A?}6wz+ja0q^gr%9HA{ITQj!l0Q+K#$(3`gnvU$7$>meWAsMWT`d{s zZPM;1^NtKEZ(iugKkH>Dl`(&MF*QT};i4B)`^dB6FQ#V5tN!|8>X@-o=E4*BA`|$< z+3v1Om!I}$KxxX5--FD@HH35FAifo{iu??djKiMn)7jGH_5S3Y`ZlhpTmdH))aMY# zJOpQFhWsi7R0*2iQ@nq)8X^JctzH(=V#B zOf7_w&##nerH|pJODRm9yi`Q#ttb^yYS&6VA!ezOGMf5m&=TMdBJY$J`Y1531SSP$ zf>t(9D_f5;31yd|OhQ>8z&W@kwCMr|dX!e6RFBf1w9@e*elH}(Ujj-8qBH@eUu&h6 zp^xmX?D-lgwdq4GqX-*yA@si#^+(N~1Zhm^(n|WqO9XW}-h}Nj^OEPa5>ve7Omy{y zlBcy2UA*LYwDm$si&k;3Us?d`$jok?2F z*Zc-s@0LPen*3e7?%(egh>KJV`$E&n0p_tNs;L%t6A`C9(n$WNZF6}*Z9 zK9p%%!L31K+lcyKmEs7^pLtjZ;nApJ6$6V8hU(|+&BV2xM2MA~k$jZ!f%r`;xdJ6t zf(sALKPzp1wt5_#n)mnxTxu3b9>$|CTF{UO3N|P#HpG)cR;OUixt^y<7$+j)aiPBW z9#e*F0uI-qMu#|*9ppHfL0&sO2!B1s?KwX$PY&{~OAOK;6YAl+XOV%&W0wl~3twAG z`4yIGf&&K<0d|%j5&Q^G;0uyr#C$z$x)q=U8{s78-JY$L-VxwaE>@~T=`|?jqh-`eZwl~fr)qUoycx&aQb_7p zWF|$~sFtJrw0{WxWk1LL#m{U0C%WC)QG&K5$W_Nwj?y4fC*FIq9>gB&!MJpTAM(FlYR?|3TOSj=y}%r$5~$$ zZ)JZVS!4ah=y}#Nz`70+c%jzn15H}9_i4>GY0ciF@qVYq`yCqVx4~bm-(+Z+QOkR0 zUv!YxJJaG#+#g6l8SkHGE;RC8upDb&QO-qq|6HlHFch0^rGEWHi~FQ7?cIS_4k3!7SVj=F>bp+{FRug2g@m1jkT9ua9#vv{S+pGVpE4bo__ zUzFJQiWIVw$#!cX|&VMBqjhtp1#AB@wp&*AiFoZgAZAL-4FviBxPw}`p0 z$vLI`lyvz!h%*V=fo#;X`A%s}=Do<_NBt=XM``lONc^aO$%&)>Fh0rWlnTbZ3ODz~ zM}4|{N%Z%lzBAB?qy9G>TdDGFEC7CC_3y#hv43Pj?ASkb8LOKpEio#}Q}FGi%R{61 z@S{`!_z?{@N0}UhZ`WYF9hrZ*R(`z({}f>pV{n}Ye-dGL#o(bD{7QuRE|&&?UX})L zkFYOduo~j+JsM$#NgBN$HTb_HtYVUe->t#dN7(!r{DKBw7GWD>@D>do5@Bz};FTKO zC&JFf=q=XZXqXjTq0yVJ!FcWcsw=R~D@v^fcZZoLR$i>ZFN9gg6&gPo8oV{kzKxZK zgPh-0_^!)jt^5ZKUJ_=bCqt9|NQ17!JH?ZwoCzLmu3QJm((AO>aB~s&M;MAQ3ZV|+ z3WTc=MpHtrL#)CtG{>Fap4-v~EB0}X-k>o1h*N(+gVMq*%%NK}D1>j&OwpcfjMlS9 zLu^J29-zVRhuFhYq$N#u(?&0}uxodW~GUVj}e1DPL=u(tjYHoafcLpt*+p(YK zcHDvOH(>rvnHhQ7Zhmi-cRikhq>o8lGDMJqK8v8!%79@vEk<_kI*g6>U7^ZV|LCqW^q6UZ>+%|={`a1YY=Bh=!( z3GTMq1&8a`xIl9XM(Ru9bULL3<3h?g<=(((v?ApLl9a zfQytok6TqfghF&q85Xd(@r^5<9E!{vwNw#OrCO>#Qel)?5x;}DFXHuxvk|)x_dz@u zacaPD;f-C$LdeBO#W2Nq@A2N`Qz-WKu3;XI$u#+0d`9m|>0$F5aJS4vVd6z^t|iGo zM%b3CBy-vc2=@Hq6ka%T3-w8|4!hD-Qr)=YfB2$ky8Kx1k6#o`m#>M+7ri*h)dDCj z+8b*WZ>;^IWCqw(S4)ok{@BCPkr-jsB?Q)N$GEzN5BNqHIy08IWizJIQaT5g$r z%RIc6^pmnl#Yd+RZ&V%jRFdqYwp4j3D4tXL2PxjK=AXwpr`&{d#DU|-8KpfOz9ES3 zdcDO{JK;bO)}&$8UKUA%3qio!O^R}9l;>Q9PCN&ToXDE4k+N|x7irm-YT5S(bh~vK zg${=&xh>6in+IkHjet%g&_}~8f+r$f9vIN$zaU_S&8QlZm1!V83IJ{6{EzFh37T?0 z+Hp#G0ovPO#QPBEA?`p7hjM}rUy_LbV#+U9?$hK_d~D-dX^io#@(!MQ%)zBEu{*An z<`}tGnt#iyBY}N)tu)c-#^KDFSs!4P)1)y?Ve|-BrWynMNiWA`x^#JhpEEk%zo3ri z6{F#_wn|K`Z?%W1@^k!3e>PO6G&o(-@dci5j^o4bm^=J&UPO#1fogt_BNctve&ORu zA3%wRM0zmBe!_n7W*s{_O)4L7R+)f@fJZXnkJ@eQ0lBLzRko^Z(sb#6@%1HeQB`mM zcb0n@hHY5HVNqs5L_i%t5tjDntoQf+=ks~y+_T(s&pr37&v~BjlbRX@5ex$q9oK^! zfF_AM81x4F{aqbwswOW@7YznLn?lUoiz?w<5e;_GC|eHzaHRZeAXP3;^+zC;5d6L--g{cs>RBaTAw1>&AFtN#K z`6buRg>`chhuu||IQ+%27aLV|;B!NKQ%$Z=2Y7#O`h|0G!EJl`C85oXi2`u#p0UnG z3;1%`#dq@s!*RL3j`DB0WB!MpY=Jnwj(kDgh1j7~CH$g3tiB zW{x2I1b6#7g>V8cYs9DE+O}2*EATc!`-O6a{Rs#gD;lF^8A#1D#8tqMtniVh8DgTk zm6m$8&J;6pD{(0O`TgJ+K)bgHjbhWk{LjFTShISN)Hrr=)mT*nQzl>SB=cvA^O23# zLypfBhs8Uv69$9(>JQ)6WH3fUNuR{e5+^7ZxXJuk;*n67Lu<4YD=J#)N+-#gEe=s$ z#)-siadrGbK(Z++)A-Qwrb{Qp2|dF}t?PhqwwR_+;v_U}jyTJ3g--P7z;1|=mtaTB z;Eeq=-xuB#%ERXSNzEMSvDa~Qt3w5>A2e&pPY6?Y(Uo4}nj;RIaE12uhFQXul*8)a5QK=A)GNW1+~mZ-~7A4{hUr7o-3vm zpg(#-1G$ADw>ty5nUS03AGwwD-2Q{s$#P@Oo8^^>yr$kw&dn85$6ukZBd^d2=3=c3 zfO=l44zSn%S*n>lpDN^|J4N1ZbTEyY~0%%_9%JPTat>Ew=k z#92xRCBJ)*n4{@(T2PX$PIBoUF;~;beGfayumz$CbNf86#jJ!#VmPpJ4Z^muw=`UV za2Z*$KujB!?$%W=TC{j>B!m=qFR}=Ab0f=T+T=-x{zY|(%BZrR$F^yTdHT3qA=9QZ zo~Ivp$#LWhrHf1q23P2l{Arl(YZN1*5%kIfRQN*)$Cwvk!9z+DESS1pHzzs&0$v0v+-Yw z8L0Oe*Nk~Oh9mB~S9}fPMeke{bScG=b*P}ujF7cB8Z8ksQX=H<@X0XRqv>Az`+F?c z$@#z%TPVhBx-q!wWQ(6z7K%e6OCA44f_-42n4oT_b1Np zAO>DmpU9+}9&o&rtHzI-Ep6E@BGO8QvpVi$zP> z2JetZg(25BW@CRka*0%M0&-a8?i0viwo@I*;n>w2zTi2$!gF{z)0h4zcq9#GLHb7e zT+xIB#s{PDN>*^Aw_(A`1oxiz0-{^n)A7T!B$G`!Y8h`b~t2;oyWkyj5R-_8&an4}iEagzt)%&jW$)Pow=+h@~ zbO1GES>qoArt*2{vyDL?yw`;uZPFv-O1STd!ZxD3ih!#xu!5u{?OYWp7*?Z{O|X&ht>0s@upYebzsNRZ93NeX| zjl2$C@v;y7ve&|~T$1n=prl4R?-%=pU#6+(B7QmmVo@8lBz}o_>x9cxb{Ur#1nb!8 z`Lg9`{bky6)jt4!R=Iy&4VfMY`Kc!a*cB!Go^M^`oh9NO!!FZWH!GxsqWWn9n#2GU zE((R)#=~76_92AE;FCtQ(lO}1JAiZafS95T^Nlt7KV&&9NWZ}-%;{BhqQMhPrJY$wVN%Q{PY=Kxl25(f2bRzN>)$J-epZ2 z3^oiE<&dP=02%BdFrF4AuXK&EhSqA1u)MBwXx<#j^U6bBOxGbocDqPIIZ!9gtl1d&DoTS>ue7BQ^7wjVs+gOWP z5=bo}^&y`6W~82u)Im_bHQS1jI(Kw$>N~O8VYvq(buCYw<2qutpwj4+=~ms=O_sJk z#nYha8D;ca>WXFh2t+43AumbZTMl91vCbgqn&?Li62dmVUK}MW9TqTM?k&Dd2V-Hv zzKc%I#bkep_JJ^7nhoOhF*UX}+aj9|deF*>Zh8{hJfrZSw&GFNJ(&!cPKHE#wh&eI z4pXx%j;@M=mSw7NS8?>FP6&@=3Yk2$#oCma8pM;o=O)DuVa3!*7kg6?nR-iGaVqez z>VSu(;&@m(U}cld58-g85tC|I)yTl1VVFHqp5pwl1Ok599~Of%)s#Rl2xr2N)%ba zVo9Vt%}??k#+CwI5mFNmi;HH-^jBYZy}~Y}#y2KU(8*&RK{%i220Vu#A4X45)+z}$ z^pN}MVbrp7QDvQS^Gmiks|W?vxTZMVHSp?PDtQggXnXETc9PUbMAPukTx!TOC~MT^ z>GQHt^>(t(j$+qIAVw_<|xJcFtame_gjvisx9-N;@`De#JIWmzD zh5P?;WLhC0O?Isib7C;c1`63*KrFI4R)`s85!jCZ@8T!h))@Fs)}ImkISOOt5#;ZvVXXg9Kf+vL>m%8@73rb%LpSmKv*OV5=ei zv|nv{d)A@?bxQgA(3^MKOr-KrF(NSpd)i)`CYfJ-2S^bCAQ2ijz`i zyV(SA2^p~QuoObIiX5GMpTB5$Q*#);SWTE99MY1U$HY-7Lj!5w=4tZ+X~+B{?RhQP z`j}|ZUZT$-UMK7Qq~S49-~SSX_?SP)pIYLlyZG{s4TvlCZUl z!4wy-*(=pZTXb?J0MS>9LvEdlRS;W%eBlqRWj#F~D*+w$?`#2A?PGZ}<^nLaeN5s= z!YU^chDXjc|6SQkl1W`6SqGG~=r2RwjrdlIX`z>Bt1kpw)JTSfJ8YF`(BAIr5h=#@ zbk-`&Ao(8h@hVZTzC^1%|_v0X8*5epdFVUHPvJO|d zm#Biryyjh0U>2et&&^H|;-QZc8XC$i^sMvIahUFHqOpbIEN}8^F*&pwVeG1+P{Hh#D>xLQaFx1%jQ9=11qDPa1xhHZ|J0jmDSYEd5#wyR%X(}`hR!|#i6 zT8x?s=zqW<9PU>R^AN{sh`M$HTkMoMzA8b%woIwkgsOOKne;WMrX*m@+~8o6f|uzj zoOtOBk@leK_^na=nYzvC%OYe6N^44C?$>iaODKtk!i0Wf0>%`5O}t%iJ&CPghmVzk zX%6^l3zkkvXnimYf%Xw-C!+-q8VuWiDb`{nd|V;e5NQDA+pzaqtq=|)e$yJr0^wSZ zp(Yu$3F)RjPQERJMBXe%--&u_3ifz?t?P4|^qq8oBNj~VPT<7$v7XhlDQA-7fA88N ztfiKD_vmCM2h3(@Ez{6gXf9?GPlRm8yv=rRtf;w=Yhk5K#gkbHSkc*>&FAYdK4CNM zj0pKrH(6~HD@+-jr=g*}WD=d!IrJX0147Qia2@@I2ki5NE^|dJ+eH+7vNSVP965 zn%F|mJA~BWhSbCd3R{?ch-$=SFCV9{cQ&UcM#6yDdB_c^jM7F$MGN2@$f74ile!uD z<7DF#Vs25mJQs4&Y}NQMgbs#aJgRpm)-rbq{3f`&-OTqi=2)HlBvib*VZ%ZyG4V9> zeM2ywbpt9*Rj=DP1PDhud8vyeJ}Fv;C>-ds&nRRM^-$A{mLa;y>#Bs!wx4VX z>$R03RjepC`pFTb%eVw9Q(^ouOhWA6`Vf$0gnTdK$amwsf%IP|j#r~K`pJTI;#l=X zI@U+_tP}Oxi*&hn6($11AoA@xtZuWRq9{}pT6ak03m z9*se{MYTn}MIef;;V`)acs!G4_`(9^Mm1)`O_<}9wW=+b=tr&m`AhT@*1uWT zv4mm~$%aHQpr?ZJH$a0QF8`6>_2N|JQXiSIUQAYw@R7Ca#dVr)Z^Ut#+I&R!jHpk( zNau1k(+;z;OVsD-AunlqPTYX2M}U0)yqK#uISZ|djgDEE9o>pVMMX0` z>TRJ1+~l+8#bRYR4zOPUx8-}M8SD)f`z?6pFMu)K3|Ol~^#8XU&GaS@DSrU~+O|;A z@q#!uri*^;)*5zc=8YK-Z~}Ht`my`K_zmKHs>v_Iwrz}QLiX$h@wWNdf37`bO&W1p zKMFSR^n!%0bijGgItrp^%&&z1P3H&JOyS%Vb#{{;_*nAm&I9l_=_lZN2hJHci76TP zKnVX$>$J=!y$+$X;M;30fiD8SJK@`H{mS$Ri^Z;jOeu$`e?5-RBIFy~WNkT4w5z!< z)lK%5LlE-`?$fzR6N|f#`jHhu_W+N3z#4}*iqq^Sedy*68p~tB=X=a9CZ?TnN~njJoY30fjc*i#`-6#mkg%k< zoBqca9B8P&IU{7fiyX3xF{a_X9ObUtu&ZsQIj$Wn-zh@s=mx2J`H&o+zM%x1%3>>oDbocm2sMi7j8K_ZKtdw1E<^3m$wLD-IJw0>NF zi11HzByEcr-@gm~MiBea{R7Ze`j;eI2iziK{dup0%-teR7zM_RU!JZBSZ#=qtNguI z8?=!6Yz11shFfju0M_*1RvTLBOAc~oi+BfCN|gZkVinav-*GZ!&<==6xATw-5RZ$w zImUW+N+Oy-ggnXl7sAg@VG5xU@{La2)tDQc-|?7G9+T_*d(jatFGTgSMMnePjJ+va zWUyL@0Ug$$YW9Ev^XMLo58-kl?1F6-e~apZ$TwSYFlp4w5ZXp}ZjBc2xW0wHY8wQn7@-Q@{$*; z#POyk%rM&{F(rUr1F;no(?fg?V-q+cu9Y7W%3efJaN2)m)rxn zUv?*Pf4e)a9}j48NArL)fdox%_6o2KwsjkX3ok-LiWOt4S1~*ZZn^hDeH`2kUKMQ0 zBsE9ldc8Lc|4+gGOSrt&n~i>W?ZG^o^qJ&X3|iZGG`-`XdVHGwprw6C+DqaJ%*pqA z$!jl(lawF3$R)U@5n$DX$)TSA4ni9tA3!&JSxnQP=Nf!jP($(nFc91mum>+u$Q6>*s6DV_=zc}~0{ zZjHSNC_k3hDetU3NqgCmbh!MHi>%*?aT`)Z$Zwa6yth+K)V#`l zO3dlDyMZ&O0&ZQDdC=rG8xs+o0-T6Ee1StRDTNQ13pxTi4*CxC3+OMTNwf&8?_**$>)?3pWb^-&uy(o+6XeZa5Xh1Z|PeO@P#US&Rvcj59`oJ}(yQ=<)+ zzj2ZUuVPAz=|SWNpUT;Ap+M_AlRUft_({K)P*%6&_mB>6RndUesGd}O=> z;x(_~PG+7lT)xgp*1ZN+{95iC=v-q>A*YLNR+F%^cnehY`xqVi3v@9WNIN}*L)6#A zSoH-8dugq&iF3<>9g;B3G%W{M^q2<2<)e_(V$^^t#Ll!}jOWo>W+n1kRo>r?dl@x@_xxVn@ zDHR>`FkbxLeFbQVY;5=l^dUZa?-;Qhs1-FJHk>n^P!FzmpucW<5zhw zWEo)?Dg-qe&zx5=p>G2}wBH*@jEg6cvEn6g6miYqFy_F`+(wkO;`p+|&i_3;v}5Ph zGdw(q$8{lV_PZ`152pqisndG_U6+07Ce(G5V+3a3cDlix!`)}y!{N#_+_#peXs2u3 zSv=-(cQ>EkW#DEEVIgI7x%*EZ)J`98r}Nvoz25{v7PtrU+vd9858QUMKbfZ~^uHDe z84vsjwuq2vgug$J``+7+yFvb^0x`$DSGb&<3=y95fvZE_A90n!ZtV7b6$pIS8*!Cs z5h_0&m^1St$)eq2dK~!Ay+1as`YDrq3zcyO{KjtarD?&wfAca!5Uy!{&B4 zbbSAR{Mcq-g^-v%;zTUeKLIN+OrFG9czv)DiV7i1_kbbUMW4behd~L9?Aascsypd@ ze$ui>OwGAS?{F*YUb6jR>u;NFi-p}9sL)q6Exrg;fbBrVjmj~3#T>lGVK2$uCvL+5*i611swwOGli(be5r(DljqjvYPKZlJ(4D^;+^NrfvPE&Be*hW|S))hip z7!&LfSYZS|bX6Vzkk-Ng$C@BT}30_tv}o>qzE{Fw2vLr5XbM!2Oj@B;^cS*?i29dPx1Sr zTtand&C9khISeM9-vO_iB&9-}qZa>gV5}YJ$KlpXsKZxcv|%q7bWQhX@+YOdIIJkW9LnCu z^o#(EQ5h;%0$k80nusl3$|DWu)oN^Rb_IY%1TfTbdkI6;=>jOgeB&AVhPR!*2qr&6 z-|3>AJZu-jUh$Wk(o4#P3Vjzn<7%fL_>W%o7dhWCsRb5W-2cgZmg0NY89`7Q#C&1L84m4EG4!sKn&>{i0$Sa0ueQV1Nde;RRQEXj3%)o6!K z^H$VZ#n_<6tyo_|oW-A9qAlDvOl;C4b{Kpb_?V%GkGYXXNJvAtGptO08de`#K``Br2a44cskbd9ZG{EtK?yS@Dai~KY6NuWEh?TET2L|)+SUF4skD|~&B z<_uP}Y>}_UB0ogF!>g`j`8?)}C}i%#J}vhz1>|Cx4m+iX@qu);Gf>TMIdn*HJ#1lx z$)g=={O3Ai_ci=usjl0vEwKVl(NA~t&nNF6SMu~e*a}4v^MT3{J0U^{fuJT+{1^=Y z6rkw&l+fZ+ZUNsB%J+=hq-^N1el&>ur%?3TB6GYlXDYz_R6GJO)1Cpnow)y6kMAzvmgDYfU#7EbJ z%Jm$u6u`R3BoB)6B|uOxn41bu+gSSV1L?I$f7#E{S0VjApo+2s?>t}&GsIwn`Nu%| z4+H7dNdE^ayailN80}LjGSy>)!PZ~8hJH`&=P~_bMfZhdm{86NaOpLkA zY};yHj!fs-{PY6MEU>DvK&b9Z{{7$au`j>Xe19Ot3GWHq7;Ms2w&Uhsdn&G8+fYk%rgS1-t|H&uS}4xCfmT1t%O~W+Y8(D;Q(?s+vN(9$FobW3>c(SaqUZQ{B%VUY%qw3z3&W8hV&%*of#_-Nx68!{lsiDVcOc z7oFwO@tHA1UWg&M%&p>97Fg{p^tA)fSSf^HodNw`#OgislNH!~%o*2(1Fm+O>M;uW z<0O1a6?{`Y3LywZ_WIlD-EKkqY5lxG!mpxHQ-;897;1>9UXd9ChBnY~aiAByr4LS} zlN`~Q0$+5t(|FHTb4(!{Xj2=a3sbNw*oQGQ3-lIN`ZvM71ynIg5N5(%40;$;26_&( z1+)WHgmI(>?o^B=pJFUw<8B!nfLUMe@x<*vFpN&E}h{!SG}3zfjBq ztYfj5w>+#%_J%WiBy0}tq_298aPgvAE?yKW-;5YG<95;t&sy`{O!CMWh{{9MK1}v8 znDl4B)xmvr?s!Y6oPEvoA0p4kdIVPL0#$nL^xre}GohjodFp}34~cgxvQC3XcoaMH;9|2}0rhh_Lb z`H!Kp_nJdSOn?FH_fWa^|2Sm47L{y@B9_#DhJ(7(ke498d?xNzrZ~uxpNkpFmz|{k za~!XK?Igc_E~YB6s8t^pbCZ9C`bnsq17-G+P>b^DEs%!pq_Lh+53GCutAhbDZE=#~ z!{EQqGq97{`fM`XZv zhKAzaNZc7Oz{+jl-Y9-=vuh@Bq{HM8umV(-)A;J(GNg+5lgjX@mjlV&P(=xq8(f)? zjtG-4Iau7h;yl02Y3z{J5*Py0Fm9?1ZtGp6ZgR1*YD=z#gT8 zz6}wxBVzyA9l%3j!qn^k$M1hV6LvIT^!sm_2Zg;@mGHe@5C%8<{qu3nSd2_TfGMUj zCe#vyar-|3H7R+&pCdZA!LE;t<<_mJ!Z3LldHRU>ARd-l*hze#YHmum>3s**>jdBTv*VF*{Y-y~2H#HFd*W#eyPFj!gBSgM|WFF_yNnYfvdN*();}#bNI-{1~Fc_+d=j;huTh~jo(4gxa~um)}yXa}erEprZTV6woC z$fRczrxxNSDC{cP23RgVwsBhdZJeC+Y~!4Co2zFV#}p*Vp+?c5YNeA&vxXe(Xq zVcnNqJ?a^Tkn`A0mGh7eSmA^Wt-gaUclEF=JAjaP5#NV}EpqjYfE^IY=ovISXtC=P z^8i2#otjdF1=4xC-OmOsmU>*7`!#dYHBokON_(Pm+-&4yIJ!r{rDj98gC52e15)as z1Hr6kKuVYy5axh81nyzDX)YYDE;JW22?s4C*O{y}^l$>7iq$gf^K3j|<3sQ?DEnw2 zo*Ot=Ey6NMEC1>uOTHIhEI7uOLcQDUQj|b}rI2pFqC{g#&CCPzj}Z$g=GU7txj&Bk zg_16M!qdBqBDyy9oSPxSeXY^Tvoz&j0$3sPH-J4f6z_ywY!H-<3jzXIAvk~%O#kF| z5Z@1CV(cQ!>LK!%E~B8>t3v@&!Q6SzK`cLtv15vO+*^o~YVtGvP-Xv(SEqz2tboVu zbcHd+xT|Nb)r|Lms>QtgC?{M}OJdwvv4#a-I zV{anHU&Ns~FLO_ZGr0ss$F7VOz9cg!tE6DsunoFGAPn=~JGbuFbl&;ukO)ege4_=O zsT5XRLhJ5Y*MFTJP_UF9JFxOs@pfhZM_gG#pSo!1BX-jF0c6rm*SWfwrJL)u@*Mwx zj^CkATh@dQl6PXYSc*yYZd89U=pNAhprxP{ARA~MXai^~Xd7q;=rvFs=q=C(phKXq zKn)^#=yT99&=2|p9e;?Il*t|bK6T(HK*p|vT6}!~{o(bmf+$S2 zJ`oG~#4%d=M-P!siXCNt;F*8}$q+%s_7;10u48ikt(*9-SPxMDm*)ewYGxVzxSzUGlmZOt(*Cmxydp3gBp44EYf{i92krh5|1n(<}>1epy#;9LT+K67kI*Wvhs{* z4qCxIB6;q{O!+ekGjVmv zL2}QEV}L6rG8WBneQh70hJ?s3AO%AW>44qvKAc4pEPw7CegCTa3nqSekLMmmgPn~~YQck%e2y(WIIk>A@9h?~UYj`DlU^!5a60w^BDZoHmHe(24G=5dd$gSBV` z&x1CC*g#kb_bk@vY;B)12w}rE6E^vMf)Yq||UW0`PWWJn+91c@*fum z;*hScL4qOsf>2DXY>4HI8S-GOx{qcv=G$O-hl2nkznnCDDoSzf)DG54qLxj{iW0S{ zPo^KM3I~W35iw?51f!_<&pp8gha*)uzFtv^sWS>vL=Nw zD174wwC5NANb;*g722j(><-^pV$s=dgV0F~rpJ%{hT$=FgC{B~a|JZHd%b(>W6%Rv zIy5Ze<1GK zA0+Coo{;FsAFVhc* z-J+F$1`89lkg3LXqgQ1bAgJn~I$}x@`V99&TL>lrORGx#FdzT8Rl{pD$I+gnsR@=p z^N+w`CmKMRPfAt)@^E1;zFw2}aEu*zQ$SD~33Zb zW7g-1{S(U?9?2dK1t~>JQPaEvMM_A1cAk{;aD0{i?L7UsarKJK@9KZ44;myl=1!Os z7pzwplzGwP2J1sg_tvutyu~*!?y0fTcd#yAj#LNMXnLeS+~faIXa{=Ht2rAfQe zxJXEt@QPliSCqyVDu&;xR~ie)hK!32JUYtv)Yu=tS2R_w{;N6CdcQC~?v!3IN0&xS z+@&{{G9-wNSbVYO%H;1_(G*uf_O1i&MUaCv%>-4Ma2#z{jrJUeNgi{$z{0Qnm7+~= z*vC!)2Iq8g%yxn z2h4q-DX;Od?+<&+__jzGJSd@gXTIp1H%g#up0TItLG83cq+5cGP$H6 z6V0&z4_SWAL;eh;8^zN__y+Q#WP4Jq>Y9_&P?$`X+t)}{#>zO5C-a~?FrNWzg=FX~ zveJGK$S9VlX!G_IHYrfpCwOR+*RXib;*&64wWb~dJo>Pva9(erfmEeD)i++ji1U32 zEWPK^qT=-ct_fk^zZcps1D|0M0`+JMY-E1{=2g#AtsCYIQQ^XnxQ6%@$}}^CuLZ-X zi94o@DpZd$%mbi>(ID(7QkpP$TXHkwOZ^tD{2zC+apAaU>cu7nY>TlvJXN%&ekgzZ zLhx@Ga4P$+_LiNejV^KHd00D5oy-oKEP@ge;3*Ro5PHS5B9{Y;6K22V6u7ByvjXm9 zSN}qmb`<&0qe%kP@#Jf(e^IjHKkaWL;;AB_xlIhmRXs~IR_-oR?723(N5Vbj{2;VEqD`s>zrk1n=)Kf4r<;YCGx=ER#Y*d&B zSyZK^2U!EJcezi`=f32{+MFw3z&>jhYN$E{&*E_8rc`6uTZ83 zHRdlC77M0P)>HI^i?tE-J%u`31e1ivF{82at@p(@Ddlg# zbuKG<*g$G%d(p{tq(Hw%RDON>(!Zh0Q&v`j!$nDgHt5rbAgOj zeuKiKS}pI79@mr=ou_)(X%z-Ah(7F3_o+8sDTKXwGV}x3QXf33U+K)!@XTDauOrS2 zlRKb3a<-^1cx4kZ^(L+Sk+T->Gzjh92Hzjf*`{-tLeE*Jj5<|xJ}WZ&RM8phY+TRC z3di*+>l|F4vfhCIlh%>^-;i~xsL5K)|5^B7);Rv3kB~phtW%g{{S-kbvQ)_8gmpWv zf42@rIJ#E$X?<~)>X_5=6AC?1!!5wldsoimQuK@}J124@mlL4v#1T7&sqV~;MYn`IMH zUPHooo1fm~dbKd6X24cI9qUqd^3OhI7c?iU=-sQ zS4vG;u>2!r(SqggT`86Vhi$w-y*&R{Ts25<$zEpLJ{ozC?zTO^axR0y z)RGCk$-|NS98dn7tBDn3^a$JAHVR9>EbI533ns8aEG;qUBareu*v7%~!>&t^SWkw; z`fTe^+i88LZBfaf61||aU!b|pyR9P-rnNt9zFSy^SF(&afS0$m^{7R~fS@5l+@l-Z-}Vo1_bGHad`Th>Br zaJB{EO%ogb;~i$94}@~=Y%0Y-!PaZKSCo7yX2n2qCukAqG0;lTQ=n%+&w`!bU$ zFn^%9t~jhZ)zDTP0o$QE*bXfVhv7&qjE9E6cxYtx;<*~R)&b>qQ!1c4;x-;A4we^U zX^<&AQhWgb|8acbsF7cG2q~6FshCABrG&np&2*B z+$eStrk8Ar9Kp;`zJg?(Zxt|*SpG{3r*wK?R~1_vm3?ph$>y;s3kE8ygQ}AD+Q;@MjZO^S zNtG2h6 zrk}^aW0H7G5|3d$t{FgcJ$WV|rmU?v9+`d~$n*)GK=80nbvyVTOu6_iG{jBq3gKcp z7OId9dJxxdfpXD^cXZ&04A;-&I=>729bC`31l|wa^=Q;xxX#D*30$wibr-JL&wQ7^27#`3?ZMA+{B-$&10GSKR6~x!OFr@ex#AQ9{X63mb1h8ZUWbai zR;I=RhTOHkvi-3b$=HIk)lVQgI!XDQi&ViK)&^Njb4l<-ZQ(XOTUFiXm(cs#X$kN; zH1cIHTYXkR&D(O&h9Pl2ig-i+E%DO$vUZr%&>EX)k;`I9Ew$hl!u?s;s#r1?W*6ne z@zCdaXub=fmPHU6XDQe6uzoz{;_SH6m%)}};?V8%As&;)Q{NXzy_kndJoWuZ%@K;r z@Gi6cEYl@O=HPt26lCy?_kkQhA?-LAw^%Htil%&Xc4-zMC76!Lhd?iRFuOE| zA?(C7K98>140ZifWHJ504vtUPoFJsTk zngxJWs#H?E@`nE8U6quP*an8b0;78youxgItu*G(-|OZgu4S& z3wjImKIl`>QP7i!Z-o1N_F}*w_0vk}%I}?IqE@=NWN1i;l!B{|V2dCGuk)OPJR5@Q8sZ@DgrGWJbCNUgBL$ExbfE~bI7nWo6rU0g zseyCQ@LF}t$`vD5ytg7j88S{##|z-Xt%x2cNcwR=!vHRRsI;|gvpWqquZ@mioX)gE z6jh6P9Ky9uHlJfqaZ21R#JNups`f^>8o2q+hzb$$uezeSJJK0h5rdvPz^CKsA9RJn zZKIF-!@2t?z|MwS2XFl*lj-mIGY!Jd;>&ca+b|sk{oa*{sMA;!uwZry)CDvoh82Ad z+A$eCE}h4*Qy>=i7>_&P8pz{Pc--+o+76LeO0bRo-&cA%)z&2-?z8@ z{)%tY+qOG!&D!@xxV`PZF$hK%{R-eM3xWaRJJd>H2mEir{S@w}a8JT*gsXs<(n+|m zh9Y#SmDdURxR_gRnko1u)f}ym)u;;`#ZDG&8%Ohr%U& zYPO4ggEpFk)L}@y*guh{F661J(1^RRI4E{(jlggf1)P=$NuMiXpTO#L3{P~JC-PGh zF8~Ep8eygXpUHauU~{;<^j&Nx1CbS0SNx6}VT4+J(CwU*maDB*OC*N-|p~naftY#$hZy zN3{?gW$rrX6MS*hN`pPjoIoqR?CBY$TWN`RG*7eKc@hO?anzm5)2O^Xvsx?lap9p> z>hiF`qUZihp5~;R2@$o@KHlwtm|xr(Wjtt%m(8>+@)HkRtF_Xv-97VmD;?tPnXg+R zT-{?#yp?|B<`X^Az3%A|%5H@*SGH7O_ipp_h-0_X8hoS6IJ;}baRPXt{AvTP?&nvP z?g(o*Tc7#pix|*#2OIj44Uy7N#Ruf$NGU}*0QzB(Qn@n0O&*JqGI9<>&;&~F__oau zIQ+bCRNUfxhNay?ZwaV2^^WXp%@rr;uyX#)NlrvzMBeV&8ZBjnR&r^fyvJIwHX^yv zQh%=19&lGMcbJP*L`%uxnHZ6P(C9ZTYN6RKax7XJuQ^A{z-1~mlh_z3CFLB1-F0Xp z+f)8t&;dAUk#fQzG_)v)Xdf!j4I*=6q>0LrkZX;RhAGcs1caNsGa&M<+uux|a;`(GKe3R@MHFU&>i(z5Y%Z17VD}B-E{< z97l?Na!fBJE1|U~>m|JsSQXkh)O4Ji42i=ssaz#yp%BvBCI&LES^4ZY6XscfN6$#(1^Ap7$Fmh z7e61ko`h>C9H5=uouj{d z)ET$@Vi5kMJ~#OxLAq7>yoaPFN@KJ$UFr-)LkkUteey&pHm5k_+E2{vC#Z^NSkBXY zlt;9Vx9prN!QPkwLQ%{TfbL)_HeUJ<$p?v&#c-a+U6X1hPi5h$R`jIO_LE)#+WZ7B z+1F1pND=O`gNM?|PyM8ffMACF}c36JW&RPoxI^tFv#71S1wY{6FOj#{XI$L-Rimi}gaaW;di^Yb5)< z#lc&&TSB(@X`MG1SXx+fxPoiifyt+v;HPU`*gPWaAV%3R>x#@!dzdx2Cd3}R)ko9a z!8K>8fJ25PK4P-BYDfq8#rL@Q1@s4~1dB37B8JO2Wp5wF5sDTx}xA%GD35)8Me5E^RV7)Tq6 z&?g<_7qe8PZKW2#twNT_M{<&->(Sn3c*%-nDHnj_OrlkitKEyiGu8{?_AB6ckR!>` zm<-Gb=(GS+aNjxEBKTk_jU8mMG8mEDwf;t!IvpUzjyZ#K706>($87FnFSMS>Y%2y{ z1NbEuVCaUu&jrNZXpI3M^m10(Ik! z&pQgZn6*?D}XpM4N{2z1`mRQ<~d6}*BXHR~U4ugp1iV}QAEDO*N^5Gic zPD9vKT<7Du2G?_NJqOoaXnI#bZjgX`MGzNoLxamiU-}ejrY0+eNL;^_hCJiZXbi{` zZkHhg8REi-1anw~8SNKtKmHc|_*+!+w>V4J0Gl&K()T+yax`@>|f%HH2vQlPX87;02FNIOHDynsAnpn}35I6znM)Zs|o$C``OF-R?J zQQFVaQ1JFl_nGG_%T?8L?<*-#mCu`hhJNZL9}krDiI-d$HZdIbj5U!c(MeV!)Quv6 zTpTE+l^GpFP@>h|vviLy1B;x?V5G1Kp$TXn%X~dzNl*xOZQx<&xd|jT!JMb_F}-|d zHcY%*_|?JI7_eKIvjo3Jnt-(aXka^?QqY~LS)1j5%}>S5}?=)15hmx1p5-&j{02a~M9(p}-d;=7;0nFTAJBjZ5TVCjq!D=cEO zNCu_8fV^VCrVsdw$1T#LnDH)6jVMp|Ld_ZK*i7i6>H#t_6PrIX&=xZ>R|8V`l}zl! zTj(4w>7OOpqVkZn!ng`mI2!ED7ODpfTb5)=OoC4UKz;%=wHRyn0X`qHSGedRo-C|J zl3c`;EsatFscTlYWJ(+X>#cv#54fdP48k(ymRh5*yRP?<7qg{dSxiTY@dkQ->}3D# zeIf(_m8ky~n0eIh)znE}NuM*6-xh3Y4k(97PV z;9?(WGw3x?6>i=P`e-@HdmaAIL4G{j2l@)vTF5k=pqF3>FIO_epFl?u%+J(AQlUmA z@AAd(PQeO+ncN^_bEVa&fURC~xF@Cdnv?}RWd`b6;W^;Tm0}epR@n`Bz|SD|X6%j6 zfX;(3SPC6O4&;oIG8D>>VE}%#bYI>GhZ3O7m{;r)T*toJE6&pq z-bl2?`G8t^r&(F0$c`#emcI)FQw=*w>lkUW66mL+u9L>F6{Md$b{&@7x4B8xbyDJZ zH4fy}RbO$@QJ}{{bW{n^QE}60%HXCn;6WLNLgEdtI%g<`pdr^TdDK|)w8GFIaa||f z1>O??RHj`o4Z%~)Uh?eqQmM8Dh)P;O24dZyz5%jp?*NzJGz^H7Avd6RIb3AQ4N_{% zJeQUq{HPc{Dvm%}=rK2W{st*W{}ObLZ?t}q8Eqer`A%08W!G&!4fSI3+YM6ugjbzA zrmOJwYn(%vqf|FO;}y^^&%Pe)f}1+ICOH3kOnImS9qJ^tQnErh0lFhMN(R%E0?c~X{K|pATP=J#MQQyCZ0EC-I>^!+rKQRj zyyV=C($-iuIQ)tFya@UNB;g42Lmw$G03)u2uJn@+3c!BTdJnW0NTU=uQT-a?nrgWT ziWF*yGjKu80+tB@HKWeMkwFEnnaIkfeVRS$O>7=+rkzfuX=kAO?VP23Q?xhJ{jQ$w zcW%}>`iS4W{$tx{-u)c5mAw0%L!)Nh?{}K(3$2S2Mv+%1NGp|n!RMJF>B*=ipNfa>6eMpWX&(Ip>YbZG34AtsYJUSOTMT#+Ub36GR-O(^k(l09Ab}# zT#Y|_IiPv;LXf=+mXXLts}!T$<{__HrRBoPzMQBd?1#9B0j1Khy^Qw@KCgN0v-F(j$?|teY6g-&Rpwlzc#(C>E~lgZ0qee zUvICOYacotn_#Qe+7`x+;Su5fJ0~G0KtyMH^L;D(oPG9Qd+oK?ey_bY9kmFPS~Mi7 zi?Hem`*lw(B1^))b`S2L7Z;JFs1dlh0*c&u{ZR#Pw$ZpuvN}Ht+_Y#h_?pW)=sS=2 z1|w|4wzDzA;c~Hm8xeulA_`EAVy$O>^|v}%=g+E*2KdzT1#YCub}^F>9(Ex+&|NPk z^T~eCWgO9>Nso{e(^b@p-$LxKxVNJM>>eA7!O4@}!AT<~LpV|A{k9d~&cn0@yU=AD z!k)tWeHpN^u&&X)5q^Wf)XVve?lL^*sT$oIyfv>8eE}2X4}qr)11^?T|CmG^kKm@5 zN603ul|0l@aXM9HGh`73FEq5$U0U*%u&&iMCz~wdh4*lUa}HJ}a7Z|62{|GBrWH3m zk};9S*3mfMH46m&)Jj{Hpex@Alk!W+%#_|nBsz7V!C>`=H5y@Gh=~G17%2pJHY>HI2_jOMt3$CYNkM+mMP2AeOOa zH=X7$BZo)tLEAFTYsqz5#sFoFDylAWcO$lZBagb=zq_qs#~4NkwH-7i4}%Tth~B1a z^Dq|rCG0Qdk@PqY1J^o5EJxkNxvyEvk+7qk zu3k=FjK2yK$_eOw+gk+ux3oOq9Y^^qFO6D3I)rOrFqNwLiv%_uSCHdfatFxixN(D^_f?pUgxi>uXk0|H_&G`y+U`cA}?Z&d#Tel z?om?D3(-exXIGOkyl@k2UPBT_-51oXa-7H8#x=lZL~HfwxH7FKcDd#W(}X63T(bVi=)6`jkS;QjhU3tgB`vP~`= zc4eV6TX3;UP0iFoZ{rb$LvJ7BE|ex*-I6u75F?TpT%OJBiB07+XkrGy8jk48?CO-_ z;;cRJjldjR^kvp_Cc(EAz5{Xji|EUY)1Xw*z}$r1RP@-WH=dv)3&?m_ciMmoC^Tt3 z>?p=fOt&NJV0F5kt}4Kq;nyv+x&W&vvsIiR_R7qd*Alrl z92)lf8QaxdZbl3i+1Z-@OKO(!uR#0|-x-;q2Zmsvqu^HPhMJwYN&yQ&2V?dQu485u zFY7XJAq=JnMy??adx0Be5bYcbKzN3AUq zmT~d|%r5bw1vH#)>f{FeimU&(1WsX*aTa_t!k_&D=AjzhS{Sut=ArneRk;0FJd)Ui zgQ4P55U!qRXXlECN$f$nF!ktZ56X$ztKS}!5=5zeX|eR~?=r!7**(71<+j0aI-B1% zyJ4xp`_zQ}Ezj6^bO_?nV5irj9~&)w<7Ngy|7`O17T3JJh10zWlD^0Lk!{dv@bn}0 zw-j6x+yz*}tYM~AAc&C}TUD0}U2b;$QUt3t`7ZYWJTE~r+#jwJ2GLnF%(&jIw_tR4 z{i5HYXV#&;OlzYz){%vAmvE8O2-t~ND#xl9>HBcg$@e zKHL$pVBq|(a12Bk$0a(?h0VHjmB%&bf4$09NbA!$#fEuM_W&HhVPs~YpbXDliQ<9J zh%G9chZEfM=${`W>xH)$&>2N!m2e4H5fzb{QNFGR(&)s_2)$TD65_vN>!*o>95+e$ zr`NFg?}Pzvc6Nn5jlfk>#bkc`PvDKHtjbK}hjVhM*h3Mwj{lFZ+@E#QZN+Hme~Ufe zVr;B_*h+5|lPz(Ir0(q)i|KR^#K!A-a>+#TeJMZ<7z;=MJPgPL7y*w0)&r^m&jS7m zcn|OgfEDmD;5^_LQ(?dXZYKa{r#Lx41z;0R_H(}jT^N{@<6bOI=a0n}Io-$GNc`~o z9sEHx_j2{V;u7J<;S;!rIAP`m_wtSjoI*+*(u;otwS5gz9F90 zqiMo9wlvDNvYGsbC)pO3kaS-55Yj}MP--Ag3RoH#R!ZKUv9ImQh>9YY_M_O53ohW0 zvuM}KsN?oPG34N|1+mqamp8;-aBpi9L&YG}uiN&Pk#B{vsq}goCf%vPn+2!=JhP)8 z3O_IpWBFrd_aeFRx^T4R>b9_q!^MeQoUXB0$cWRikM(XtIo$^_2N?&K zwkXz%hn)`MW=nAd^1%X{P)^20p1^e+B5L^LmXkxmAKK}yauQF(GqCz!CGNWXx{8d7`NI81CqGN2 zR+hmEf$|IQjZsx(E&MBk{I9|Q$wuN7aA|$mCe+Mp9y*!1=RGuU6Eq}Fd+0Npu!i$0 z?!nna@(23QO0XLPM^=*u<8nR9BGuUOsWC@|F`dxLi8&VeYAiMu7JBH0Y7#r+SDu0* z#q<#o<5N{*CwRkDcCdR4RR}Z1qxZ(0;q@=-m~l*ng@+q37il|Djpc+e7tYJk^P4eH zXT9?lbbYV4*w$^q>P+0gHo+O5^nC33tESUj4L8K23QP5<`ls%iYKz%Qo{|ZwBeuQ2 zA@MvO=<#ik)%vM4{b{lSuI=#CrMrZ^ZBc9y z-_}72%1(bfl_oz&UJypL(T|?PDimhxKRic932m)3@_7zzyVUH(LX*?)yGc91mTXo+pY3uIkC;X#A##owWB4KW$Sy38*82*=Lp1@~JXdSe&K5{eBp z#f&wL%^teiOtuQixI@qkieER_+RP-I7i!z-;ySX9ZPOjEBL?Os>_#Hr8R+`mP1HOLm7x;Hvh|-H$>OhLTA!O|4|q z->*h2_}u*+Y?*xSPHC}~QKA=2HUY{W9H)SbHiuLB-c#XXd!5UI%fr>dW%ans=hnbw z;dlAmdbljyn?APzE(?Fo_wMw$O+J^yWkW38>6|~naS_2exNK3d$>&BRAVci`Wo2b5 zI9t^LGAV3;ho$i26PP?6J4B{Y=ONNSj~^m25l(z@LN~(+f&D!h&TG5g5u=6qi!q~> zSj+y*5+Zw#0p z`@Rq1{1E4h%f54XzV35bSpT~;KKt&E%iJR|+-&Z(p&S?CgK)Tqe6Sm?|D8QEfA)Sv z0+WZ?QVx^1NW69#)GPqnInc?Tht4@2?*KbMImZ_DDmf6AV&90DO;Axi0VVH~u!05G z>T@j(P;;%qJHQTq1`Ys^@69aSDchCT$)EZOvpD)kE13WzXAUbF%}3gr;Rv>KZ==Ob z)?g7x59log<41uM%%_mTUyuS^7qB;)EV-5?2Iwui=Dk34MjQi1pctK=IZh@g z^%l?aB=%W)$(R_=o2&yA%l{NeR{mLlFZTZmPS)}%NDQW0ji_2lbSYb19|WT7|5v1% zhbu{4iwwI$WZDs;R3y2a}`u6mu&%0!y-^2MtQ_w>Nss5@ziztk6U7*4z{#sTJA#Z_~#|AU=QSsB(arF`W9mv|c?;xw5c={@6}-P>+YirsvGT>E!aYijvZ`RT~N`xb*TuV^yJ{ zV6&p2w7k5qpt88sz-bJXg$9FOkyfm)P~?_wsMJ4J$Soq`ogxt!uH_|Kd(J(+vtaW1{I z%CJ_!`AA5t7|$&(_0ywR$3Ak2xq&QrpEMI7R{+Lfi;uykI}}++4vW(UXL~pNTr-fH z!F85^@$O1+87>4$lmnVe~jJ zTP-w%(P4rt$)ucvh8NHqFD&pk&c%0t9lT=T0Js3n0O^l)ruDdl#{cv7y^?poza|ej zmy79X)A=bq1WKbt4-Akd7#O_LTY~JZWa}E#JU}goU|ra~&ErhXh^o~EqW`NhZCMR+ z0e*6%_zxru_)E))EFnT| zK%)VuHBh~U3?2kwWM1+z$aWb$LuC0v{Qw+ZlclY8Y(jpk#k?yK=ASJKZ+(aet`Fx1 z(6chx4mK0HjLC5KU+vQ%=@~I;&6B}N8%=>?v!hrTI9TzZSexNW+ZEOUUVgVbc7%Br zO)tRYLL#i%Nb{zKp9UYbfW8v&qqZQ9)kko5eAXSn^&Gx;8^X9wU@gx#4K^dLJw$v) zkL3kaa~4LDVZ=vt+u;GS>0z>8J~(aaboDfPX^?EfLdQW!?Mov2>^piA-XxS~^q&bOf0cw$z z?rhT|LFIpTBlK;wh`p3^(lnJykzZDU%`V@ACOs!Z9B1h~a5?&o zh5iC(ZteT1OCR{8^i(ignvttJu_Yj-^8+aP&mbwE`^xRZV1%sPT<~)Mq*CB#hxshs zI9RrY{xn!NuCC_$u$1QO2>6|dtQkn9BHsMPovG7bu;mVs9qc#KyHXGsK!SM+PP1qU zw>UeKb`F=7m~sj$71{H0(zqpgJ|@qZo3?Zw_wb^*n(RQ%{7>2ru&h%gN`E7mDE;?$ zCd&9jK$6lj&w5{MMI&U?IC#Nk8!2lQObs~j&wjhG zn$ECCkM8H)6YzTC@BjI`ZOUlb{sAVX;Q+^kIzTbeL)BvQ)~$nWrul_^EHsupG$R4AeVeb0G}RVlsQ5$RbW-_1G2*@4k!p(vVjCFvNJY;I6tf8c<+|A zAflA%bjD=a7?UOsI>rD$A0p90rp%*PCdk(rkLSMk@yAOfp5Mt3nHqvpy%pR^LnV>JdR8PlmPy5 y+leW%PxvV7b_fPQ4bW`2?N!Sr%!-PB$%BCeeqX%XU$fcvNr}ubDXbo