From c63db4fa07ef191ec2ca7a87c4f1118e13833726 Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Wed, 9 Aug 2023 01:38:40 +0400 Subject: [PATCH 01/13] wip: ADSR --- docs/ADSR.md | 1 + inc/ADSR.h | 31 +++++++++++++++++++++++++ inc/Effect.h | 11 +++++++++ inc/Synth.h | 4 ++++ src/ADSR.cpp | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/Synth.cpp | 23 +++++++++++++++++-- 6 files changed, 131 insertions(+), 2 deletions(-) create mode 100644 inc/ADSR.h create mode 100644 inc/Effect.h create mode 100644 src/ADSR.cpp diff --git a/docs/ADSR.md b/docs/ADSR.md index 211b7d2..be4c98f 100644 --- a/docs/ADSR.md +++ b/docs/ADSR.md @@ -26,6 +26,7 @@ release_samples = int(release_time * sample_rate) # Attack phase envelope[:attack_samples] = np.linspace(0, 1, num=attack_samples) +# 1/n * count; # Decay phase decay_slope = (1 - sustain_level) / decay_samples diff --git a/inc/ADSR.h b/inc/ADSR.h new file mode 100644 index 0000000..3af24d7 --- /dev/null +++ b/inc/ADSR.h @@ -0,0 +1,31 @@ +#pragma once +#include "Effect.h" +#include + +struct ADSRParameters { + float attack_time; // Attack time in seconds + float decay_time; // Decay time in seconds + float sustain_level; // Sustain level (0 to 1) + float release_time; +}; + +enum ADSRState { Attack, Decay, Sustain, Release }; + +class ADSR : public Effect { + private: + ADSRParameters m_parameters; + ADSRState m_state; + std::size_t m_counter; + void set_state(std::size_t attack_samples, std::size_t decay_samples, + std::size_t release_samples); + void process_sample(float* sample, std::size_t attack_samples, + std::size_t decay_samples, std::size_t release_samples); + + public: + ADSR(/* args */); + ADSR(ADSRParameters param); + ~ADSR(); + void RetriggerState() override; + void Process(std::vector& samples) override; + void Reset(); +}; diff --git a/inc/Effect.h b/inc/Effect.h new file mode 100644 index 0000000..5065b60 --- /dev/null +++ b/inc/Effect.h @@ -0,0 +1,11 @@ +#pragma once +#include +class Effect { + private: + /* data */ + public: + Effect(/* args */){}; + ~Effect(){}; + virtual void RetriggerState(){}; + virtual void Process(std::vector& samples){}; +}; diff --git a/inc/Synth.h b/inc/Synth.h index f322421..625d4c8 100644 --- a/inc/Synth.h +++ b/inc/Synth.h @@ -1,6 +1,7 @@ #pragma once #include "Adder.h" +#include "Effect.h" #include "Note.h" #include "Oscillator.h" #include "Settings.h" @@ -10,16 +11,19 @@ class Synth { private: std::vector m_oscillators; Adder m_adder; + std::vector m_effects; // OscillatorUI* ui_oscillators; // Note m_current_note; std::vector m_out_signal; std::vector& get_note(int semitone, float beats); + void apply_effects(); public: Synth(/* args */); ~Synth(); void ProduceNoteSound(Note input); void AddOscillator(); + void AddEffect(Effect* fx); const std::vector& GetOutSignal() { return m_out_signal; } const std::vector& GetOscillators() { return m_oscillators; } }; \ No newline at end of file diff --git a/src/ADSR.cpp b/src/ADSR.cpp new file mode 100644 index 0000000..55054cd --- /dev/null +++ b/src/ADSR.cpp @@ -0,0 +1,63 @@ +#include "ADSR.h" +#include "Settings.h" +#include "Logger.h" + +ADSR::ADSR(/* args */) { + m_parameters.attack_time = 0.025f; + m_parameters.decay_time = 0.3f; + m_parameters.sustain_level = 0.6f; + m_parameters.release_time = 1.0f; + m_counter = 0; +} + +ADSR::ADSR(ADSRParameters param) { + m_parameters = param; + m_counter = 0; +} + +ADSR::~ADSR() {} + +void ADSR::set_state(std::size_t attack_samples, std::size_t decay_samples, + std::size_t release_samples) { + if (m_counter < attack_samples) { + m_state = Attack; + } else if (m_counter >= attack_samples && + m_counter < attack_samples + decay_samples) { + m_state = Decay; + } else if (m_counter >= attack_samples + decay_samples) { + m_state = Sustain; + } +} + +void ADSR::process_sample(float* sample, std::size_t attack_samples, + std::size_t decay_samples, + std::size_t release_samples) { + + set_state(attack_samples, decay_samples, release_samples); + if (m_state == Attack) { + (*sample) = (float)(1.f / attack_samples) * m_counter; + } else if (m_state == Decay) { + } + m_counter++; + // todo: release state on note off (in reset function?) +} + +void ADSR::RetriggerState() { + m_counter = 0; + m_state = Attack; +} + +void ADSR::Process(std::vector& samples) { + const std::size_t attack_samples = + (std::size_t)(m_parameters.attack_time * SAMPLE_RATE); + const std::size_t decay_samples = + (std::size_t)(m_parameters.decay_time * SAMPLE_RATE); + const std::size_t release_samples = + (std::size_t)(m_parameters.release_time * SAMPLE_RATE); + write_log("Attack samples: %zu \n", attack_samples); + for (std::size_t i = 0; i < samples.size(); i++) { + process_sample(&samples[i], attack_samples, decay_samples, + release_samples); + } + write_log("Processed samples: %zu \n", m_counter); +} \ No newline at end of file diff --git a/src/Synth.cpp b/src/Synth.cpp index b56d33b..4df2755 100644 --- a/src/Synth.cpp +++ b/src/Synth.cpp @@ -1,11 +1,19 @@ #include "Synth.h" +#include "ADSR.h" #include "KeyBoard.h" #include "OscillatorType.h" #include "Settings.h" -Synth::Synth(/* args */) { AddOscillator(); } +Synth::Synth(/* args */) { + AddOscillator(); + AddEffect(new ADSR()); +} -Synth::~Synth() {} +Synth::~Synth() { + m_oscillators.clear(); + m_effects.clear(); + m_out_signal.clear(); +} std::vector& Synth::get_note(int semitone, float beats) { float hz = KeyBoard::GetHzBySemitone(semitone); @@ -20,13 +28,24 @@ std::vector& Synth::get_note(int semitone, float beats) { return m_adder.SumOscillators(m_oscillators, duration); } +void Synth::apply_effects() { + for (Effect* effect : m_effects) { + // maybe not here + effect->RetriggerState(); + effect->Process(m_out_signal); + } +} + void Synth::ProduceNoteSound(Note input) { float length = 1.f / input.length; int semitone_shift = KeyBoard::GetSemitoneShift(input.name); m_out_signal = get_note(semitone_shift, length); + apply_effects(); } void Synth::AddOscillator() { m_oscillators.push_back( new Oscillator(OscillatorType::Sine, 440.f, VOLUME)); } + +void Synth::AddEffect(Effect* fx) { m_effects.push_back(fx); } -- 2.49.1 From c16447f30e1899b3bf3b5a0cb69b6dc3d9706c87 Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Wed, 9 Aug 2023 23:13:08 +0400 Subject: [PATCH 02/13] wip: continious sound --- inc/Adder.h | 2 +- inc/Settings.h | 3 ++- src/ADSR.cpp | 4 ++-- src/Application.cpp | 56 +++++++++++++++++++++++++-------------------- src/Renderer.cpp | 2 +- src/Synth.cpp | 2 +- 6 files changed, 38 insertions(+), 31 deletions(-) diff --git a/inc/Adder.h b/inc/Adder.h index 23abd87..fbf0114 100644 --- a/inc/Adder.h +++ b/inc/Adder.h @@ -9,7 +9,7 @@ struct Adder { static std::vector& SumOscillators(const std::vector& oscillators, float duration) { - size_t sample_count = (size_t)(duration * SAMPLE_RATE); + size_t sample_count = (size_t)(1.f/FPS * SAMPLE_RATE); std::vector* output = new std::vector(); output->reserve(sample_count); diff --git a/inc/Settings.h b/inc/Settings.h index dbf08e5..4317479 100644 --- a/inc/Settings.h +++ b/inc/Settings.h @@ -6,7 +6,8 @@ #define PITCH_STANDARD 440.f #define VOLUME 0.5f #define ATTACK_MS 100.f -#define STREAM_BUFFER_SIZE 4096 +#define STREAM_BUFFER_SIZE 1024 +#define FPS 60 #define SYNTH_PI 3.1415926535f #define SYNTH_VOLUME 0.5f diff --git a/src/ADSR.cpp b/src/ADSR.cpp index 55054cd..f670c13 100644 --- a/src/ADSR.cpp +++ b/src/ADSR.cpp @@ -3,7 +3,7 @@ #include "Logger.h" ADSR::ADSR(/* args */) { - m_parameters.attack_time = 0.025f; + m_parameters.attack_time = 1.f; m_parameters.decay_time = 0.3f; m_parameters.sustain_level = 0.6f; m_parameters.release_time = 1.0f; @@ -35,7 +35,7 @@ void ADSR::process_sample(float* sample, std::size_t attack_samples, set_state(attack_samples, decay_samples, release_samples); if (m_state == Attack) { - (*sample) = (float)(1.f / attack_samples) * m_counter; + (*sample) = (*sample) * ((float)(1.f / attack_samples) * m_counter); } else if (m_state == Decay) { } m_counter++; diff --git a/src/Application.cpp b/src/Application.cpp index 2349fbb..1cbda5e 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -39,7 +39,7 @@ void Application::init_synth() { // todo: move that variables to Synth declaration std::string* nameString = new std::string(std::string(new char[3])); m_current_note = new Note{.length = 1, .name = (*nameString)}; - + m_current_note->name.assign("G4"); // todo: move somewhere in initialization std::vector oscillators = m_synth.GetOscillators(); m_synth_gui_state.oscillators.reserve(oscillators.size()); @@ -91,55 +91,61 @@ std::size_t Application::detect_note_pressed(Note* note) { // Update On Input void Application::update_on_note_input() { - if (detect_note_pressed(m_current_note)) { + detect_note_pressed(m_current_note); + // if (detect_note_pressed(m_current_note)) { m_synth.ProduceNoteSound((*m_current_note)); - m_sound_played_count = 0; + //m_sound_played_count = 0; write_log("Note played: %s\n", m_current_note->name.c_str()); - } + //} } // Play ring-buffered audio void Application::play_buffered_audio() { - if (IsAudioStreamProcessed(m_synth_stream) && !m_ring_buffer->IsEmpty()) { - std::size_t size_to_read = m_ring_buffer->GetSize(); - + std::size_t size_to_read = m_ring_buffer->GetSize(); + size_t sample_count = (size_t)(1.f/FPS * SAMPLE_RATE); + if (IsAudioStreamProcessed(m_synth_stream)) { write_log("Samples to play:%zu \n", size_to_read); // todo: try to start reading directly from ring buffer, avoiding // temp_buffer - m_ring_buffer->Read(m_temp_buffer, size_to_read); + //todo: can be optimized to only move pointers, without the usage of temp buffer + // can try the SetAudioStreamCallback - UpdateAudioStream(m_synth_stream, m_temp_buffer, size_to_read); + UpdateAudioStream(m_synth_stream, m_temp_buffer, sample_count); // can overwrite the ring buffer to avoid that - if (m_synth.GetOutSignal().size() == m_sound_played_count) { - m_ring_buffer->Reset(); - } + + // if (m_synth.GetOutSignal().size() == m_sound_played_count) { + // m_ring_buffer->Reset(); + // } + } + m_ring_buffer->Read(m_temp_buffer, sample_count); + m_ring_buffer->Reset(); + if (m_ring_buffer->IsFull() || m_ring_buffer->IsEmpty()) { } } // Fill ring buffer from current sound void Application::fill_audio_buffer() { - if (!m_ring_buffer->IsFull() && + if (!m_ring_buffer->IsFull() && m_synth.GetOutSignal().size() != m_sound_played_count) { write_log("[INFO] IsFull:%d Samples:%zu Played:%d\n", m_ring_buffer->IsFull(), m_synth.GetOutSignal().size(), m_sound_played_count); // how many samples need write - std::size_t size_to_fill = 0; - - if ((m_synth.GetOutSignal().size() - m_sound_played_count) > - m_ring_buffer->GetCapacity()) { - size_to_fill = m_ring_buffer->GetCapacity(); - } else { - size_to_fill = m_synth.GetOutSignal().size() - m_sound_played_count; - } + std::size_t size_to_fill = m_ring_buffer->GetCapacity() - m_synth.GetOutSignal().size(); + // if ((m_synth.GetOutSignal().size() - m_sound_played_count) > + // m_ring_buffer->GetCapacity()) { + + // } else { + // size_to_fill = m_synth.GetOutSignal().size() - m_sound_played_count; + // } write_log("[INFO] SizeToFill:%zu\n", size_to_fill); - for (size_t i = 0; i < size_to_fill; i++) { - m_temp_buffer[i] = m_synth.GetOutSignal()[i]; - } + // for (size_t i = 0; i < size_to_fill; i++) { + // m_temp_buffer[i] = m_synth.GetOutSignal()[i]; + // } - m_ring_buffer->Write(m_temp_buffer, size_to_fill); + m_ring_buffer->Write((float*)m_synth.GetOutSignal().data(), size_to_fill); m_sound_played_count += size_to_fill; } } diff --git a/src/Renderer.cpp b/src/Renderer.cpp index 32a8748..a73e016 100644 --- a/src/Renderer.cpp +++ b/src/Renderer.cpp @@ -6,7 +6,7 @@ Renderer::Renderer(/* args */) { InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, "SeeSynth - v0.2"); - SetTargetFPS(60); + SetTargetFPS(FPS); } Renderer::~Renderer() {} diff --git a/src/Synth.cpp b/src/Synth.cpp index 4df2755..03c0b03 100644 --- a/src/Synth.cpp +++ b/src/Synth.cpp @@ -31,7 +31,7 @@ std::vector& Synth::get_note(int semitone, float beats) { void Synth::apply_effects() { for (Effect* effect : m_effects) { // maybe not here - effect->RetriggerState(); + //effect->RetriggerState(); effect->Process(m_out_signal); } } -- 2.49.1 From 635de894ad5ce068540a08c85806a4e94f5649bc Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Sun, 13 Aug 2023 00:55:47 +0400 Subject: [PATCH 03/13] wip: play notes only on press --- inc/Adder.h | 16 +++++------ inc/Application.h | 2 +- inc/Settings.h | 2 +- inc/Synth.h | 3 ++- src/Application.cpp | 66 ++++++++++++++++++++++++++------------------- src/Synth.cpp | 23 +++++++++++++--- 6 files changed, 68 insertions(+), 44 deletions(-) diff --git a/inc/Adder.h b/inc/Adder.h index fbf0114..e951ab8 100644 --- a/inc/Adder.h +++ b/inc/Adder.h @@ -6,23 +6,21 @@ #include struct Adder { - static std::vector& + static void SumOscillators(const std::vector& oscillators, - float duration) { - size_t sample_count = (size_t)(1.f/FPS * SAMPLE_RATE); + std::vector& signal) { + size_t sample_count = STREAM_BUFFER_SIZE;//(size_t)(1.f/FPS * SAMPLE_RATE); - std::vector* output = new std::vector(); - output->reserve(sample_count); + //std::vector* output = new std::vector(); + //output->reserve(sample_count); for (size_t i = 0; i < sample_count; i++) { float sample = 0.0f; for (Oscillator* osc : oscillators) { - sample += osc->GenerateSample(duration); + sample += osc->GenerateSample(1.f); } - output->push_back(sample); + signal[i] = sample; } - - return (*output); } }; diff --git a/inc/Application.h b/inc/Application.h index 7b649c3..bb2de7f 100644 --- a/inc/Application.h +++ b/inc/Application.h @@ -16,7 +16,7 @@ class Application { float* m_temp_buffer; Note* m_current_note; Renderer m_renderer; - std::size_t detect_note_pressed(Note* note); + bool detect_note_pressed(Note* note); void init_synth(); void init_audio(); void update_on_note_input(); diff --git a/inc/Settings.h b/inc/Settings.h index 4317479..a6fc760 100644 --- a/inc/Settings.h +++ b/inc/Settings.h @@ -1,6 +1,6 @@ #pragma once -#define SAMPLE_RATE 48000.f +#define SAMPLE_RATE 44100.f #define BPM 120.f #define BEAT_DURATION 60.f/BPM #define PITCH_STANDARD 440.f diff --git a/inc/Synth.h b/inc/Synth.h index 625d4c8..dc84225 100644 --- a/inc/Synth.h +++ b/inc/Synth.h @@ -15,13 +15,14 @@ class Synth { // OscillatorUI* ui_oscillators; // Note m_current_note; std::vector m_out_signal; - std::vector& get_note(int semitone, float beats); + void get_note(int semitone, float beats); void apply_effects(); public: Synth(/* args */); ~Synth(); void ProduceNoteSound(Note input); + void StopNoteSound(); void AddOscillator(); void AddEffect(Effect* fx); const std::vector& GetOutSignal() { return m_out_signal; } diff --git a/src/Application.cpp b/src/Application.cpp index 1cbda5e..633b869 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -55,72 +55,82 @@ void Application::init_synth() { } } -std::size_t Application::detect_note_pressed(Note* note) { +bool Application::detect_note_pressed(Note* note) { std::size_t is_pressed = 0; note->length = 8; - if (IsKeyPressed(KEY_A)) { + if (IsKeyDown(KEY_A)) { note->name.assign("A4"); is_pressed = 1; } - if (IsKeyPressed(KEY_B)) { + if (IsKeyDown(KEY_B)) { note->name.assign("B4"); is_pressed = 1; } - if (IsKeyPressed(KEY_C)) { - note->name.assign("C4"); + if (IsKeyDown(KEY_C)) { + note->name.assign("C5"); is_pressed = 1; } - if (IsKeyPressed(KEY_D)) { - note->name.assign("D4"); + if (IsKeyDown(KEY_D)) { + note->name.assign("D5"); is_pressed = 1; } - if (IsKeyPressed(KEY_E)) { - note->name.assign("E4"); + if (IsKeyDown(KEY_E)) { + note->name.assign("E5"); is_pressed = 1; } - if (IsKeyPressed(KEY_F)) { - note->name.assign("F4"); + if (IsKeyDown(KEY_F)) { + note->name.assign("F5"); is_pressed = 1; } - if (IsKeyPressed(KEY_G)) { - note->name.assign("G4"); + if (IsKeyDown(KEY_G)) { + note->name.assign("G5"); is_pressed = 1; } - return is_pressed; + return is_pressed == 1; } // Update On Input void Application::update_on_note_input() { - detect_note_pressed(m_current_note); - // if (detect_note_pressed(m_current_note)) { + if (detect_note_pressed(m_current_note)) { + // if (detect_note_pressed(m_current_note)) { m_synth.ProduceNoteSound((*m_current_note)); //m_sound_played_count = 0; write_log("Note played: %s\n", m_current_note->name.c_str()); - //} + //} + } + else { + m_synth.StopNoteSound(); + } + } // Play ring-buffered audio void Application::play_buffered_audio() { - std::size_t size_to_read = m_ring_buffer->GetSize(); - size_t sample_count = (size_t)(1.f/FPS * SAMPLE_RATE); + //std::size_t size_to_read = m_ring_buffer->GetSize(); + size_t sample_count = STREAM_BUFFER_SIZE;//(size_t)(1.f/FPS * SAMPLE_RATE); if (IsAudioStreamProcessed(m_synth_stream)) { - write_log("Samples to play:%zu \n", size_to_read); + //write_log("Samples to play:%zu \n", size_to_read); // todo: try to start reading directly from ring buffer, avoiding // temp_buffer //todo: can be optimized to only move pointers, without the usage of temp buffer - + //m_synth.ProduceNoteSound((*m_current_note)); // can try the SetAudioStreamCallback - UpdateAudioStream(m_synth_stream, m_temp_buffer, sample_count); + const float audio_frame_start_time = GetTime(); + update_on_note_input(); + UpdateAudioStream(m_synth_stream, m_synth.GetOutSignal().data(), sample_count); // can overwrite the ring buffer to avoid that + const float audio_freme_duration = GetTime() - audio_frame_start_time; + write_log("Frame time: %.3f%% \n", 100.0f / ((1.0f / audio_freme_duration) / ((float)SAMPLE_RATE/STREAM_BUFFER_SIZE))); + // if (m_synth.GetOutSignal().size() == m_sound_played_count) { // m_ring_buffer->Reset(); // } } - m_ring_buffer->Read(m_temp_buffer, sample_count); - m_ring_buffer->Reset(); - if (m_ring_buffer->IsFull() || m_ring_buffer->IsEmpty()) { - } + //m_ring_buffer->Read(m_temp_buffer, sample_count); + //m_ring_buffer->Reset(); + //if (m_ring_buffer->IsFull() || m_ring_buffer->IsEmpty()) { + //} } // Fill ring buffer from current sound @@ -154,9 +164,9 @@ void Application::Run() { // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { - fill_audio_buffer(); + //fill_audio_buffer(); + //update_on_note_input(); play_buffered_audio(); - update_on_note_input(); m_renderer.Draw(m_synth, m_synth_gui_state); } diff --git a/src/Synth.cpp b/src/Synth.cpp index 03c0b03..67fa36c 100644 --- a/src/Synth.cpp +++ b/src/Synth.cpp @@ -7,6 +7,10 @@ Synth::Synth(/* args */) { AddOscillator(); AddEffect(new ADSR()); + for (size_t i = 0; i < STREAM_BUFFER_SIZE; i++) { + float sample = 0.0f; + m_out_signal.push_back(sample); + } } Synth::~Synth() { @@ -15,9 +19,13 @@ Synth::~Synth() { m_out_signal.clear(); } -std::vector& Synth::get_note(int semitone, float beats) { +void Synth::get_note(int semitone, float beats) { + for (size_t i = 0; i < STREAM_BUFFER_SIZE; i++) { + float sample = 0.0f; + m_out_signal[i] = sample; + } + float hz = KeyBoard::GetHzBySemitone(semitone); - float duration = beats * BEAT_DURATION; // will change after oscillator starts to be more autonomous for (Oscillator* osc : m_oscillators) { @@ -25,7 +33,7 @@ std::vector& Synth::get_note(int semitone, float beats) { } // todo: add other pipeline steps (e.g ADSR, Filters, FX); - return m_adder.SumOscillators(m_oscillators, duration); + Adder::SumOscillators(m_oscillators, m_out_signal); } void Synth::apply_effects() { @@ -39,10 +47,17 @@ void Synth::apply_effects() { void Synth::ProduceNoteSound(Note input) { float length = 1.f / input.length; int semitone_shift = KeyBoard::GetSemitoneShift(input.name); - m_out_signal = get_note(semitone_shift, length); + get_note(semitone_shift, length); apply_effects(); } +void Synth::StopNoteSound() { + for (size_t i = 0; i < STREAM_BUFFER_SIZE; i++) { + float sample = 0.0f; + m_out_signal[i] = sample; + } +} + void Synth::AddOscillator() { m_oscillators.push_back( new Oscillator(OscillatorType::Sine, 440.f, VOLUME)); -- 2.49.1 From c6c2956ac08f38750dc4c7b294e866e2cdbbff96 Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Sun, 13 Aug 2023 01:13:54 +0400 Subject: [PATCH 04/13] fix: retriggering phase problem --- inc/Synth.h | 9 ++++++--- src/Application.cpp | 7 +++++-- src/Synth.cpp | 26 +++++++++++++++----------- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/inc/Synth.h b/inc/Synth.h index dc84225..679817d 100644 --- a/inc/Synth.h +++ b/inc/Synth.h @@ -9,22 +9,25 @@ class Synth { private: + bool is_note_triggered; std::vector m_oscillators; Adder m_adder; std::vector m_effects; // OscillatorUI* ui_oscillators; // Note m_current_note; std::vector m_out_signal; - void get_note(int semitone, float beats); + void get_note(); void apply_effects(); public: Synth(/* args */); ~Synth(); - void ProduceNoteSound(Note input); - void StopNoteSound(); + void TriggerNote(Note input); + void ProduceSound(); + void StopSound(); void AddOscillator(); void AddEffect(Effect* fx); const std::vector& GetOutSignal() { return m_out_signal; } const std::vector& GetOscillators() { return m_oscillators; } + const bool& GetIsNoteTriggered() { return is_note_triggered; } }; \ No newline at end of file diff --git a/src/Application.cpp b/src/Application.cpp index 633b869..db24330 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -93,13 +93,16 @@ bool Application::detect_note_pressed(Note* note) { void Application::update_on_note_input() { if (detect_note_pressed(m_current_note)) { // if (detect_note_pressed(m_current_note)) { - m_synth.ProduceNoteSound((*m_current_note)); + if (!m_synth.GetIsNoteTriggered()){ + m_synth.TriggerNote((*m_current_note)); + } + m_synth.ProduceSound(); //m_sound_played_count = 0; write_log("Note played: %s\n", m_current_note->name.c_str()); //} } else { - m_synth.StopNoteSound(); + m_synth.StopSound(); } } diff --git a/src/Synth.cpp b/src/Synth.cpp index 67fa36c..16f3780 100644 --- a/src/Synth.cpp +++ b/src/Synth.cpp @@ -19,19 +19,12 @@ Synth::~Synth() { m_out_signal.clear(); } -void Synth::get_note(int semitone, float beats) { +void Synth::get_note() { for (size_t i = 0; i < STREAM_BUFFER_SIZE; i++) { float sample = 0.0f; m_out_signal[i] = sample; } - float hz = KeyBoard::GetHzBySemitone(semitone); - - // will change after oscillator starts to be more autonomous - for (Oscillator* osc : m_oscillators) { - osc->SetFreq(hz); - } - // todo: add other pipeline steps (e.g ADSR, Filters, FX); Adder::SumOscillators(m_oscillators, m_out_signal); } @@ -44,18 +37,29 @@ void Synth::apply_effects() { } } -void Synth::ProduceNoteSound(Note input) { +void Synth::TriggerNote(Note input) { float length = 1.f / input.length; int semitone_shift = KeyBoard::GetSemitoneShift(input.name); - get_note(semitone_shift, length); + float hz = KeyBoard::GetHzBySemitone(semitone_shift); + + // will change after oscillator starts to be more autonomous + for (Oscillator* osc : m_oscillators) { + osc->SetFreq(hz); + } + is_note_triggered = true; +} + +void Synth::ProduceSound() { + get_note(); apply_effects(); } -void Synth::StopNoteSound() { +void Synth::StopSound() { for (size_t i = 0; i < STREAM_BUFFER_SIZE; i++) { float sample = 0.0f; m_out_signal[i] = sample; } + is_note_triggered = false; } void Synth::AddOscillator() { -- 2.49.1 From 73aae9a49087d2ae3bd4f944d1b643779dfec405 Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Mon, 14 Aug 2023 12:27:19 +0400 Subject: [PATCH 05/13] refactor: remove unused parts --- inc/Application.h | 4 --- src/Application.cpp | 71 ++++++--------------------------------------- 2 files changed, 9 insertions(+), 66 deletions(-) diff --git a/inc/Application.h b/inc/Application.h index bb2de7f..a98ba7c 100644 --- a/inc/Application.h +++ b/inc/Application.h @@ -1,7 +1,6 @@ #pragma once #include "Note.h" #include "Renderer.h" -#include "RingBuffer.h" #include "Synth.h" #include "SynthGuiState.h" #include "raylib.h" @@ -10,10 +9,8 @@ class Application { private: Synth m_synth; SynthGuiState m_synth_gui_state; - RingBuffer* m_ring_buffer; AudioStream m_synth_stream; int m_sound_played_count; - float* m_temp_buffer; Note* m_current_note; Renderer m_renderer; bool detect_note_pressed(Note* note); @@ -21,7 +18,6 @@ class Application { void init_audio(); void update_on_note_input(); void play_buffered_audio(); - void fill_audio_buffer(); public: Application(/* args */); diff --git a/src/Application.cpp b/src/Application.cpp index db24330..03b6489 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -4,8 +4,6 @@ #include Application::Application(/* args */) { - m_ring_buffer = new RingBuffer((std::size_t)STREAM_BUFFER_SIZE); - m_temp_buffer = new float[STREAM_BUFFER_SIZE]; init_synth(); init_audio(); } @@ -15,8 +13,6 @@ Application::~Application() { UnloadAudioStream(m_synth_stream); CloseAudioDevice(); CloseWindow(); - delete m_ring_buffer; - delete[] m_temp_buffer; // todo: move to gui state class destructor (make it a class) for (int i = 0; i < m_synth_gui_state.oscillators.size(); i++) { delete m_synth_gui_state.oscillators[i]; @@ -59,31 +55,31 @@ bool Application::detect_note_pressed(Note* note) { std::size_t is_pressed = 0; note->length = 8; if (IsKeyDown(KEY_A)) { - note->name.assign("A4"); + note->name.assign("A2"); is_pressed = 1; } if (IsKeyDown(KEY_B)) { - note->name.assign("B4"); + note->name.assign("B2"); is_pressed = 1; } if (IsKeyDown(KEY_C)) { - note->name.assign("C5"); + note->name.assign("C2"); is_pressed = 1; } if (IsKeyDown(KEY_D)) { - note->name.assign("D5"); + note->name.assign("D2"); is_pressed = 1; } if (IsKeyDown(KEY_E)) { - note->name.assign("E5"); + note->name.assign("E2"); is_pressed = 1; } if (IsKeyDown(KEY_F)) { - note->name.assign("F5"); + note->name.assign("F2"); is_pressed = 1; } if (IsKeyDown(KEY_G)) { - note->name.assign("G5"); + note->name.assign("G2"); is_pressed = 1; } return is_pressed == 1; @@ -92,14 +88,13 @@ bool Application::detect_note_pressed(Note* note) { // Update On Input void Application::update_on_note_input() { if (detect_note_pressed(m_current_note)) { - // if (detect_note_pressed(m_current_note)) { + if (!m_synth.GetIsNoteTriggered()){ m_synth.TriggerNote((*m_current_note)); } m_synth.ProduceSound(); //m_sound_played_count = 0; write_log("Note played: %s\n", m_current_note->name.c_str()); - //} } else { m_synth.StopSound(); @@ -109,57 +104,12 @@ void Application::update_on_note_input() { // Play ring-buffered audio void Application::play_buffered_audio() { - //std::size_t size_to_read = m_ring_buffer->GetSize(); - size_t sample_count = STREAM_BUFFER_SIZE;//(size_t)(1.f/FPS * SAMPLE_RATE); if (IsAudioStreamProcessed(m_synth_stream)) { - //write_log("Samples to play:%zu \n", size_to_read); - // todo: try to start reading directly from ring buffer, avoiding - // temp_buffer - //todo: can be optimized to only move pointers, without the usage of temp buffer - //m_synth.ProduceNoteSound((*m_current_note)); - // can try the SetAudioStreamCallback const float audio_frame_start_time = GetTime(); update_on_note_input(); - UpdateAudioStream(m_synth_stream, m_synth.GetOutSignal().data(), sample_count); - // can overwrite the ring buffer to avoid that + UpdateAudioStream(m_synth_stream, m_synth.GetOutSignal().data(), STREAM_BUFFER_SIZE); const float audio_freme_duration = GetTime() - audio_frame_start_time; write_log("Frame time: %.3f%% \n", 100.0f / ((1.0f / audio_freme_duration) / ((float)SAMPLE_RATE/STREAM_BUFFER_SIZE))); - - - // if (m_synth.GetOutSignal().size() == m_sound_played_count) { - // m_ring_buffer->Reset(); - // } - } - //m_ring_buffer->Read(m_temp_buffer, sample_count); - //m_ring_buffer->Reset(); - //if (m_ring_buffer->IsFull() || m_ring_buffer->IsEmpty()) { - //} -} - -// Fill ring buffer from current sound -void Application::fill_audio_buffer() { - if (!m_ring_buffer->IsFull() && - m_synth.GetOutSignal().size() != m_sound_played_count) { - write_log("[INFO] IsFull:%d Samples:%zu Played:%d\n", - m_ring_buffer->IsFull(), m_synth.GetOutSignal().size(), - m_sound_played_count); - - // how many samples need write - std::size_t size_to_fill = m_ring_buffer->GetCapacity() - m_synth.GetOutSignal().size(); - // if ((m_synth.GetOutSignal().size() - m_sound_played_count) > - // m_ring_buffer->GetCapacity()) { - - // } else { - // size_to_fill = m_synth.GetOutSignal().size() - m_sound_played_count; - // } - - write_log("[INFO] SizeToFill:%zu\n", size_to_fill); - // for (size_t i = 0; i < size_to_fill; i++) { - // m_temp_buffer[i] = m_synth.GetOutSignal()[i]; - // } - - m_ring_buffer->Write((float*)m_synth.GetOutSignal().data(), size_to_fill); - m_sound_played_count += size_to_fill; } } @@ -167,10 +117,7 @@ void Application::Run() { // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { - //fill_audio_buffer(); - //update_on_note_input(); play_buffered_audio(); - m_renderer.Draw(m_synth, m_synth_gui_state); } } -- 2.49.1 From d883bbbf125d31f4ac01da12c3889721f410591a Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Mon, 4 Sep 2023 22:30:37 +0400 Subject: [PATCH 06/13] wip: adsr with ramp --- .vscode/launch.json | 16 ++++++ .vscode/tasks.json | 6 +-- docs/ADSR States.png | Bin 0 -> 282391 bytes docs/Attack Formula.png | Bin 0 -> 77688 bytes inc/ADSR.h | 18 ++++--- inc/Effect.h | 4 +- inc/Ramp.h | 17 +++++++ inc/Synth.h | 4 +- src/ADSR.cpp | 108 +++++++++++++++++++++++++++------------- src/Application.cpp | 15 ++++-- src/Ramp.cpp | 29 +++++++++++ src/Renderer.cpp | 27 ++++++---- src/Synth.cpp | 37 ++++++++------ 13 files changed, 204 insertions(+), 77 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 docs/ADSR States.png create mode 100644 docs/Attack Formula.png create mode 100644 inc/Ramp.h create mode 100644 src/Ramp.cpp diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..ba7134e --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,16 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "lldb", + "request": "launch", + "name": "Debug", + "program": "${workspaceFolder}/bin/main", + "args": [], + "cwd": "${workspaceFolder}" + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index f40e7f1..950d9e3 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -9,11 +9,7 @@ "-fansi-escape-codes", "-g", "${file}", - "${fileDirname}/utils.c", - "${fileDirname}/ring_buffer.c", - "${fileDirname}/oscillator.c", - "${fileDirname}/parser.c", - "${fileDirname}/export.c", + "$(find ${fileDirname}/src -type f -iregex '.*\\.cpp')", "-lm", "-lraylib", "-o", diff --git a/docs/ADSR States.png b/docs/ADSR States.png new file mode 100644 index 0000000000000000000000000000000000000000..fbf4cea3354bb5178d9511c85a4ebd1552610d25 GIT binary patch literal 282391 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%0D1(TqkM z-6Qk!T$ztMvRs#Q90XG&6O)io0J;POYMo~7-(>z; zDM&_EZK#QY=6{>#12+rN%^=y0W=G#R5GzX~A(D&VP$LGmD@j@*;(M)}q~24nmJ89j ziZ)xFr0@E=cSBFO-V`-0X^ulG5p32QavD{Jwk>nuNZs2dbD|>k4sr=@?!kmjf;uB# z_D-1zI1gn(6Meah?eOP)gDT?CXnb-zyy|lt*0Hzn7Zvty$H^Up7xU06g0cLB*VxvQ z6Il={FZ?3q@C@>h=*5fj><}s-Nrlct)qB?Sa|ni{_!U|TE>*?v&O%r!G>pd!`ch(P z_Yf-k+d^s{66e51D}0SSUF2{d17|z*Q$KT#g-e7l8zlg5-TJv zVHa=pZ4RP3*u<_&-6XMWcYfIjM56;RkO68($!WJxn}2=w<0#c$rdp54%r1nozuMNp zCl1=A*`P5#N0oH;Am)qkDko?@Rr>21uTVE*8J9N7QM;s-k`zKu2E5dwwslp zdq3B3BOf9`Ha{Ur3Ol=4S~L3Ib9p(8^$Lfxl!1c)QI;b;K~Wt51qlm<*2rtqjt7f&qhfNBzPPuLR%J@BK*7d9q0b+XVKp*C27L%(D*b(8lNn58|ZP%$>e!{F|_iMBR`XgQ@ z>*__eA;Cl0g7CnM;WzPp6aW3f-$KQ|0Zu!RU|O4*7=MWP6$pxX(v*?#9Owy4MTi1cpxX9(D>RsuLg40?H|~J@I4d|sQvVQArIEhrIh`aE9wc}Q!N6gi zD~RVNP6wFpV~jplj6llumT|dw2``tCRYRoLS}kr_fo8uY_#?1RXV3sA;`10dnp(9T zQqLc%b6~R+v3by6BufHuB(4w*C!keyL1CFyzuq7SslNDij`Fm*((BGGrSC{wS#kZP z0-5XIKdSgwXcf_pD*Fj*<{$42mA*ULX2w!9fnZgmIv-NExAg$z7yg}1?HVK$IK}DR zF1;dg(Fp59F*vZIe?2{vknaSZpdE2$%q?%x#~ zf&iWw)g_x+Z04r+w^W&Q;(}7MbMMKPV-6>OkMg3Uw)CqT)Y*-{y+aq8dxH~bmMi!p zq4pMeaqG>5UQdg{8WmtT6h^5WG(iRLoOftCX4Cr^xfG^|QOBMahvN?ajS>VC+;NTh z=#HgsWq!PWG`~L}`0bHYYT5SYYzi1XpBOq^?=I#;dki2cbOY5)*U(TQlup8AZ0J|j zbWpFKeaxq8?;seS{VR~f#+$5Y83TX4>Tw;ow%6dBJbM2{m@kk?Ps@YW*Kir#m}kt6 z4Z&dyf~Uk?ikf{q4f%t?4PMApzFFlpLx)?Z1`iq-GI|S^#nlW-d(4m;la-!!!5>LRPSdX7=CLmsomodP`Cwt4r|cy{QFIyc4z)#dG4AZu7Dd4>!+Kz-*ErhkuYjM zFzKvz5iR)Q`J!cvu)3RLpB$%MrYuK(voNZCFDTE}J9C4Cr_LTPhP1m}vd&xGpUzhA z_UH+?W4Ov`i#^w>PP;ndI62DY-itit)uf%r49?9(eC|m zmi^qKT@+AXIT*bd!ZE2@7nofzwjUKCxqQ@hQX)TX3l1rSwaHL5Id&UnBYG(mrY{uC za^RdM$K$q0uhW3<>r0?~M5OHuH z(6k}o0C(j<`qOH|WvE4RcnpnzWG6ug)dKcNk&V65OOKf0S8Sc0ulqx%KL**DtjC=t zvSFFR`q5vOX+SKb;7moKnR@Swzx%MrYfd+a=_5MFYC}NQXdOkUFh*is4qtcjQolYp zDs-U0r}2urwuFK zKm<^{yg+auV?t~9U6|mOL;d<(zzYw0#*=`d3W#-5k#(V|k=NNi#t%`3>y@Y4g-0ox zIKiOvVk~AIVA6a;ifyN&l3D_(5_QogLH@^)XXk_}PFUVsF91g8{JfYpH6-C${eD14n`uPS!86i~=1CQM%Eb@=Inwp2SKvNwo3Wmu3iD>VO znc|``^_Y4^X1Fo$)0Vi_i$Q6ZY?T(H4HCOI*G?U3>*Og!H?HaCM#@T8lte4LdqVUZ z9JuU?tv5Rf;|SFvvX?Ytv-w;Z+qBr@Sbp6DvNpba$AQ{`(k>scqfrfIbOK&!(`o3f z;m{j;DBq4CG!k2U*{p!q$7EK6*`CatW?-rAZrMwz^6`dEKrI1!mgd*RRz7kD6}_L4 zdd01d&#RpT{FA5ini1@CmsRg63yS{a4WErsB^vHToh8p`d6o% zFz!$IU7AH|@kRzmW#;dWs|)?F1oq-Kq5xA`g?(E7*U$1ee{)m?{iBJ9DKwa$3WBkChMi+O)KL$!UlCDk_LpVh%N;@(TZ*6BYzX z!8TY65hPYhlc9Vgt@*B}&b1W39UmU-7sKd^6kmH~vdkx9{Z8j~ZSk3W#V^Crb&&eC zvY0x{#tdXvKI?vJ`DmB75y}jN(9Ukrwq|oI<$oX#F(qo;QZmtz(Yl*4TY`ypHZ=-! z7dUi`5lZuNJ3-nQ;_2CMFaDY%(i31OlcWE!ywOGMLAz=(8J+1c2gMB%+WH&E-+ANx zv8#gGad=?wI0yk|$|ZF+c0yg#hNIwmYoWt|4j}SGlbrCsN5=0{SeF%7M)tq5>Ug;H zEnoRF?d$C#;HGR7Q1-RsC0=$WQ2qB&8$h?((GVy^tbpz37^p+i{Vi0cWzivtWS3o2 z@%@_4TKf-K01>Q(!g}RrW$zP7r}H79MXCHpXSPhs_b*Sm{?8Y5Y8om%Jj`OAOL3>{ zt|2Q~x4cz`%UG3p0#b;lTC{}kmCp||kofvxyDW*i74j%b+!lGNd5n-0dmyY=7@Vb} z|52U73`O7nqdHt1Ry0`2#84x4BK4!S7M<(;EJi8R-)2X&^H3tx5O~(tnKj-U>Su5$ zD&%T4>=>b#$Jl+nq#MKQC7ud!2=U!^R!O$ z0cW!moZrPrmyulGN$wg>(Q@V!W{dfw^L~06@l+n%mbxuPG5(a+ABvtOv&bFdws!Gg zYG?LJQpQV>#kb+WA_;Xd2N4@)UdgI7{opR?Y&b69UfMaT`w(UIYV&TZn&W_()n z?|8YbLrRfUpRcNneSRt$J^Y&>QNvKxot=To7?9hVGFFcQVR4fP`)$$ErbLK&Xz z&Fm>TFxq#bZj9n?uocWTJ;Pu3CCu! z@$d3@p{yTQMWfrC?A~cL6CmzyH-9vIzNu=1N>K!!Il=3+hO>hThAtS19JQIHk>&qV z{B7RB2fW*Y1?#jV`MKGH2MX$7GWY0q29nSOR|a42Omm@|bmwhl_l$7MU4{~)sKTTU ztF#gZRl_TtY5iMGR`xD+wMNHF*~7-p9F$uP$VOpF3~BH= zck$6MqjLf+asQ}GxG{`gv4l ztiew{a5U3tbR#c5ov=&z3PlUzlohd1-lpL_)S}_IVWeF2j3X@5EabMh(Q4*XI31%8 zaOA#VtG=L!;oYZh5Pnpm+cMwFsPm%Xm0)`&!-59!B}33_{zA&iSIF2+GP*%wS=~>z zRa4ZB-Ovq=53uI5#fhl=x&+R8>J)0dxF{d^>4Y<1-wc_VQ91{;AP&i8qby(>6JmPs z{x+BA^n5iNXM;`Qs{WfB^fRX#k}mHI<&n6u;yZVhlDMg5vegJPkM(rlhjSuo14O^C zBA+T%r$1mumsDR5`lSL@WGT<-omU>6H9`*B)CO;2+I7yeX*{DU=4 z6mE}&>Hd>%?}or%Z~-1zgF>V2?J&57+i@0u9m?0NV%+{N4Em;bVYoQZqBNIjH7$Er z-1DBH%+!tYdYM~%q`l)vpJ3X zP^9v+rBEdxq;{xixf;}pbXebpD0}#LqlWOVyoZP zs$kGSOaiC_UrH{z{_!tQze?zZbayZ^rRF{qUn{tsx(2epG1Hnb4o_G#hfi$Eu6%B9 zw`|}%xPFL%?hARmVD@6HleFh~*5nUkIYQ59&Uf;rKxBFhB||zD3J9<}C0lUCe^7@& zf2pq2tt;TAA+t6b0Za;Dyb1z>5f>Ph)&9BP+oiFDtY;uVh{LrdZ0$4a-EA-VMc}9O z#wTEJY3sNCfwpqTwQYe_>WScR5-DB^Q&*6ugQ=rQ*RDHB4#Y_w3aB+S!QV{L>~)%S zRQuIV(p{twncm#S%&Kj*0-T?V!|Ipsc10FDF;Am~qA-ij(xh9BSwFQMO>(Jm(Of1u?xnnX{zLV8RrrZ*J{RRzQ;WPXKorR4?4+uSTlr*&58GsEC z3{@kzPnB@+yVxLek<^X_gamTDC-01|RXG+^1l+5YF(#JSs=Zt*F)XFtY>1WHH<~uU zGA)Wr5ZVnEb#`D6Jz2{;^6NqRy#~;Uc z1-TqH)z|-I%=%UPCQldAVUaJB!JdX@{f1BKkdn%uvlIOFdhqXgy+FkJPk+K^1B}O$jP?`JKXYq050k!JCG4i$gKdSmj2@-w& ze^fPqbBPyxZ{vSTP`eaG(7c`9bYmygNKCP}pkgnWvV!@5wR$`mbxweDe#Wq@7ICSPCc0hjDd`X?4^iwz=9+@Ib_zbtFdxSmp#zL z{!3#OrTqo(K;|KHwc8CUdg=Z5Sp`4b*nsJkwOK}*O>m&fK9kAVz>7(xOpYG4{WpWL zjYrNYcX=8fRwrqN{Xog8jYn{sm&$gA--T0#pBZy#%1B*A0-q%7JSb`Mns;Vyp3$tI z!@{bapH4~EQAlH55|+>5!Q{S(388U8pBX>7#xk-DMVn7)SsgkObJ`MlkG|(!n@HA< zH6>*LyPm5WqiqDW{%#wir>Nodbn4~qe9h#tP9BNiZYD>HZ3BLW)y;;7v9oA6CV{n4 zsdwpm^l*ic0^Uttp;IA%Wi!H^<&WL+%L$vC1R7ZjevfsY*bha zm#Ay@KWX@Ijy&^LHreyS*}J|Xq;>eXC6jI^+(vo7BSl9J;m1+94g_nQFhmEqvn{#{ zd#*WYxO~<*9R@rloP%$yj318P?@5~VbD{2^&!&jUKS#AhIM>2l8)E8v68q)I_e}uq zENHuAdy*PXRtA^Oo*9}ys!yTz)G+#4Ipf&Tp0qpNBK8k77FKkdcuJ-EVH1Q(!u`ge zJV9GB_iybku7hX6x}XVT;db$4P=oWdfEkh&ccvc41JeC|Hrvzo;A8 z*4u|A;~|Z!R>t$Vxhd^diny%^=s;=$L){I0(}UGrwCo>h$a=~D=<-EG0&`>oKZVnl zTNLO2K!75@TT>iTmu;CmA4OA_X*tegD#nR4mLup_og;LhZGtq`OO4@0Pt~io@qv|L z@WUaV|BtpceIjV^5+7JD$~sCM8U#c$b;4Bj^u&(?)bZj)48PA`d+fFBRhtMg6OhfT z57fHwYBTD*4b(!;U9D~#2QzujH<45fE_|=%Jung8zjWzViA1YPNR4;I7k0a2FQf$E zjo1esvt4W`l#P|W)1|a;Wkd@RPZ>XbecO1ga6W3`9bJ4`PLlFY;+Ac&($&U5k6{w# z#$+~#Q|FQFVQX&`I}7N(#p?KxT31M1Z`@d3|*w;|ZH~ zrrPZvenj2J5)oPCEx@WwHk^sqGqXhH+QepA{^NVzKf$Fo$G2hjt@ZRkDzTp`j2-SO z;Kejg1BMjlvB@cRNNB5LU!zlw0fHZdfNnIAe5EkyzJxgSC{aR6a&$R``LS-bFBwrc zHRu0C$Yf1CwFJkp{|?Vt$j{6)^aN%|c-43V;-$Gio4qBJUO)zRpUbNtbrt z&xPFh6|5@?%}Ns_Ub^I@m`+Bz2UKybWuJ7yc@t*uk&!6NtuJMnoK7DHxb)YOCkb&% z09698%%1YQ$cM`9AF5a{wtZ}YbywR^pRG4Zdk!0=+%1Wx>n%=Zm}gV$GLSzR$Zz)a zIDqZrdR;Y=i6tjE0q+~xa)Z=OT4;ZE275gA6Rf{_CQbs z+uJS<-X*D7R9(a^lp!eIC53TGd6lqB2(JD!oP3O~Yqwk5BKc=~1NpF^Z`U`9YrX0G zax<9sR2;eUbz=FOnBcm{qVI#;%3pJ_(LW7PJ0myuDyt8F=htihcuvFRN&LAITjp+B z;f|5L!16MCGJDaS;(0{n7xCDfm> zCSTXdzc99Cy2uLS8D0W&Emok$yQ#=CX04^M9y)>ij?4F@RD(jvvBcyV{P;w=t=;_g=50~Mgf-Q6vCkmBy1;I74s6ZB2* z-~V|(o-gOx`|R0sX3eZw!!$N=enuli>7>b&S=HBQs4PL&aa{_fpxysqs&>X(GArP$~dFN4q@B|%U*GjWT;zXlNJP4$LKEE$>{kj9kX2OqC9ABa?jd3#km~b z=swr8TTtsdJ>2K6!Z=1MpR$8Z`eJ#Lz9%orB_(E%?hy7hU-GtR8@6e+W7jx{yRVCS z@W%+y$(}%l!cWcgL*DZTwp@Y4MdVnYJ5m3Eqa8Jb)wRF-jn<5Yc*Id#A1MxE!w49# z8_H@$*q3;n)y8frMx(sGH%W>4_0J<`zwxi??3s-?SKjm-Upquj*;LZE*Qfu+yCMkR z7dpP4_P8V`2mWoAm3)l5e8vTxR^q2&Qklsyg6zK73KJzO}W#s*i6eJRYly;PZ8q4P&jE8x(-` zf%;kR)79zwz@?9;#Wtj~^%R&JBEw*6?JskZNZI|_xuvMS@+#w3%gR2ERNw(Mf|;&Muqarrd7I@q|BVMb!!aR#Y;KaU5=2k^Ukm zK{avR4*&1HoG=womE^+x?Vo^3p5NmKXg_?Gj2{)YyY5QJ)D@)6^g6`JT3i;sD4)*k z+CGh+=f-DTeh`x^Q&$=>YZ*WPYv$MN^R`+3aqWYW@=7|-OkFjn+mk?Y+Lk4*j`Am` zyQ9L_AQS|So+tS)TPW2>75#s4?HGQwWnxFYE3ifuSf+9nt|a>4jmA$xoVb`$Rn>-K zsX^j{`zh&dM4X{U4eR{LN?rINh?EAp*N-Wcgix?Cq-T%lqjZN!0yyuSHZI&t`V*}K{I zt)Zhoc9oq`(8UGv8yWkbn~>GS@M1n&{qayzRwL;Iv|--uJxHgtz~HYzP|D6y3_mao zwMg{QJNs9B*xkYiQ8av^evO~`P-r7`O>Of)E439Fubn*7{2^mla`C;CS^Ae zJLvi5PfRb?Y}(L-{kdVFj;Bv{r)XWmFD&2)b@-F!CP;&CW%u+fmY*-Rc$ubR3we| zx*Op0xc>yX0ox-MQmG@s@9z)aatyyCgS_0U)&l>gTaot*^*0|nTyJ^clfgZ8vd3k2 zLY*sugJ-171vFaSS2^CYwr95m$5%=nw}}(RHf*r2@aOXmLq83g^+#&nx3~Drv`Uao zq}iR3et$F~TtZ|zG5)iQTgrb`v}anR@7w=ZMf=TUGE!D_azUt?)W5-<9nUFtdc3zk zuzBF5InmyjC}sA{^?0ziZ)Q;dV5-Kvw$~ z3QPxEUkPQ7Y8P$Luie8?Z;;hx%QjfxvU{yc^Qx@yg?L2J%zzdX48DxW=l&8uwj!w)uL6Gjx(@e~tzya#n46I#`9*gSk{v{AgwXI6r@ z_r~fIM=+5?$7lnS2^cA+mKQYs1REJhPbITny&VcCLXb3GGFH1W{wrvPMoF>%-%%_w zu5%PVm7~UI&)Yp4TdoT%jg)|xAGSSgU-jwJwT3}atk{+HdMDbh zrUhg^ag24`9IPkrN~1&)l_yEhw3526=z3|>-d`Nng8d)$^ixpg#5FlMLe{V(qB%OQ zL5f{h;cDx3r(9yNs8zzp#NMRUyFXE8MSHihCuDQ`;RQCN0}~tJv%}HOa9)-8h(4`G zyF%^OtF+mPtPKYi$N^MJ8cRY>i1zwDLbQdn9ElG+HXd+&xY(4n#NHEapIds{K1Zb3 zeyoJD7KFTpgTZ?;8kyb7JRA6|Iao$H;N1Dl{pO*yU4h~WBcIx-C(}4Nq&(YAGdqMA z(+kt(TgyMMbVzO;n39_GBw}|c5@R{ zk2YUGA^HbB8pDwHjThGMufe_^QkEzf{)PYiXH~+ol% z`_bVu&-47aGK%jm8x-zH;=glph+NQq9)gC7hJRb6(V5NfK-&4GDKo(mZETF+W&1Fl zw7nFHaX_H9PWI{RW$r^H*g~!5-!|JlFTiXNccYdwzR!H1P!qc`TLyh zQ(@ExpRQu*yE+MhTOA3NFaJW`^^u~WfH|^usED{)r<^0_$BrWb+-*w4a`Pks3dee< zJT}VzP6@FiSB!aN=yRP2o;SvYHL1_8bEWB5JMpKkorY>iOo$pqyLRIUlEyWK2L2-r zgLeS97aQZ*O0)A+L3@P5a!?OxKbSWrpSrhV)F)||^uzc6tf8G1!<+ePwds;Sp&_tD z^6t;0M$u1>@>r?%e<$P*{_nsNAEY+^?>1d)c3Km*l_O~=l0YpcUTGJSd^E{uN{e4~ zqz(@yUpR?!jK=A9Yjb4Em%WRd%@Vr-vN?6E1SRAPzCiig!&pzVFiGA~-G)Tr)moF8 z=l%uGuGUFu`2<^ZFdwC~-aTE@PYEAT{heK9XTKpbP&ilQ5`{@^gh>j^cY!+JXqM&f zYi_bH%{t$t->JabkrFn;Gq**Y$lb}-@b1TN$L|~`y#nlB%>8HRGXIe9TaRzm|DOIM zHyB_LW5fO;1bhG*K^hH$n87p{utb|jbmwxDF+EGmowAknjRQfGpD0S3wi!A-n~<-M zm#>{)UIesf95#~1eC*e1eb5B!^6J#on(eqBl}c@4X)%iEc*O9!k-h0nmhPjPa~4K* z_yHfymsqUuyES}I8p({pHNd$UHT0#ZJ64IS;IQZLtGNJYN7)oyx%ePZQ{rdZx{OqR ziyV9_`u}XTGf)~SyA)zSJ?`igG93BUGFPt|c)9|Lw`#kL(5ttp zd|PZ>urZL8_eF)LZ{~8aHJBxc5TqQL?`*GrFWZ%0zERg7wQAXb1L>I+n{6Mv}@3HU2i+26fK?M{<^(F;H8%4v_}vO9vGS1HEY-w;1Xm z-n$~hA7@K^s@h3KodSa|^o4OoxYClm^}nB|Pd7Qsis639x!hS41YPxc!h2o5z2vgxBIQ@sgBK&7}B0JW0y*J>q|O5=X65rciCtyb)T5N6^q`4{R21 z-cU`uI2`~KxWb-CDeVVs_n0!~mUZLpINeX!3_CC+hmlmFFilw-Z|5~M$zk+)QW$Iz zw+gyTLHuvzf1tSkQDq0p4V)lRT|wF_a{eMbzRG_t?4k`7g7rTaHunK3o9i<5 z!zoE@Kp+_}>Ul4qAi_5CFNeBO9;$#*zN(SGQuA0X6kF16o`gtPl3D8E%iz4h_d?Q$ z!ry$HaoVO1%5dG&QM9?np2R~%%VWmCaOc2Tr;cNhu#WudyV}EF4f*qtJrBObhW_0t z#xzLaIN0Lf%^u&aN`3r=&v~QNv>uz_8 zim$y)F42S?Ve`Tp(zTjRDnD|&c}$Vtu=ve?fpKxkDFL}1RUYJ^LM6Rk(a6_a{e5tp zd;?}yJZ4=yVAm&A+w-+bb!E#!UsX|s`{&J%mhSso0ro#nC-98>Z@}X`XJ!!l)}jhdTWQPAqmG+^F2W3ajb^jlg9cQ01|ZfQW4qSt z(b?j-3!a&eqRWXictQ4{G|n6~UyAF8?50cKWqx?7L!#xkbo*C{dDbydrR=n}SJ7RO00l=VL!(jj@G9Q$#27TE4pcyGZB(G<#6qmR87kIK{CN=g zAi)7UNH^Mh77d-qPnmdk-wEC8d)DiYZJK{r&iB2j)F)W1*CiGHz_9Xl*oehp`Y-=z zh0Y7wi?2&C#+cQc4uvJwc11d0JIJa~3YvnCx%Mw+0`Y5AKq*;5BsfJ0>JrtCELmpG zk!)8Sq^=#DDWNoU+403#$B?*cO84||Z0V`&JlGAGmWWPu733Nc-M_0J@_kS2_O!!B zGv<9xr%GOs_2@GG*>N~UcL=_*K1zWR=%c1nJK-xP08;_u4IFk#PGxEAc0(s1{pfiE zar$=amaiJ&JY29f$I$dI1UC8i&(5Jlz*RKVG*EY%9Go9CEncOpyks-6*6-<5PX2W* zQ0{A!qKcp`DGJ9Qp=E|GkB{0q%x}ROeY<02rKK*Zy8_O+8QPBc<6}TZhUgj3Y9Hib zi*SuY2{i7$@LBs=@SNSr#RRhiy5zx8I5`!;xV@vUTUc`Gu5N0{YuQ6a+5^H?I@w?i zL#1DWN-myJ=V<~ua^Xn;R`Ae#QmfIctO9fr>gI%!3dxB6(rS_~o?~_~%e2fsRzy8a#sWF>UzB^K3algO7}#*}T^#)4c^r z!?DfKUacDtQ^s({?rtvjen<5Ee4wj24as+|dU1rzxa^;Nl9DdDKc622%y;QW*0p*Z zI2X{h;zF}1V7KJ;Sr}BiTMI#t%fE)$F3hD8@=crIkN=}awEVjs$8q#8Z`n0FpKl$a(XQ5# zj%6#NtJ~hS`#v87uP*G)F&&2YfI=^yDH%;3d*384nz4@5$gr*)lxem2rY5zD$d+3L z48C%**XkJ(hVXd|?`mbvuK1Q7{%M2yO|-$x8ruQ1Y=gnFhQoc0m9W;O%BiD3i7JEl z1!(@yW?I+P)QL;|v)vVsjF=vEGE;JnPu>mM)>E26Xn(tViDkkec!iKyOoB*>kMzI2KEEq`^d(6tBrR- zl^WL277~D3-6{&q@ATC{&D>{8kAs7xtXa>h*@o)(9o@(T{3q%{}%}nqbQ$Ac)mcQ_Z7={!xE}lln#miQW?hoYk<*=1kjr z*-lE-65>#76@YGg^N6Lf7wZRz<7?b@+Q8P$FmL|UR;o@7XH5aiI(OuH)DJ}T%^~w! zAWwUc^MAaLqO6)vBk;Z0K-X#|l(ZZClIgkEfp2?^f+)KaYvMK;h9j3oeK2+#HTW3G z`^v^ZM=j^v;}E|mO5ad6wfnLvf*%b1CZ4@gNgl8OSomUBP+anj`T`uiRz4)~tlSLH zSlGgz%1wTLYZdQ;yk==w@}!rnR*{FpH26VQz*)UD%_kQ_QjjIQeI?FiN=hif9G&qJxAXqfXCOO-B#q;u4PH@kj^${8DK7)pU9uXE9;Cpj$7PgS<|V)?Vj z8l5?Eq|ap+^&k#rNuDrv!_@uxx<6DW{0)Y(jJ?*^AJD_g zmGfaz5A>MDQ=$%Sxj7?$p*Bn=GLkG>!+Ir%{%fs)Y}d5m$BSh? z_tzkcs#K?-VjuOQuLi#kxcNOWwDb+~%Dy2KqP7C+-0Di4$#&DQhHZXrLmYXVe}%!j z-u|LQsRD$@)s)~8>@cs@%1-6c?7p0(coCYu)6&eG??JZHXcsxgx{Haj^QD2N+F`mQ zOA(7gfwNefOJ2)qpKBi_=xO%oyed-aKT>4t;gxW8&Ah@JecZ?M%#rpS7`GQS{JOiH z9KRZ5DpHd5h)!H59FdG%FeV%VP%a#=@dbrW+T}gyjvOISDtsEs8Dgm5%#Iidb$ErQLH@c}v^eTm zuTN6GuD9Ll`!oHETzxN1ar6woylc*4WSMO( zrkq)3phO~G`a_tftD8E!T}4>b7=r3EU!blB(JB^`J6u0~Rv1Hz%pIbJZDcA2#Iar< z@>jqHI7EvJt0b!QqC6**Xd=x-dU|=(Caz8FX?2J9=aqY+#HDDlL^M)4SEJaUsOUQ8 zlQ8eLhXQS9!zY+qaBbN<3u#r5>GDWZu1P(u(J@IY*cB?ka*KIQ)t`SMefQX1i3TVj ziO#=4K|&$ZIKe#ClW;Pb)HMj?D$Nq^&nVZws85bQ(iwiAchBTZwJl?692{Yz{W!0xf-&ag14sQUfoc19}qu%;- zEXie77rrnqc3cJaAAp#6&TgSh;j)W$Q_^pX#v=XZjKxA%Jf-rdliw|!+e!t%s+vcu z_mP_D#86#lRoKBo9sai=6=JHy&~1~$>qW;?7gEj>Nyw=LaR|>G87=);XP_JXtLBrf z{j}$6{6v%-1_ftH4K__h!77qbD?iBLobh-12%TcnpboZ07&ec&pfY{;=Y7HYMP39s z801`rk<6-wZ^D9Amu=Fz*Ju-5@L9lP&71>MWLEQX~6r=<17eqTg=H0dUTAm zx@!BNg))3F7>2cFx$YjtqILHR4~L}>l%iKZ!^8~>*Z?o~9=F~W*P>gjTgjmeAQP!| ze*gC1kZV;SvP9hD2J^TjC})#{M$bqQ z4CV;b_o47v7}%(ofKqub&udi!eg_HTGIBV1c^3H^X|R65F$gVkZOxHaHs)JHWs0OL z$Ed%#iB~B~L8T^YkQR3T4ydCE5lb_W>G8+UlXe>@d6aAanXz@Yg-6_Ip$R(K|CD(* zWV`zl$3!bxN}A7N+57697@FGP>J`SPJ58%yH1=9 zzck4M9&{YA&xFxI-JbYCp7#3z)Z6#2LyM|#87jeM`GeLrX0Et-A{MG|we zpwV54S#;fsSHfp2M~ye$yZr$r*cSxgGt0sU;l6MI`-^2=_Uvwgk#|8xI+~ceJ_2w@ z=x=!m{_=jCzw>8yv+<|R@ntf|Bkhm>`IvQ{e__Z(%=^E$vud5zvz}U}&xbYnf=jQL zjGp#=oH(L(QYoDMEDIhU9j4<`vQIm}+xspvJ&pSv;D|JtWo`VCM#cKeyl?l03CIm( zcCUvm$USMqA0$s#-O!ooE}*2a44jsG@;hv^uHZYY@N#D2wQoBkz~7M1J3(yCtn3U~ zfw7C!UHIMfVOLZr1>()e6AB7Q3Og3I>q11fP~E-wWJQgd9QNfB?31S!@qi@F+c*-t zS2K&Rz7$%{oeVpm{SE%TG<#JJtba#eSFKbCFe_xm$8I}fz7joOIef+r3)<{smo9S%XcuL6d`cQu}B%t+$snWd*`QR2r9G&Y}yz7P@vn_StP7Ht~YV zWwPn%wEeAEZQiqjeE8U{^|s}bGOr=Pm*ur>q#p4IxLn7UWm<)fv$ZhDIv`q99gn>Y z_f;`}SllNS-2DW|2xPqm9pZ3)fsvfVA|j&cc#o;wlGQ?O3Nzq4x^yzE(;^c$Ec#6< zSsCTX_t4A3ciCG<7R0|8Q^GzMH*f-rxPPj&65T@q?0OvR5{@tU_>?g<q5pEk*u? z8*dk0gJ%%6Xl^#inF*Sc2520&$?`?W%$KsNb#)#K<9~@4kWiZCw_=ISN=IY@7ca*T z!xDhZ$y+ttZ)Hc=Q)W2SI=)A_XpnmPro>JX|B>0y3&6;4yIqTBY<9}8Jy62?>1sNS z$7LmV0DMiIuOPr5YP+&k&jT~P&4Qu=*nvbMb(~)l<_?mLp%vB?>Q}Y0!{6AOQ_(IM z$V+s9L^>DzU|4E%&QGCw45ndB1;4E4=+I2{ix+OTFMkWg#Q37J=LB7;7X{AgV9vhe zX(yHmb6m_BN;WPca4RYgxF;kPGW(GPdWf|PXHHP047p0h@OadN)JK>EF{BA9=^;BaxYtr?Sn-m+TQ*pOX{}f!Uh;A}uwUiW17_ z0ZeI^1x6ikjC01C%3?Ze-FpzdTs={u;{jDE23}?}>k8`Y5{%kz$IDWn$))m0 zwxM}+Vo;RpH>!1*k57s-WCp*`Ci)<>Ki6O}Z=nCUTkd<>)xk8LMi)KAN(t*#AatX? z_~4<;=0>a4FDl7IX6TpYR}(_%`$Ld4g^-Kl7?oHVW7c*fT=igPNR_4CGm`sI&?iQy zYmp!{%EY3K+N@re3_>oZ-J>EXyAlJ!vflgcip<31XO3`OlPSnZRIn6^u9?P22gU#@>ux{4m5cQZ?NBqIm=ZEqbZw5tUn^`l~F%ymM?BjsRLyJD#0z1bnEcjBKt?+upWQO06 zazMM&WJoCo%A&%~f|D;_`)6JbWjW%viObV14k;ghW~Jj1f>)`Q5Jqank#q zPq6S6lO^(~E)&(qi&F?8u#GVG$K5;k0<_G#fGY7H4EY3Mj-QLKI9f}hi(2#IG@!XA zvlHzn+7M##kV208Qea<@p6cQE`%?`xkqO;-@PU9+;FZv=jpg%qQ_1-=rz+_a|4 zwFxSc>!OeInd2ubI$P{bT5UHHFGP5HH{Mr%^h{z{afifxk^q+IR{BQF>-R*7$flyi z3QB!sRtM&idPYk4oCy(deD0+Ydqov|Nl<*0`7L%EQ6C}b-??5g$%kG4jYO(2Y?Yj$ zXwolNs~Rh->^{-sxmphR@%#F;ID;@Kxg-*7Tr0yu#Fl^B!`odQDflE4DSGn4vH>*) zQ$M?0>cau3&3(iJpux2hDe^h=5knFqh&X_#GszW@&QQNTbswX_s6lVXd3<-NK9MU8 zTRs}<%1Gokn$t+m+xY}E(griXuR?q0me&9HXK$WYda>KiKtC46no$?1bF0$sh8KOOFTJMDqak+Wxnd^edkE zc1h!Oht+o`lN|#&D~WTz32@0@5yTCo`M3eAJ;Cu`M#*_Uq8r?aKuCmfdxwH3Kl}CX z#}Q=(sdwnOq&)aT9TzVTz$btfu<(uA8!}(i@+4cj3&T8&A$6P*6$P`Sz>Vipc+Q53 z@U#@#5aas%`?1y=b|4LPs`8_fm~*3g{@eGC$IxqjR>P3R;}5ccC08a1q(AMihDs@O z%+kdic-M2f%sbUNhY|P71mEVC+wbxxrxlKl_M4$zfvP4Yvb|9)bjjrx=HQAvJvO!P zBeDVDcZu~jpihw?9ppj-3LlvOy)*J;h)~KPj?LPg-!@B@~ui?r=o|>35e*&U%C_t;d$!`5b%;w%4Xk6~c>u zaR?y*lvPS|WV-KA!Uz?a&~;`)yoapVeBnZ4pmVAB9|Rb~Hx`;F03MWr8jd26z9Msi zbRY}FbHhK8FsX!ee~&Q#dKPKVs6abmryRr2ne#vXVP`QSlMhdLiD0qk1O@!<_*rgD zbHXSUP{0wlr4q3<_v`$4Hc+WUm1C@IUkBE~kEt4nb>iiL@mbYW2bWAy8xmPfuIZr>o@bjnTumUS&RCpr%7iiUb-KmHsrBOEFgsC@k1 zFz!v+&yN^>K~Z74)*-o2LbiasU{8dvBm=Coi6vb23Aa+sE)#x}ej|FoOYZ*EH*B+p z)ZeJ}`pG3-+~-IfVm@UwSJ#5oe1tu`;D;Q(WPlD*Cp}OMF8cu7&u=-^dWA~_<9vfe z)mMItB^V#iDfHF*%$E&xU^*7KY1)~H+nGX0>e735;J&^Qq!`rlj?ttaeyCjuO;e1o zH(BH*AV_9vaSn{U-=BcmuRQ`RYOZ9~*u5X50HyY^IAy@sfKq88DV92Wf$kWsG!Zh` z{9!_dh^BgoOx3G<`#(1mnpV-P1p=iCD2ku(^&y`}vi+1sRs+!g5-9$33UEKVdRC*@ zN&PgNU`zLS_r1kQUB7@#Z5U{E?@8)=q-)o*_7zGJ^k#P!P|YlPs7i5HjL~RT#TF<*GlQ~@rL)XMqaDk zp|GKwG3su=iuV>;hXb#bezh$Lo_o4OsCnX|Yg|dPIpb)M>7s<@{GJ(I$f{{(z3Xa8 zdxYjMRy)<lK74EZKe!E_Oh#QVb zr6t#HbWKd^xQx?Q2}l>Jjwq!o@)(ugOZ@?zoT?|IUo1)o#MD;eHsPZl9XbU1=f(!h z;)kl^E!E3aJ>NZRi3heX)^SNYYrF=eim8eM-%4&TYB@4@{1qM_3R=lCll{r?rQ}(}i0fgfd8vVrNb4Kz3eK#No^7wp@jV!y8Dr zxRvy-B3KgF&y4_A%YRL!>F(4{$jq2@xC#6L^JWPB@=W@M#?qi`_oIEJ*k0)Hn)SOl zqoA<}3G0zp1ovV4&UmL3iKf`)-?N-M&$zRa2JmlXhLowSfGCn92ij_mqCK z5$>6O{-BI8do+c)(TpP1lV-(q{>0KI;nG;5CoR8+ZH<05&wAp%rH(7&X=WoViVoHL0_LH8HnfH zrx68Vg?xk)D}1}v;%-k_|2zw4T?mX@<#5)weXPEGXdvJa6BUc>Qw~&#w!XxS zuCZ}A+zCFL5#kWtha%r~w_-{hA``|te*Tgd6}s^^^0h>l_K2PJyS5Q(dEx$9eDpD& z^VbP_q14mG&xK4kE5Ej-a%*D+1yAVT#|W!26c8NDvd+mjJ_7BFRXq8rg_Q)=@YtV( za1~onR*7X~d9~gqbW$jJ{KCi%{OJ6&g>}RQD_KZ66W$z1X7sxKa-_>PnNSYuQ#rs0 zUWh&R_~SzAIV@CiXHrd0AXN33A^THm#v7O@sCQa@t*OsX&H>FQ ze+a)h-ura_`*&Vt*S8Bh<6r!jOFsw40=R5&TBJ(ED_gJ7#y|nw4R$pyeBMneZChOl z7%%EAs2!M<{uLli+Fm72G|yb2J$5);8_=2DqEYzZhN3?Ja!Rbr*4}d1@XWLKU6ieeig=p4Wfpd({|#vBzjFn@Oodv>Fvby!j1AGyQZGOlRV zFO=p`r_06@I;3Ni|IpU2i5@RwB3{kZrR7+y3*@_!Z3E4Xg*nexfPKL3n`+wj&7n z!0Xam z;utK^wMKqPlRtDUH+Ah`u zFwCRbxxPeTwQVQc3G@dQ=z&9Hvwd&Y66$R8KMFb?4rV{AA7e{&e?_7{ww=+#%|T>1 zJvRbwZ2J5(xwtW@P?g6AcJ=vjP0$2VUWb&^O8=etfn0P)!YvZ6pa26K=g)y2-4X+Y zi4=PZ%4)vzo}f!;Ezw3_-?5u$#f`nuWC1_AM;W!9%rVPavY}Vk&*jS7zMt-jRS^SN zB57q9r6Ed9u+eO=Pf*{8nhQtOud>6ND43~^Vfh!Vb=GU_a3i#s-*D3U^?a2N2=3w& zg=AR^+5J@N>3-_klLQQjN}y-e;@MnvHiu{26x21@D54g0O6B1ZithjLbrrtEr`O~C z5@r4bbd9>0K9-3isp9@Xdu@I}Rz!n>Kk0Ev6t7is@1GhX-cJ#USa73lc=X@)9%Q)cK(Qsv7 z#G@$)GtR_;2I^5EXgTv{VIyQp}3J`brrfl6> zg3G9HM~M4VX7;%14qV{&?(Ewk`v)ZR>kmJN%x^5{*F(6RA-7ipa?=#VG|}cLWf&oR zv_HlYWQaw$id=CuRj#a{-qlPO%i+x6h*CU$BP{p|U)IaO4J)?RtE#k{2Lu;nOwHL- zFjORe*HPnvejO`L(qXLj^B7vM9VVCKRLC~ANC8Yi0BZ6QVs*?64!n>BgS^tp1PGYS zd%tAfdZ85fcFUv>uey%4W(wzrnaCxEX8Zj@dlx8Nd=Z=Nq5I@;r_lKz8-rXb=es|4 zSPA4ReoOcJv`9J@*EVqd>0<)^fnjF>fpbUUbqTGkn?6g`&50eKe}dkrxB|K7;SQ9j zr=%+`IgO}zpG7v@1 z7AH1G`4^@u16ny@+1`?x6ixDpC9h@FXoVlgLqE4RqF0(=<(wf=p_Y0w4YY)EDa(xj z{~l=i9#RJC6jU3)FXw(GKdLtqv)yENCCy5Fb^0~2?+0KwU3tWIT+pa^;JQEfGXg5E z07?Iu=5q9Xpl*9nm-?MI7fD0@0b?H>s`1wTgRfb07$JKn4mVnuJ_H7Mb0)9Xz@T#~ zVlF+FY!@+}Rm5avZT0klplgugW^M^aK|n0h#cZHi1}S+|?zqRI-jnP&t^7q~93nHj zLChp~_0yk~Bc4GiZ(5tjxxwgpMHL7^W1@SHJCGUp>+W43?x^W6!ZnXJ!q&Suvl8@v z-z(VsYYw0)be{$~;nmML3%06A#^*Fh=VBMeiPFNe>#Dh8xmw&wF0mNmev{m&wWc{S znKKiM=D7MbO-MV@*PFgS5(F6`{1eF%So&wPugqpn`W_i@8sF?c({2m#+Im*F`m1%mwDkN^f& z>W5wQIm2M&S?VzoDp_N0$pe_N@yE5yDuaH-rAMsU`A=0}a8=czhk`uO?Y%aeOLf-^ zp}hB5hgyaQnb+RLTU-e3$8B=}V_f7(GG#_)rT*Cwp6^Awh*soB1Iy?Y_iM)+7Q7Z~ z#h^7@lmfsv7PVJLVZ*CPOp?P;c#^~|c7W>~rV4YjY}M-BDr}C)?=K^VxlU4~!vvi< z7r5h)UfJg_#ZH>9c+i#NoWaCmZhkzdB11qvm_^&Hs)kg0YYS=zHKH%rap2R#;-9m) z2>zr^RJQ#ql=tdM1gK38e5Q?>$|8E^NBw5`C%-%}7d9bUp@*e7D5K|A<;Jc}lujG- z=X#cGl1IHu*sRd5dOyiBG>2*m-*#eN8L-QyTZa7vO5_LeN^@zYGZ_5E^AI~`eVkqbn{Jod|e^RYwHXf|$xKa0=AoAJJ z{+8GK{oh9~nHciI1*4Pz@yM}yx>Pp4wo@jDcOj}{1I9smzRB`4VV!C|&klxrBg&se z+8RjfY~}pe9DS#Yu4+0bCi`)VXTq#SelNiK9@@xUoimzH zVK~znVojN_IMq@Sjc8HuyFLC`h5j0EZuasTx5HNBlNrdxVadXzynnpk1DF0b_2tDL zEZyeoeS>G;a-1K>0>S8sjyAXgm!Z zpVRJI;uOdqq9Q$CK6uoSZYBgjc_EH> zp!Fxgf>!AZ187 zX$f5zw%tsiYc-W>#h$czbQ1v7{37Tij(+D}3%p8f6Mgfr7cGI4zl)}DMMd;xOFvct zi#|4so1h+Nt4B_|Hi_$vo2}=fQg^Mx4!7ebepTYB3J_QE7aK9M#QB{*)HeH7XR)az za&IN*5~SR+r)_$obKFmn<02uKSECa+FN9(*7Mg0Qb4q;C)e_jGWna{m|H8ARKLgZ` zM&n_+WshPfrWrfwp#B!vOkySHT7FS21|#)oKACs2MZt6QJpBMTpkNv4RHWJY)r$vI zA3MUnf)+~j{xu-!?_aV(P;^Tea3hCC4XiU(BpC^r>nZn{L{7*>MBGl=QNQ??*`?Z} zQTluf$#SEJ@GZ1jJtuPLZVMqaQtBDB?p3X#Dpj;e``&nkMdiC6 zCtGs8y`LdMfk=zaB$`XN3^9;qBW`FA@@&9zBk8UABSxDGJQ{*(yYhampSmP3@@a^} zAiEqDz$eIzJQ@E}+n%s5a#N0snqK;6p{408(awSReo-9DzVWqONk+5a(5RLJJBS?e;%;RD zx&Fw_;%zVv^Rbl<_pjch1s$bXEhcT*3sJ*?KheOf#Sg4(tCymQ|#ukT@`C{CMmeK0clS=5OJcXpCPug&)+w%;^toYs& zPD~5kr{WhLe+8-i68UFm3}^N(tJlSIIx7|a(f0dR%aDkyUQRw8*|^-_i{kVI%qdu( zIpEgsO}IJLUecbMH2QO7)NvAJd3sp>b)=W`~s7)~Q#E6W?D5)>R;WgibqJx8$4GD!z+ zvJU2txkaRk#MPrxZv33vBD)sEpw3W=tII|0-<_xWACVddcii7asb;&bPy!)lOyMkV z5@=#Itsja0&Z|_tuIuD08m7dx8cZjVZ{~E=7yQNCtLRU(=3i{izNIf;N6EK=&h+ZuPkIdy@$fP@@m_wB6g0`I>D4|YyBdysC^(S2iL({sc+qni@(lQ_-aydZZ+qKnia~XDRBB( z?jhJT1*xE{Sar%?z!3X;3+by;Q{k&h$qyI@N8RJQ9-6jGIl*3Q1wQk(bu(E90Eu#a zPavONCLgD!3Nto7zskVGU}sECS#_gU?h$S$LG?~pg@2|m4AV}0!>=-$5CLb~NhHJC zGhS19l%NzGyjtEAORrI2_r;GT?wRBs7JFt^k_z)jWa$MGzhRlRM z*?CM(rCfBA15F_kJ!MP_4L6{iGC&cX>O>NZRJlrMOh35}h}H!a0zLe~_SW8;QFW(L`LF0Z;-aT4TIkBv@}H zjIJo{_p@KD#tEfiX?FPRqBFn15sW@d!;G=2%M(g_+Z2R+gUXE0N z5Z4BOD7z5|GnX%2?A&;;%J852>ROwU9`hdU1;6=@HW!&DI3-@MnmT^@H*l;}8p$&c z>mC(th~Z>H5D;W`xlmxC(FJ5la$)TGKv1Dy*d19exZ)LFW}_pgTiPwF4@+yNk9N^{ zLGJs`wf_1}B0lB=8@BL!;ws7qIL4TtN9`h~z&yP@GATaK;ARS;%`Bv25%XORMSf_B zggNIlT8m#%|4*Ty7oiCWO6d{xd)cY>HPNAwWfmizVchaETa&NTofQ$ZG~>-IA?!Oy zd8L}T-D51X3R@wnShRS0j}d57@zeQH$0w)5IrVm9&Z9`?ulMZ#^|W*~9!ugbTKA%q|KZgXqU&HW`{GlyWDdCIGyCuIV156Qi6l)Y z4LXEMLWPlORF;ZXqCJoNSo;H~{P?(W&elRMiO<7O@Adf?lUE*BBanwNK5+WT5?mjt zpZH$Y%6(e==?8fI zidH9x#`~Rp0f1Bk;xl*G%?OwGdBRo8gd(VpVkLb+@Y}<_m6>v#yd`eTRC& zdB^d=qciKiTa(HXZtsK&UZ_ZQ`8`D6EM<0l`vvI~t*z(ZdB-V9IrM*hbeFR*P8S6{Yu}lOOY+w>8vSFDXK?b zS8la{Qm*TAjhC5oZK=v z46SM;Q$%RgA*4OS^94hs|Ou*sr3lMNx608DC<#UQRvA!<+J0DWZ zF~?bx#LM0r`WB!h7A>eKCYxjG04W=DXq;HK6e<-*2IgR(1kD7$&qo^sv^8Ec(zM4~ zLj#Xh9Fw;QJjrE3cz*mnPpRqQL(p=-n;&L|JKlLs-@~^Q$>gy6AO5V~=b=u$Mz!nrrh zjl-Bm@!r)A7&lznE5B-pj&}jlcOQ4WMqL3Qg?GW9AH7Fgm#re%M2))P7PZDq$Dw|_ zQLQTPCP<79O@^*oEQ2aw{5u#GkE}=iFLEDL^IXTr9xvXy6B3CqRKaO@-YYQ~AkK6_g0HkhIhjGWyk62rY zQRVs#n)l&*XdC??A0+O^YiVuDl&5TwER0)C_pt%vaX5o(5i&?S+V_y_?nG|Ei=KNh zJc~OvYZWGlX|ujpNp8N=V75WjWN{PYOUO?to^-=nr|1a0{q;WXR5-Kn2J9iJ`2yDHh;BT-5em5l$1f&k)Pi%(v5i`GhX1x_fBOPb3?YbK-hFJm;06Rb>x`}X=C*5boxD&D@LV(K%3Ia-)ISDd zdEktm3}jRQ06+jqL_t(Nu`kWu!V32FuVS*h8hG*Q{xTX z8+dLY9q*amk?q&lelpkfCa62m$t3Z*L=0%M?+~_6x|T}dIkxZO*@S_!Hki6|q-TR% zs0qWIchBU4z_eiT1NYb&dy40l*8?K$*kaiI-jm%4@5fDI znCNd^t&b*MqO1*@)sTt)QP=%V?GV8Cev5kd1$PhJ5^&$#4?*%0&3Wiv<-%>`r$HZk z{Vj?e4|fr&@MdymK&1)9AtqS5T7?K^mB}VtnDCfMX9xfcKOP_jY3UL??!*8{bv*BK z9d zPg!=Z2S`0^8d9yO)FzmxYCh&Kn|}C8k*u-~yXH2v#>1H9!&ZF*^`AvlCcyB(Y*?Y0 zlW$fYz<5Y2JOf^Qjgm%B#H`1-p)d!4*fj)gl3FH;wdDx2@H+-19a)^N5ze{i-XOP7pr#gc~QKO*_iR`l&#f1$s(OSvdmo z)iUXJAeEILJXj?&r)uimH^B3Q$sQ(?e|+?5#W~Io^29CH%q=w_Jbp`6^4(|pbjm|$ zoaHJK_wj#t;$?Vp%&oNtd-q*jDw@evG=S8& zo9=KXdsbvM`FUFQ_G?=F@!y?RLK47F4U?|gC?;}v&Wvr;!U4z~I(7uOuGC627R~!+ z4jfX)Pp$)`0DTRR%6#`VO?w_diiu>mGybIBX8}~BtzZDEH}YBUQU^$(HMx#$jLh(q49aJTAAL4U>UOeD;99mSy^X8|+Fh>OrL}EO)mR3#qnTd`~ zJ&VF))fTei-p7tdzDd*UM<)YFtyXAM1C71$R<)eS;tgZD1CY_8AS2cs34Q>nb(;Iw zecCzyXJwJ_g)bT)WxQW?a)gU#af2aP0#;+ZVAaBr`_qQ&15!3142ML&!zt&wh=I`t zs6;h6J1}X#Pnpv`N5i?6cAB8ZIQ*zZ%f|p zxFowk^lhec`Cq*csX6>`5PY{8I%Y3G>YMv+lW)!}#;`EOH*ccG?Yqezg*lu(hqe?7 z`M8CNrOWmGD=#Z|`C?3as}+XHEYTDh z7o)1!cr|E~qLlU>)T&J@6(O%I`C*1~iYfuLCTiIAcQJ0FAw~RJoR28f%x&Rpgaa>c z)e>z$6Fe_%GoFHr(Z%x0*GEC*(Y8%b-nvU^P!H7zg8 zt!WD}uDD>}nsw+l!7>=h#dYs)d#;=3te3w)S-1=Jew=Az9e@-7>g;)DrnblA(R<51 zZ(1(_+vOdcx`XZ4mA%W1TLHC`{}@dB$%1J>1;W1HZTEQxIPnN8aQh1co)yS*;JlZr z7s2)e$KKWhoowIAGtAz5cQ9euE6cqmthNdT_)xWliTfRY(T=qn6@wsu__cQ`&ka`GQph#zXa;qkZem*WE20I67&0!)AZ;2oIht%J~1 zYK-~Y(7)WMh?Gt|#sIBAEoM4hjz+~>uWHU)uc#W+pm2B}PJS3t^A>F!&Qp!)!n|i5 z(q>jNLt>&d5Mi?G$!GE$bI0!0cT3HZtgS9q(d=oO^~hvMlCu=qrK858Z4o{2NI*A) z*1}vB@h(+N=#$!XazbYaf~AF8%nNGrvsAfsftG*xmI~Lc(M~43zU04ncb6 zTQ6zm(+{~WAqj7H!>|1-rZ}EvQy?#{{V)Nrtoh4ISiMbSpLR$a3r*k;chnWj=IgsV zu2x<~Hk03Qjhgf~wLgXalH2?Uz1Abx#5mku3PRS5w_ntZS6)KGk*;dRbj#qbZOA;pLg5>9*rq@4Mv)n{rD z1igl;h5#7ZYQF)ax$nH9&jF+&7z>Tmd;;~(NX?BmYUk&lY1XUH$e+1|p{G`DyLC~U zBZjF#x1NehT(Gj-^n@wjD^LTeDt z49H%|-U07-I79Gl-l*!08ANwQT^A@v3$70|UK{?2(mZ{%bqUb%Xae#YTL!HUJo#(e2d&SY;O$r6W8Q-8?!9vJ-n zJ(mDg$OY^7{~18a;#*BM-6R`_7eC3E{_UrZY`ifh-6QXvg6G&oR&vcWjYeUSsnbp# zrNX)~&yB(K8P-RbH#sLG)WFH~wx+=|S6NcE7a&!Q2GjQdQkAo3s(`+z``F`j*wr^M zrX`|jWDuDJ(&JgRhAfeu<5jeDkxPvpBE(R2@?4dcs(Cm)*!JTLM|d6{AE%CkhrvtL zM=^}I;jP-z{^5p;i*+Ww1pwUNzw&~LG3oD!^N(ThT7}_t&}arC&8*#DN;|an3Tqwa z$TetOSEE^7wq?CC*DhDas--M6VQx%5%FAn%Ltl3G{g0_Z&qI{=({#s$Ba!V| z;{@eK#@K=6-Q*P0&*D|k6gBUFj+>5S*Pq&AfSKtV-yQ&WH9(hhSzu)y2=+mPAy@*x z;}Qr0QU~G3w}HfjPuqGNQYLx*=OHkR*f8M&9lRT~5UqA&8}&O?>ufo$+pxm`grI1v zIdgBhO50Ygbjcif(|u}l+SzVG>C&l}hW9QERyIi0JMU$n-tX>*1kU}#iNJ-uwgIj! zJL#Uqb}vB2lBpl+=fMr0^-t7`XhN!mdVrI6;un4`x}|5qUexXK6S&`9w`+BO7B3L^ z4#p2+W>l_>EUxXle_kX?&ra+z zosS?K>(t<9K5&aF@$?mj+Wxp(C#%s!G$yG})I^?T#x|ZYVD*k|T7p~qjS!BTyY-Ns zkeWaIqMIm#%DBE|{xc718yXo^OaPnV+IjS4kR;=AjK<`em1#3tzgSb0sdcYC2_Mbd zszLjy@z9|fdDYEKP7hJ~kJI$?+b?Jbd1}zEo6fuGHfMsk=L=eI$e+Jl1@FABg_r(x~G!8uDr5#jsphS`6d>QuF~CTeJ)i zVbiQ1REd)|Ngg;v!!TKm z?A(n{Utb2WKHX{!ld;?^?b@D>*-A7E4UOSqN~TSs9SE?K{m#q!g1QvN1S@{nSWPew zTCLhR&ZwnNOwrnJK2{7`4h;Zuhh2WHqVRm>04*DYObf_OG|_JO@mo!M`axBtr76z< zsr#Q-^CO11vBM9kc_zTu^cNlnBdbw!v>A`O;s!JcJG!>-0a7fUSlvZKqk3DKX5BSO zyOu7JuPLPF=U!B2nuIxC)^_FPfXPxW z?IVZxHZ$9#F%wm>bgn+Q{$kZ&iWq~*(BMn1Q|seTWg=D6D-^S#w#S~V;dmQ$TBY3U2Xrz(iW1_TFwdRMB=^}z zRIz!Tb~0K0(+h6`Tn}`l?-aHMdOB{!k9oN^8 zvX*XtW?o-Qdt3GFquPKc)?!TcBHFaqX-~Z9wq8xMT3HwDVLYS;ry?ckX^MbA9N|yV z05qXkHW;5<{@3q1K&k@pr;VBH8L4@4G8#y`oU@P&`0R=?V{3_LywP_-o(?aY*M{o% zN8a3?zu>`pu1QeV^s_P3Z9!7jI=nV+ zZ)uJcHoWw>mVEp^oR>A~fXUvl>(T6N(wsiPuhNW-sw&D-ab>uYQ_#MK4j_ba)84bz z92LNMXWlkHO>DU$SR=u;d&UR@d6_Xz~|T>}TfZLkD>Mu$2Uk+bw#D}5!~|8FsL+772FdW6QhQ>KW@^r ziCfk4iiHc-J6fk{JM{Z*mkFJD(<#p@P;u@q`5-*3HQ)rh>qxv%HHKg`vJoA=Q!S}0r`%kvp3U3_rUsNon^q@;TJ*xe6el7w9ZzCs<9ET;QjLP8dk{) zvDt>l@T>$TmNDcplxI6h(XEd109*QGK=dP27h@h!SyrKFG%FI4Y$AvUAJWNUK=tuG z>^Tvvlq8}7(Wprig~i2@cN4e~F37L*I7l4#VR)z7%1RaRtqLJ+te_lBd&}-m;C}mN zvE(ZhZ4j6*cvX90o5r)xu2})O;;_@0S{3Ez^H+e1b(yM|v_!)l5Y?!G5)kea6BDU3 z2+Ta&ChQi>V^B?DJ{nT%Sn>L+iZZhl6PKu7tV*|mo2L}uA+}Lt#ZVqrhJo@7PI_JO z9ne3u5FVG{MQ6^dPpfig4jKg^>UsM4>U;LZOuUlayE!Zc@&+UP%%1tJetzXSm2XT{ z1#XRvw7lQ>9v@6i;ZDtc^gb>B%xC|s1UZBxI}s=q&rH@Yme95B!6)(Z`(SMgwnpi5gc!F=IU4=NMB zGt&kt!may|3;&|d@G*sAmSD}m+J%} zrM|!SS{35S&ld&{%%oe@=|srRF)65YY1A0?D{Zq#>;C?-HleY#tGGh3UHj<72OlFp zDQIS_*AMsoO}R^EDHM~3NWi7xm?}2ygLVk*m!5z$Xy+7S)wWd4di)`!L#!N&7FHBq z^hP1<#vIbexwPN*##5U0+Ve_4$j)orQo}F59dm?n67Al49-Bt^@jjUT?dR}gJc(ew zQkTQ)E>r;YllfpXK0(HnHh-K5i&<_B%6nD_46ZnD;-Yj2H2YcU>kSsTl;-gy<1z55iym=!m4tj3`s z711hLJ~-tTJanISESjw{o_WZbXKTQXchInG3}6Dw1dpj9&%iVX?^o;IeOXK2dsQ)o zCCbIi-U$!91Ryn(M-Y$plZltT9|5GoaKBZB`Ot_kER5@J~#Pw#@AVEEmafQ?^)`fTmk z1Ei>N>6;-nH$Z9=?eHG~DXX)Q21ud#Sn$=ynhOt74t28xPPbuKT&G@VoQ2#O%h+ah z(~}z!$LUilwHikx^FDr8v5YSv)aByeMVaQl{*q>W`GuOGMb)rlcO8Gu zd1yX2({}Q^;Ms>&T~Mg#wkaA1xEnKY80BD$i{z1hBno*o3>mxJ8ND&D$EIkiz5gBf18QSeJ*u4^s}EEv26yazZvOJCl8vqHCL zsDS*8`19pz|A%t{w6|#K<9|~+oRgK@)9#oPb@-(?RcO(U4}`~ z27{7u9%QhRxOnQ9Osw*C#E7Gm(xmE1%Cw6?fi?+EWjVb5behd zAuJL-3`~wP7A(;ARg}->P0C>P*x;Q=R%XmpEvZdwwd6S+4jZ6YxAM%|EqQhP5=;sz zGc%m0u=Mro)V6&G^&dG}#gy~%h4Zy#?J6`)Sd|8NGIIAO$*t73dvEm|G?Ym|cPyJs z?U(oF+woAgte$S!qz&`tk)KuC#U#8Ok3JQ6?yx8g;K*sxrj1&6?W)d$hbum%GlMW6 zid9zAhq6^=hC8@#@VvEUgHo3*#^i3bvRJ7u1mN-`;KyPz70;mG60V-khYwXtCct3; zQ@oS|$f~w)(e%H+q%epeOI9ytH5lFzRF6YC^pFpdW?#dW8pcGu^&x1W)MeYW^Gw}2 z7!LFjV1k&sMypl&b{~->VhyM8yF(8z9yHkAH$JG(r_C&1CNu6>i!JhXXFv zF~b{n;pK{J*AdnCIH%oEotLY0IAK=uj2b4yQJ}5WOkm5~b->Hs%k&{#-2~SJ^F>U^ zGtkPQHK~yNMYivvLnof5R^%zFF{VHO@;hlyD?fTe`KagDVjj@skiHrMpG^EA{T%32 zwRNrLK6sN-7c5bcT?)IV$f9F;SOB=qa2 zqcB@-07J)Sae@IqE7El|P2xtjg@^D0`m z60da9&d3-YJNaoP4?o&P^H&yX$J;M!_VbS`iuRm`iEgK3P6n(#Us3Hl(-x6GY=CBL zF;2T#Pd=g@OJ+L<08K`W(I_Uz5wve#>PAg_;C7`hUIe~dtFAcQ7D`ox^N? z=z@XlWz)XWq8A@kc2=fJnQWeX+kHwHaV+`GQ!2pn&#yd7UVx66Sofn1c4E>Q-V|*N zQ`fMJ5ULsHm%aU#=6&*(YD+L3PVT7Vuee6ZqsO{v<#T`3v?m`{EwalF#>}3lpQFL& zo)1usJmkhkTWBg%>B4!M|Jrko8^?4kvgjkudio_r^&ZUk3wOX*J)ITz?BLJuy9Asl zP7&DRqX$TN3o$cpx)eZaGv~uJ{CYg$nOQf1o`KeEfD{l8nva!?4~rhc3nXpDxJ_$2 zb)l_X14ul~EeN?f&O`hxgqE#Xq@S#hU|U^Wtk^yS^~Z;vbY9|YQM%x(kMKJ8ph_8k zS^-EM313r$5q2~FRIm^;6Yj%Z+cJuWF#hfqpta@;*K2W7H*A&%3IVyJ2(q3 zqs%YXef*X}OA1tkeA{l+cs&38&2h}tAoG4O=~9)i2CRyWSBD`-12kQNe1M}AxUmAE zwyIcVGrrK&#~xM$q~|+XKs)ZHTj7?R02f`Mvfh7H^WS+LhqgYIHE68QaCjfdi z_qx8i&c?Kr*O4FdENor?)snnlf2TSfIg;nms=eul+t_a1q3dD1UM7&E;5JwSzmF0K z0#XO#cdi?;j0Yv{(|0xRxd&8&c2TbpN2)m*IrG2$TK@b}yz9{I0gP0lEnv7)1rxI> z+?@6}{zMHp{d6WVtg-{xY*dg&5u~BzO`B^p#J?RT z;N^;ZnTmb(oFCzxc~99Z7vQ2A5gXz_^T-j2P{;VHGJY!JqZQeEnEFDD-fqZH)Ousk z3?d))elF+k@%#Dlh5-9zcB`sfRzKc;Lpx`DrwYuEYReI-4KRaKBb>Bs^}|*;eVEE5 z9yUb%Pd(e2)YP&fY_|Nh2-Lo{EA=B<7u%OCQfqiMI>V{49`J5g+IGcKL}m_Xf0ckz z<^ahD$dx>Jl;hKBgtmu)Nr60@9sYN4f@FUGy&6y!W|JO?rbQ@fPX=mPQI~}B{)uqh z3}FTP(n*SG!Gr-m5EDvFkhN9wf~E7d_@md*)R?32yb@jljT6c@8ZC`#%F{rssu;dK zJQ`gmoTi=#)iHP_F>gSXD;MkI8!uHzUbYee0UXFh`4=JKDD|b3_Rz4~A!^vRts^n6W@Wz! z;4~Bx?JB&^M7C|E0q0$;7UR)MiZO5#eGIhhmOt`nl2)dxZ|eWG^I|YiRRq z#B68z2X846A+H!9!*;ePie1y zf4D$R$DHIiZ>-Xq=2Pj6&ou3+#}%5HO*^BjOlqoTUAif@SrR1!;Ik8V)0?-dJbNen zHZ_3CeRT9+Zc;RWzSDAqQ>!{NU7P7I*8&uwZi$y65(3C=)V`x)0Mo;3@LsuPrF>g< z@NNJKaq&ty`dIZk`#d+%2C?J4Xh{GFWi!6ge7vY-v(jt28X@pvG@;ElY}^LU zIjV{dQ33?n9Y&v`852HCm6kP1b@r3S*p$09-!&l1XYl8V3L@^q7fk z#@l}fRC!Rb04GsHM``?|+cDWoroCor1DsE5Sm>&v4VJfP0}=V9>UhL(+@LqYRXolD zvNM#we4f@}9=B`F8pSYPMbWM@FjYD7=6lrnIEcgWXn!yH0WwEG(G_E7By9-{{Ke|{| z{2C}_x`Os+TJI&Fyr=J;dRPg7KRJw%QQZ$w&*M*4Q@9Qj@uXW_RHhQz!Y0hla~IEa zi@;&Xh=;?g*7DSIK&$NWwJK!6Wf~e%B>+;bhXU~M+=$k+0fN6gPZ@Z;{P~ra)CjAJ zVr1P|7Mog+9;2k5J<*g-R2bG3IV)Fc(^ns&m9)@#{|svsgX!PhN;vvB@AGCGq*Em^#-wEM2zuKoJm$) z4H|)3YNVq47|qZVS1wJ-CCgQsnWJ5- z>et|^z0WBZXyA!wvO>Yca_0_h`t}o*tX-y~Nf_MNH-k5+uI!!-E9 zOVk#v4AZP|?wo(+`?^WD8`W5dK#e>gGg^*?>!h5Sj zd#efBUGdRzD$YUkWc57lOihEhnibhr9n|N{^K|Gj$3Z~Z2s4IlTK@4n3d`Kes{4;B z2GEK^v!hY30Sal^QPoY_sPC9#)Ub03fSoH$H=x>(>K(Z;)?O(X4xkcnh9xF_0ap6a zNUU785clpMD0}H#9WYQ`dL5!=Grq-3=Mup1Q9Uu^feE?Dm5VW@gNHwGlC->;8BFtwu zt=XtDw2wlg(e8swBD@wM9F5La2;$xG8q{pqNQE{?LU{qn(aD3nTXBwZrhly!AHJ;} zTQ<9PR)ZuP#st&=rz+BmU{W217E^Mc{u*@h8EzHW%<&utW1DQi9=XiwSCiF9HFhA-<`9%VrAt5tok1!=P+A?O5Ou8#(eW%%< zyrax@E1YK|E8ED(NKCRZAONgx-?gKfw{D?T^uyU11!$-Z)cMc9il!C7pb5P8e%=cn zK(#TL)&IK$SRnu`u~0=F+w%T9TK3f^swxDOf|o4{?v^;XU23WG5lrAJc4h#q>|_Fl zW-ywzy(gZbE+?J^Pg=67!@`)-`T?X~1CV{#Ed<348L2Uo?ofoKVZ10mey3TlKCjBu zP55=BMm2A(Cdd?#fJx@&JfE?-kV%;@KSwR_k{MY8D4d&z7r9#XIP(HL>)uG!#q*`F zNZSCU<~=_}4QLmYXhfA!@5|w!iiOWA4)E7ZaY}Lle=&_SkAIbzh!22ArVAQ^;mzu_ z5?CzpZCIy8FF&QNc%^hM+({>@Z9B!Fv0w2AHu?GyT_*p}@S)w~tny=c2eb+CPhA~91c2=goX@PT;Y zx(qWr#zZu?okkaJ+LyXP>*1DLKWjRD3FPX4;xXhWo<%{^s4m`)hWgGd#oGcK6V#Au zc;wI^JL{Pj6op0`tZ?=@gRRw-LhxsI3Ai!UMonWPvo>#l)K*Qs=_)j&*17TG=>1X2WFOgoaJf{;6=L>=i5))fjC9 zZD8O@r>o037by(D%H{*6C0q=kYF_q=oyp#C9CrXn)$zZXHdYmy^~+y?ko@~^u*Rqa zyd?*i5=XNz6qg9C2eNiK76d*(Br^dlXHGHV&ljmJ+FhY>jcF%nK4oTTEn1eVzWx|A z$Yk?q#dYYVCMg|M#W-9G=UV}?c`=|=Ed4+Wc-%@0@>E=0s)&xAH5x!Fp+|4VWIXbv zt<#d{AJO_5Qx%SkQHjhFjTvGBeN7l1LMutDEG<=$yI5o^h0=mWpTjS^QXP&v9*bmi zjKVS<&2Zp%HX4v-g;2>Na9rz7ic4zZWQ@vm-U$#rw7ddYDMCs857(fxFK|vq zLNEt*9DD9t@M9l`ANN^r^coQdM-o zPMD~ak;lk11B}qm58+Dk(l?j@H7GtRDCPgDD{I6v~k5kI8p$y+IG`mgtd;Nk9CUz zX1Ze&v=xuur}ZmVVx|_Op_g2)RuhhQopfkyf*Uw|8`o<#?wxlonx}C1j^Z#Q7=npU z48mV1=7p&CAQy z))V(2Wb!No@+JcZvto3rBD!G)2xpRMKbZ}B{?u=^3~xL&ML9}CU#Qbbf6%B)|AGbr zgD1kWZ|yQnChk$*vZa7#toBlt=6$H=#M2egceXoAm6o1D=~*y4nIXKW_wYM5_Kpm)5&AT*Qr(GcLhPhw_%Z1ee#CV z=dTpjRtoELn8siV(TK^ckz3cIl~R?qQM2y8Ss7clDjd^~k$<^aP4K)F0uUJDz8RD7 zdV{G~zI#4FaLs2=SsWO9Chh`G17etKc&i6i2Yf3QXd5eMmvw_gt;tr*vK4eP4kjW z8wkY1;l_d^4|BPkg$q@bwoPSdM^vJn70OC&D1vc9(_}To?6&E^A&TsPi4pJ2{F%u% z+K23fA|Qv>U>2Q|F5kN4Xl5-_F5p%rX3mvN1VUI%HM8S{rkDcL2So9XruuK^O=vYu zEaQPQ`QJh<=DNPkt5rZbW$`|~yj}F`KJpTy2K47Cg9igXMQigCyoqHMD855i^*-e^ zXZm0qb*_y%P|8a$_s*A9Wfw42`UHTKL(=N-ro^W7_@6cf+&B zM6lLZtgY|9sJYKhQ6dX3EzrDdlH69CF#+BM=c02kLR&P=YcnruhQ?HTGrt{oEI=A# zF73<@;1n3Le=iVJdgLNVFAYgXm+iL;ERjHyuX)v9&>`4jTp@Y z8*O0PePE0-8Kq*uOeX7ZY3GWikRY2RgQf=W7)l=zNm>zjB#U9ers1FgI`rg|6y1lu zEDUZO_XX@ZmLE9WFeS|R>^*IU0KN##Ow*<|Ai5f^$#C-BxOtMg_8+M9Eos`eVY4y- z=`MKwWyP_$M#LZ*MNtMry%MM=Sov*ip=MgB2K@MJ()G&Nw1TzKN{zYp4s|~HTzAa} zu*t~AzRA0g>Dyq!LP-_(WPkgWR(|u9%C@F5*0Xp*KVe$MVSuDI?$j_2*@AP&qsFP- z_><6(Z0FjXX=c?{m#grr_v-+uGPM~pOh;bxHvp;5EX3OVW;swv8(6R0FF(<`8Q-Zm zeFxe}0BHPKUlYY&q{*s`-SHi}sN1(djpHM(xK+K-mJE%rDw(q1qC!L`tqcFq8)ZYheY^4|j(B?-5s6b?Qs>R|l*^qP(!8$c?HRno=JKIBNXQ49b;8mA+!y~&&Om`in2`DM~)nlNd9 ze;$sO50wkJ(Rk2Moq*6N)Jww{s7mQ{zrN>I`B~KytL?q<7S-uARw!GxMi9fOkN(tw z7p!trLJB(jiMt{4+kp8^q*@<&jD}r`3+2`+ls3;wPu0@Nw`es&qdzoKV{iSNS_9a4 z0YMJHW*e%&i(YtwiElQYdPB%X|DqPhpYF&2T|8Vm*TTQzXGJ6bM^-Cdd{#Lb8LDoa zq!a&ow~|JTp{Eb4OY@gDHoPzxVjB0&eYYxq)(kgDw(8zpL#~*ls6+bKO;pJf0YEh}cZ}y+ z+a?a?5h-7#s6$VG;ZaD&F~@7&QO900NzH~1Azp+^=FZWZ*I%ZVtO!+OPBH#gh#Zd? zRrey~g>Pc3tR=I5(3j6Vir0{G%=Mb<*sE?);~oQCUW%73()33ss{pO7=!AInJ^2sn zbjEpndjxR6J0n)Lyx1zWX}`^W@(}>Cm8!z5W8hgAsF!j4pk~by4+75yO~3YHrEl7- z2)_TATkcVdF@T7Cc$;`Lo;&l)x(vFFm97P4I#X}{DQUgT6m3jyuR%k+Fnoun9sQzWN86W1SwM>2^;v8sf>6+=nd^~z> zp8l=V{v2`nRZ3#AUF)-zO>{W`a+xvHu5kpA*a)BoA=UC=6H?xhmTt+rXV^Q0IKi8K z#wL?!irFfz{kaNn?@1pTn$W=UO1YI!T9sGh0R|8_NrK>MNZNvqY)$=PHtR9tG&zYVZhG&s`j=e}#E~ zwJWs~ZQq@M)w|$ivNjXSB33dWZwlaXbmz`aJK9M5v*42|C`KEjNlSG_4he7BhI(AA zZ7iD1eC|=a`PHZ!AW=6oF=~)URznMrvm=dWQmclhJ=pb7CByL+f!S;r+)vi`7`S8Y z*Tx^0FSL)Vv(ijN3Nh z_a>M&CelvnZ)%WXe5;ph>zWmO2Q)QHN?bZE0Lr@@HUN{t)+*VsLA%n?Dg&hId*Vry zSqomr`Xzg>UKdOSklPa)HC0lV9%_zeenh(z+CENiY@vlT z%}=C_Yn5x3X$M?#e(HGwi^fflI2sO8Gyr*y#R%o;&ch{rk#Fr<IHi1kpPIF3 zsgB)g)7{a~?9$ndk0mT><)AHA23JjtkS3#THu@SGEEHvfk zV|t5xZ;pcESzK<lwS_)#S4JBASB&j^ zkEQ@>4Y6uy4)C3bnWA|w^`2js2pcOOa{}b`7kkbJ_ktzxdo6(=AayW)dF$!uF#UAA z*$g)cv<-24(qQ2Xe(d!J&p zql4>s*S+zQ=HpH^4$vjK`=J_j<+X|)fSYFnqiPwR=!EUDroL*XCA&U+MY8~uD(P^; z(U=%~&0T7RXAFx~g)0C2dv4O2`3sP_A~g~>@0|do7&5t^)r#D7EqMtw-;dwJ%%)Nu zj~T6j5E+Iy-&gC2L6!JbXk4v+4mZ?4e6M0SX!_s^+Pn*eAb8v4c>jUi+C&>kwqW)& zeRBU_6`Pr6%6J{4BsXU7`#JLXpGoO&8#VRC>^b`u;g|c zd*$_NK6Wfu;niBSP;XDVN)0g&C}NO2+!?2_lxCsvR3O_38^8AQgjI#!!eNJ03I9t+je>FdTR# zVD+6`+n)s!4*AYD@%04Szy-T#HQK9_^>48&1}HgDi978YYnl97E4TE#y2p+Sb{$#I z#c(@z2gLpc&Nve{YMI?(PqKLEU$XDkA-&W%S+#wG7CilsHe=Ekf(O4rS6rixwmKTi zq|wE)J1qr!3-3(=Iq`C6`L*=znitRe_3m~BQU{&|`VZ@4a8uy^1>VT+4Y5AMg5{rn z#*VC{+)iEEh7MVdEZB9I7k8WG!*XbWUxy@d!FIh8VwXD+$em|P)21>aKrgmSGf+-} zHx9gqixm7h$V$MgUp8s7I%7H!u128|;DBJXmtiS(;}?TAjf@xo!l4GphF}^>o$^2( zuUKkp0AH&Bd;vST$;AncZGiR^ASuTI?~t`P1F;F7zoLk^u+=z#h*2emv;lqHy)H?> z8OA*0fDFO2R|pO~Y9r9Db%4|>nt{n)2&U)lC!DMy7c*XBMp$c;JN`(7!42RSFPSzu zbmn;Wde%x^lc24VCwq5m0k(K#X7ROvN~R_5nKE*NO~&!67m9`yM3YW-A;-JhpVu?h z>&cK040QK18MaBaElAn>g#bL6$+CIM3Sr`IeWNv5`?EG?TWh^`)|-~oZyJDCN;+l5 zUIb(V1H%n4Hf=~V-8CLdyXf*~6LR}b?mMyxhF}Q7?`5IaVFW9JH=Pht=5sO85ueQYw)BwF|M_jWGu!SZ+{YW*k zuho4UbG_!rLI~~O7Lh_sCbd3=g_VFwnzaENxg+d3v?V|0YvwV!wyNAM3^|QmG>tyK({m_g7V1=gv&SLA-vlmaNTKFkkqoh>lgaR?rML!bZ%fgU3S;wa}}2!Y)e zhpi8=7HI_Pp@7k*8SSOVXzdo7C@cCLKRjBl?YX{-_?Xz)0+=l}d5cW$E-NUn#K?~I zJ2ri=AFr<|AaC?J@Y~sfR|u9L_H654L!x8r#%OELUa)WC$w0vt9w?LGHdq2dKN_}qY2L&4Y3(QPsv&ClthefhFyF>3?alRq|n~c*V1TBo%&b`#K-vBtWdZ}sq6wg#L z%vNtKm^O+1Q9k}~ID4|S@|CCXIPxZ*@v7B!=#lDs&Lsd^DZCaR%MI}MKGYT){Sj&^ zew?bGa4la5`EpFB9vXAg-HPkmpEwBn8Jjc{6TAMB1 zdtO;%JsPy&Hg;Xa!?;Kv%aeN;O(%^kO62X>M_P8olgX&BX21J2v&J#h`7 zaUc!nEp1mv0v(4%{>4B)#y>NKaoHhW;C>@s_Cnnm4y)2PXfYa6Tc&?U`-@jU%#J%w zfUG>W@m^1`mSX0Bkq)qIeRFi=QL}AqO`J?P(ZsfG+qP}n9ox3;WMWNhYhrtnyq@pg z``%mYy*_Jo|JSSg{OZ)Ms#)QXQ`>RGnW|=__l% zF3!M%t@wIfEE?V}Xu*vQM`*V?-U2!eznbn#Kk(iuos~xjs7+|$dWbWre$~>Cd$3WW}kT{gPQ)cR8^L`UPln@30CkHJU9_N@M5?4=E1M!gwLWIg>^0PhmtDbyaQx6_mS<*r;1JsWcGL-D;+-o==)4W= zT8jVVO|-Uacc#f4KN^xgE7dp+gBluZ6Slub3mk&e`Z^c^DeCId`A;X(WK!1!nM#_D z?vDZ4dWfL^kk=cz419|ad0VLrsY5gYne^Vbu%<_c0v9W~6nyvYuf*4`Ih6Rtj@cTc z7CkoGi}cOA8Sg0x86`ja;};0n1mO11fc@dOf!@s+{e_A{Vp5#nY;&CHAZ|d3oN^eS zlOoRB=7w69Q1#EaraKS3E(4g!iUot-^xc{|@%`bdkQj^8DmmTti(2k6nV`ZfSprlh zBF$IG0^0hH?pYrby7qK5$Bn?(IT4K*H>_);P+l~Fg8#7Xr8poJ4B#esvrocPSIoII zD)+)SVUFv;@&)7@^EFPZ=O4yI2i<)Y$Mz!37RT1JmEVF@D6`egd7+S%H_+`20Y$|& z>CFSv;JQCoDw%3>e6lcoZi!8P!7POn)S^-FM^!onffpakbcko%7z1arRWYt?7OoBq zZAnGe>_ds%IjC7w&J#K1I+ZPda=;5z){J~WCh_tBur18NuV&Ret`GOGs9R zh13~)4^<+#t=ZV+>P=I6BdB%jf&SSl%koCZz>mJCqd$w+u zFa>Ktz_BmNGGJGyUGXl5QZ4Q6{ub!sZ)j}^F%N5Vsdqj8SmzX`YJ?2v)VEwHqYmn= zoHbpcG@Wux$0>3g@TDndf+eH!ANg&CxGw!aS^$TZ3=Rf4X|`@B!Ak}dk52QsYGpMj z9)&&8kX>3>L-^kOzZxIFB8kVc>TS!OlGAnBh&Mw_?DtRSVR-^VtWL9fg#Bb4j{VEC z#+*vKyPWG3>3MaZz^3XI<6L^xIg1_I9a2-;b}pZ^S_&bz2s+wJ5WxHm)BC zn2^h>y+3t^d)w|Gp2bIhZ#SRqczYb%&zLeCn9;^}zvpRn0lx~#IO(tdhnqW7aOr)yPK_+T^E+DElwL@4EvbjH^O*zb z(y*I?Hsid7jo6K%htRwDV@(I|q`+=R+%R3om>6K{E`ke1l(lGBvD)!w+3`Jye*m=} zu0_7SVfd^Lvdc!JdfXK$+-x+K|F73gmFlm~OmW{P11HNZoE0dWowE+`qDX7(+7?80 z3dt1)l4qVL+Q|MEhO_!S$A#LgZktmNcg@~zvf_zOZ<~rV-T4L|PyZRzK*vqY%2<+# zpbsyF#E>_W$stpKfcIo8wlUui=P7!;(Rja5_4oF6WfXc<(a}ewQQ_mytS^$7;0(=chq` z+cnzcF*n)of@|tlCddpjNZ%g|E8FsnZl(W=<9$7H=5;K}^$_En!&P_gdl{~`0!8MJ zLGA^3Q?=bH??`Vcp?}HnxIJ?na6OAt&;ISvkH}*`)pM>@qu)N3KoQsL*|^RDCiWc_ zq!@E%o*j9s0=Iing!wGF(Mc;31q&{r98@m#fT397{11sueY0ZFeSJtJwq5F3GSb_9 zw7-&P|C}SFKpx> z;1af)b;B0QHD8u&dQk{~PQ~dMfp4sS2k|#)7b+ts_SWO!*UWQagwae9`}mg|YIi+R zI7E}gk}-B$g81Qazju@N9)94X2=3d@gWWaQj;Ng2R)?1Xd4QIvmsOX0{_~%HfuN!_b*5718nv_L(Z={`|Bd0)mQvh#qpT)d;_(8 zwc|25kF=23Dn@5{oqFgGG3lDUs^^!FXzA(K+<+1yQrpdLYiW9i57c-TNT`K?w?DhFguqnDRx=Rl~D#L7k+ayRPQ&2AebNyLgqtAcQv*oyJ zluz^&tCFU+d)GVn%-g!*UN#x0i~I{#$C)QB{r&RS{qaMY<1kX2(&&NQ0#SBI2t^xl zuQc(^*oVy}S3~us_Djm2Kyz)DjpwUo5_*U@@Y@RxKz2@*|MnG(4*W%z+lb`keebhY zw(oVD^E*@*Jqo=;&8IWiNzew6$fT-xMm65+I@;;CFx6DM)4$eZeUh80`qlgP-etTh ziR4DumCS=OF|))!TLA8ikn3m=7wmaajn%E=@gDeomUu$y{kM&W+pgW0P%CZZlP$0r zY=vgJC+IsgXOlPHLoL)kY%|0L2GoPuw&F@Ssgibe6y=#JK!>{g;rz;A# zyxK1Q_J0iu4gYoUmTJ20K`6PzH@VFViCg}Lj<%4vrx^j6*32NqLf=_Rf?IME<>nqU ziO{Mwj%7cT;PX6y3^~Vef>N|=Z)_mokz8f@jZUvKT~mzlpe@~3OE100-17=dq~!5_ z0~vl=W3ABz*Y@lDVlx$#u|gZt!_up>Lz5qNfm*5BV7HplU9m*7+pvYaFPHRJ?oys{ zw$wnyh&Ho48*(2HmtJx(i$zpU#Mr3D5Qy~bV33IDL%A5;OM``MXUuxSWfnG2Ey)IB zK)snu(+Mn#OEsBf?r3s(hI2g#y4A0S1ORE;&Q>Osli^P*zutK-E3Nc?)$}q&taYs! z7~x`;s`b6DiL<_6)0cyS>$>KFW_ny3147vcRU9b;7QxqBjXHj4ky~!Mx|i?OHw2ir z*VjppE=LZ|-P{RYwZAlsYkl40jp1!r(U5yjkHmn>g8}wyVn)HieN{_JD`DvMEhkee z95&Qc&CJ36?xkWW!16Mt++U^0v?skGEdQ#qcQUEzjjdvV7NA0#zlY#?7X>ybu-k{1 zl{obCNTKk7BsYVsz1Ur3akZ*KP8NYGnWE4j2Q7A6B2RJW!0tiG_S`C&*6u)jGX;m1 zXu)?6`d)4g+7EV6ORe?}8`2-z@96NICUB=3!a)H5%fAJ$-2B;95hY_&IRI>aW_{w2 zF+1n^T;kn0T<|qn*r8GXk{k>yeYj>Pp%3Lf{rgV&L2>=9`}qsl?5z^#PZs@HIajx( zN58&Zu_3F&fDW~IB26nXHE0q8Hvq>J+L*?K90&o3i!JzM_PkD~#8&4og4%DC$ zH32%CK+SPbiJmA5^6u&mx!)j^(xV_1R!4r%p~tup2`M#UJTz-wEq{Qn&!xSs00*DBeECBgf6C1&5Qh%3vM=j&#nN}XLmj^C^@YL2Ol!Adb`I_B|7mrr)^^ll&hpVAzL@-Q zm#BT7U8X-|Qpemc6H%Bw$A0^hqOKg@N$aD&9Iwk6>EX?oC935G(#WjvX2nU(7*^~`%W3| z6?-)uBXC4v;mW1<$W+>ik$1aV9|_`rJi|VE(5eWKsuItc1yf5iwtl;2R4(^XM&T%N zCMzn%0Th}*pbymrW5fKcD$rAYYuPv#-FSyx*3ks1tf^HvX3skxW!E>yzB@>Gwm|%Q z(2>5;w#xmfC!TsnU)rrc<%{e`TlYTlK^yL`87*KdWE zDmAGD^8v$UH=dqu0t(|n<7i;u<0>hDZXiu%;OBphtI;%y3}V8 zh+SqJziiQ`7yB+^rd0bt&c~mR^_iBj!(&`zq7)b+(`^_;t;R&ACA~7@7S9~a{*)F+ zBrOx#y{tiJ!+DG5iYa3?!3HXa0d2XpaL_-jRyzszZtTxPwF3yH ze_z7W{%Z9Xph8aK1uxcHt08WIE*E6@6>4?WJo|W$=1xiNoR;~>sY9{(5dkf+_r!5t z^vnXDc<~dBh}(5eF-@oBcqksMIzqJmupj`HgG~*hKg_d7`*!m{>vdpb_3Cx$0pN%0 zwPh>yXDi;rOsz?jf5)+AK9zo0QLiRUu2UKRcc+tBg5MJ8i_1D1%hnFSquxU*RyO*9>2B%X~hR10oQN4B(7~7X3(FKg9mE5 z9&QS52iS@tYF=8!K&-|q&!rno*NNI&WyUkP@Cn-Gl7NeBNeaJcUc}VYtc0`@Khs5>#wUPnLf+ggUX(%d?c@V2xj{*aZQy`f3I+tY? z$*S%)C(L0y^4#VXTFdLL^Q4zes7p3)u`K&`bK1;h6+{xv5->gSTZptG>;(?Aj&FXS zp07c^0+aX6@^{6FaPBsy(F=@tA|JQ_mGv|f898vAjrFxcld-%@L^23ULe;SGx#O76ks?3^IO`2Ww%=JtS{TO0{73s0PP5D0>5=B31!V{B9*^PvlpIs)SI3InU+8!dr?`^IeZ&8xX;auN_O0bY4ttx(yICte~) zPo*!-Aob(vjH>Y49-18+t(DpB;(9KzUc%j1V*|4NTk`c?w(C}2x=WlHneYtBfoTJG zV=$tvc4dZG`UT5F@ldObHPxN{QML9%xYNVkbskSHDd|%&n%lSTycMf@;G0%;o>1BM ze|jt=XdQ8tMs@tT1JKF6T?3M1IiVy%K{sE212Ug)fRg%{KYw)Oi0OK^XvHzpHZs`0 z{)PATdY-mI3{X$aE>2L_flqfqC>4j@w9nMW2D!6a;OX+0N7p2BL6OUMTr_rp0<0$o# z;m{P<^(p$1N%oB$y@r8@R<2VAhkE(vz*r%DhoG(82Z^aox89SIg90bY#Da1|V~cwY z|H$%AoAy8b%&!{MoAo9^C0A!{t6Wz3l{a0;BO(pZFYRG`nG*x5K!Nuc_3a8h?f(K& zZddoDkM!+&P^D!h%LcR0o)y`^MR09taunkF7UwUW^1KOt_fdPabN$&@`=oe-$^lfE z)P8$?u=gkK+K=n!L;Jk6T{NJ#`?CH=-~7_=o9fG;KR@6Rfb$ER5Hbamp!MIgED^RM z*eG((8P`K?;2}u^@iFj0>MHdueU;w?B}%C)^?kGM1~29^{Bf)-Ynb4)?WH%#?;}i> zl3q&2rWPzHyog`t5ZmRV%+eoHS1!PPJiD}B$FDqm%o%$TpQxWFe4JzAavU4#9InMpk7Sj?QWm6S!`xC&_5d|aq=%jd={SwQ0iTpsSzMX6yDId$a*h<%AGp=^#o1FnHl zp+m8wo?x8b(?{Cd-hg&WTa|)gdR3^~Rbg$>Xw`zDFa|iRkEm#<6MJ=N(y6xTY)0vb z>F|1FTj%FVZq%)68rGJH{|8`dtj z3q_!kH-BMCiqDM2kwgVnePQvOUTHJV1>;vZWudnD#2=d$4i}VH%Zu*Alw&ih^ONh8 z$F&Wr8EO^C<7jY($#WMr13V|+$66WF?)OB@q6$nc&0z6fY_bQ!TH*Mda*3(!vs3FS1$c34&B(oB$d5O|3M7v; z_|YT-C8?-Pfj?Iq6&~W$8z4k2*Ie!jDDD_UFZcR%fdMvHt6FzzE7`MQ{Y^nB^a`l| zL{pxU1wO=@PA=-Mm#n4xT)caJ_N8OK%}YRx2u51Ax2y^nd2iWJfMcCem?k_$X?*Sb zJwK;S_>p{$P<*xMe2rwlk`w+XgexUe=-Y9$?fZ=EPYTWv$|nV~h%NuaBEA^?})ziz+$@BGS2u_E)9<=)3AHQ6jERdgN2+qtOFd*W78Yf(_P*C=Tq%M*5{ zg69>a-6)e)xsU&^gLd{saWrcn+{L_eVv^cZ%=nS}gT^)6BWy6U)yef2 z596{Ly5%QtoAskPA$6oXeH09MGDL{fRdIoNcF_!pSbmQv4nqUOXE_KF2DWj}<#thh zR)E5fe|f~07%-9O>P82DyzWczV~7RbNlP1ik=V2GOcE8Ct zYP`p5e%1OupO@8Nw|ouX_T?UYiPru%=K4*d!aQ&fJbh`WIx$>=cl^sp1OGlgCAoux z=gMHUEq z5D_bETFzGF&G{Ze4ggFAb*-6K&834G8MYrU!nS`6GpX*JJaBR4i@zb&A5zHGT#AQN zf+A-3qRA^8%Zv@;?k^!bQJDY0o=_&{t4rrr*58$^^SW0{b`Vktgw^8nQ3=oaq(JOF zWSW9In7f&POx7x1bl+KCe}z|3)GLAUx|bO1K@7Odazhh9IMcNH-PGol=Mk2P&l%>O zm540=Jc(ZXR7PqV9Bgi4QOIy?7Qp_w{{utzLkcK6BFsJ4?qq;53wJcTJqi62GwxMO zL`nH^a7d>sNlpz&X4;0HE_1kphfxPbdHfJ||A|5G-7;?LI+F8TKDKaL!;TauEMkzkJB4+Iq}VaG(Y1t!oD)mJpc0fOYKAG;;6WK zbDVLm!|NrKU&_Y~7SXJy>@iMVY6-esPFn%|$f!(UF8XIsM}Duh%d%fe!%MKDklAMbjw-aJFX#XZ`+4Y0n49UMUS0iM5BzC@j# zuP9}d04U#SE0Xc~zX(n5cmCqBwN>8wLWZI1X(V$wQ!IMUCE%M1$Hu?AqB#6#dCUgZ}pld_@Eu1!V4Ave!Ii*Ct>HYT_ldBMdsc9MSgy z=584)Z0u5VzK-n;pP?yM0~m$E5Dr~qwBQ$e$m#S2HhY*jcz!O~+BP1A^QYn!8!Vc% z+_57V|6m4zEss7qI=dyA_dXAcd3pkrkd!dE>258OPqNu1Xz7?NLlgp@1UXgI4=i1+ z>d;Yznx!$q_pZ;OpC@<0vr(X7i%qKKQZKz^Q+wWPAqEyFOh;}REwLA`5*v~zO78Di zPkX&2=Z%X{<>e$ib!%8?E&!!R)+PheU5eXGDf4@lE?VU2s)7u5%`%Gxt7{cCa@NF@ zVgkRR)b8#$J6sP@Cc1te7#tpRn{w(nfF)Dt5!cnLN>VC^N6)V zzX=MVg@gpb)s3LV8$=}{hnLM1K3qbdbz zaHcC7+yUH$Dd{V7O&!D=ILjwY#lpzg8N=)aFQuhOVIEr)AXP?*0)KJf#uFYoa(91c zp5zwG+P}UZD>(o`>qP|4!h&V+>;F4Gz=nYs0X;EEs-YI-Wb8pf5=9q6&x}yda2`#6 z#C}`OHJE`Bgo64a?_uu3x*bK)YvG##Rd22{2v^2xLn-D5we(#^tv=bN7a*pGM}AF$WmtbNIT)=-{7)I)dGAXrgV zK@r4$5O1VQ`vEWkShRY<%E+613EoR+5cC2%s7iv`+YVHB5NSo4GLRzo z2p3j6#9xm`R&b4X11h>qnkI;2A}}yj0|KZ5TtbNNr;cdu5$bM!a3?6!8F=I42)p7)joeWg zK@=GYOV6pegfVlaPk10b9Vcwu5L=06mO(;;yK>61VFJ$h3fZ~WMsumVi2uG}55bt$ z7B6hg;Vt3PZ0M%^)CSKNoToYWB_B+9qImbY9xp{0Z0Kh!_EYo&tfjNTUxm&IAL{Kj zD31kxrdWqP(R;Vb#M0C(gT5#PXOcoV64h)tuf+7Xa)#zxsU{U6 zyk!{^0N}|7P6#6N$ihg7cn~wiNY78oG(~k-=JyKnK`>Gn|JdT5wZ4T9kxL1&TA^F! zQ!2X)=l4e4Iv1-VNAOF+*2g*P!|yx~{Yz?MG!l0y8oY?Rm?>J3>m+ z__F7&(WQ@@AXzhsWzF-Lb!yI`q^H{hF(Era!N9rN?eQEGBa)2BFb7vL^}M05ZL9RY z71~Z-1H^X^Gn9J#6pR~pnZ7TXl>5;f%FS0!7>@sE`H;YHge|gzZScsjEEG=CHPc`X zywiMNf|`A6VHRoDlez!>(90A{l}TB$YpZl_&qorb)Da_tcaA_Zk!(gomS9`t7LPK_ zAZCFUDW59KB)kO&xe-&gWeGZ|G0=#?Wcs}o;bRPpsU!<~YEhqV=k#Lh*!Y_KVdI0z zUT^AtE4|K6YHm5D-oBmBtXU^UTJ$J>8X|IeK>(2~;m z{9e3rt`lx;znU#Eu5C}IpC5$E`DAfIqL^r+&h+sAFDU&VP$j?z1Nx>v^_gFc_waQ% ze8X)scjEV+^71UcuI#3g&#nt{^!?XEgBPOy?^8-+P)ftC-Soy9Vd!~;T3BMglizkf zc(mZO;j@^4Ch7OWZmsFB_i3JGb+!HKyE8IfSNFlDe>OiO3WNTv-;4Du8Qm1hIQ&Hx zW2?Nn__Reh%gYTk5FdOPbmqhy(*2dd-01(~DQ^A>{PPWYt$)4rmAaMgYa0Fv@?D?4 zZaiktA8r&snlj%P_3_}Um>-o&(96h%4V^C@C2~s2n3y;*k)5ij&7W4A0CK~I7BZSm z<}D>G2j0-{;2?xi5rm}RX1m3WzEKWfP{SSs`G+_HXzOrt0s|7d8ynS-L-%7krZD9F zz5SB7rg!MS$o0?Xr)*&~s!eFum~F3*x1LnI&GEj^nD_DTy@<26-v4MWYd3kwhbQ~v zKi|+0Qr5(pq{jL*A>i{AR@*>1DHsAZ(qhmfGMU0?9D_0SooJ}h4kU5#36cVP1#xh2 zQzIJ~Hysh)W2)ktPV`5H@gZjCChkFs%7SDV%6@q7V1Q8y?sAT{XRv|ir~JN70?JvV(M zyn=UoVUYNJ`yJwuz-GySf!#G%QqK*dLK3Ma1a?0BPW%OEH}}@(d6W% zqsyN~uT>IOVjwTE0vk(OTQ_$oTMTw3z9c=MhIXVbPL&`fO|Xy zHU07q=sq&~(u7~AXfw0v3s#iXHJ>$k0%*cJfg*u9!-0K%+EJUuVJb>T6Vx6Xdht@ z2fgVZw8E7?`IW!NefMFqZzW~6VhHpXvK8Li66_b;^$Y-dI9}wM7umjnxL47Tz%^dd zKLsUgE-@^^t)Vf#-)u6gGvQCN9zhSpDe7ZvHa-01uC~sS&eP~8Q{dH$+nja8peV?2 z*0&&Go4kV4SNlrSPijMU6dDa{763>v*o1x#A&q|Qz_$|@)k znSomGm@`z5psJDN;0QR7b4k$l+<4*{@8? z8|`(K_d|Un$NN{nCx`}yX%FARjLncjY-*V~e6;56OBc%Qf~HU>PfA7*FHIGRNLIOM z&IHI5+SbY+k9Xll0U-eQFPbY)P7_w@XhzQx#bzZE#RnPpe_2n-aKx)epmfSN3`gB| z>p?*N_uPTuM&Ibn_55vK4xkcBfn2rnTI#xAI?EU80j_5CI{1QubxEdB~K zP^bX#tFYuZN5C-%3!;^EmBA+%nW#c#THk&KK2mqryveZSy-CzDO+ZVtjB(aaedFhU zf!qz=e_V60STac9?88J($RC-iXA)3o zSf%wikg(+n>4)*5%$y|!g=5Ifn|LZP{oQayQz&$Yl|V8;l31LEP!=`z6ihS{L;)&{ znX06zj22eg*o5k&>E6DVW>2ZE6|ilqv)%O8^8_4)(A*g_tSOY+A3D$+8T4saD4dPE zE!*eLN5+VnBB%K_RSi%1FQoSRwNo~BysXsD$G6j~tF-N0VjLWtr0sWKrr-P^r(=wf z@xv*gDS?^x*a(*Uz;r%x=ryvYB9by^wj2@)uQ6iWCC&gZLWCGpQ;)Xgu>{~#ovG^gL4lPL5cdB1CCOI~; z<yLsr0RVEM`9>`KfrGsFuZrFHrPy)k0{5$A~BF?!XvUlDvO4$k9c~Wu~L! z4Z#2_LWUt{F$e%9{C7LMxV~Pl7?lZj5I-&;QY|x~blK`uqeCLK<_e&Cz9M1lj6ps> zW^vZt1M-78@AoqpdKolU(wPv#^C1yK8qx0c@I^~DQ&N@A*H0LAQ{pjiQ^pkY`hJ~(lAR7p$ENw%;m6{pLn(b z{2X!k*-+qp%oTv*d2Dm1q8o8RKnQ|yp)BQCV$@HEHa#sYRzcK8+0+`VQK5D*Fh;X| zXFMuEpDwmTi?tNHL;8|j96kK=AEFx?qTSKO(> zR8S+XAgH*Ozb_;gN#hJmP>5;+3u0x73B-iD;-_s9CyKQex2Yxr%MfcGQE4CxH;@l= z4rG@lj3Fsib+Lb->}Ch|>jVZ|HdoIMaarc>PvO$1q2qMsC7!F>_g{#Xx$K;$=3YV9 z4{#MigOUYyouae51mbDhT;%_ONtZR-mNEOL0Moo;fmP2JQMwM3pMzubX%?8a=JcWl zQe#+!@x6J#0nCMk^4qSNsjJLcJ!hAPWR**`#*a(<=#fv2=14NjS>Ay1@?%agB}K0n0A9FgYRmUlqbPX!k7=yjZ0g{=c8o`hzPL&E= z6YPtLqnT(3k~}J(zYdR%&H~;vlM0X^+sc;K_^XY9UKMR{Kh3I70o z;4tp*O|Gnfsk;)DmGOLcy&9X19>qCZt&*6ttZzn$R0Y3?dBcJqz0a6{d5?y;7$wB* zG$+vKgMn@+Uv8-t{^pgOvs6#OdT%2xH4!LrXder{0`1sYqgV;(Qm5Za9N1RewTDBM z=Me~@;#H)vG0u-S{H?i5PKt#X`-}N20&Pqct5XZsSJ__~YdOTj#t~*ugZ7>%k;Wl; z{`W6-)f(v9V+}?d)X;t!x|%2nG}4r`I?W%_>a>ZXm$V$&5K6cTZR%l|6YLQhFIuSw z?pkDdqZf?637bX1{l>uomw}($j`Qa?J^r!LI^y>ZG z=KYt+PbvS)+<9!{_O#jCeF( zFd%~Dbd1G5r9hRE;jnD0Xa<`q3$wbYRWTG=Bef;ciB%}6u%=16^Fmep%MS-?j8C)F ziebX~F`EjukT+90z#HvV>WGMV$N+n-O0K%|;n#s|rpo^-NAizyI)sTsBVp+t(NyJR z8Cw~-U zlia@``Cn~D@YKe9m;|SnL;)UqFc4y;ZZlO|z3Xtfg|5Tj9L2*JTS%pE*dhQPZ3BUP zB3(xr3{DuF{Fe%j#E+?RLpRP8B!cENfbH_N>@==U8V$%(miCE3LB6Zra;=R!*r$`YQ~CM`^wam z^VEq6R(wFdRRZoVvuZS0J*)Z!AcYGtgFpvw3m6~pD8gv`-OWk6OdKu-q=3LGM@H>^ z!gfSV7iXS3)oU%2gAuz-ho^>)rsAPQSNoe&EkL(Mz(nw63gh2(H#(; zG7t(FF{MX1LyczO**^%Uj|_01OLaMf-O6++Oy#^1A@81%vW3*sl4cmdwWlYLO=cDQ zLaLkzI&%}9YOE+wD@rIhAL&kY&8V+|M}#JYA`gAc`nb;s?%o2Eoz4s=S{IpliFMzg zaf;K^i&X6uL2de^Ubl(eU`EMN!8xZtC;5)uU|?DD#5R9}3`J62X_o8-mk@dbmmvK! zt3ZT2J;Wtvz{i6H(kCSZ?={G~901R&q$7=!xVUP!V9rOK02ObrO8 zzb~_@Qy+K?ce-hIcdJ(RbI=V{EE~cYa-IAOT73ln)f4KTvYqvXorLF2t~>_p%Hh8E z8>5OvT)RJxuN|x$tqw$M1RzPEPUR#TK*Ervm=PregpvQO25w!D?y&pJnA6xmfbd(4Q)Var)ZD4hiCf;}8hxO(6j#lxCb!pE+fu8V>tZ2dZ%6W;A>SKTL3@Oq3d^@ZjhBS4h=1ZehzmW8?NR zL3;Ni5+tRRK})eu@OADJJw-={5XOAu_IMM*WV1K1i;Ja-O%-#hx9ZV7 zq97ec!SLji=mZzxF@C#9`M-v6X<*;lF}A+gp#pC<14m&&H||&S#w~I(+23Cs>``UP z{W=_9>560QrB9~iZ~~GW1Rjx+r80gI@0x>nOiW`A!#U|E;MkT!4dn~((Kw)nKP2z< zBbTqF?5dn*W?KDTb{d}4h{=RMW&jW!H~oTP3at>D1cxQ35Cjj*^C1NHLqd)VY8?y_ zS8L46P3W%qY0NP&u$TO zdLCwHbNLV;WP!pKOS{a&h~kjuLxAs#Goc(HN*im_K1^a6C9Z;g+s2Hz5n3NmwpNz1 zG7ll0O1IErL)Cwsl4Q+$k>`R$9f@d{Y2U^f>Ej^=S6pNX-Lz34cHNU?&N_uo=3|B; zsa1G9@7y49w|kz5tum2AJf%}LLV(Cv2g;c<1j#|^WNObS2v0#Jt$w2#xU$Wv-s#p# zHHL00s8FM_0wEd68}QWUqCNa(#YG!??=eT*zio1Js4X}+8CF>xX~*Eqbm{ypiB^g5T z@@@y})6a=y&XO4InVN#aDy2mI6SND8gIahEh8YHQ$|M^bmLk-6Ux1I#?*-(dI^p)P z0y&uADUEFN0}U?<$^_7Hc$&@uvQY@$h+ss6bWQ-kfCbUD0MOh@4_G?qHeoF;v+%EM z{AQfz+UoQEnetqhvrFyl@(mASwd&6pDH*av9`QKGIzO!BE?%ft~cGW^k#V|g#INLZvejIIJ()je5~3?)$S;TZhy0eQjTMNBYR z9KwJ>JWyj#Fr~>3(h|1vyXd#X<-y+Ad3`AwaP`T`;6{@*u(fvAmTH|YJU7DcCB?Y6 z<7tgI{Y8fMd!TXKtzKt)A5(`X$nLZBAGZIaSCI1t%sbsMxOP_*DfZ<4+V2V=@m>HwDa#b!_( z98k#V!UEDvln@aSs>BBV{N`vT>z|S`AVBE+UfKcARK`I+LM{)L)q*n>X_;GODhcl3 zOl$GS$x?d}%+(VCQ$TE=q$=Na9=g}3MOfDS*H)d}snNe15gxjKk<>v@@#N@lsd%Eb zxg2ob@el$?#KA@1GI=?|9;z}V-IT7CH!@zcxNtJTl5_{CWEvPS%@rNuOKUA6)q084 zT0I(I#{((}+QiA2)ejs)oMg5iuB95i83G45pQ-qvnxz$}Jd7BRPQ*>H6|!Wk^g{q6 zDZMEs!t#(Ek=9ezsK_*bla5px%wc0i7+k!u2>~oQm?4wid#k$59zVh}-=Wo|VG*3J z$xYc~afL2=(Qn67*m7s^66fV$Bi4)tXSu2ux|K|uXyDPR1O%7Bou+2^lctJ_1FlSY2{1j*oX^(cj#B!5vSg$_T& z;AR#1T_vkXOO_}olIhKjOzzlHZxIBx2vP}h#DzB|;{LGu3^(RG@LFaeGBH?mrV)6z z{7Uv2t!TS)GRPVKeK{%N5vLm9T`e^Jx)5Tgz&US0tbU4 zWA+MnqM%552~kl;53|(BmGoCjK`sE!WTf$nxz!Cu-G@?B44Q|w@eydDReTn!>iY_P za*s6>xwIYckNxl=N(KAfFravZ+#BX12`L}$-*v&Qkk8&iyYkgJFpz!uIFa;}Yw=`E z#^i|!PB9(R5lop)0r1hEAc~(y&I-UG!v@p?yjv*QY^;(%lH&9kB;}v**3@Vw#~j&n zIjGiRBTH5Ku*pNoEpG5kLZXpoE*e^@bfcCVwo6w)YH9&auO{Of#o9UXv??LE*x6bZ z*SG=TBXg!~0Iljq~>; zF$i&BtT;ntBtdL{d@?R!EHIlEH_A$i%x_q(%$I7|gHnkH=7oI7A5sFTd6SG762hnA zH-^wJ@9<)zocv_R#L#@L2$Ux9;vm>gjLpK7@%`!ZxqD@Cl5FzSc=`w*ov0&j9w^8c zf>7}x7=Y~=gX+UQh*#g1J1{oc2WAzCF-5D(N-IFOv51A? zES6zXfs?(sD91wHIGhZIZ7Fl~wy7;^Y%W_jFY1i9nZIwwsLt~_g#i1B?JKtT6h74- zVto~d_=4zM2#!L)tvI}xo{u=FAnUDOCb;O?gxDmE z&&fX{(I$;DuPFUtGw{~~3@V-mI00L7-FF9Jr{lKtKvkE9W2x@Po#7m~QX!}$V10ny zUQDYe$AHfnEYM5AcwZ=MHZ7Ai>sQDEp48{5=W;jO*wXPTJmto(;pMBylyLXrAYdWD zeqx>Nz^3=mx8UQ&0bV5_*?aHi1G#ek7MM}DRPtgRhm6oJ6q!z35Qjjtsp`s&B%VH5 zSyK+CO$+e05hvT#NONl)@V8DS7^qgCr{yfha&q|03IM^3eJRwHg9)6iHEFNfq4CvJ z)$fqb)SYS0?B2`(06+jqL_t)zaAh_qhay&miGt>(`2kN;@th1p(rW-Vu6nRRcI!G$ z?!3{ZcCaQ!iO6PbqDm4s$x@K?3dFKfxu8rsRxgwtySHGIY!Mdll;k#b)avI;Db(AB znmYO-xW^Y70;XSEmZ|}T@hgDE_UknIAnhfxf0Ox3M{^gXGgr>tg{0ygxkEYwX(O4$ z33y-<)21SAK2cODlg7b7B|*^85~;-@IxWD>C9qT4vakUX_jOQJg~mZCaK>b9DquS{ z-}0T?dKTBzB(c8?WfFfZ{Zis3xkWacBC@3t$*?Coj&bJ!%v;=pnTtC&pj7|{cyH&h z9*V$q1vzbjNLuM4=M5py(DK@dEMK=+Hode4niNa%o#0k6e`cx#o4Crkxq&J-zCu2)YN}|T5$v3UfP=tOfPiC2Jp~}Y2t{zPHw>u|P5XitgdqC>$pA22ZeO`C`#(D? zXO3K#q3#KZW@A!9)f_NcLJ*Ii45y{Bqfs{RS|=+vE|VtMaj2-nq}NX%9|I7%z%)#y z>6tw&ObIBHJV6RYl>=SC-y2Y)?$^$B$#q%7zZFlk%3Acji{<^C8)`O#mcK3 zs&~y`M7OV4fQd4WXNN>WEp|F7oshQ;hYrp0h4`y>WW2&HlgVF~r}nHLZKk-z7?Z_< zL2cwg8spy0`*Qsv7QI({^t3V7IfxU+cw~KwD!LT60zQ{P>TBV$M&R=**}P-5G(f6^ zlWMN3DScv9r}8_$c?>Tu{i#8~6*Mm(;2~zduIw*`Z4>4Fuupm&EItqi{@#|eC$CE9 z^&#oGH3Dfy;3{aj;Ghvb902xZGS~pgK%J%%QWZ;9E(Gqjfd)0n!X*p9n1Tc&B$}0m z=esBCVYpDlfvGMZX{z@OZ&PCCUu=H%jsWFG=OftR3psKugF{t}y+@u3*bhVOU0C4X zl-rlPA;CNj$xYbGiISc|)d)@2g)_;ZZ# z)uTAFdw<~|!1*%!l{X{P?>9aLP_W0)bOmFD@yGXx(Mh>`qgyVXydhUk!}PQhv!s50ty?(*6ylyO^Y`y z^HE%JZ677g>~W@2QG+X_bEEx9Fpejr>jqBTJ$n~xi7wF4L5au5r8I^)LZ}koIx30O zh~&y9acXr`I#xBy=9gB>#w{zbj;KbV%n#DZxb$EW;C~Jqw%B6w)&mGPMe5D}{hs&i z6?Y*H0uBO?4FZlK_1Hl9VrQfbDUdR-PPlK1AwK}AsH`0N^pqU={ERM4v#{GhW5wKE z%|a?71ERSYb{aOlycUzY^;ncv>Q0T$7eNV>FyL+%V$TbNiznk#m}FddL(+n_cJ5r` z4j2~(m*qhxP8@??J&&^I0yPAc2rgtPHC0*_g`KT(S+}`ew!gep7qu$3JOjY;i+Y4v z!aJ4dPJNpp3+MGhK!6L!nJ1m5-*5_9*zF|KbF43`QjjN)oYzV7(0xo2)7aBg+fZP> zB)MA)i70SaV$gb7*wLVd`&X@Bie1|VOp;-E9R7JV9t-Cgx}+b6xbA!w3qFo{1{Pda z7)O(_en&|$s^P}_b2!*w01N$_!0Bsp57JYKagKphzrfTO%=a`--Asd>PdihKaq`#p zS2oI)?HiS*clqiekFg=Ntm2e-fAd_)KgeLyA-y{fLop zje`+&`Rp}04g9?crp$wTBUtd&p#OrA3_DQS3?y}vI36C-eU-H_EOeWoa@vkluxQ({ z38&j4H`fcF;Uvwb0`uG}fteEO%>G%7 zPx)%Nhq(y>;s81ad!`>dZEryjMKD8x*xbm-%`2U9?7$hh28pOXNDO5sBg!;|xp7r% zOQ&(tE10GcNITWHR?6zlOCfo?M4803uu~YRKrb|znnIB?DcF?xC+h5I-@V zfjLfT#vmARHTd3D>lVq5*S0|Nc!h*Kb01{zag9PL%0l%~LrkjuaA2`B*R)VW_v9ep zAn#XRM8SB9ipZw0=t{ys zA;pJxy|G1Je`gnT*l~iKM=(?x0C|~trXdN>8)2}MaV7fRq=dWEx;XH95G9QPPRYUm z{BUm;V%hiP%<+qI4JW3I!1!Z;x(`qvBHY8Uxs?vYp$Zg-eT#D0vU9EM+PxX41U1eu zN%qlUUvGWhVC?%e_xOz_2w!iX7X2N_Q|P$KaU( zlO>Cj@}Qzd>Av_RME%rAe;p=@D`dm=WwH#rw)M>=dO(3nQuxJy(D&2W#SDhQ-2RHr z$=W?_$LYHHGZR-<(OjlBoFtp!kvrQ6!AlO4YD$@mDn8$oBVV4D+t)kQeq0pdU?Dw` z4C)AwJ_+D-Au^_xKmu~t8=GV!c6>{~cox{7qU47fj^?6QdSG9g_ADx3teW&@;ETiDIqUlhZYELO9M5I{@6GLpV^*_Y?s%`wf}oa zU^vshWEMji*MBKSdhzJ5`tD}9LsqIf1hu~Vx8rj0^mW+0ya)-$PT11osboBb4C$c` zl}usr4+eT&bD3;^b(OrbXNxp0fkcK^9bZMKo9RM6UyIFP05xKMb%lqV@#^76UB^U_|!Ny#NIV3C7L}CKf}kyndxro0CqX) zn{v0kSS%m&f*f#jyboj6nVa(Er=X!XI#s)%tOWL>GNg@w5g5j~U>qm-UK+lCNgf=_~I;ouQV!Zi*Fl#6HY$;rd#aK9;|IAS{l%jcm8c5X3& zNF%Rw77K^)q_i%ng{_MXvVGS^Y3YEmWX`#n7il~kA8iq=3!fb!CS;s55b!!)9vtjA z>?NEP;*S3~CWS{1oB|{2Jk-(dOKKd96fmNo%Y!}{h3WtnZJC6`VI+9j>K54sNyv4Z zR?Cv5jf(fS1L}!%vv8d_%y^}0P54~w>`+wf|1{oh*`{9je#I<>5+Ma=Ce;kLb=OHX zq#aXWS;lZ$S!rph?sf-(*OZvb1}3DuE(BHP#qyo+zosh9umNuh zK!#lR>%5&s6*~*OVt@DkLO{UwO~V|8Bp&|g7sNuAoiUBgjtgh*%AwCs$k`K@A(fi~ zYo-KJ7hsO!DFex%aTpJd=O%+#VnIKwt_R`TCkGxHH*4Nw%OfA;cKepl3XDfiXI^3BBe6Gv> zPfyCV^S8mQ3rbn642%IV_=aqKWu-FdSO-hn`Rts7fI>jK zpzV+JL8tY)u!Ruk#J4VY0yj^}VQ3i8)@UvX31XaN$I-VxwdTE@9AazOz2E=K~`~Util_D9=o%+V^~@iKrGWd(*|n- zS{T=_^vmaeJS3M+-%?33JxvgC$W+tQ`GVupw!B8(`oYVxV)rLoy-6Y|9;N95Ge^U{M8%POlHKxDC)1=BAWf}N=>j+)2mdbJarIiT&lW47!=I-iDeu zv&FKZPxoG2Hv=>7zS5C3#cwi8U&4}4I^ngdjtnL~gE4UH{4ntO5G2h`Nqj6Lu}F>C zAr1nLkSv=_k4m&6D{s8FL*D!GyHe3$)cADm%!+XPI`2GKs(;?oJ-lELuswndsSKqJ zA-$|)KKk6v3;nVW^yB2=i!wHV6Xnuo<4BDL1BWMZGN!mXoy8afr3!`89Op{w+Fj>#tCkUl@SJ}RF=!r~Bi(I!T) z+k^RaG!jEPFcI*Q%8g4doRF6GT6r517B9iZRCxmkI`i^@*S56J>qP}ZuxRiRg@eF}73wb`KT8PgSQ|6`Gb*ro=>zy5H4y5e|G|D6+NUi>E3(lB{V9m$@; z$v|F+2?J~y-CL88F?ID!FLrwm%h_XhaH>#RVo@k>0O6^en}FJ58WJmu*S5&_{_;Dp zF}1-gLa6FUhEyIfd@wJ?@X1F(4CkJ22>9EcHXBJ_2f7nb|2ZOm`rsgJJi=ZXbk0Ih z%i|#=JYJoP-58`R7UF=6w}8J}UR^1XMqjT1t0G@h+DKgQOm3@CaA)kD(Uxs=o z0J|7qRu1)IFs&wsAQ3t!i zkwV1^Gj8mf^)BoTU=&~?!%1=uc4sIpl?x|f=yI9tdG}=; zkGo1DU=%9Uy~V6KR@+~?dw#AVz{a-x1m`3w>~hhQfvHx!bp zTrH-C=#OAPMN2}GOeb)vRtQHgx6AH5J7Da$Swb~Tk6bumhBK-|rcf>=&BD@Fz}_EH zC6mpRDw|Qm3wQ>%LakXiYh%93d_^JDd^MSTgsZJJp+F=yjAUK#;w=eP$dgCz$pNTR zT{#cNA5?^5FbtngLHZHn<^(3y*!-2<@4f_ysohYaf=Vv&oJTEb-hMF_con%qt%?HN z>%4}5?N$5;ZDY@aG$SB~+5%4<227vLlBRR>D1?3sW{{y*h{ME6mkjtU%`&t+UmFdy^nE(5`+B`n7u%Y| zpU(em>f*;W>oc`RK3@w!FB_I&{t$;uUrH5+y}=A#-RH((!{(?Q`Qj{W*gyh}dhr3k z2nQ3SabQchG%35^*&;vq>3dSs4Er`zn^(tN=}bX0)mnqy&m4sSThDeDR?+{=cW+|G zN1s!>OnFIGj{RtP;ARRok#1b-k&k}67j~kqK{b!kid6{ZiFwo>fGRBx3utMtQMLCi zJJ(5Ld%3Sa5lyLrW(xE8!P>jD3|}2)>uY|0`!#+)Ulw!Zk+sCQ#GNo5dpx|vP{c!P zdvB-Y0GP(d_MgM4d^}twAW_)D%fU9|=mZW3D$B@bNSA%@M|)(|ngu?lvBh|fX$3d8 zVNs~3dvXw%&k%47srlS`Pps~iB-uL)qE0r3W&GQrI*yY+4u5u9-v4iVW#m34v_Yti zfg_blk4dCFD~neykhgyHG7R!A#R3WmZFX*Se>^Q`;fdTRHASPz_pXo2{=G-!!ik$Q z*fW7eEEF}sm4Y2sFs0&9ot%(pRaUmWz7Do7*2~Hb%cQIfwne7wX8SVMnz{yiJPkGn zaw%?Fi1U?=LdeEG=iy1NF0+#z{tCw@ilJA>13FP^*$b=%W&@zgDekH-~1W6_wz6QeMvmynM2&GM7K z{w~y(+a*M`DljDsOUlfo2tDWK3j{2tnfhiR;m;E&Jw)*C_I>I%WiY4*(DtU)VT>HO zNtJina65VM5+oK=&~h)uMq&y0EZC&LMq(hAl7^Nt+4=fLdFj;+U_?Pxn;ph>Okd|w zFK=Vl5MWcjjbfAdYh}aye)I2{j450S7>sKkd@?X?as47R2tGQf_N6itlmi8Ygrrmo z_C?}Yrz~7nBj5eWYqAq+kFgrdNF=04OAGG#fK%an+>?XAT!esQNX^Aod8T#p55ug8 zZzx8PrFVl560+~(!?O4NLo(Tq-G?A1xtSO&MUCS$D8cT-O4y5fRa#e-7dTkY^t+z( z!hOv~8$UNL49oF@XZ85%-p(NjBtdN1enA{HkE4Op!Gu&TD3w=m`pEW|*Guc71~3tA zTa&o+qNATB&NkfMr}Peu?SAGP1lTFO$s8A!-a>Y$Hzg-wpNvLTZ(QgEvoj1kQRR}E z%t9p;Tm2Xa%3&O|1;+DtLUmxnwst9jDyS}G*%x&uxX@3&E>tv&ubXJz#OK%1@y^TQ z8eh3w@g~)L#cuE2E2Faivtx4R*d-afk8`dQA&J6%O$Mj&CBR@VZ3xJ&w>HWvZ*GCA zP>Wb04qHm06|4_3_K)j)b#5L&V0!!ceRNX+I82^q7E+D3ulC7_gXiS%zSGj*Jtid) z7(|A8UN+0kr7R>G(>VO1Mz-!+2g!@gQqzjlyYvJ(^gDDKGNOz_DfriZq-t`89`N1v zEzS#`M~0NYQy5qqRuVXQP>VNT&*5{t8)|%iIw6O@JSBZyz)>9L!Xc1q^NHNBl-CF4 z?H|4@Z@%}6R5w~%jwZ(f6#b>S=eY?1+Y4Ab7#4>~ifA}5`UXGt3C7_#j=loKpt>D> zh$HMW>@N@Qjme1v7v#XFN96vU0SQ5(J&03jdEh{n(uc5p)X-*ZMD5%S8&ONK$-rVv z@hFB57W?q{h|VUr(Z7BUHsxHq^UHAQjbDX}H{vD^13LW0WjXlS8M%3-6LXlLRFsuT zI+?(U--A-s5Qd%A?eaS8tTrr$WSYM@=h|nw`Zx$Y#}IG~spq(HzuBi*l2t^i=l3YE}DFa=jl7@su8Hh0_M?8TfjU{dC%1YV(`dU58yRo$v;>#3+ zw(3P@foysOI{@DceWUR7$Tf5k=M)6kvS{lZ)y8PdSmg4BJD9+om-8oX$T)Xx!Tbng zA)8Jop%##k>bjVoy0sCFbNnj>_#*-4Ysu`T_hiP~l6+m}E;*vK%Mzy$!ngnP)fKM_6tDGuspW1*kmIo0hXDui#X;<8u9c7Y-W$12a@6(I})cCgWgOhNNj> zoow3C0oCmlvT#+s1fddS`O;))8HSVv4a&j4b{qWoX}S8@XfME>5U1mv-|qi@8dkn| z`o1oFFP*w0<3liEK$#2}JfBDm;UI#5Y<+bNZ0o%&OO}Cg%#+Z_*&?pHffF#8KaTBh zRM6Ra9H%p&pOkRlTsGMNx)gC^93hh11=|Pw=9PW{HwBjQ?ofGQ-NbK{rQ8E z`yvN{xds8pkeX{P^33XENtGRdi%1p6cmxgLnDXEK^A~aqh6B^%VF_k}5&`j@#L>|0 z>lVtpKiMN2ceYBO-eE_s;2|3+S~!L@QqL{=z#PTjMV5Z9E{FmYQ@4gkn6N<-r|ZrL?7^MG={^^+g9`(yU_=EWO~Hvakv~$FlaAHR zkcL_zTXw9K`Zh=b*pq$u$zCVmIAQHr(A&AMf&j70e=$CR>2U@agjX&|dOIiN%z;aC z;x$Zq3PH7&W>!KWFqEM_R*lmcx4g6#hg)otikn>AE!p_!Gde zy%hyRKQJyGYZ~P{KX^sQ&}d}|@-Vr%adR3t=cI?lLQ+rNY^4Vq4|I};&?q{RK?Ss= z(Q*#LFassGulGUH^`spA^1KXoCZr@#ArVL_S#~gZdUPzbRmB-I@Nm!CijTw2z@DTZjQ@2ro_?_8AW!xGi7){;2feq)h6@2ZN9W zg&H3<2Urlf=jHb{kU@DLx!@5)|G$FOkrLt+~ zaxkVg$NhY{y~?RfLYFJ`XtSVIoZILM+^3N|Mpy%O7+Xa?sxHK4)s-B6iGIT#JNA{hPqd0A~ z>n4o$#zQ!v(Wr)v$H%0sx=dDVUZ{57Hf>!ZWjtv$@66Jg9fGpVR-T!q_ zaG}o-0v0DM)^LVIKknZtj&SEdH)4rnAsHJ^sJitRALG!Ov-c$zuasCA>a+MuXJF!@ zJSPh~aB?1OL~Vt{acLXqtE!FJ68N#q%V8iP@%0_05aE|lXEX5gWhrkCgLa}}LzwmA#?!!^a}aP4crp-h45=pr*Lj#L zNvdTZd6G=@q5~bgb7NdS{QHmP!v1T}@WEm=M5D$@96O$rt*Xar zF(ycRHp@$|ZIkL&Yx9B|Mr1N_qD05mHEnBIjnk)0>_pRjncBI>0fDLTwJ6J+zY6M{ zH{ZV8C7*qKOwJ#_t*Sl&7&{K-FbTs1I0IF_%K8WnC0GHYs+*;KWvxUZ`A9oaY3}%A z*N}faeT&QvGNZIyJUjPoAYfau_zw6|e1+b4oaoHTfltoLLD;V8xig3fHKbt>n8J2^ zIy5Hj>l@_VAHE74-k@!kOF^XsQjx|n6HLy1P33#^;<($~fdJc!mI->%T$jnt`WScqytPOSZon>PEK3 z?O*)PBAqLS0NaHZ0O)swEu>C+Zl~q*KOB|MJ~)O`MY34@g0$Yo-u5&Ln0hpMVw;``+6DK^zthC$zOd}Y8RRLFE{jv z>sBJw%gx;!1RMk&69gPX>M;RwK4vpTVnVqUB&(RPVi!QQwY-nIcWXla@$Y{l*Yki|cJjGFyZ! z28xe^q=G3$iK*_JV{#O#1xLTQh=oi7Co^Hk9rh2>N$>Qf8j+mlru2XA94J*Z_C`<`5uI?PYT*EO>az*R|6F^2gtPDOb1c{qj9sC?c?F5VMrAkEdONN(iX{kKG5&^WS{*s>dBV$EpjKU z2pfC<7FkU}V1>7B2;SLvKteVeUK2RH;evHCS4d^&eT1;mrr39y4 zZhU2hyz$*#(y^jWLa3?N0=$_Me!p9Z5t6F z#7#H_Ebj114dmqW-(8W|7?_|Jir+q)eux z9nBz4xpk6Kgr##10*@C0jv@7U;rYaJ%j&VF7)!lf6MOd;$ccSIF7=@IF6#gT;~AaLE6KkNW(u zJT**Lio7#zA_}A{QjVv zI(Suv`zN8AhohvCkg9fpND5L>G1>Lz29=6xUV<>9HyW3kc$|2f9pD+h+H?!Vl#;T9Y~Qm{ ze*Bm38M{&}566{rye21t*_dS&NrCxOPsa1RC)A|u<1_Ua(lUmrU6!K$r1;{cvuPRM zKJz|XzWz^o*t0Ez<=bcGYs+BTZ(GL0%4e$-F2*E73OEeccRMBj@{7H&_jX<;pdMBo ztASzUsKk@QDt*(oqETLdZ-;Dod9_q8Fk=JJGs`gn%PlM2=yf5@)BiK2sUInlKlO|B zJQHv{=-K82IC$#e#pAv5>wox@+`Dog%n2My5CG#4>d@TS+qh$e{OD(I%R)$@8ru^k&MBSj>3kr|rt{gwJY zN_$a^)q5{4`#w4>$3H(OBRz46=1O&*l!Y<3@yRhrEH=uk?`*|p&n79U2R72UJrinv zz;P{#KlbvK=^h^e0;Y`>e)f^6*!JE=OdhuIB5qziKO`Uib{`IMxeJxboRqRH!%&3} zC#A8YLjL@3zbosZ1|NVHK^Bvt0Oq}! z@iPq!PpVoRY^FG0Jvd&6Ls)fs^ zq?^i+GK?cE(6x~$83+3akf=EP`DxkvFGu77PRdNjOC=JGfzgzcvGEZwqq4GgTZjDU zU%f3$H&)`bMN?CwM#3_<6HH0F8IWA7f*%BFU1x}5a&y1m90F`~qMd0~(;{AO7}nGM zIWVNo$)_KjlHR*$&lDE4I59I9OUsB1%Gw=E<=_6z4`k7b1}~ABL@J{KKFp78YbM%W z1DYaDe0bTuX&09a(1j=Z>^GfU+VsqudDy%;$z>RKqdCESRL4m&@i7HyzVUHLis5-| zYz%!I&%j?^%sT{HN1SDOyf-v7D2_%VQM`v0mpP%H(E%=5;GV@xd!I4x!#oLJ57dli zMrgJG11#`)H{VbDCp4D*!7o0CQQmRja9B#iII0{A|5Pd=!Sa-Bd2O}4_tQ6|ZAGct zqG2mTe#7Jk8co}9lx%!tXRA@1z*q0$pcnVu-);nu0a7ND0^B3gbtxmi{=1Ll?7=JA z29X#}K1AD0WFaxLxlR7+=Rd^Q3p|0pQX5Bil?NnGnK>fgZ{QItPh{*r&2Dn_F+?Z#xJ;;A``pl zZ}90FY%qQRM)CP0w+?cG{woLxwZ+{@I>wvSQuN-{y$yp{Z zddyT7yq$Xl2-vm*4D*k8u+Iuxv>QQ;(}n4{Ioo|JE&uYXeR68wMTsR#lxdHFRfdv1 zIElJi{_L;!$V;zpuuZKrMEeow$Gmb1ikTTw_B%*7Ni#=AMx>{^NABLcE8SgP(%sV| z!^6WeIy$Pfl{iZL_2Vh$xTL4NNIz?8YGlEJ1=8BuDvK8{)_ZkzwNzGC3h$QQvuul} zGvTtWo4Y^15O55sXVtb385D?=M05@Y{r&wiFfgFc93Z#=wj60rsx5I<&NK!9GL)hq z&J7Lq($v%}_4V~iz)Q<8IrS}YIXH7dO-FwdMo+5bL?zLimH+&|{hgfp@|skX)?pjp4_~3OYYpcBlqv$S6t-tg9i`ti*Q{q zV?q+b#petze;FjswY9a)5V~Sl*6v*$^aR@NrZoalZE9~48fq-daW^Gtg3UQo< z$Tbm}%h!+e$^Z9%e;{2~htc+scEq?GhuxZyWWTK3&?NsF3!*h!+qJ)#TuhHK`7s-| zpm*8s#fb1?JM;2SA{q2;oc0|KKAz({`;;G#Y?%K}oaV%tH1ZyBwX?HR@$~lX+j0wd z+l2`<@s$&3E_gLh?W6cYl*jihX{eVeC(vXllW|Pu)QS}=q@$xlC(-Tg?TWj^Urw(5 zxX5vX@USo`{vLmwXL~k`DD!LLP>#vK#E#9${$3Yht0aWe^YCfP$4ZknL!2%Iom-oyDT7~LfV=uxVEDbQpGj2s^~Wjr zx~F`PvY^1BAQ+EB!V~pi`|WO4e)V^s$Pw7D2}3$Hg8`K%AdV*bWDz8!{@wrZGg-ND zvE@N3zA>G@&+&aeIWAfU2M49QyIZbbzpnI^bdj1x-d^uExtB4HAyS*lyhG)uq@ncUcA%UcN;!CJQ=?j3DEhqGG-1$hQ^^k zUXWk^<44kWXG}_iRoK*nadMLu3V9e7ca_%3m4?lrAtavxeg^>GM>d9h1WOuA&n&SnDlki zrcJVX^=etOW{s>`wMtg4TqO;ScC+joWbTs8dk8p&)MIW!OXMDwE#ugDWG;~~lThEi zdsnVqyOtja=+A|)e?tAReEnf%Wo1%VSEpR)#>PhBgqj4qrKLqyu3RY{cwYd*J(I*n zav&rB@LxWV!=IjqnqDOq1~@VrhKqw`lk&#*w#kqG^&1ka^#)-K>RIgm1+eIK#{T>* zFjt=o6RZ642VRC>1mcWlO^xQ{;JzymVTR2MOs-1OFqVu7Qx5hGvcUv)`o=L~UL-$& ziot5!jmSAyKXfGU$fQt=`c7v^(VKn9>qjQm6Z_>Pmy=-Z~lf(0R|l4N+uL08cgtXT9fs9ah+{(+s>AOlmqk8 zG7GydjLEP5>&J5T$aRSXD^_4Yh7mSc(o|LNN0?J^e z`OV{}EtHWTcO$cZX$_b;p3(2w*NXc(@s*2K;wu-mXU?3_$un`5%qVWwJSoQwpQ@@V zWlk+$zFf9!*^Fze(o!<1$jIU+@H;qhC%zWff3~_A&@!d@BP&XAi2=CSrd`*EhsX5UAJ|a{25d-TUNmUFHlzd0osY9GMmefws`dx7Hn^X z0@fPKRD{7Mk$KWO*vBb%CUfp9AV8p!=}GlzHVj0IF+8UpWaSUPJ|_DtJxNEY z3`$~fk^9n1FXb1$4fPFDT~nPenlPPhtjR~pKai&Kq9gDm^S0R($Y~aKf?Ow6{x_6%BMGw?N6HL z9Q$b9w{zM!fEdd{u6u zv~}&;wX%NwdfByWr)=N0U0NVf#kK3B($TLj#l@KG5O55s$K664=e%)>Na>$glljDf zV4#0M?%cftB7IU9z~n@e5ktyTJ zt@_;D*ea<+P=5D|&*aPBpOs*`6eoFqQ(+__V>Y~CV^mn>F^4PEehu;UoP$p9VmvG`^n zk6*$Ww@K{weevl9`S91DNPp)DcKo0+7{ZP`R0x8wjZjvTg~8*U^1Yw#GP|~#BY&vg zL&WysxtAwHb7{OFe=V1V@-jbsaPA31fK6c>pUj)m0=9uSsb+YhJ1hV6fBi{Ld~r>Z z37h~$yoQ8pHXN6_#pUw-KYvqp?B1j&Cz|}2oGc9EETc=?7X6HUO)mr!7c7ohe?P6W zc|7WUraUMmoPzYv{Rj7TvV8F1LB&}zj=6!uG&4Dim#j}2aHhcftXZZ z7PkCO$>$#(mGNPyk*3l9U@%UkMqsxwCV%^%ekR*rU2UW>9+v%64r4#Ib6fUvJ`-p9 z`uY@4_wL;*$B!S^ja5o0GOXC?X>?e~l73ozC7xLNO59;sh$pR}qp?ilq_tgR=_~J~ zsToM}vL3T7fXPJWTzB{G-O8lu=;%<%WvUHXoK*Z|r&fAaTw}H&H4+d^rXn0|_gy>R zFTecz_vP}bn^F=ihyBeMv=neKOa{1F6_JS7OXei;Ek9;!ZiOFH zM&aE(JqZYKu;W!U?y)F%XD4wG!H3u77yr+Pk{roE8npsrGdA$jqtdXX1gDC>F0Z_~ zNy0@;DfS^c+o$y9N&le8+2*{qXyPE(m&C`zM-I!r&-clJ0|)fo#<6$K>q?;xTL#81 z@sS&(l=A1rXW|U~sV++)1mZ2f*NzMJZfPjjyp+HqeeHqDAB8L^F=@4ZNLz~?%h|kn zv+UWkN8Whj4Hc%S#)eP{=(%&xF9aMz>It_kk&Qb-l)xb4={Od^M~)s-bn0|DQy#Dtyb67hL)&|!JJ#>dAn0F9`s-^j=?2sw51aSXH>FQAYDUYs#;0%#Z!6hqHqL3HL|Cy4Wxa^w7M5S|#MVxSI!lSq;dIv9C$cj~$mCu?hKltIMWQ7VWk zvb^i}vOs(@@sLa?o=8Zh6c@Ra?BF#eu++O}<* zw70iwopb_#GU?0$mLNCNTbusg%~AR2H~ZxmP(M1s3CR`SjmFrvNt?zG> zwb+FZmcWxA1jiG)OrJ0YTGiA4!z%J(d@qeZ*gZda2o!pWdE#W$_5eyaNfs-mU`#8L zfx+vK{`stY^1J;q-k*>tY$N4@X&FloNlj}hcJAMj-EX`E=47EUnID-WripDs`@)G^ z;FwI6h&6TireCi(i~i4vE%BAo!d%o+T9LcAr%#{41U5b;d*T6UBk{AYt`=9l_gtq; zAxboH5>1H-(l|S5Ry-@hHP)Uqlx34Ha}v!7JaM+KuUDDaBO?ZfIk6_Qs(AchJzjnF zRe9~T*Hq$>D!R0F!!d=7YC@G`%uJ5u)A3HsCc|PFYV!v_KP7+q{TDLOH3~z!75E06 z(1t)ts33vW5eH~XhIEwX zBpMnT^__HuV%z$JTs5ct#C5^@CpUH@1OwUc*=~-qHM={~p_WSAP2s zA4&h+QJkI#Ml$D3cUr+@qvY(`v{|L`Aw4i&ZbylRQ52kSy-`;)yJ-$(r=fg;hP$}1PN zB*NUarD_i+sMe9llGsv>b1p4JyUeTSS4oEmwViIp#kJ1$X zKYQl^U`2KH@c@-TYQIAVK@cg5qOcSN73>N&nu5Le-V54wDPFtG_ z^XU|8TvLSGJuXDJRUNZ&%N^{XqxZF=k3G;@wu_V&-ZA|l4UzX!`!EZlUZ<}}KO;f+ z0I`bMuQw*@Li}?SatDoJ1homZ3#3#YIcS=F^ya6waKQ_y+7kNOs# z4%Vg{;O3)XJbTJY`&def&xee$wF;rGqg+F&d~qY%_b=s$VnpsC<1f;ft+cq4~nP$CoF2i`Vqy0iLLwD?GboI)ps z2dj#n@_!9|Z2Y6^*8W1m^^4;^40Y z$Baza(%nh(y#7hk?%ToN+dD6OY_rBMPyvaC%J-IMYn8U5>Fy2egtNqx^*+GrH?abk*)i{}Fb z8X*{h2vf}lkwyaz(o;IKwyfDK0&D@v<9m)>TdjA19P%6%0X7x@KC?8S!A9wXkjoy+ zFWW*0wum*00EBzt!bP@5Nu99_$o6avYN!%Iy(V^u!aB~s>}>0LfRZxrv5PYlHI-M& z8;pW4KnNt!spM}}fk2!Pa~v0D_^h$@OHj6m5nL*7sZrnCh(X`lq_MLsCtKxVYl%r# zz99t~h$x#Kctj^zjSjZ<`?d~_R(_9cG2NdiU&iaNzAHt{N;~t;^94u=VjX$pN^Iw`SNr-CNN)nVBp?jMB(WKDl z?B#3iyD?*}QR7Co*FH*`?aP0}ToQg0(F4|xcyG89EfN}?cIj*I0sH|MP|9MsA#8Tg zph3<&6TTj3CbTfnOO&$UD+U|rB}Nu0kt)9_#x+N9i5?VB?tq z&+q~v^p=o8`pajSX9V&hn=w}%*MyfJp&HS)&r z_0{18+#<|MNufM(^a6YD^+7gi^!IXh)A~~rVMnxGUa2j1Z>)0h2T0&O#OktkdjF*; zl*dgdMV=mU|1KJj^g5nCvuEjA2!sd6~wUrD~>%6%0HAd4XFR+jLe`a4RH($=Od}~A% zJsIC}^0TeUE<0Gao(I@b#~v!VQHPF& z3vV!O+EhRVBW{I@y-BZ&N#}-+p%3G2N|B1BIAK z$Qn6hqP_XtKwCU-ndV`h?cTP9U3KF{)?t4o($36{Xs+?(=w#-L=+q|uf`eFru-Jlw zBS(Iw`5PrUhL9r2W@WYY1mZBv2!)X)G{Qe}%@CiS!Mij8=C^?mgKyxTD}mLu3{LU_ z>8=Jwfv$#Q_TUi&7ls*pgn33870z)S7;5kiqKqfT4B;WkC$V-B#>DkB^4IJw9PE31 zKkM74pEYZ|i;WpM(MHQFDu0C(YI(~4CKvN;tpN?1r0k$>dx>c}(6Tx=RdE6-2*7J_ z*74SF>3`yA%PXOri39xvFNNDvOVF0>9E_O@ds@b)>jm-5&gETO%XuPu@0URD3JPLB9w zynUp+eKW@|_9|VqrTNR#x>~D2fhr{KVLgvO+`1f^Wi>OoOHfo}h+=Jugq`rbXwP^Q z9TR4T&yMvkO+J+!1d0xUo|M9CO}vwjgvO3!%HIy2Zf`#SiTyBJ`9urIuO!+bV^6D2 zP3**Tddis4nIgzKr$RFROMdSsa;b@4+o>q_utQu0z9e!h|z~@Y4raHMGX+n$3~tw z6mP(X=KTfJHtec@pZuv@5J(hKTQMFW6cgQrV0lA*C;^x}7bHjqp=elWaaHcxwX3yl z+t#aogqU0qCS%zZK_+Z3POM3~N-{?l0W3x!KF52MV%z zD#H9F6c1(@s}S>*b2JDpUKNy=g&1dLWmzM_dZY+;!B%ehgdcGo_!yK=VGqv1F!MQ% zYku>M`~knbX`enye~bt*-?IgR3|=DS28J0Xnl*$i9D|R98<2+%A)Y-rNyD1F&)!|F zbxR4UISs98{oUl%*jy2l4HQb5YfV}Qi@Vml5kOEB#-Y!} zLB6 ztsQynzIOU~Cs^Ya3K5f3wPJpba@>rxp&u!nX#PS8T>IG-H(qFso7WaYjxZdAE}pot z9);e>yFp$Hlc!8}dNH719=j1ov;pz(0b74CA3V#-4f zBqX3nX2ak^t0{VpcV>?sN7>0IpQ79tJ=|EeWO0rS>;I(xhO};k?XqwsZf$I z9&86o(Cu;Dp|E5d#RJ?%?U5L4({t!f&C6ZQHi> z0vwcV&(iVEQWoP0#dm?8x}i0Vr-7yh1r+-XPpg-Sdqox3zYLBFUY@f?7tvRmVm=KC%LJ%pIFkg6z#}%z*%U!Hb&%V~DS3hf1uc?jw za;p6>b(tG`>Z?+1u5v}?D4);)-8xynQ&mN;OLL{}(~2lii>j+*D2cWC-8THQvGW^V znVhK*2n1YB?=cum`*yLt^%CBzv)mBN`kZI0ZRg#0urn_{!4B`Cd~d-nz?{rU*@Q7O z?frKKNRgbf^RGC=TD5NBN>wICph+cqKl%}yG|YeI?jYgl+wZ(%g9i<^<;oXKgO;L* zA`BHpF@_xvl|>09UKiZVD5PZMAuS9vG=rz2Q>+7Vr4x9@S`y?@e^Bg?aHWLY<+22+YFwAj%I%PE zQzlIJ>!GN5g;KhxTFIV!x3p_+xzP6Pq*y%=@X8zK!%pQ8^Vaid}#VtaF5#Y`XL56Sz7iDmd&q1&a%yJyhxL?3Uj_F=eyz}#$ z`4ez2;HO^>zUqLgdlVd?|KMf@C&fS$L%&9zUO7rEg0%?6)U27a>^rSFgarREA3;|( z@)~--T1rUStb^^jdwXlqtd(`>+{*f%e57?%;_^C81z>@amA=5kXjRZ(?~^*ZTL zJMHYgQdXIL@b)K4j6cD$m4~W8c-y?qj&|+OF0i)pv;$kiJ)>uFrnn|rrA{E=zWw&w zzL9qZ`a**-#c~>^Q zeL{B~B9-S4m=~}w)+h3 z;eb|l`UQR6TMof@^@2kCSXKH4eek8toioe!>fFYDeA@-qszVdqkNfg`DZAD^Ovf8< z%yX2dD52hZ>n-;<4xWqfrk$jK!U%~Xim*KJG~|SWr-hydK{wzjI2&jxbJREbqyJli ztD)B!Tn#6*kDuc>;A_|iBMPvekl?>fYdEz*T=x`cJ^GP0^TeP5gHpZ|XPTXTVY3 z586u06~Buz3L1+{8st)xQ^9Eh!z?tFjnID@o|)adcegX8m^$Hv6FhfganGl(#hv$? zB!4Ol0*OLu6QF0(f-H`pS{V=@r%aw=ue|z-E2AhK4{@U*@Ujq4suHgZgy66cz({XQ z5#=6GEINTur}uu-P5dcNA+?FiHz3$t%e%1%kS7D;Ol&^y1JWZbz*PHZEeHs{Q>2+D zEb8m8zO=>5qU4Zur9|6z-+ku$yd#yc z6(ooYwCfnTK(GR##HxvF^0UuAE342Tc`3knM~Wz{B!?UlS%q3Ee4v4dE($0%7-#S> zD4<}JgD@NJ&3)*vH|>fevSmTY94^2{Fai(3M>Y~au2RKJ3KT4tMHeEyYNaY@syg47 zUwmcnzx#oGF9j8z8Yr1+)zJIa)LOJ}SG)bLTdnUYM@h+`w-L~_nn?lx`fR-8Iv7Wv zbt>J`5C|WWeIGh^yeLQ#~LEu5aCDp8-nRDyNOys|xDn*o8NoX-6K{S(VN8S9t4p?!1q6>(Y;c-xJ3vI#~A@vI0}8G#qqHyZH<5D7pMPh3LoRw zg=4>O29^RZv^2eO4PH{DtU$mG8%fZK3_#cgPuUadG+T=EvE#?trwW0ZGHI$Hi0MXj zwN^`O-L$>6Ytzv>?X{ovRYL1SdhKhCm5))6a$y>8H`YE{2%%+Ui?&!-i++`Su51tp z1E{@NTiF972Y$W8-gvIR&73q>m{m{wtmc)H+V8PfQ#=34Q>;zvRyIK4og+T^LLRT# zR#V~e^_$kT3vN8o4(Kk06}o3lnoZ6B@O}Im=I(c6zO$#Ee#%~Z?X^sPRFq8^bqHT$ zPgoxEC%6gk%N|?}N+{=j7k0AHL`Mjs1pexIX+Q z9P{kBY>F`!UKn{aD5rvqit?N)pLjQtu7m4nL?aQwbJ0Z?d9EqEH^X!Ip5vnL$oZsI zECdpT)JEVR2z8jWAi|q(zG;s=_L%3pAk2nI4T6)j^hhNd#x)X#n#m7Cjb~H?B}HVh z2ywX_!%)YW>f(?#jyxObVyT?wIgw^M(o}N{Qo~RqI0Ryif@+lni)E_JH)DE~H2TwF zpW2Fao*vkp{k!gOH{5uGoq5(-)>I5j(y9XlV$|4QC(cTxk0s#dE7V}x#MSoJiv#7( zJk=W3-NEv*3uHlZlfHfl;enb%)sr^Uh^~kTFL& zh8UBu@u7zva?dD;5)B*${~*RBHzd~#cnCp;2ot79ekhK)54eX10v4h048Ktc|L~iQ z;b&3CxP-S{?=r_pDWXE24Bi`j1Q*w;=snF<3^Z#Lp+U|_uUhR&Wjw{c{`w0W zI^s=vCr_7puRw|^@%43D*#+mGZ@1lfleOv8 zQr_S)!0CM%Yu#RJrjGq{(M~6yt1JYSBeKtDL-(5Lfq@EwNtM=%8onrP^+Qh1ki~Ps#+8-%+W&0V$35i z9Hc3Qhx~KG&nKRELQVl+`O3mH>)3HGg@E_)PvVBP{%KaeQjvg~PsR zpUUEMz*C+X@HNQX4g+_Zz;S{i1rff2t4>eTiex;dP$ZMif_#)Hr;ua0C!va$U3RHm zc;Q9vF&3V|z2R??R=FUMD5N$r9!y*&G!qw>Kon6B>|ou6_)>|Zckf=(Nbi@i7$FF= zu_(AAN><=Nthrwt@pyDVzM|a-h*R`@d3=r*!$L9CYaOu(8Ctn2Qb?hgB45VBMT)&w zGDs5X4Ie(jvQ@U5#!`328K>K=x8CMS&=LB5<;3ipv?>e%DDgU~9FF{jJXeCoS0|Ux zDX{);46#o?6j6}ZMNKiyD54^K5`ERbnqtJsKT}vsp?kGf*y)$`RTZJ5)`JbolFZ}u z4WVjSZvXkue|p?}xERlhlTJFx!}IV;Y=TgW0!oZBcnISRF$T|E2}}<{j+ts=fB-B>A`bd5YKz8dp|Ko?oQ zn>J}|S6p$0U46|pwzrgZs??b@H>wLuystGTZCmwsy5bZFg=h*E=*;-qzs*c~e%eUg=8Xzy9^F z%Io&Ea3#75%PsEocw2z4;HfK(@nF=}Ky(v)#exfsr8xr~!>i~{TkzMHl5_`({H(Na zG~70<3vT2QQ;Y`&JVPY#u1*WR*%Ek{DVg#VS#^hsi5?_DI7gtQvh7aRrF}=c`A?y% zgy~^urQrpIBC2=q-d@nAnLG~gv_QxOXQ8X`wcu%nwyF8id?>Oc>ILiBmJ<6$|m_oo^qcGgntJcU1Wv&eyI?M)rJk%B}nyqdqwT5D6 zd-m>WzrE*9J3=8sycJ%`kw>^bq+c^W;ySxtD?Lc8ciZGcSwesTO>cNgeesEk5Ij3j z9*XjUQr^GZd=>VoxmJdhx|&<^f0Y*_uEeQ=nzmM9eLYU@Y8PDH&nu+j4Ij_Zw5e{B zC-rZC`J&&7T!|9NQ)wwuwwQ^PhhlWO(RsE#u|mU)NQxj=4)EGH}^}F zQUMy3W1lFb(&NB{56BRXSIeSFc-|lX_(xBo7KW^C+qQPfDW`ZWJq&hmhs-FWWZ5Ng zTp-keXougIWKSQ;yP+)Le|R>C@5EZdFy0z#<(YvpYU$Etwru%QsC5rykUU>O=n==dMIcmooeWd;DXFs>&R6VG^l2~G$ zE9$Ntu1)sU7XnfV->$p;QrlD2G|_2!9H4`YwV=Re%=q3OdE{Yx_~C~YuD3b^Oe$BMCGXib zZQ8if2}Km4KPaGJreUB1&SE((H5^s{!+I5HTj*5$8S&%r{kHB|zi2t4l~{G%pd&iE zT=a95ly*y&EVj|#j0s&3FOyfBIxyV@Z6?mr#mo@P$mO@zRdaXc7%Rhc|yuJIw2Q9Rz%Ex0z`m-sRK1RE{TS8xd-bLTg72m|?Fx^MUwXRW#l~23Q#d9XD0vCofODv4~_183MC& zmf60Cw6?2nJ;xgDF5FDx`=(x*DkiMe$Be zc2a?<#?JqOqvT&CFL7Kc9DZMP4^G7KqUiU0j^kW7j^oy*ejl!n-#7FN{0o(<oJmlU3jc#*NE+U>xB15}h@P$rCzO1;1QmI{*Ch-32!Yv>|DE+;WTJ zsyg9ccz@QZ!hDnkvhYe-yjmWN>vN_;4}`;c1v#!HWP5f7Gg-N5 ze0J-iyc(-L$5hL9jqKW6FSXWt?UcT2w1aNYnD2zQ+;PVpo(q+8 z@f@hoRPYobHz=dH$Clzv{P{eytXp_qc+ST9%XRS$dPv30HBua}S)&j>(p4xzfIM(> z=gjdOaPPkRP85Qi9=x;9Ios~K^DgVswTnNF`)%xbp+CvKYC#|xYW|9MWrvrsP&8+5 zp*{NdcWlBpKPbOcuGLKkh2Yl8Wzf$WqIvl#6{*<0u3dTSdDf8 zsVGNy-u?IA?+Q|WfN~gT2%-Y;V#EN8BLw)#cWiFdNr%otPq}AF+UDkKarfEWZ%Xpq zt+^(^3A&2o1RHW_kV}zG@s=XGi9#yVrcLw50FSG$zS{1*^G+kYF=>?x0*OK@HXclJ zTy}>J9qK|b3KklZn1tml1pDo`pC?RX5ePB5Sb8IkH15kACW?zaqG}&%T|-DgYfqv% zlu;{|6K}u5;kJDFG9{Rsq)?654X>%Zv~~CpDWh(`{dOtx`dJfsve1BaMJ;Akdk`v1 z?;&y$S{X;;NhI8g-r5^4eryBZ9AP!qDrZqXnT)XDaxGR6TytTx^-G<@Q=_1E%9gKP zZM%2a(eAwWM%%F^7N!E_R+(kbJ^zB-l>ed%A`AUDFv)mX5HC-KABZtH*m%b%d86lR ztE1=1MR~iJTLL9`L^$6X4+~nY5FzqQt#FI(Qdx_J40NC{op^v9u#~pWUC=bS-^0qip zC8$*zUS1Y#FwK$iMjlahs7@7mLxHo^8E+AEBgIq{azNMtO!RW$D_$8e(RhPWy_YJ! zTu(ds1=x(XvA2 zW}N!%e0%$a4{geKb7bU`$FZntM0dq&DkMIA8)0X*<=0qaJE|JvW!Il;UAni`{nu|O zLkA2Ppp*)?WyALI^J*ADl@ur*H&9u#)Z5&=KCe<2V zB?fF&z0fCwIxjDqRq~Gb=u3N5uFKiWl!&;niNbuyKBFn4xsrlV<0&Qb?B}#EL@6Z# zx_qrF%GFqGSKWAq^*rGqm0liW5B>WQd+doPe2yU$Q)(K)423ZG7X;g29l|P9T|J^U zH#-nq^V8lJA+8?Ad9mW^A17F!fNIYfdm&uqz9t^xOW=eUC(%{1nKlEg+z=Fal;48T>SpO0Q za#fxofo`(LLn^{Y{Dws>BY9UzlJiy-+BYMotHk^;n>FbN&mYAlQ}$= z&}6)jiz)}ICD68~mvYpV5pZ>ZO&mSb`oBKRrj1!(HS+3Mz1pNgP_ZjaK8hAdqjd&4 z1vMlu6)dw;F6m{bU)mGYPd9EVj22B;si*)dU6P^#8bAXVDcEz)Ip-Z|KZt}Q!xUCe(!D9-C2@JCEztB{od1w?sy5rZs zR)zReUAYJR6MWs&3@Q8Xwrhn{KvWp?iIXPUlTSYB$|yX4utM%5jr55pp6J@tX0q%y z67mP@5e#+Mn8e!yv4&T2h6$w)netvSSkYj?YE;{DfQLY zU%91;MfB>cuClA-GP%z_`#ADv#$Y>OcFG=|E9MDG8>1>+6YRMs-mp27ms_KHEtPks zk+a&h@Qz~M_?*E@N;FgRhLb6M$S2HC%yM?YLhI0_xgF7aKYQZo2koUdU-y^63kqV4 z0)@(4Sc71iQAk0E>xp5mvpso5ZDfdpkc;4fq8MU~*9Cio518jcg9bU1Gk5M>XHu}Z z{pL5n@ih*{CTZ0l0#b(v^=jJO=}RQ&4ze!>j~6p7Po-L7rj?}C3l4}eBW$mZyq5^w zBUc0S3Y@L2c!V5<=+$bn)~^5cMXKsm!~XX#_u11=KCWx>CBW7ey*$`XJ@qutK?A*{ z+HBLNJ3I4?fD5fep%SN=Rhbzs$*h6S#ov+7;B4Ho3%-)q2Yf|&@Y!c0WZ8Y+CQqL1 z*S1yet=oS3Qx8|hP*(JwCFw_UO=W<9Gg9gZ`^ZBoQb`HNq=IHyqSyp@84A(7iT!WqALE1U4o|}^+e!rD+A=ps}F%M4SR5vH86NJ zqJRQd@eKV+70)naH568syTXnL3BYB8lUn= zlK}$;+MoaYfJd0{TXGZ=nS%#o+qP|8al-s+pgf@U8<4a-Dgd%691U|g-k0KzyTIKr%EYv@gpV%RX9^!E19xSMA zNvj$V2-5(Px^{W4efZvR8}Z3#TfJCk3hK+_LNW6S>!dmtRkz&RLVNd$P&GJ8#Me;X zib5so&5_b-trSv=R!p;5^T*nR@4r;|LCRVwEDw(WLi8ZUk#MWTjl#qFvfiQ)WYVWYktZm+!YU)?n&WpP70_Sim-vsAwXUz(;FujKN#V*FFXB~SiJbLemXe87u> zFozIg@%V=iYu~=TulpE!@aVzgADRj;#=I()Cri)U0OT^Gx8VV?J#&0xtt@C)c%JX| z=mPOG6!W3#G>T&sQiMU0lM7F&Awz~Zp5k40<&{_3kAC!{jPaFzmqi~p29M-?=|O-s z8qdT$MSKnaWSqVE;t*RrC&wDr+|iU-O$sT6H(WHX_|K&qdkRt4n6cxYbJ&9PEB{pBreAo8)PQt zl+P<399#aw-1VE4;7@g#o4hx?uzNNNSBcsISA$$ScI;St_0?Cs8Xwofr;x$|e1)bW zR|MEq7nqb__$$RF+qFUpfs8y+#Ojj#m&WA88>4sc-qx;NJNL#2xoS{G1q*L+6ScT= zm12}jvlA?O>ouL=zYrTniE2V?RW6q#%Y;CZ&t}H=Gi-?Rat$0fFiHfe-}mg<(|+-b zU#M*9v2Km$_r)?l>pd&^P+1^=AVq^2l?-c(=dG|sKPbO~D(kISoNe>xNT6DziWf^) z+Uk|rwsQIEsA!O=bWM3(K#9dxt13_}c}T6bISVG*_$edohc#2AyehQ4l*{4-<+M0l zp(?w|is7LIF5HR%5JMf9<)S#pJSsB=*{6E+-v07i@TX`$x8SFKX-VD-A{-jm^O?LC zczlK&HG~_Wlp@jN=bw*~QmW8}5OTZ)A(wSA2)W^Y$-a6(0KCNmBWFdSEu6jFrj4It z8U_VHCJYmi#n>K%fzRxpqT9Du3 zn4^#Ku$7=Z_K*T4=SIO*OT|8td9~p@0#^gRqA&nwG3LNPgRhh1y^ZCZQq~B+FwECp zdyW0%C%3o?7kVeC}FLbWUhI^p(WPMIiJdP}kYehfnH7~H+?!L_0@6|$vh?I=@%k0Ug9=E?L zr_rpL^IY*osQbzCjOyC8t9$Nvu2dOzkU>#)LPwcLo0>~u&X)95H+8R)-lH;I7jP9% zslWqcm|dc6+SI9@Ta^$#JgR^%%43vL9olz@_#eGY(KWC#yW0w8PWa+^5?!hN`}oXu*LQ#IawhPh!j$3x7~J=b!ca67)#t3EJHzo8OJ+_P?<5vE(~lG0f4|pTfC1Oy=W6( z1m?-s5Jx8ZXL34$mi z0NN_Mhh296B!%svNKVOHYL&`W&zip2rcan>-X+^DjHQKaL*1;Gb=^aRQha|VF4;7Cn6j82>YOsTQE*9m%_{_ZARNE9y z+SKo=>UY2ce51Gzye@PVK^HuorD7};MZ&9bo_Jn(l+#Z?-F~J}+b&(Y`kGi2##I## z+g-mw1CUPpoE0gXqj0?`V`ka7FQ(eO=?mm(OsLpetG|QtFctxhukFI6Jhr;a?ed#X zvSW_xYKvvG{m)a6*`E~lzVL^oR=ZA3>v2p^;pr*vS=YQ-b8FVTnL=rmlT`(2FcwAL z%SE(ZMV`mU&Eaj)pKL1~F8aJ}y#{h?JF;rQ8hXDO9hUp_n307p*B) zqj)@hn50_{>h0$jDU!>HsYVE1qZ0JX6oRmD(L!4&_hv#6UV7;zkGBURxJcf2-+k^r zj?#}76b=3%`BNz&5GkZ0`s{yW#M(O?`;3yRP|7J8|CQ4y*H$c(H$K{ z#Bf`cH&1jv*A>6V^gPBcRZKT7%gvRzv9XlG;2=U+m>XfA;N!aK5oZV-E*b+DRMJAO zTXfT|%Luwybo=-3@7_}2E0uw+yY70sL5it1ZQEuDG7K1&zX0=fPfU)g8U#>CF`f#L z_IwzwCt{umNAs4aY{~q5n=)aBjs13_eLs1wyd76t?%F(Ol;!^_Wz;kqKYg^#&7Ed> zsg){L(Z(*m;v%DxYO7YeD$#0FH{w7yG2k#~q9n`+wm@qgBc0&xhO-BS6yYIwvmo4H z*`-(r`59-2IB)@1gRqN|7@mfW zq{$;jjIh^Ud(Gy|nd6FLDj43TTs0(*=QkN;e+G)lL8XTPcpAu;jxp#EUb|>su1%XT z)4us^oJ|<>y{QPT*5D`wiB@DC!-XjV1pc*FU0bR26ur+p(9Sr&pZ)9MzuNEa{jJvX zRaUotZH2oZYyFNpLB)HzWQzCT6yf}@XlY56QI#H+<=jE=6}*Fu!(!~Xm4pCQ(S z8n_EH8tHTuz4957>hYAY0E7?(1Yox!EnH-y$Bgy`fMk#~5dY3Q@3iyIJI`UxxnuzV z3YE77g;eOFGo^fp6Ky^UzXI;DxQAni!GHeqAN%7U?z06_R??^>b%?y8n(U-R=H0s6 zK?feB{4+a>7?ZeheHZ0qemKaA{R52GgOA1}6d>?$ptRTGGFf$DnBUQQh>(lb7v_hA ztT!pl0Pi%K3&~=>6DGP?a9635peHTx)zPQ)-}IM-VzS9AHFN4x8~4p*8}rpzTQG0F z&7LDg)#R__88ul#Zk~kMhIaOOXWKdFoh1X#PS$dl=9)jyO(kGP8Kn|m(vhTFI0*Z2 zKG_$AKoE4nN9ZS2_)th;*`+uE)qnvAFk?)e?f6)gdpDPyx z0#e3%B{T`ACC~Z?j5>?v6xxK*Gwkb;<812K=@N)#NT^-k8q}yO&nPJ{^HuEILo$=G_X=S2<1R+LcEY3vn>T@ebN%M74fm|h`+%$9DFs9j zc1cwMU8P#u3opD7c}fWIOV@g}z1gefV~zkiuiS%Hwy%RKr-41oFTC{XhHi%XLbrKm6ejcG_vDIqZ320{5+ldwKja zD5WyWsA3+81AxrC{z~wYoTxg%GwsE zjN&oL+$aXvn>oce1cK~VB6%(%=wi_&#NfH-6xt!inl%swJ&7JsO7T0aOTZifID!3U z0A1z2PD{MbWGhyPJpwVFjd*9wm~Suq_eFdBk;iTJs@ayC%C<%gq=4GBwRJnPn_c_k zt8LFVyUMy)Pt2S&onu^NeH+KKHe)mI?AqMq&9+^ey={|i+pcY^&9>cEn{C_1bN0pa zu2;=`X6F3QxqkRwL3-*0W$~5V7dYL``URoO1=^5n$htlToxPcwp3P?_Y*U{a;$H&F zx@ps_aP=Jh*IXC$4MsC2uQ*dDrOQ3g9ly)D@dpZS7WLX{GRx3CtUPd8594JD8mvc@ z&uf)6Cj3{G=3pp~XZ}S~A+BmxXGOOKkEMMR#D99(x4I~kMw0W9j*XoY#Ot9_Tj{Vy z$Hpxk%yixnHO%60MDx(og32Zj>hSoy- z2U#u^fGArOWql+)-lM81VQjQX>P|d|336q%og;PR94?|QR+1u*-KGbLg*!Z&Fkim!I5J*Ny@8bBzg53ZBf|6``6@kpO=-5);%bxv!)H7oZ-|r zW+t~934ShTW5#AS2R4pGQtVIu)e!wRCc?jgjW9-loL!$3X!v-67y9v(`*Fp7n;y&) zZx#`3mCR395DoRo<^vvD&=J%x79V1PZC{(s=Xy<9&iV(%O$icmQmC%eLJfQoL<=uv z`;>DD>U~(%mC3Q*Z55`w8zgk#5rH#QMq2;pfbC+~@G&8@khhzTY9W+He5_OR@`w&X^V#o+wc0>D2>NHqeqjb!l zKi(0~TQ_O=Fe{Td@HR7yv2;u6e5-;6u_aNAcF?`@BX-%~;?gHMRHBe_^h@}>rz3k6 z+74ca%jC58>O{mC{1_;vpPCs8rjG*2*Qcmr2en{0#{|1(ds5q-ko*0mri~3p&}ufy z|6|Cy@rkDAAfYQ>LZLL2)MrsOFsOve6rD`D;XX=twum)gwOGhxd_-Tz@(VR{<5pl- zP0fa!>z-sZAJRo8=Xz)Qb#OcW0mEPSMq;Pg_#bDnl?{z{D^eJ9t21ig3EC~ItjTCn zO(t6PnDt7+@?Sz~WBpTsDiPn=za)P|6Gc~by|;QQ$AjK|0siM%1Vg3c02#YgI~5OM zsKgPG11=IB^#outpCbyxqY&)Ioh;TAf*>kW(N}q8vKSqZs}Lx;_t7(IYhd#Z`_~s; zi@$tTKVf!S?B9Z_`PQeOz+({hh04W(R-0jtigrNyzahxT?s!R(^ze-e9ds!VLNav2 zYJ5*YG*ZFUD|ELX1m`D|Gt_J>?o7X)vFO8tHiizAo86oadfi5RZqN~U*XL!1_45+? z$R7sASh`NBoc!O;+b--MR$XF4VT>zeb?!nS+P@nZRk zXZqMXB!_oB)-wFopI_(loQERh_6g7j|9zTo+Q2wkrH#iNW%&`T_UiJT>#1!IU051< zqTuV`3|`>G>(kBI+xx}Je`rG6+(E_?;a)fL+@9f%3IRj;R5suIzRoRu@i2zbU!Q}Y z!wn1Cs9#TO(&iLesBFEq_PpyzrQDTKEuJ^;s{AoGr>RwC&|zk&&MZL}t1OWp7LhdQ zv*aP_@SXaptpVL{awIXeX2*)p@V{n0qizUKK<{5e@9(&R`vBCYEp~V?J~+F=+y1&O zB2XBQ|B{2AUHFm-8$+Lqzr0mnTjDH?K zHLF7Sxl8#@Q_3nijnyfDW`g^`A_*G?P9RmVm8x3qL<13Bq*3|0xa$yN+~Mw)Kd_P-dN+bvG`O5UmS77 zW(s{1Rf0{3M3>Z08-~c1_lyv2HbNT)#E`Xc&CtI++ChCp;5S`+Sm#{cg_3@w`+e_r zeC>IhG89x1-7j2h9k^*XiPhT_&QOw+SNXNaxcx4T%F^fm|oWf8#1!FEm0=;Wzvs*8K7nn0us`nwu7kEmhK8f<2#pwVwW5wzaQ9lD=%( zbDtfW{QK5tM)brXIckN39J|g~-f_*ZCgd~S^C2IM*k-b`eSFz?&cRK^I~lK8i=5hG9eNV4939clSy`x%|eG zBytLBSZ+whtZBTZ{024;Qc8LRmc(;gmiAFH^I>0|MEaz98IVGC$2oP&A_WKlc1F{^ zPvNnrRvd8MKlT7MMB{&{m$cr8F#v^k&ny~Q+VRdkG?Y@5~LSw!PI@0#XJFpiatR9ze^w);0 zh*unaDdYqCam}5gqL20xxnINONJ&opitoG2mW@nEro;~*z)qL-Oi3r8bK>$P7`I-D zIRkFEI|ElFZ~IR`KhZiSQ?gB&$;+jFEejn?_mZ&CRk!f4e!FFjJn&hI*_9HtYq+zw z(cZop?3tdfwKW|eA$iG5=O*fDj*z3zs8lG!j;9*<{H=_q!QL`)HJ{=I5;JGJi3*LN ziVOZyVT1t@)_d$!G|v1&^DpyL8lYllfTV7AgsCahbF%F(mqP$!Y=$cOFri#L&UbAu z2eVd-A9>w;!k4uBYl@C+Qk<#Se5Es&ZRq@CLudu-!(Fdsu-5Kj-t$-34DXNW@F9Ky zJIc<5Pbjo<$XRliwWpFy!??=oD|!dMSKopveSo~gy)XNAi+6*+ohdy{gXM59>rT-2Wnrvf?MEV6)B$!sK`{1JTZK-;DC6`% zv?A2XD5QUZX`jXKdvMPi@U6RE(3YJv*e*>c_aewu=r-N&?x9dFaw(O9W%~QlcwHJ1 z+hrXqZwIrS3O1p^VH5#gDu%vq4FYeos@K*p6Qth(E!%^NWnNwf$`@X&;iaz?d1AX( zp;&xhRAA4!Z8PBJY*tkfXKi)n3Kx#R9DDB8dO-&_r&PfX`d)J&pbt(!5AdXn|Dll#W4jtN!8Tbri8cRA!h0b6E(8BZoH_@o z9Nl(;QnifwT7TgNRjD4Ond;}l&E~Vl72D(4(#lO9Aeh<_q1*Q33^Zc;^*7E>npmPR zPQDU(x*RSpn33KZwqb1F9C1HbGIZO|kgHVT8&vZo44A!aTkuIERETDU64Ad?MA5W% z{oSB$wvBbuCjuhDy(s82ub=2}d&DqdbKK5be*Bb41{&urDvMXF*=^D9s^N-6=~yoJ z(hQymev#;A*dYkbE@pp-izv_)1)q`_sD>4x*?tl+N4&v&jQYrpJ|p_$Gw`MCy8V}A zHv3E2{+Ec8*HLjQ_^IqI`|^tZC=>V z$<%HDny5-5X&BF`^Zl5?QwEObcbk?&Rogk=%aNk5H4u(n%NU~UDh)!vtkLAL^AYKc zCgh&*dB0g1IPf_X5O}@p+jD*WFIfBHM8@N|l(ssrI94qXU!rv)VblpKq_?ps(lSszOk< zc$(J$EkOceo`|W`nO>V`UNR#AUA2;~EU8x(=@aI>`?X0mPu%J&a6NW}YEfYKh0#Rb zJzrM-&c!nY+4)pf=f(=XFNU-AGLgfosr9Qyh(c`|gZ^5Rp(7e3PYy#}_{DDOA*?~; z_VoR$F$&0q7t`!s_hTulS%%TaG+*a?J*R<+ZOOWu;X$SXgRG8YOikbkn4GZCKfo=a z((z9q_I78v=-rPWleCufJcM+4q8kC%;ofOP#-x?f_r;KqgD5&-nCaJZTHh^7Wzb(I zRIj`JQVQZ814SR00ewy`Cu17?!#Or05P}D(lfBco^~1+girkP^U|HrU>>4AMknxfH zHPn?L(8kiq3+*7mdr6e6GRef-ys-9G4DC%;qScDMk!v=?vz#H$ZN;vs_Ds(Cfjtz0 zC#1$tK*ki={Zd(}7ptFNpEh{5bK5swq(?PLc{tx6b*AUhDcz07y&F!3E@|k~K1+4! z%ukQ_TulS_0b*JJVRH&{oXio>uZr`l{7$X}xTUO?!4!+Kd-`Gx=`nX9 z_N@c^gw^H}kPsZ&-tK`U7V~$af&VHcV@Z7E5_W+%6ON%;%#7Hgv%b(U?xZARuJF5! znwMT3A?S`Ph+sUEfAZU(oIN<=>)Fk055M_U`1fl+(Etw*=0TM+VduJQe_^?o~j5ZW4uAtP}F}AwZryAc>|eNziCT|D}OM_t~3z?w{P&1|*NxoME;T z`?LDnwPJ<|8)g*bqa6dmE5djR*eXt!wtv}70U~AdXZRH(;RC+U5QC^q-+IxEYO8Mr znS-|hYOeR+!RePm(h8U4T{ps2w@8n4J-yH92s^0CgLV7QCk}D2zQthgX;>xqZ=t z-9av(a-2mUavX6)6w%%C|ZIF$&xO=8pHf1@fR5eS| z18{S*-?!bPwvx;GXfYEtILU?6NF)GimgmAh&lQ|c-LBsAxBCN=SeO8FkoO!pjWe}1bJq`S4x;fqRg-0OG4=uad6%-bmFyFqIGeciAfX@ z?=(JZnTK-4*{aKA9iZn;rL%$99pn28uz`Z2-#gz2JnIS&Aa;YrsZ3bkthYKr6#a+I8vyDqL01{<<`JKo41J!8 zKM5z156z&+=HX(Yvq?0g$ho9_5kHU_=oq=b*@bwy925-c6-Qu4+U9lnHkR??FF-L# z%h=AU0%VPThn_nzjYbx!%OkM**alhjg1YXPZQdz@WH!J%(W8=eu{#Wa7llLYI2g&G z<)$5&c!z7LW@-AWguG+rkBR@^M76QlS!qemy(``;r4zflyz$RO4Og=6MNuq#!=!Mb zVVk>2G|(n**k&Xu|0yeORO|PnZ7`Bug<+M?Hi{-(bl`MAZiMbe4wqmWObkEpVn zLO^XxE;+EkwBf0QQZtDY1`jIhAXWAlKzHT=lW?#QU9bq!xWrniK{-}{sPUqfE?HL^!vkHiWg8SI`WFzNn zlBA|>jmvWtezb*pS825Q^kY*M3uyC-c;s9_c~f!jFG_%HMNZ9iP8{-ZMmGSs?A=4uto*Bla9$#_76 zoUCrW_aNjJ2P}=z`cUQjHWq@6zs(2JKC+cQT#<3vUHm0T-GF?cKc9^}M}=L{*`ON1 z2+^$eHbD|)l$KF4Da8U~F>TD_)c~@6OYc!{RgnC3K*W4(A{f@MCh&@)lqj-0E??~Q z!uO>uG(JzNe>$?9a-9?XVbi$ITv4`?nE_#!_8wp;{Ol$~iWFGq2%5~H{)EA6X;i>F z^!OKZm99K~@%|;iFp4~ieO?bq9Q3#;q|WrMfPn^Z-$@<{5ceXQ-oi(SM+u>x+@J23 zhJTfjz#?dcRyA)UDF&^TsWY&EgcTCwBH_HE4{6+?0&C!6_-w^D{A?l&G;cF@U95z= z#q1V_Uqq?)l_?UHQvbyvrkJ~4*c=+-$VM|K|103VVEcX;6wdq!AstS)z?u8|08N)2pu zNVi^EDEP7J63~NIs7HyNbBH#`G49XgD{~zQ;cuNE*UK(-t*@s~r!6n$IU?F!6n<^U zaX%nHK5Kl)Fe%7*cv`b~u)pWAM+UO{shE47qR-gDY7RW3x`sqqvxke8T}K%oBC^eI zk|$$Ym1H?b_@d@}(6VeBM2t|7kZJNhfTi6BFtlBIh5)LHnCO|%sz(sn*JhC>`!#kb zrS84aCobtKcJ#OyDS)8@hWL3b;{GL}o<#H3@Z))*@nPK)NCP&hAvg_X$cFiUSFv^y z$I7*_zF~Ppx4Amu`dJ^LpF?EN3DYeAvo>d=;c3Yvj!4Uk+KEZguLD>MES@7*W@~HK ztf?1h!GcL~CBg`Bn)E-m{QVaO?iLIk!1`o|0VQ~+0qpe3W=R*Ub|W+0sxWJDUvRd5 z0MGV0JovnD(A|M(f|dt4E|q6ftXB!kn2Q?y4N)}FoH%>1>jU7Hzfx?X=en0Tfwov% zR{B@nh(3JavVPL`qF-i_k~`z+U$R34ulljp-F68dX$DhMF1t`eD&AH1a8%lPBO!9W z$RSgI1s<6^C5gSJL>d#F4Xe?~5bBI5=aw2hDwCGbc0Tb9(PlW$?=N2Cj0w;TF4mZy z`6Tna1Hq3l>WoZfsgvMMY+dN_@#_8IdMyGrx(J4Kv^J#8}^;%S?`~ zdAkE4N5u#VG;rwhd{pAuELE4CDLt%?5I1jn;Iv1c{Ci-JQ&jgMtNWmUmKqack8R`+ z#`kbc;rOfJzE~}dw%<|QPxAtFPwLuYel^IC5*`={GkqVJ8Eyc)emPvn#VyekCfI8m ztTX>6b8hH?ZiFJ?G(M;!cSr(a9o_M~c=Q z6}S-FJ6F(~eNAeR6FTBrKx!;AYANUn>vS;Fo+FI?4ESw6pzDbGR&R2xim2bIt+8VS zjk<+3-dQ0uqwku_rnaacvCttyY|@ha+D$oLs51P?9>>6f+0oY+&>`m=J0*5~;#sul zdwf)~78h6>fD}PFD~=BqJ@M&S5Y;pw+xrbWpX0MMDQqX~vH z&4{w`lh|9Y((V}i%o1K^`cJw!#}^+?4N>B__Zi{j9!(>mBV>5UwC(CJJ(I_wcPkTR z9Z8nqfIllrRJcxp0~3Z8kcG1~9#3FVz=-}ukLUv3FPcu^KAf#AMAw2-zu*QK=N)%i z4cxWM&=&<p%cjP{Ju57u*V7Zq|^V3Fv15SwY1R^CNI+cmxR!AiZA>BHL= z+Pr!shq^ccmo25krxyD1YxC){&oD^Wd&-IQ-yu`IR5rJB)r2$p;7)$fWe&z@&<}bm2cOnUG?~7mNGHoG9!h%XyoTw9|;^MHO#xWu;!wPKa!v|>f<)O?u zrhzKL6`n0eic>(xo{@}?vH`l0m)H(oF(9uE{5Oa4i#6~%a1^e8iPZP?Dt#4k%Wb6d zmCVmkmlj0C^q_wEPmh}h&#HlY6i)+gCMVUJki&__sw_qlWj;Y|lFMn{FWXL<2b91X zlmf&l7I7ceq&_W}HK?@vS=x#Nng==o1iz}OKTCDrR=j=NCv&{6r9ZsZ-4EQ^T?R2P zXnXVV$NoLaZg${RCGhGXbA%@V@NlZT?%WSsU=A)W%jWu(!J-xI`Nt!Y6*^~oPhyzL zhAFqS^WJo?sD~d(3@v8}QgNqUl>%A)9kCbajHDf>UAAn{GYyClI2nYQR)&+?g{IWZ6fv_*lLqo6ze5a? z?kYJpxExI2gXHHo6Z*LHwD+)87&jHFscz$Dc3FI%B6VMs^w7DkZ*o6YlW~}I>MtJ^ zl9Z?QsdDg*`^&opC$yZ9RR<}AbFdiOE;=4^Lg9g9bs`ZEV+xVl)$dLz-RN&(50Ge^7raf2;DjV?ZPK zKavS^+RMWFT|!GgOdRZnT^yw?#I{T1z8lZHi&-YgquC46oM2;=uIgR@U4305u)#E$ zO#dpAUMUdGoD}@pK&zT29&R9N{!a^Y8wsUQggo{EodFBMLdd#%ql**H<2I z-C*2-(p4Bb@~nHmQ(vKoP>Z}1@&MbedYRy{9X@0ie9c8t1Zv*hE7~TBc9I|bp-bKs z-IWRo7yF6_Pe14L_&3zx4l@`Qj`(rIpu?l3iS3r7^lN)GYZZ(TyrHrndF;f8ai{m& zp9OnHBRgu_45h~#^Pr(e5}maFwp?mAIAF?>L?ePTrA1;AUIV-y(){D8_cO%(c6_{F zw9D6Y%&!eEpI@1cE4c+Q=vSJY_K{4YMUevJhe^~K(W7eiKkll0@4i;t3bB4mKGQE# z_jNRq^(2D#Dr)E163nk9Q5Uc5e73g8lipo43WYl#(5Tp~ChkPGVQCKYYcqO>BIE$a z9sKNRT`88ueW{}#yFLBe2fJ$4QSlXvGP-V)fp9duYc%eLo9^KW8B5&RqiH`PhRd4r zf_BeCR%b2*Vh{@16`RV>XInf56SEH$u1$!xDC2rpnz?k8a{^LPnaI?C=q9bEXc1y$ zy!0@Lz0C6b*X8GMbZj!^mWL=8%iY_+n1B*W`N2z>Jplq4GcbMB$&?XyZ73=A%XO%* z96783MXFI0%BTaBfS%(q@QN>`)>foGNwxiu>1tdGDQK49N|CDBBAT7V?N2xVEEF1+2kM_ydr zK`?5V7<8eL?oNcj)lUGcrUf&M8*&YupGyCk@qJf78e7F&sNPtvTf`9q7FN3QDu!J8 z8o2QsnD5k_vQanF)2u6-3o-9q!?2mOxX1f_!s0R?#kS~m)CV>m=InP@bzr*>pJ*_9 z%aGK%BNXAN>_VBohM*FD>q;S; zkJ#WX<6boEEzcAY~Qwu;nY?ng7vFTBzKT#&f zFjrHeWViQct~+pHPr>1jqVn+Y(BIbqHq>MH?et1^0RPEgB=QRMd{}svZjo~}jE1d} zFRU7#6R)TCj6T&IubNl`EZtTo$)8+xae95cnt*>h&+$Ah!cx3G^rH@%9gSqmFDVv6 z#&MFoMDvDLCXd8rYTWuSgda_AKmepw+8HW}IjKGf(hhC1O)85LMcTD670t`bqkuKQ zC-r&E|I`7NG!~(Fh4{&bZc{l_SSBI=kqJPxZGF@p=c0H6)D-MvSfD5^iz5g>BPOYZ z5;=z*ROMgG4HqkIWmgUo8-YZ{7JHTz0>c0&RAwTJ-XhHjSm4GoobuwB|P8sVMEo zSSJ8K!Hq@yciS#^i{$tsz%I&QHA=So72N3lo$IL=P88)K$`P z*qakJ+nu02MoiT^?;+{dg2SU9ZG$}V0^5l9j9>jgds40tH(7Y!8&T$0UTwB$^M$9> zqe?!!@4I3$H;;hMp{*Sa@TL&N8JpgfCCPd=k$XFTUmRw6=G!yM78>E0@=$Z zI-A2fC{^quAAJR%ed40r1PkvV9NpNbTal__7yZ{P5*=I;96S6T<^ci@`3Gcp62=dQ z)+1_`Ch5I~xH{_B5bs*NBrj35K?Z!6K~f2n)NhPZ4xLXwlT>_DUd&>$ok!{HuV`ZB zO~Pq&G5YzwF3tn7ho&#@Xul&6E*2#0Q?37xq(beHjWQ0=xYf zdC=z_i19Bj+s^Jo@jDg31L@y1o6|&%D|92<>h7Jta2;kS1Bubovw%&v>0yA2*zx=E zivAA?3`=RTY%1Pd-X;A|L9A%We*3<7;s zgTu!9P2s(gk09d(ZBbsio~9~}U805nS@$D6Utk>ib%fu{Itmw3ejaPbwUr^^H5(5*O8l>Cj9?i`#YPbg;02ea=o{nZeIp*d0^K z$;%|nzc23ds&q_V@_QqQf+@_e4A1tLjZs(a?m|Us<}6fw1~M(&-XvM>`{{!4z0XAV zIBN%Gm#;DxAsA!+a_5awB<%gFrdx&CuJhUk{sE31*_r2APUib=^&-RIblODchMmj`xGQdG!3HdDvl0f3`7MNya#TWp^n~aAhl&v(Tddx%Vtt#r zSO19(TUTmVGCBhy!bouL!`QzFwl%L=f&TpSk>jMcTx&q0BHz*v`^GwzaE>HgQ$Chl z4Rz}*ZVy4ZsCw0`03|WshCCIzA1_^U`!JASD3U7NX zzS5Rx6-ItlB{|p7z-_(8{pHVDHa+$np0Lp6TRv?@G-$~bVW|kJ|w;XbV zk3Jpn;)eZQ2Hb(Xne}$T5RXW9dW8jx^_daZ##T!k5zvUDxbjpY`bDvY_UcW`FmBqwn0?TSPdB`ejI*W#jn3 z**BWdKxOy~_zNZ?`lZ@a;i^r<9mom?8j_S$d<#8V#4IMNsx#!r*)r!{k00c@T~t&+ zlM~zrhsbL)2hHd=LtoP`uHK_MmHNxJxlQK*mp=ypVIqd=1*e?}#9ABIYokh&{XJn4 z*0Ri*i2q~EBd0z=4B{eDW<_|rn(dJhik>Z3rIMBuOob{d07Ulas8VE0kxjorB6OA3 zv!r~tEho=g<@|SeKc{uQUXPUmX`m-PCA!_&F_w;97fOtPCW7|NH}d8Iir>vgN$ps~ z_cGME&j9-6LPiviZjiRVwtt`iW;hqWu=?sk%(qwYU0*u3&w;^&l&-LUw`frbnAh-= zuM43xWv`?&2jLsjyUdsHG{Y*Kr;7$-h%;5_o@P5=PIqqn1xBSWIS`>4#*`N?*P~?r z_DFV%IECr9FuIn)p&XYWaFVtA-I!PM=%MvYzv(&zTpMRwC#Mtr*}TnSeikL{{Nel) z1|0%dS+I=VT80--RlwtRcuE1raGIRwOwYkq#&Ksip&~>$FZL7>I$%h>z?~EqhH!7_ zwn0rDBl{dq1a}~5=UF0$=)5hyDscu_-M$gI(#yHk7OkhTdYm<9~{9GfBRPPQ82zxb6A4T%I>53P~hl z>-z!^B&$g9jwuBX5udUs{@c%+mkIBZ7gt3^o0Rh_DG#^(J5RTb ziIxMvDeQ1#wLZ&Ke~A(`=V*SumquOEt2XlgljYvo@pjMNr5v!*`p-t|I{wiMZai@X zhiAk@;uFR3C-m&VEp{cPuiv2y#J!SY#^{oAVa4FNt!C~NR>%S zU?}rWA}3hEerq!cM||3BUqNc$Wp;)6(j)ZIO_Kd(sLAIou~KyY$zgG3Ni4xdD z+?+)ynCx9oVAEe`G5(x$_QPIi`eYhg-%t7MZ;8~3*MdkoD+vjFy;NFr#LAr7!yWRb zvTzGvYFfDcKJ){$P=DnJ`KLdRe?;1Cn^Fd&9o!Edp*Mq9@|oK&MN6_bZDfs&Rqgw~ zrRwKxtSp>7N`6$!N3PuRfOCBO7Up6gR_qq^?Y4_X=IL5xHh5y15NY6q5nm%^zrrnP zvoT&x43`XzH`(nEm782QdTnAC0LwPN6|y{6>ZXSLe!Ud)yjXiUy`tG)O4jsQD9i#H z2V5^9OI)tYYC?;h-7^wQOI|{UbZAX;&V{$Yc4lwgvr|I*YJfJ@(>P;SdF_{-%+8&0KMmvpeGZ#>9IEg!)Zh6XI>L zCloz}))At~f?vlf(=DzDoIm|S#P3?_95IIh>>*R>PwuE#hI2hjQwp!Tu%E=3FFs?6 z1b824YuQQGaWq=m)%^kZ;}G)rKOlmBsQnd^heHne9D>Je>~C;4O8%A_N?`)`JeJz<+b<9wrdz0`#u!OIv? z$Zp0HweUzLc^^^C+URjmlNa*)1TWLmwAm7C*LekT*f53fWW6R`h(n!g=$aFFqnut= zXpZ`{$hkM+c^9dR^#eh}(eZAmTz0I;^*3RZ?7u$i4xQILuw$ltjbZ?UUCdI!P@Y)k zQ5oeVNV8k4q)*LdW>^q7+KDIZ6uvj39^Ph3;?W}2Jv9gm>_>Knl%5|S)4yqP!^!8q zi-#iGuk3`dP#XtZ*?*csW9_#cfC*KUtj>VGlYlIktLGMAeazoNp4HI&#Z3ppUu>onCe z(bkPh`1&?qi{YZ4#O-40T96L{@qe%tu!^#BdNm*`k`n$e)Fvqw;bj70#vv|AMQv)1 z@4LGuokgZbIda}ukh~kpQ(`s7X3|JsgO@B79`_(B-odyK+E6pjw|*uF7V%sb{nlA4 zi&eExLU(|;-fSq4!M`092?J*f`5eSmV))(8>*@6$D6RSyI0uujk{r_teBo?I$=&-| zcj7k*J;bHojFCm7&I{vX73hqYb7`J}nOZh=-imnoUQl|5RJQ22^JQLEht7$AEap>I zNaWtYfRI^2Ddrt@{Cu{MbtkI!kWCNiR;<%Aw*l!rRwu8|z#Jyq+!z~(ePu#4@Ldt>^wvKhVqtR;F`L54?-v8qrO@>=$9EHYyj9#FaN z3u!WW2zu@dFvMjzX+{eOslkpZ_IgBpPlNjU`sPnCm#S%lOsxB`Dy)* zOMV>v*Pl_LJ8;Gt&F`*yUlH2h+>^(azs<_4AE~!a{~hotp2(^@+X_nS=oWnClJs|I z$I-xWf3vwA45T$P`Iv!)Bjm-BB<^32N4s2mzIMD@8xZ47i6?nYXQZ*|ZA+UWpOI59 zS?YDma4D1F;9rrLt7f{QU!ZqTVP-W%kEWn)jBZbFAY?aN1)Wh_cVYO%KKjO{QCBDg1@Ha^wYC8t1@9TA{onNJ9c2~|pJiX1KjuFdRMBlgt#s!G zhfZ&SU-G7laft*vI79XLcO7?cE$K;I)@pqJINpvNV`!E8-EDfAOtWd(kN+8w!xnN# z^{RQ3uE{W<1cBrqA};r}Rv(Ro$01C$$(P6hn_aBJD{H&06*e#3(ypK@y`E==M|_5D zyIWv$y__nyD3WLv*!M%XFVM5Y{&$bnB|HA4x`%0JwVRs^SxvL9nzI!4Fp;x-;nAFo zCfBR>VW3DFOTQe09A{{>`t1jYJjvS4MiTjHw=-xf#W(hw`^#Q34&|1vxj$!DSeA7{ zm54^m=^QQdNZW`e*mMKKBF-TwF6!?o(Ux;uw%huWaUjz|*W&<7me3Cpo*74CvszuV zYBrX*g8%T-$manjU6vb%=PCKTY%22|A{vBpDvv{oe#X$xc}?^JV%|o+JG{$ZrI)}@sE~ahcKi;{A6>DH;jnxUvmR{DLA&D6!13VAT6}b4{QT@ zR!;nmW@LdBE!dq9-I$eirGgc*1P8BTH^2~dPVjmCj<~lF9GeGwXk&S>&5g@X+5oJB zdC~HjmZo`*PS5hJF~3s#&vKmltGQm(P2qRE$_H2r&wtTmALeMq?_WUCr(rYnS_wrSB)9~41)clj|twOVIs zTHDSVGy4X~Ly5LQn*N1-wyVYxk-YGqYF95~Ho^apW3bvBOF+YYDXZ{vK!zzzvfp1M zi?pCJ=pL(G(D+XRuX;U+t8`yY9vEvN#Qk+U78>n8m>=(;PDkl+i+f5M79+}?lyTxF z5duf-K0?9BfvkfZ&q}WtY!}KOu568gW0yL>uR`0_sb{cV7zw7N&iAg|Fd49`(MVx< zBqIXfr!smc(~rp^rhl%CsnrHJM<0s}gW-@;9cn#{8Gac^ocSkMr+fYf^Q|0R#i|iW ze&OpUD9EU49LS%oMvECUOt+BWFeAL48LCvhZM*276w6kvJ!4I?&K+JhC`w4GVb$U7 z-NCF|p`H_p6AIjy6NIPlU;VNy*0YBz^F<86Y6c_I8HOwY*X6I~1Al52-*K9}=q@9t zzfnzia=#HS3a^Byi%w`5wUIOrH(E0nK-eS9Af#p*{9@u1apl<|u|vTMlGypfy|Meo zR#{O|l!@j&hl+wfIDD80=5AYp`W$F&99zQPQ692zd7z)R-vr?u9amUhK8C*!EZtt& zGVOYMufJ`d5cMyizifCq6I6<*=Y;A7j`0#Nkx#G4iG(oEa^J-qiL8t!Z#r&|jB=#{ z-TFt`P>yt^2&|%Rvn4|OogD@&yMHA~<7Cg#G}A*33nV$7FK-P` zm40=bSUb@_BQY^ve{B)yjSndiYo&WCI~`3KXX(APH|kdA_UPGxf+n))rBb}?YK5%3 z&A#v&x=Iq)-7Fz05oy(}T}Z=~f>nLPLL?rH-B{*-mNk4 ziwFc9860*_H{QBvYgP}HmlLz^C$^XQV^Ba=X>|4}MKj;be;7M|@$;O;tsn8Fh%@k4 z`FeL#Mf_HzNW3n4YWMZ}f{-Rf8Xy?NSpQfGlS6=R#_O3PlU-3|=W(_tcp6C1{Kdjh zkSV}QA;-T-!qJOadlA}g{Q0f*us8##EyA+#{;uB@n6d&|q>uP7sUlYgXNsZsma-p& zYKPG@?-xxw`6pgDGA)?(7_nzh4oQZuDixMsGFlk_<^#ylw^yXW+bU zxe2Q@shH_@d5@EHFuxYtd0vtP6(EOygq0H{C|=)D6c7LRUL1?zT#fM9`-vrKf@dd+ zJ$4Kw{fW)1KOG0rwjOrVcq*v%{rO~Ug{JGS!Xf!{XX_NK`X#T3DtCrfAVhcEjEEos zo)UihL|@jBdKQuy&1rWI_vPR?6z^&PL*6{X?}Za`!QRDwQ%U-Gv5qE5yv-7W$8jdY zDhdkMD@oL#JTHOgqazH1t++3XVx2)Qus7_PgW+k=Mb))EnzKcTvbE2Nj!z}aO}1mP z-cz!utQMYU;<);|;8Cw67YJ=NS{RkRZ#IvAL#hbuQY8xed~ZG?{pIi5%0pY})ZZaUv>@{}gj6Z0x)qQxb6>YQOt50S^E&FP3)% zCpITFh`?f*-EiHd*|VREB_(za#Uyo&sCBL~`xOtZXF!O*ffJBc%66L0>$4j(ZQJD5 zCVphG_q1~VuB+h3S>yx7a!!_r1aXw~h#Qg?Nj?Ry_ixqvhHFJVI`Ij^K(7=rQ zOTP9fe+q|b@u}{UGbCo~li&JYR|AbkJy3~U8CI|WzC6u1V>}Htx#`~N461rwjT=Rc zO|Mw)T00ocfwfSPv_O9TFMxO%`Mb>5gqc3&>ySHI%2wF%$2gPc$Vt(rNzlEVIY(vW zWMdtb+3323I`!L!gu4`O)P;6ePvh|^2Ts#qKUg?=Pr6@chDE{7FMi1%4a00m95IjR zojiUVA$e=aXI))OySWR^ zrG$aVvwQw?R;w)jidk5kpU{``O(g`6NM7}D%o%Fw@*w<+PgiU@dJQ&}ErZ_!GZqek z>{wI!7mMYh@WfM9EFtr0iOOU6ZQ}xm-t!n&9}tl;SHN~r-j#zTtT(`-3LA+5P=t;RjyC7^HpmAk{cfQdSH)u%+-}-7WX%7v{;V z*FhEF25?+)G9jfL2>ltZk}}==oX3*Fr27q^FJ&HiA!&Z7LqNdKNq-ellOrYVQALck zTducKFytR7M1k>yF3IvDTJ{&}`To+}pDGh$Li~&>md5HQNWGd@g4e8Z;0?QXgtgp&&(sNVnN~ef_?>Wb@`PwkLnK$d)f( zY26Y$bvwGQx2@aO+0oPYuuH!F=eFavZT9}hC42bk#rD(-i|se>yzilGT%Wa<*4qvf z%})QbgYEPa54H)qy|Tl_T$;pV8X#o~Fgm{s0Q5BiDQz!sX6}bSe9*LANW^=M!v}(r zop#!(5J)wtOTa?}!w8~g&OG1VetVheT57xMyI0vk2Os1U7>F?wm{ys(G$Q911lehu z3K4W%%OfHfz1EI!)x!&r1wWWvbQ7=XCaOT3ah`}K?GW?URV`&)^Gn&Hd?9vPD@MYL zuJUwBIyK&hzO3M-0See+yagX)oJKed9{%V@Kl0k#dh4xr&N=58uu%x4YC5<@R{BHQ z5Vk==9UXpax{BD|c;gLcnsp0|op8blF06-^Vi-$@coTFz;zziASdTp5kJ4sF?1p?&UdbL~LgHuhV+2AUXdf{NwN4-NfA*^Fy7P{< z|DL$|({kU!qhE4De3Q7~)CQBLOI?YQ@Jn1CUxyHUAi*m$Bj1+SmHQ+n*-=v9` z^M3v7jW*;D?eTs{A&GEdAuMVI{{PrN-2dj_wca>n9&* z=bm<;jaRxIZAi-@%bD2-Vn(o5zMY{`-Fqc4Kq{>Rl}%U7+jZAn=MrirTrhOI?z*cB zN?KW#EhTLP4!U8)=FXd|!FHwufuGp1#~$k%7yItJuj65>1yZzio{)%ERhxiKxjS9g zN@p7@{95UUD0hg!L7SyCB{*4YTWdl-Ws0-_q-!2Cc8+wSTa$H_m2!mPn}@Mrqgqm$?D2;oeB<#W!+8%~ z$GB@O(=UAC3ogJcaC8ujIf5Yc0|JNF zUw_>-8MW2fcG+bYLs0?^aGjf(b_j^q9G(I16f?s`_|~!!4TPRMj~ojIG}?d1XU8h6GGkf=zrT||FOtcb$3|D`c-z`UmT%lF9%oY4eAZI ztO&%ZXM{hAsK;AY56h1poZUg+?(Pma%BZX!KiT4!U@S}ty%fFIwZk%9F*!0%C7LP_ zkHQm&l4?tyr%8BnDr-%tt!OXuV=jOpPS(`*ijj)$AqV$^#xd~m$=XkB;lhP3kYaHb z&AGepzS}jW7{kHS#^dDR^4nZP{XYNz0RR6AExp1306+jqL_t*ST?K$u<o%hba)_3RN_@45R_(k6w zz09o>_dDPI_TFo+y|=BB8_v;9msVU{f+I%`j9*eRpRkC=3(W|47mD)qtfo+Cw#b7!UZKL&p(Q5 zF6x1MFK>h0sdhZ{^7lx|u7I0w2pkpV<|wYNZa{ef!n_M`_f_X(aJNW!H~@EBDbL_( z&SU;@p7NL1f8sNT!-2BWQeWzt5@5 z%F0k!Scu7!C*z?9AB2N*aP;WWc=XXn(V#&CczJrk#nt8P$YS*sO7pM!>)#t<&W%cY z8EhV2<{O&DCEV}GQ3sYT--3gCw`0Ub=c99*XlV7&VJoU0Y5A2{v^oi^7R<(FgL>eC z{;l|lo!|NM)*1ce^$8Vt=B*hxkW>Vh$_jL75{~5ukJ1L10xai?%rR+G_cPkDs1 zvuT|!FE2OqBO@aNpM3HO#*ZJ*wYwO%-F6$EfBty{1O&jt!^2#F&8%H#=UQrxD)r#J z9~Bi9Sh#Q@MvWSUl9Cei?Aa49zx*;$J*_MY_KKcenvnZwZV)SYsi)Zd0j&N@q-1)gn%}qVyBVf1NjeH(Eb__rL^b=lx zeH;=J5;1tlU`!Z40kN^M$LEITNX>ToBVd`@mb~e;WK?VC(xppr&pr1*_Dft`9HvZ} zf~HNIA|xcl=u~T;KXMh;`F?Ak>YwS@Cv|+vab-2-%e^dNHt$wa=W07XU#h;Zb2-nU zPqi5EC{^$29occ_wX26&8*EkIk>pD!=ayGu=E6OgI&TNk(vHEy&5mbo9)gj*8q&(8 zUUpQ#=Hkx1ob%MVzUavRebe#nd`w?>5aVZTpk3pR(&AF|Y37I5#}0!p59x|>qx~zj zc=7UGI9^;extAW5u+!d_?enWKtorT0dXL}!qnpM?Yq#Wd^XAQX=%I%YA0Lly-MZnW zmtI2Gu3e2@JwE1t^aM5EKdBL@po|vtKCE547LPyvIM%OUZ~TmBo_WUHgW%v`xVyXm zar;-|VADU~H*;jf%j!gXi4O)TL=L-nnz9xuHjn z96^&NP4L1${((My`@-MP4;}=h{#uK%hWj*Tq;QqCpAO9t;8qTo z(hLmf-U1CG+?>vU79;cQ^e+2MPcCcP3Mk3W&c=of8w?<&zv1EG`0A^#(5X`=czHPi zi8Fov|E1$;tToR0`T2P3t+(*vi!V~~y5RQP@4(%6-;Kz~NCW(7aX;hW@Tsg$M#Q9$ zsZ3owjKNvN_kLQLjM+=KV(aci)DLyR12BX&G7em0V`T?t5)qeW~0?!T%l+BfuphgJf8SLTFS z8>Gaku&cJySaGaFobaz4D=FjbtSro+?7jNxtH{jEG=YPO6DA_8Rv4t5rMUlE>-7nL z_Br{Xv6Vc?eAax+4|()M&+bWbE^CO-U%#6 zH;eMRj9`d>%I!OLpkv35_~@gL(4s{P16XSRvo}Y6@9O@Z?^`yDHJ*B{byL9o4?p~X z2N~!Q@X(<{2TUTU9~B)9Il3;!nLG6{5%?(G@LQmXC7!=`bOBHXc>3Kh@HfaNe17z2%&>`n}d~HizNc#z*E3$9>SMJvI(WxgM^V9v*=+nX?6Zn4Qkw*-0+_!IEJo)642AJ~q4ug=bwV6{zKA{;B%F zymrc!PAmD+W}fT%`89prI*0Q^O1oJMD4$#tUCfUp*u)PjbbzXT^jZ&dZvNF~PHmn! z!6&osP+qkbnK6-R%$;;dx-G}|HGq^kfYv8-fZzS+zkF==D=%{fWfKo4;<3jb!<;#D z;6}2{E3}1gxZwu)`uZBs@^?>C^8vA0bN9~8k7NN{kpW0=c=l24s*!+_`gS zvk+TR-gEO8{QFf&l&Ykwni&22w|@7vC5;kE8x=N%P6D?f$&Rsa{EXy`BDi^Z!^NJ9 zA-$U7=22}-lv#_D1X$7L&zGm-A=fr_GwSGU)Ph^Jq+O$3Or1Pt2b`AO8OSm_B_v&O7fs;{^XdUDDt7 zG#YCG!*X5}m3#Nyca1}1uIzk@RP|JSYR+GKKXIBdt`6Xqf%i^j1_Ihw`!Dk=(ozJ4^aY5=LT zas#RzRQEzoXkK0(KKS5$Jn_Vn#@M^!$}5dS6BirDK#qrr*j3x@%sw@is}3oN(R`F^ zt4(GiXEU9=N}D%|_-etf3XGe&0LRh^Qk4~;Tk8nCa7Q1+`f%n}&407&-{2o2B7Vt{{V={{LW*Pf>q?mH+zJztFKmM|gRY^;*M@I^Cf@zQ1L& zSm2CaTg+0~D{^kNehwNm2yedmrpX2f3?%#YG%^5w>zoQ42;{J2OZQlr1`6I;_gm|S z0d4r1m`}P+y{FIJ-N*!SlTGNHr-qNu@5qsKvZNT8;^(r>|9ulSR$6L@oHsFx*sRZI+p$tgHp`qLkzgS`RO98+*Lq*&e`uM#&b9I!mv&eWCoY;dUP$-0*|~b z>7tU-5_4=ml; z`DFo}Cpx<|BdY(^b3F=+?KnynU{OgakL3dYfI!;U0Z2*7L`rHZ3X2L66c~gC_3NW{ zh=-Y*BoHDiuY&CVbflzbqnN;%C!M(3L4JshsD<#bVEB7#mhp>3xhgqtQwT^+n7J3T zmTspXN!ck)#(g8Z;OYz8!N*9QzU_vBN>?KnX=%9x%hMT@E-=7$D4ClvVScC+>H}Xd zGT*DfBVqC5*>tA5|K?{940wjvhT~MiFpMWLjEKpFLnA}F%iy(lx@obQT)7(j;d z<#4#c&esVAmAL1{d5BNVgPXT6VgpO?=(QK17peJL0ma-%*Q?xIDDjB}NckYE_CUw{3z zNdc14rZGAbbL4cc_3yr~)A|<)NkQ@9Ln2ROhI3uNolZ30F-9iew>DjokylD6e2O~C? zyqfRwINBV%HeI`3>Dulga>(>&n5fE7!=xhFctd~Qjw8eh`fRl%D42T8)^mn6J!ZNvnDZ!t;Iko1%$pi zw(d{IiXBI>cuNWnr|ZWm4W|UXTZf^2tS9P*xT1TzrU>-&F+8aho@4icWW*;X5#Y|I z155*fyU9-o4Gu(9?NBtWABl!_gW$z;lyj}LG1X^RVlFo9&!kKg!^Yz`i}pv4b`9tN zyP}ZSv3*}E4ko6eqO2GJe!ghgtSOl#l~})R2a=PIp&+l=tOc<#5oi<}#dFj_tpI{@ zyk6%m`em$sk!AiIetLpis4pC6rz@RP%;Rsq`NjkRC9@+(jzn+}S#(aL$9%u$pEExK z(y7YC`1adx4a+z!EzOW5#FkQN5V2n@IkjZ&L{}l1u{KK&NJbJMWm^#r|yJ;(u(=rJh6(W?vamm0gxNK-=Gv~MME5yPzTd{t}LF5*cvW!WYu|s`m zhep*3z<@5zabA}elocu}28t@E_l{BrzVqz?%wE2W_A_n9;v=|sWM_=20;Fh((k=xy z#TVk|HG8mSPXe;@3BFSIIqVe(^!G-cAb0fb&!@i>)Zk@V*(8uQDY*x-@Y#g3s-I9IHVZA zxUkHDVjk0lK(HslwFm-Xom$3WP_Nc#8o^Q_+>e$%WyuLk?Ko15g*^A_E&B;b70~t| zc*k|g$D@)UnlC!HY=j}b+aj*E8{80vUujD!*Pg_b&xVDf~jA zF&?sj9==Y=F2c^kIoP}>1&L|JC@CYzRO)~i3pj-ax}#B~FIqPYNAuWF1p3G&mTBQe zW$1z>8xyeZKn@ON+OU3CnsIJrx42YhqhXyuv};(0V3ZxT0|ST3cT%leG;$g$P+N|ExKtDaYx{(SxCZ8Eg1O^QNB zoRszJufNU|l^OiVW@^}6b>&qE3<~5c4$6sE6YF3#e}8iXB!?PfDPbY~syU*x$fqcW zmoPV4wcG?qRX4VO^FSx@<}Y{F`DFvjXzrPN?xgS@I&ut$j-(=u0Bkl{O=Xe26SE6}E%A08Ohktus&{Irrrem?de zI7%a&wX?XqIA~Z0(Qs&3zaAq)KIXjqBCkVNV2!i{ z-+lKTnlg$gqs@Q>zvW!%!fLiNG6G^UXnoJlb}||#PMm1QU9x-Eop&NUBEslSF$K=p zRyCaj#F*J+B998VI9;-=%wp_GNGBj%KpjVTmAWswwhv-xaBoYk#D_DMk%38Lw=^I9 z2uMABXMaR8`l(|%SPQO#hUhUmyN3>?F%q1EbOvv1TpWT~X%L*9>0|L9HCc3Y z-+p@{-gx5;0wSeMg}>bZ$F*wJa)N@2wiu!Mqa&pG;#}=F?9HKW+kw@)laXDZpo(T7 z=NA!S%~@Y>JEDT!(6>zthW2ZNm`D%v4ORX7aeWe=e(y&DO=Ywf9dtlranCiw5f?xQ z&e(>oSh+tR&wR3wvXx1I$BsI_rFi|38_*=$*UaGr>a6b_!}8S zqMT2izZc`b+f0y->qmJphP11NXYRO^tT7vo7L?(`Z`Wb=vK<7OD~wLRpjTJyJd}(b z2aceugd^ynqgg3XsuD4D{4ed_4#WGl1S@86j3o8EhgJ7N$%wk0&RZ&JKJm?!Bd?(A zp+kr8&O7g5(xgd-k)!%W3e<;%g&8n}hpgGo#t2Z1%F4?O%SXQGv(G+j*vHpid#$Mz zRIgsWUjb65dI@3!?oA~daN1g|+@3}y;Q=rDZd48^$uDM!6)(=sJovd5;hxL8V0iyH ztle3Rsk2sL)4^=Ylt34O*92w6*mI|pQ-DJ~b8%^p1{giC9il?K4TyD&k(qbCIfx&Z z?KFUt7*cm!)&VyTZ4Yn4H^r3AEqikD(GTme{y;9hPCqUevSn#Am|#;GWw40;CGF_0 z;kb@Kmh`WtdMU+W{oY)B_{}D4+|TQ>QSV9F@prhmc}j$NEHVvQF2>Iz4@0}g;g+GD zj6EPwZao3EcRpW+Er)ns8~r!xaT@_w0mly7HFknpHYWRfGrMPKk2u_RNf$%}XuVQB zWOwX2Qbw?C6;|%apfAmRD4Ug%Po0+X4@U_BZ#(P61>m+3-I-}1o1SYTjTf=foLbg= z{a62-P)fOzopyt4VAWCm@WT%cgHZ=i$pn>3P(47|Tr~mNUk&T8UYwJFl$5p{94TxW zOo|>o`sgFZClw<@Xk-2Q^^Y6XCxb};>R11NzNkLCo!&LiPR0WzZ+k*M=B(I?wYyT7 zhEt9bhia@i4FwyOo11GH5#0*Jg?poad!oTTT9GD6S~ZU#2lds-i>ZJQ!QtXZLHDN- zt$lfP?kk}aR;=i6Ok@NyvhoaiZfBZArK=b01ae#i4b#YQWtfbm9LWgDz_o*0VdRC~ z5k~s7b5lG=|LLkN)p&KjKLUqACSTEQ^&ZSE6p+x{yIMWbhCJ`iXLXrqZ!=cQxZ=$XN!jSV{Q=mzHiy z!|WyN2n1ysP^i4pIp^J(Fz-%9s>p1I#*s9tJE29xAVbA}Z^}IUv_2I%j@ss^N++;Y zFw*Hk0LYCgLLHjHoyuN@?BPr*Bo_}pXsVXxBG|_PA6q8cH4ep1mk&mRs6b>CR$}p* z16Z_vH>1ayG?rZq7-eS!M`U9!%2hax^`33(GYZoh^%-rI;j5f=H!9X#D&$3LlQ5U{ ztd7u0&SMm}ga(8Q8HuV{;p^jxmi0n0q(^f`e`6t06hmtB5j!4x=O-Hdj9ycrwyGC^ zN3ZCNmSjk!k{bQpyiJ(Lh*t>>SQpYVLMqd6aqkuwe8E732Ao|$N-}8yQd_rf#ghc2 z*0Y|QikZ)vH4AOqwl!&;r;~nij*7=QcUjV%<(vcQG>jg9{4q?OI?V)b6v(;$`s)!I z5^C7RXB3dqC{S<(NNE$BS1IM1x4RA(;+vn>WBv9-BA;+Au?d#=0lg155a|*+T z?T5L>NNr`KFWC>z+&KUdWJpnc(KsekB9ZA5D>n0chme_1fJzP?9Z3&?QaBzQe9Ac7pRQJUcV&(aBD6gxw9Krnc@z|G?K{hgL(ePSjBfGm+(!umXQ##HAyEH@J zb`9arHAI^nghbY_nY&^K*PVknnx2nR28?X{#76qR>}pR6Y;=eh`ZLNqxMw>=1iNBK zLN+E&o{7XP#%1{f+&LDvjyMlPdN$#{{Ed9*3`f~K;oWHqv1v~N%DLXy@>6ilh23!Z zCH=UTReei~Vbz#cd&)OYf3pCoy?gf>Fhop71s0@7#k{Dgd2#wS`IBlWNx64|#( z^-@G#!88GZdM*3*_Sz@osMTd_=%rOAD7|$4s~$gaxEDj;yT2urX#Bo6)JM zM10J2+PB|++sLUH>Z(l>5zf>_leYM)-D+N(p%IYGYOR!q5w zA;@ZH3Ts&^?zprgZoask0iv~LeE7vm%-JB_O}|hIBrNemW6G5l2Jl{R`rhq z-E;8x4FfTtM^mO6QdYUveE5a--^uHCk`V#}$-ZQ2pwj&k7+A{7DKbF3dr2xr_G^l} zuIWX;fxtcQGnWdpYX0YawB+?aKe67?{_>LqNGV-U@~KV0A@V=-g9X2h=^!6o+GUEsW9Qq9W4sb5&=?M%0{zp82_yr;uwSgmi{cdJNYO zZI0_N>4qo;9HxWhDK4bGjCVXqxar>&lnZz{w6xDMR~W3 zKx@C6zb8KeGLi*0Bqt@~>M>WF6b}Ky&rv1^3>?Uuc2ZHv9Fik^CKxbsSE+`1fdoyB zdhq0YcO`8<3-5os9{Z2v5L6|=!fBw6lI95~rcJ30ihj^o9n!rqZedYU7Y0VgeYg~J z*B*w=JDRc~ioWI#jR(q!3u`ZR@7&U)*)3hYod!D#J<||yVQ9%-R!D_eOx8v^+K@T; z(DfHF66=b2D~{o-pEr8v6Qcvr(2QB~rA(UPZXPZ$pe8(uMSWXQaA_ zhUvG9<1u;mCLGP?z8)dG{&M~Vr5f=V`k%*iK^B_E*m2jW{y4vN9m9*=2aO*TsJQ69E973wMCt%TECKA=apD8B#AzK zsg_L2NK+(NO(?{WTD58wYlC=U7V9pk!GN6I(>2;oe%Ai)e$%=aO0ku$RGNYGq-rlJ zpd*k_bxz!9;8~mYITN7$@ma;=iD7gg(~kFNF2m28j&fagqfzKXS#hQmR&w5ZklE-; zHev-0Njt%1M{zp(&>4K@&Vgh|iC195?nFD@_;NAU9LO@pvjQ)bOdF8XNeh>#%FW3VBayihLw^}i9YomzvE)kp%nMcCiUMH zx6%>s-?^!A08*L4J8k|he7kHvGV<9Rq$=`kBMVE;yUkTmSEdQr^H3+m1=kGjfI;WA zB*0vWag&x~>Bba(k3bXGnM->{0rwfidY@{~n5oKei*Wn&Eb7+$~o zVit9$ywZbp<@wCTau2hezL;7^GJi|S{3>Ei60wWbtU^Y#JDsX=1V^sE`f3A6)zrNB z)sUUm3(1%svPJaQ0;D9TDk`s3Nxi4Ec-gt?D1EA3q&36Js7y+!H|MX<#CtQ=AT^(| zS6YOo^+GV5Y>806N(Ob@uwh3MeqOzWU@HR|oX_o>1Y_*gy~wg>(;)uh8LRX0!p94Y z-n6q5^LZV@@zAvc5lfw>G}%hZ`SQI*c=nS8NI6QK>FP^BDjTmqdIjo5c`#_>!0Vr` z#`-;EPm!e*8s>wcy<3{JIjOvTNqLw#cQx|K@KtTO#$jZMjqHc6o$6ur_B{NsHW^#V z0LjUwywX9hq>gXE`ib?!-BCZRlIcsG$V#lhTa$jk=0jvSv8s%(pEtUT9I+AZ-+x25(gJ&LyVeDKIMebKT(gt0U}U3iqB(Ews}Oe%tB=uK6TF#T zFF7_AG-X(Tl=B!)f&On|EkH_+?vcX;_1HaHOghP>fXkb2zS*SN*67vK63r9tELkn3 zZIebhojiH6Nr9Jds(`nE<2o^Q&PcFL!J9qFc8vdWJ=PGA0-H|RDodGCTY(AG>@*20^Daw3of%VLyhp(e8Nk){D@fju$fx?D%}{Myw%ADm$luEMgy) zkLiW3EeQT{K{-s&ZQ9qHuzgPw?LiO>D#3$Sc0u2+4WN|U$KITeEeFV&^zooRa^S|x zdSFmbv30?66$G~zC1K-^c=!>lk0Q`EjDB&SPSIct7|RY8Jk31$PWT zuOoVPWVcdg8*JEJh8aJtMsi9C+#LB}<}Mz;zCU`mSC)Y`CyeiWUj1Lm{D~!1^Tc9E zDXmtvmo{}H7Xw-Axy6t=6Sh|MtNXh=KequXI>PyMaI^rcV6`^U-;{cwqJCPGb%XyZ zH`nQ6Gj)Ki=Rf{>6@K1Aq?Zazd9fB8x{Qcg*%q#+RES%5M9 z8{tys4tp?$reu#jd7 zzi($mN}UX3*n6^&hBxa}xsf3?`urxiVsLAOC{>8gyNirs14vnk%zq{L)+Ph4 zxQKbX8R>>5spzg8W3}CsVP_Q^tPV(N|G&zdv3}>D`B#8c5p%#*$nlCRufX>0+f7l$ ze-QOo;drHaNEWU8awf*sX|yR}My9nJJIgun*0g2#k;W{%);JeI^#ZpH0Iq97UYTg zb!(F$>A=Aw87$II)0M16dr=w&w5^3_Zz1UCZ^I@!=8sJLk!(sC=441UiN>wNyP7nK zNwe1AST+GNI<_t>^xCUa6Wlkt0~)X%hy^5bDKOjF0Hk!_5~b{My;kv675-E!a~aC& zHlpI@Dw=!7Svk(1RP%4O5fCt}H8AZcJLlYUw<*Lb`4kId)TmKh6a6{gnJQBiRj)3$ zXJT!%R_8qWU0?pZhk=((WEFZDUE@MGIW{)Z$cvZ}JNGiu%KC{mS1~N<4i~2pkP<^` zAflPFmrbB*;*<^ea>*VRiDQ(L&RtM|JJV-tQwMrt+y0}-I7Wb)D}}8h9sRq+;?Zjc zAeQo?u9=$-=Hczn7GoFL$Ts&t0#OwR4)j2Sx{>hr_N3vPhD^$hYEPj&7k!%t;*QY+ zP(Q{Ct9OyP^64@pq;XAg2{J}~)7TL1Tbn5yrL2*Wj*LvQIw*^vtPklBf!k>CN6<3< zY-uXjt0lZEN@aFMo0u{@e)AwSi6YB`?-p@vKA)3-$z*lpQ7@O57olsjP`q;Y1!O0S znZoF?p_^4Rf~!5PcDqmcspaS%Jjj;!)SJ_$O*3p9)xWsrnrjRoRa5igl!x~}c9d-C zVF6MK29}nUnpAk%w<;zt*;RpgrD7>%@6-V)CzeTaAg0ehgh{hDk$n(Aos@?*O~P=; zRXx!-O0^1YNFp0z&XRqsL7Gc8ejw`B_D0*rwM{C!0I4t8nOT4oMGO@sg*dNc1RlPY zG8V|diG-c=a{0beGNcxfA;r2-goEq&W#ElRMjf4{`z!PsQV_|3lW(-2b zgxT=eHNDZ5>B0I5(-tISB2$bM;FJU3i-6Q?_YZ+D0pu(KQsckbjUSiq;~GUfhbe;% z$a=nUL~nF%F18n0Xjx>oOx=XdJCbP=xRB{wglqfO!F3mRH|z@|x>aMPKh}0KA}u+U zqnmUj2~(#{HO{T{>H`lvKtSX+(~VKg3*Cq6Yq@ofn!l$v0vb~RQb$>`Lg|u{RR`zc z-FM%ETW`J9_@ZJ+RrfLe=ovL91W4@`AVu(a9qXonL06^d^=w}U_g>u%^=ZqA%_t_G zY6rhDX+3^kcZhn;kL!d3R}SrhD=(-8e@+D1ddd9a<8N-l)-4AO2_ZJP0QX$c2j_Q; zVf|sw>96(@kRp?)3Xl>*>c&gjn;K3Nzt~OPy<6cHn%fRsF^G+?F0O|VGJbXbY)Z|O z<2PdUro*PZOo(S0ZoRA{(+C@*h&nr&Yf4H^8EeWFP+$9^U2`95Lg#Nx6#HuWCal@a zATf^@=v|6?FYm~DPz{kqrvC%4%)yRCGQwD#QL^5Nda-AlSdMc9!YI%A9D_p2WH4>> z2S zgG;wu*bKK^*3wz$@iYJ_%kENlX$1j=Q)s*V^2?3Ps?13ZAZ3Q+cmFx(0jWF|$yFi0 zapT4r5J7F`@8Loa6&+=wd9GZT&x8Z~yCZa3A4mlBklJx}9>^s!{o~>z_}6!9kyYVG z2a=9wX&$>NxMSGB9_ZgA+@vYw(g9zxG9L5R?5FXoNGy**qqlWrIqtvlVzg@Pi^I(Q zIZO%Lo8-Wh8O!Mq3X$SsWG_U&?k$Nb$C)C}Dtn{KQ_MENf>l|VHD?tSm&T3ClzMDn zpAK|jgG@9iiczn+T=>Wjp@Gi|Ag)eDN0Zwua{48I_GT$vU56F{0a6*68OETK(Z`m!Zvqh1d0$1=fWY@ zx%gn_HtgAZn7_r9^)kwF`Ou!Ypj)VsjYvA0JDK19=}%h-D6#toYd^K9PvidTo`|HP zq<@Sp2@bsd`A#ITwgeF+G>dTH;TwmbePe&fIe2U8Mtr|$JL|d8h+tLKNOmf@kw90= zMy{-r1FYOuflt3*%j?Xc1I)BL+cCU5_Hs07>Q5!Dl)YIvl0kL`2c|A5&>b2@^O_Q| zCxPHKzwaP$-L-8j4VXTr*rVdPGETHRu9WjJ~i33=9J)0C*--0 zOum<=EFcRwgMdy53zk!VF{SR-F$3s$(k&#DXvO*hd_H>vBdKHr5frW{OhYd+q@KF{ zeA8ub%|U{&uYZg5Vsf6yP6!FAz~w_av9=rQF;L#r(Bp$ImeW~an!3G!#&I!TxM?tk zcC3wL>e??B?#GnxH!@|1^NzYUCdv=j4)2LpjeJcp^tJo!828D1tcm@omKPMKm@)33cY?pJ`+sm+J8JIDWuN3Sktx_)E3 z&{h#cN+}&;U+BG8Uwwso_Da?q3!#o6`&~7pPH|%vEWTQnig&(R!8(O3ChX2yg|2ys z4RfdN3_$(ZMu>^7OC9dTZd@*?MJG?ZNwIYWtmyey>vHhS`}57*u(Q6>`5mM2;MIK* z8{`aj5L+c6RgUK;FUHY~G6p+6SVQU<0jZH>R(N6;nY}MhT}2(m6dwjST^t3d8&HO( z1e{tmj6`(Zdhlj&D3ribB$< zNN~*Z31(+-J;`UFRq1ho)akxtRFpC;HkFSp@p()cTu0l1pEF&*PJ{;@x}qz3wGB1; zaq9fTnE3SuQ+rR$Xah(+aIs-dXVAu;@XapPklMp>;i6NKj}iTv;el)0Ac%loITfsQ z`@6J1KBJ>s=|a{g%Vv!3Q3p3OEl^Ig*(_Q9gK{kUtCY2^6cC*L*>uBn)mnYuefQ#y zJMJ_LDFK((`mJ--$gFe7&&0oy+y4Zl97eYakcy6uHVi3^xxRZUW3QR$y3})&& z$~?mG1(`~lwx@7HcoY21z)cr*z*R$9aRt{mv9#lWHDU;_CD3F=$IhAmvt5 zT;6CN!Kn<&Tv}=hQj?G10PWgchqG|_7?W;G7_6Zk>*rmDdsx5f!hQ|tbpkJayb-fj zBoVAqr%w8_W$COBTfr1xZv+zDsuvSOd$}%4R)nAtGZtw6)1KyzJny}4t{^ikovD88 zcFBC(e(fUAuLIW?S7tg;(rq3=Sh(>pX4AJ;oh=91ke76i#6#C~W1U!O+*4#o@dm17 ziBdZSNQoh30a6MAiXjz2KuSTh(*Z8|EC1HpIS)wXvel-#1Sx{&LV>@JG&q4$5iHEA zD1nsqsVo5hKX+Bjj8v)&bhe1)vqVN}-v5Hg_J$*@gUE<2m7{xQ4sN)t4+|~UWxW`u zF|X@O;-d5JjBV^xaEMMhBdcU~c(Q}uwM;9xiuu64RNxZ)6^Gb;YvMw(6SM@-NO0uh z$|0R`-LN>5B0vBc%v>;_)U?H95>5ZvEOr8mUy zD%N3A#)bCp+qaMH!5c7A^fJ`-QYk=Z1CTOvjf;FG4dX&Om#H)i)2S@evx~{L0XjD# z*vKy_+OzKn^VVnWVW*M9CRNqXy%1xs>qo{!xG^~Qldkc=Ym2EE$&?@~DJGVC zj;qLRdC@U+Y7@b9ivDO#hhIvXO~8!I^75KZY95U$yOO`A# zYqW~sckbNTr0mrIQl~k{C$W14i+-x*xtb7&HvZ#}>OAW4AGLw3HBsxS9+pFMYWh@q zPIF2oos*TYd{++sIdwUUke4v6Jb=0=3(ws-1U*}*wu5s!!ukI0R|#0KVjm;D1f)2J zd$q2GCvQK`blLlO_CdV$`3ksth4Rp@tnpL}4_?~=^=UjR$db)d{_Ce?)|%Oj(jqo2 zAc%Zb-^RF?&gNmt{OePfk@avwZ2X^YWo3TIfC<}^* z(@ADCkfwFn8rp;GWv(^3YzI$S&&V!A6L$4#K!=%ruW^2t?IsvDV-+&fa;Pgy(T-_A z4_!M5tz%q48yqi8Uyr#9_wskurqO(iAX*$jsU9@0ZCJXel*MZoQkKQ|C`Bym<^1EW z!DvlJC;e#J)*4SP3fwfR&dvGEsr9Y*PW`W8zA_a^fRxH22oTX6Q1GuhL+aG#!>M1_ z-*wOGa;D#?*QyO<0a8;42+E#OMu41{;Naj>W=QGya;;S6cT;>h*?NmuB)FJ$XqX<$ z#sMy_1WFk&u`%!x%&u`N1JR*r6lJfjVFRn%vSyp)bmqD|JWg=cl`I@P>o*PP7>Ng2 zccq?kWVq>j%lF&y{G=sF%_!n;U|ltzOuR{kR70llq*KP<`(YQpnZJz=u0KgmvWAr& zSVo;%Mjgho5^QbXqFyk%w5W@&E$bqTAdZeMDM;l0uT5S;Kq{ZZsbq4kHO16jm{vHVM+|Nm*%grjqy+GpU&M>lW-WluS10^e_Lm+4q?A@GyH;{~ z&pr2;W=~>Xh<&W}Tyv^MUQaljfA~X<>8}7O`lG6YDBXI?Ew>nkl+|Tg@_Qn#%KvC&3!&Byb14#s(84KstCb6m1x!#bwLJvM$WJMR_1mEem~ZJGB% zy{37_LjCl4Oc!bvD|Yn?VoJPfp{C)gfh`$S>0or{_^-u~5+KD?y0R49!E`+VQb!pq zd3gK+Y(G%S^@6q0DoV*dDx)pQQV~3dSW|A)r+KPBL1wclD^pp75j|sY_m$mQsGJ?( z$zs~HGtFcj>`BT-T4pZt@{0(jd6QtlUqJg;ppk=e;?E3(doS(Gx~~mQ&9=om3h>%z zOAMRQ<^beC8^6ICz_g=PG{%MG2s?|*yAW{mrJk=}o3?SshHM_t3jXwkc}m>z$|9`Y zokLTBr8g*J-UQ%1S#MR{JSBr#QHp6RSEwExN1>uP8+}@Z8uoGw0d}=u(Y^T3OuLc~ir@*5df>qa4IrgO zSb&s-|J=R7mXR){&GxYz^-Twg@zRG2S$~G_c(MBcm1D=o0d!jXp?)YS(A-5rU#1j1 z8U^#WmSO@^4vr}&R-csQphr_b{PT_r5J;n3t?n1l34ZGRpOKSCm8=L<1&fmp?SLDG zHfPZ{QXhHHA_}BRZcJWu1QVt%=7PZGjgEP+S26Aw(E}s<#xV0S zghY(Ge3Wru8a8Z*SGdUb?c0~^zB3O<{W9>Hk4|G#&jhS07?Mh7a|hc@Cnh8@&8`T$ z59cB^mo?F-@RXA0#~Kb}uj`Ksx=;!5`vy4XLkeyNENevxz@x7 zsV~3({(G|qN{7nP^;H4ZY9RgbHIceh&reOCYNlyUIRPnwvvby^;!UR7WU{z-1yP(1 zjlJ;d159b7-g4)RE~0|VBmaNKvOG*8W4JJnz-n1GdUuFom%Z~5PT=OTx0hqyh9m-7 z3M_b_BfDx1WNjILrplHw!ddATj1_DO^7EPmI=VEL$!<8GfY#HuUtkK7zxd%i)}Sgf z&RQ+s5l%Nvg*8M24~X%1Qq7TY!}A zy#+`q-Mz+uKFPs6iLX_cGksmJEkH^j!&KG>QbQK2sC-~x5Xb))CgVw*;#Xf$+PkVS zGS0$=0LSpb_ZwI{g-k%ok?M!qSkFN<)Esp3>~zfBY=vM(D(ld6!0>(@*_oBj6OZ^U zS&WZPm}B;1&L0M{hSY=C_A+U)I-%rb1p%q&2uLNT<@2=*Q}%N3=0l@c$k+?4V~)*9 zcD(z=5^UK)wgzoaXU$WMf#7SVw=*>ds&jXfc6Of`W zF{U57lZ~mM*0lMFm`Gr{f}Jt#29OHmS~Uzl{7_9y#(%rj08$RSH(4UInJ;OJ(HArY zn|vCkr-O{FFBX%DM#d!LGIZeW7|}ZpH;?Fma5~FeB$$Rz$*!^=coj~iY@VF>AK71$ z)#PLX?*yb|*IIy-g7Zr4v;e771w>AK1^?ThN=|zUIqPHcW*!HV^8EWozKAM9mWBz2F4lWi5*7{$6!H#3Jdf(AI7{;&ut7Z)x%4hsG@BIa*> zww|4MGU>!ppeaO+!}6iz;PB@_4{(# zi|+AT%y~#7PA|neSg#{csIdZc1P=^k8^9j^WYk z2jh|+wG3-PU(Tb{YkO%Xy9U|u;vK`#r=gN=o!84hRL0dG`W1R;vp#XYI-P$l zKz(;3-6wyz4V3Y1q@AVqNvAjLVPlsy&L^z&7L&|g@i zmfT8a_59Ri*P2t(AT&=YwqGvVi+5*jN1>@zT*>s95IlQ(e?&4TM{GlW#ng28eq$cq z`D`hR7V|yU%;?T&@UwRhL>LX*d&e!siXF%3OiE7O=sXrsXVU3qQF7YYocc60Irl3_ zaa27-3L=?Go_KZaWjIX3`XB5{8PB50O4DsX7ShAl4MJA}V`3p`GcDwW`XReeVj+py=NbweMFyP01xU$m`Q(#N zsL$*ssHPfHY8G<3DIS`}(hvfrHpJTrs_ek#y~)UAeV1~!b~mg6PAAnd6$_!VB8LD< zDIR0d@?Py@jT1a$O)di=KbyI(dTHmk4Im)ZA2F)SLLnx$g=Kq7$&gygh8tx6l6fD) zqULWtJQ7W!m3-=Swhz+Tp1&%A9WN7DW2OlCg-k6b%ff?QGHD9)8W{X4WLtZ-lD}bS zS6nr;75umcBoYmNW%4Sl+DYe>4zZ0+?AS4#ac%#G=C|qiTM~-#?w1R(nzeUa*f_z# z8jc=})<%Sfki{H1lEw+ZpOcYh2Q(O z^g9kn8HUt1TQO_-9_n{*lm2t}h>isA8nO`q15+I2GLFHFWoelB*-EDEFbM2g!A1sk z$&l)dNM$l`ZIZn$UG3Dlzx?5|6K)nDr7p*kQ8lL!8%k^Y?YBF-F-lJ54{1(mJGC|Z zgqQI@`=Q2EsaQ&ZpG+3%OB{ctXQ_tN9e3PuoFS#}>0!zD9~m%9M)n#&Y7I6Jka8uP zFVHg&uRSmnt?T)l3>N3z1r8`>Pb{YRV%nQbKWAa^?ks%Xkadt6PJG>!>D^TvV5XAtG>ulBQZ= z5bQgGPOa*r32P^MG5{(zmZq}0=jq`fn5;C~I<DaBtNpg7xs&1(Et+ zHIW5M36QTOgUX%PY-4$w`eEK^-Jlji87Pxpwv%pMH?#zAkjB}JLPR}| zpBbHc_Tz;VRxQ)(S(0I6sGwUA@U zAIB(hZO=5keD_7@)QHzW1KM3$oYQ2DcPKjnH`VkuMhX5nZK0WT_5 zb<$)Ah~qARijgb_nO9_7Ue-Gf4`0} zQVS0dklKL)QvNi{y0;9#%l8aGD49qCq$G1<9(}(dn~vO4vM@QPS#-H;s~`eW7oaxh z@BMGC#3FX9^Y9Ha&aa1S35`f1Ty#Zc09Hz`(Ia*+Re_m5O!+HB(xN$D_^sJl%t2Y!F(%DV!Q0c;NTtJ@CmqIg z!j{eJG5Wg#hY~Ugs=J|CoG)IydjJ~OVjVhN#&2xZAdotY7ke$>NqSoPcjq%`L5zyChfOa-2M?m5G}umHhR)ujS_<=BZ6tTayGZ;pMrxaX*isk$?Kr{U;t8Gz0`&7)}d{1)v!(oB_Q-A>yAD}X0MF^ ztUDdMUd_Gn@bv>wk9p=ghqn1!i}1pf<;cyatkZ6d^~=H=1f&|X6P~WYDjA{F`)mq* zA{ie05;L%$j^?41bf)1K5acBjn%4&ga{9K8#zR;4KpazN6R4M8nX(EiSkp#}fE&|e zpSZRgF7Hv-tRVt~zF2q&Z_il9#vsf(;273t`rpVwUD1)*1b$4J)7tRho4c`PNp$d@lax2DtqdK#WRDI(> zYiw1Yb;j~^jAyX7oW&sB$l$!VdlYUR*^M@URzH484-J?MZ*6+}BsL3>N=;2QjeFE| zKys-r(#iy=-i`58=gLW3#{ceDc-z!`K!DWr>C;WhqyQ?V>xm!{7spz?r^%4gw2*u{ z0jc#>fD~Eu29O$tw)F`*@pH{0O&g`Uzwp5_EN2%=8v!YQ?*iN~>O2hT=EIf(obUXO z^y^-x_K`S+K*~S_fzbf!Udcj^0i+J#+v9-L5vHNG#LdGyp_nrG%*Pure{B+dZg&Dw zmAHO*FI+kx5JA*yT(-=0>`WlbnI$Yj7-$LLvHe-|Md$qX=VVO⪙5suyZ^EM{OEM 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
    C;W_ci#LVcpVR?^bga#3}?E|Ah3 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 KsFHgY@_zt4tU-DJ literal 0 HcmV?d00001 diff --git a/docs/Attack Formula.png b/docs/Attack Formula.png new file mode 100644 index 0000000000000000000000000000000000000000..805f15d56b80e65f5adc58c5ce0e85609560e065 GIT binary patch literal 77688 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 F{|6~u>*D|b literal 0 HcmV?d00001 diff --git a/inc/ADSR.h b/inc/ADSR.h index 3af24d7..77a7588 100644 --- a/inc/ADSR.h +++ b/inc/ADSR.h @@ -1,6 +1,7 @@ #pragma once #include "Effect.h" #include +#include "Ramp.h" struct ADSRParameters { float attack_time; // Attack time in seconds @@ -9,23 +10,26 @@ struct ADSRParameters { float release_time; }; -enum ADSRState { Attack, Decay, Sustain, Release }; +enum ADSRState { Off, Attack, Decay, Sustain, Release }; class ADSR : public Effect { private: ADSRParameters m_parameters; ADSRState m_state; - std::size_t m_counter; - void set_state(std::size_t attack_samples, std::size_t decay_samples, - std::size_t release_samples); - void process_sample(float* sample, std::size_t attack_samples, - std::size_t decay_samples, std::size_t release_samples); + Ramp *m_ramp; + void process_sample(float* sample); + bool is_attack_elapsed(); + bool is_decay_elapsed(); + bool is_release_elapsed(); + void recheck_state(); public: ADSR(/* args */); ADSR(ADSRParameters param); ~ADSR(); - void RetriggerState() override; + void OnSetNote() override; + void OnUnsetNote() override; + //void RetriggerState() override; void Process(std::vector& samples) override; void Reset(); }; diff --git a/inc/Effect.h b/inc/Effect.h index 5065b60..726f033 100644 --- a/inc/Effect.h +++ b/inc/Effect.h @@ -6,6 +6,8 @@ class Effect { public: Effect(/* args */){}; ~Effect(){}; - virtual void RetriggerState(){}; + virtual void OnSetNote(){}; + virtual void OnUnsetNote(){}; + //virtual void RetriggerState(){}; virtual void Process(std::vector& samples){}; }; diff --git a/inc/Ramp.h b/inc/Ramp.h new file mode 100644 index 0000000..f9ace72 --- /dev/null +++ b/inc/Ramp.h @@ -0,0 +1,17 @@ +#pragma once + +class Ramp +{ +private: + float m_level; + float m_sample_rate; + float m_increment; + int m_counter; +public: + Ramp(float starting_level, float sample_rate); + ~Ramp(); + void RampTo(float value, float time); + float Process(); + bool IsCompleted(); +}; + diff --git a/inc/Synth.h b/inc/Synth.h index 679817d..e897460 100644 --- a/inc/Synth.h +++ b/inc/Synth.h @@ -11,12 +11,14 @@ class Synth { private: bool is_note_triggered; std::vector m_oscillators; - Adder m_adder; std::vector m_effects; // OscillatorUI* ui_oscillators; // Note m_current_note; std::vector m_out_signal; + void zero_signal(); void get_note(); + void trigger_note_on_effects(); + void untrigger_note_on_effects(); void apply_effects(); public: diff --git a/src/ADSR.cpp b/src/ADSR.cpp index f670c13..13119dc 100644 --- a/src/ADSR.cpp +++ b/src/ADSR.cpp @@ -6,58 +6,96 @@ ADSR::ADSR(/* args */) { m_parameters.attack_time = 1.f; m_parameters.decay_time = 0.3f; m_parameters.sustain_level = 0.6f; - m_parameters.release_time = 1.0f; - m_counter = 0; + m_parameters.release_time = 0.8f; + m_ramp = new Ramp(0, SAMPLE_RATE); } ADSR::ADSR(ADSRParameters param) { m_parameters = param; - m_counter = 0; } -ADSR::~ADSR() {} +ADSR::~ADSR() { + delete m_ramp; +} -void ADSR::set_state(std::size_t attack_samples, std::size_t decay_samples, - std::size_t release_samples) { - if (m_counter < attack_samples) { +bool ADSR::is_attack_elapsed() { + return m_state == Attack && m_ramp->IsCompleted(); +} + +bool ADSR::is_decay_elapsed() { + return m_state == Decay && m_ramp->IsCompleted(); +} + +bool ADSR::is_release_elapsed() { + return m_state == Release && m_ramp->IsCompleted(); +} + +void ADSR::recheck_state() { + switch (m_state) + { + case Off: m_state = Attack; - } else if (m_counter >= attack_samples && - m_counter < attack_samples + decay_samples) { - m_state = Decay; - } else if (m_counter >= attack_samples + decay_samples) { - m_state = Sustain; + break; + case Attack: + if (is_attack_elapsed()) { + m_state = Decay; + m_ramp->RampTo(m_parameters.sustain_level, m_parameters.decay_time); + } + break; + case Decay: + if (is_decay_elapsed()) { + m_state = Sustain; + } + break; + case Release: + if (is_release_elapsed()) { + m_state = Off; + } + break; + default: + break; } } -void ADSR::process_sample(float* sample, std::size_t attack_samples, - std::size_t decay_samples, - std::size_t release_samples) { - - set_state(attack_samples, decay_samples, release_samples); - if (m_state == Attack) { - (*sample) = (*sample) * ((float)(1.f / attack_samples) * m_counter); - } else if (m_state == Decay) { +void ADSR::process_sample(float* sample) { + if (m_state == Off) { + (*sample) = 0; + } + else if (m_state == Attack) { + (*sample) = (*sample) * m_ramp->Process(); + } + else if (m_state == Decay) { + (*sample) = (*sample) * m_ramp->Process(); + } + else if (m_state == Sustain) { + (*sample) = (*sample) * m_parameters.sustain_level; + } + else if (m_state == Release) { + (*sample) = (*sample) * m_ramp->Process(); } - m_counter++; - // todo: release state on note off (in reset function?) } -void ADSR::RetriggerState() { - m_counter = 0; - m_state = Attack; +void ADSR::OnSetNote() { + if (m_state == Off) { + m_state = Attack; + } + else if (m_state == Release) { + m_state = Attack; + }; + + m_ramp->RampTo(1, m_parameters.attack_time); +} + +void ADSR::OnUnsetNote() { + write_log("Unset ADSR\n"); + m_state = Release; + m_ramp->RampTo(0, m_parameters.release_time); } void ADSR::Process(std::vector& samples) { - const std::size_t attack_samples = - (std::size_t)(m_parameters.attack_time * SAMPLE_RATE); - const std::size_t decay_samples = - (std::size_t)(m_parameters.decay_time * SAMPLE_RATE); - const std::size_t release_samples = - (std::size_t)(m_parameters.release_time * SAMPLE_RATE); - write_log("Attack samples: %zu \n", attack_samples); + write_log("ADSR State: %d\n", m_state); for (std::size_t i = 0; i < samples.size(); i++) { - process_sample(&samples[i], attack_samples, decay_samples, - release_samples); + recheck_state(); + process_sample(&samples[i]); } - write_log("Processed samples: %zu \n", m_counter); } \ No newline at end of file diff --git a/src/Application.cpp b/src/Application.cpp index 03b6489..6647de4 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -85,6 +85,12 @@ bool Application::detect_note_pressed(Note* note) { return is_pressed == 1; } +bool is_note_up() { + return IsKeyReleased(KEY_A) || IsKeyReleased(KEY_B) || IsKeyReleased(KEY_C) + || IsKeyReleased(KEY_D) || IsKeyReleased(KEY_E) || IsKeyReleased(KEY_F) + || IsKeyReleased(KEY_G); +} + // Update On Input void Application::update_on_note_input() { if (detect_note_pressed(m_current_note)) { @@ -92,14 +98,15 @@ void Application::update_on_note_input() { if (!m_synth.GetIsNoteTriggered()){ m_synth.TriggerNote((*m_current_note)); } - m_synth.ProduceSound(); + //m_sound_played_count = 0; write_log("Note played: %s\n", m_current_note->name.c_str()); } - else { + else if (is_note_up()) { m_synth.StopSound(); } - + // will produce 0 signal if ADSR is in off state + m_synth.ProduceSound(); } // Play ring-buffered audio @@ -109,7 +116,7 @@ void Application::play_buffered_audio() { update_on_note_input(); UpdateAudioStream(m_synth_stream, m_synth.GetOutSignal().data(), STREAM_BUFFER_SIZE); const float audio_freme_duration = GetTime() - audio_frame_start_time; - write_log("Frame time: %.3f%% \n", 100.0f / ((1.0f / audio_freme_duration) / ((float)SAMPLE_RATE/STREAM_BUFFER_SIZE))); + //write_log("Frame time: %.3f%% \n", 100.0f / ((1.0f / audio_freme_duration) / ((float)SAMPLE_RATE/STREAM_BUFFER_SIZE))); } } diff --git a/src/Ramp.cpp b/src/Ramp.cpp new file mode 100644 index 0000000..1269742 --- /dev/null +++ b/src/Ramp.cpp @@ -0,0 +1,29 @@ +#include "Ramp.h" +#include "Logger.h" + +Ramp::Ramp(float starting_level, float sample_rate) { + m_level = starting_level; + m_sample_rate = sample_rate; +} + +Ramp::~Ramp() { +} + +void Ramp::RampTo(float value, float time) { + m_increment = (value - m_level) / (m_sample_rate * time); + m_counter = (int)(m_sample_rate * time); + write_log("Ramping from: %.1f to: %.1f by: %.1f for: %d\n", m_level, value, m_increment, m_counter); +} + +float Ramp::Process() { + if (m_counter > 0) { + m_counter--; + m_level += m_increment; + } + + return m_level; +} + +bool Ramp::IsCompleted() { + return m_counter == 0; +} \ No newline at end of file diff --git a/src/Renderer.cpp b/src/Renderer.cpp index a73e016..341221b 100644 --- a/src/Renderer.cpp +++ b/src/Renderer.cpp @@ -2,7 +2,14 @@ #define RAYGUI_IMPLEMENTATION #include "Logger.h" #include "Settings.h" + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-but-set-variable" +#pragma clang diagnostic ignored "-Wunused-variable" +#pragma clang diagnostic ignored "-Wdeprecated-declarations" #include "raygui.h" +#pragma clang diagnostic pop + Renderer::Renderer(/* args */) { InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, "SeeSynth - v0.2"); @@ -105,7 +112,7 @@ void Renderer::draw_oscillators_panels( // Volume slider float decibels = (20.f * log10f(osc->GetVolume())); char amp_slider_label[32]; - sprintf(amp_slider_label, "%.1f dB", decibels); + snprintf(amp_slider_label, 7, "%.1f dB", decibels); decibels = GuiSlider(el_rect, amp_slider_label, "", decibels, -60.0f, 0.0f); ui_osc->volume = powf(10.f, decibels * (1.f / 20.f)); @@ -116,7 +123,7 @@ void Renderer::draw_oscillators_panels( // Defer shape drop-down box. ui_osc->shape_dropdown_rect = el_rect; el_rect.y += el_rect.height + el_spacing; - /* + Rectangle delete_button_rect = el_rect; delete_button_rect.x = osc_panel_x + 5; delete_button_rect.y -= el_rect.height + el_spacing; @@ -124,15 +131,15 @@ void Renderer::draw_oscillators_panels( bool is_delete_button_pressed = GuiButton(delete_button_rect, "X"); if (is_delete_button_pressed) { - memmove( - synth->ui_oscillator + ui_osc_i, - synth->ui_oscillator + ui_osc_i + 1, - (synth->ui_oscillator_count - ui_osc_i) * - sizeof(UiOscillator) - ); - synth->ui_oscillator_count -= 1; + // memmove( + // synth->ui_oscillator + ui_osc_i, + // synth->ui_oscillator + ui_osc_i + 1, + // (synth->ui_oscillator_count - ui_osc_i) * + // sizeof(UiOscillator) + // ); + // synth->ui_oscillator_count -= 1; } - */ + } } diff --git a/src/Synth.cpp b/src/Synth.cpp index 16f3780..d99456d 100644 --- a/src/Synth.cpp +++ b/src/Synth.cpp @@ -7,10 +7,8 @@ Synth::Synth(/* args */) { AddOscillator(); AddEffect(new ADSR()); - for (size_t i = 0; i < STREAM_BUFFER_SIZE; i++) { - float sample = 0.0f; - m_out_signal.push_back(sample); - } + m_out_signal.reserve(STREAM_BUFFER_SIZE); + zero_signal(); } Synth::~Synth() { @@ -19,26 +17,37 @@ Synth::~Synth() { m_out_signal.clear(); } -void Synth::get_note() { +void Synth::zero_signal() { + float sample = 0.0f; for (size_t i = 0; i < STREAM_BUFFER_SIZE; i++) { - float sample = 0.0f; m_out_signal[i] = sample; } +} - // todo: add other pipeline steps (e.g ADSR, Filters, FX); +void Synth::get_note() { + zero_signal(); Adder::SumOscillators(m_oscillators, m_out_signal); } void Synth::apply_effects() { for (Effect* effect : m_effects) { - // maybe not here - //effect->RetriggerState(); effect->Process(m_out_signal); } } +void Synth::trigger_note_on_effects() { + for (Effect* effect : m_effects) { + effect->OnSetNote(); + } +} + +void Synth::untrigger_note_on_effects() { + for (Effect* effect : m_effects) { + effect->OnUnsetNote(); + } +} + void Synth::TriggerNote(Note input) { - float length = 1.f / input.length; int semitone_shift = KeyBoard::GetSemitoneShift(input.name); float hz = KeyBoard::GetHzBySemitone(semitone_shift); @@ -47,6 +56,7 @@ void Synth::TriggerNote(Note input) { osc->SetFreq(hz); } is_note_triggered = true; + trigger_note_on_effects(); } void Synth::ProduceSound() { @@ -54,12 +64,11 @@ void Synth::ProduceSound() { apply_effects(); } +// todo: rename to something like untrigger note void Synth::StopSound() { - for (size_t i = 0; i < STREAM_BUFFER_SIZE; i++) { - float sample = 0.0f; - m_out_signal[i] = sample; - } + zero_signal(); is_note_triggered = false; + untrigger_note_on_effects(); } void Synth::AddOscillator() { -- 2.49.1 From ef40eaf7ef890b2034bc6bca917bd0d8885aca28 Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Mon, 4 Sep 2023 23:25:54 +0400 Subject: [PATCH 07/13] fix: ADSR logic --- src/ADSR.cpp | 7 ++----- src/Application.cpp | 9 ++++----- src/Ramp.cpp | 6 +++--- src/Synth.cpp | 6 +++++- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/ADSR.cpp b/src/ADSR.cpp index 13119dc..6fc3113 100644 --- a/src/ADSR.cpp +++ b/src/ADSR.cpp @@ -4,7 +4,7 @@ ADSR::ADSR(/* args */) { m_parameters.attack_time = 1.f; - m_parameters.decay_time = 0.3f; + m_parameters.decay_time = 0.4f; m_parameters.sustain_level = 0.6f; m_parameters.release_time = 0.8f; m_ramp = new Ramp(0, SAMPLE_RATE); @@ -33,9 +33,6 @@ bool ADSR::is_release_elapsed() { void ADSR::recheck_state() { switch (m_state) { - case Off: - m_state = Attack; - break; case Attack: if (is_attack_elapsed()) { m_state = Decay; @@ -76,6 +73,7 @@ void ADSR::process_sample(float* sample) { } void ADSR::OnSetNote() { + write_log("Set ADSR\n"); if (m_state == Off) { m_state = Attack; } @@ -93,7 +91,6 @@ void ADSR::OnUnsetNote() { } void ADSR::Process(std::vector& samples) { - write_log("ADSR State: %d\n", m_state); for (std::size_t i = 0; i < samples.size(); i++) { recheck_state(); process_sample(&samples[i]); diff --git a/src/Application.cpp b/src/Application.cpp index 6647de4..61ec30e 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -102,7 +102,7 @@ void Application::update_on_note_input() { //m_sound_played_count = 0; write_log("Note played: %s\n", m_current_note->name.c_str()); } - else if (is_note_up()) { + else if (is_note_up() && m_synth.GetIsNoteTriggered()) { m_synth.StopSound(); } // will produce 0 signal if ADSR is in off state @@ -112,18 +112,17 @@ void Application::update_on_note_input() { // Play ring-buffered audio void Application::play_buffered_audio() { if (IsAudioStreamProcessed(m_synth_stream)) { - const float audio_frame_start_time = GetTime(); + //const float audio_frame_start_time = GetTime(); update_on_note_input(); UpdateAudioStream(m_synth_stream, m_synth.GetOutSignal().data(), STREAM_BUFFER_SIZE); - const float audio_freme_duration = GetTime() - audio_frame_start_time; + //const float audio_freme_duration = GetTime() - audio_frame_start_time; //write_log("Frame time: %.3f%% \n", 100.0f / ((1.0f / audio_freme_duration) / ((float)SAMPLE_RATE/STREAM_BUFFER_SIZE))); } } void Application::Run() { // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { + while (!WindowShouldClose()) { play_buffered_audio(); m_renderer.Draw(m_synth, m_synth_gui_state); } diff --git a/src/Ramp.cpp b/src/Ramp.cpp index 1269742..6c826e6 100644 --- a/src/Ramp.cpp +++ b/src/Ramp.cpp @@ -9,10 +9,10 @@ Ramp::Ramp(float starting_level, float sample_rate) { Ramp::~Ramp() { } -void Ramp::RampTo(float value, float time) { - m_increment = (value - m_level) / (m_sample_rate * time); +void Ramp::RampTo(float val, float time) { + m_increment = (val - m_level) / (m_sample_rate * time); m_counter = (int)(m_sample_rate * time); - write_log("Ramping from: %.1f to: %.1f by: %.1f for: %d\n", m_level, value, m_increment, m_counter); + write_log("Ramping from: %.1f to: %.1f by: %lf for: %d\n", m_level, val, m_increment, m_counter); } float Ramp::Process() { diff --git a/src/Synth.cpp b/src/Synth.cpp index d99456d..15888f2 100644 --- a/src/Synth.cpp +++ b/src/Synth.cpp @@ -3,11 +3,15 @@ #include "KeyBoard.h" #include "OscillatorType.h" #include "Settings.h" +#include "Logger.h" Synth::Synth(/* args */) { AddOscillator(); AddEffect(new ADSR()); - m_out_signal.reserve(STREAM_BUFFER_SIZE); + for (size_t i = 0; i < STREAM_BUFFER_SIZE; i++) { + float sample = 0.0f; + m_out_signal.push_back(sample); + } zero_signal(); } -- 2.49.1 From 564955c9119d04f2d380044c0d6cf241f7b92e8d Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Tue, 5 Sep 2023 03:09:10 +0400 Subject: [PATCH 08/13] fix: vscode debugging build --- .vscode/tasks.json | 14 +++----------- build.sh | 2 +- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 950d9e3..650be58 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -3,20 +3,12 @@ { "type": "cppbuild", "label": "C/C++: clang сборка активного файла", - "command": "/usr/bin/clang", + "command": "sh", "args": [ - "-fcolor-diagnostics", - "-fansi-escape-codes", - "-g", - "${file}", - "$(find ${fileDirname}/src -type f -iregex '.*\\.cpp')", - "-lm", - "-lraylib", - "-o", - "${fileDirname}/bin/${fileBasenameNoExtension}" + "${workspaceFolder}/build.sh" ], "options": { - "cwd": "${fileDirname}" + "cwd": "${workspaceFolder}" }, "problemMatcher": [ "$gcc" diff --git a/build.sh b/build.sh index caa2865..f9cbdfc 100644 --- a/build.sh +++ b/build.sh @@ -1,5 +1,5 @@ #!/bin/bash CC="${CXX:-c++}" LL="-lm -lraylib" -FLAGS="-Wall -std=c++17 -I./inc/" +FLAGS="-Wall -std=c++17 -I./inc/ -g" $CC $FLAGS $(find ./src -type f -iregex ".*\.cpp") $LL -o ./bin/main -- 2.49.1 From de31b73673d0829845f3b77c006eee70300837b4 Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Tue, 5 Sep 2023 03:15:08 +0400 Subject: [PATCH 09/13] fix: apply format --- inc/ADSR.h | 7 ++--- inc/Adder.h | 12 ++++----- inc/Effect.h | 2 +- inc/Ramp.h | 9 +++---- inc/Renderer.h | 2 +- inc/Settings.h | 2 +- src/ADSR.cpp | 65 +++++++++++++++++++-------------------------- src/Application.cpp | 28 ++++++++++--------- src/Ramp.cpp | 10 +++---- src/Renderer.cpp | 26 +++++++++--------- src/Synth.cpp | 2 +- 11 files changed, 77 insertions(+), 88 deletions(-) diff --git a/inc/ADSR.h b/inc/ADSR.h index 77a7588..3741bb3 100644 --- a/inc/ADSR.h +++ b/inc/ADSR.h @@ -1,7 +1,7 @@ #pragma once #include "Effect.h" -#include #include "Ramp.h" +#include struct ADSRParameters { float attack_time; // Attack time in seconds @@ -16,20 +16,21 @@ class ADSR : public Effect { private: ADSRParameters m_parameters; ADSRState m_state; - Ramp *m_ramp; + Ramp* m_ramp; void process_sample(float* sample); bool is_attack_elapsed(); bool is_decay_elapsed(); bool is_release_elapsed(); void recheck_state(); + public: ADSR(/* args */); ADSR(ADSRParameters param); ~ADSR(); void OnSetNote() override; void OnUnsetNote() override; - //void RetriggerState() override; + // void RetriggerState() override; void Process(std::vector& samples) override; void Reset(); }; diff --git a/inc/Adder.h b/inc/Adder.h index e951ab8..d3bd044 100644 --- a/inc/Adder.h +++ b/inc/Adder.h @@ -6,13 +6,13 @@ #include struct Adder { - static void - SumOscillators(const std::vector& oscillators, - std::vector& signal) { - size_t sample_count = STREAM_BUFFER_SIZE;//(size_t)(1.f/FPS * SAMPLE_RATE); + static void SumOscillators(const std::vector& oscillators, + std::vector& signal) { + size_t sample_count = + STREAM_BUFFER_SIZE; //(size_t)(1.f/FPS * SAMPLE_RATE); - //std::vector* output = new std::vector(); - //output->reserve(sample_count); + // std::vector* output = new std::vector(); + // output->reserve(sample_count); for (size_t i = 0; i < sample_count; i++) { float sample = 0.0f; diff --git a/inc/Effect.h b/inc/Effect.h index 726f033..c35ce24 100644 --- a/inc/Effect.h +++ b/inc/Effect.h @@ -8,6 +8,6 @@ class Effect { ~Effect(){}; virtual void OnSetNote(){}; virtual void OnUnsetNote(){}; - //virtual void RetriggerState(){}; + // virtual void RetriggerState(){}; virtual void Process(std::vector& samples){}; }; diff --git a/inc/Ramp.h b/inc/Ramp.h index f9ace72..9a98de5 100644 --- a/inc/Ramp.h +++ b/inc/Ramp.h @@ -1,17 +1,16 @@ #pragma once -class Ramp -{ -private: +class Ramp { + private: float m_level; float m_sample_rate; float m_increment; int m_counter; -public: + + public: Ramp(float starting_level, float sample_rate); ~Ramp(); void RampTo(float value, float time); float Process(); bool IsCompleted(); }; - diff --git a/inc/Renderer.h b/inc/Renderer.h index 8140114..0b59ec7 100644 --- a/inc/Renderer.h +++ b/inc/Renderer.h @@ -8,7 +8,7 @@ class Renderer { private: void draw_main_panel(const Rectangle& panel_bounds); void draw_add_oscillator_button(Synth& synth, SynthGuiState& synth_gui, - Rectangle panel_bounds); + Rectangle panel_bounds); void draw_oscillators_panels( const std::vector& oscillators, const std::vector& gui_oscillators, diff --git a/inc/Settings.h b/inc/Settings.h index a6fc760..4d8c0ad 100644 --- a/inc/Settings.h +++ b/inc/Settings.h @@ -2,7 +2,7 @@ #define SAMPLE_RATE 44100.f #define BPM 120.f -#define BEAT_DURATION 60.f/BPM +#define BEAT_DURATION 60.f / BPM #define PITCH_STANDARD 440.f #define VOLUME 0.5f #define ATTACK_MS 100.f diff --git a/src/ADSR.cpp b/src/ADSR.cpp index 6fc3113..6a898a7 100644 --- a/src/ADSR.cpp +++ b/src/ADSR.cpp @@ -1,6 +1,6 @@ #include "ADSR.h" -#include "Settings.h" #include "Logger.h" +#include "Settings.h" ADSR::ADSR(/* args */) { m_parameters.attack_time = 1.f; @@ -10,13 +10,9 @@ ADSR::ADSR(/* args */) { m_ramp = new Ramp(0, SAMPLE_RATE); } -ADSR::ADSR(ADSRParameters param) { - m_parameters = param; -} +ADSR::ADSR(ADSRParameters param) { m_parameters = param; } -ADSR::~ADSR() { - delete m_ramp; -} +ADSR::~ADSR() { delete m_ramp; } bool ADSR::is_attack_elapsed() { return m_state == Attack && m_ramp->IsCompleted(); @@ -31,43 +27,39 @@ bool ADSR::is_release_elapsed() { } void ADSR::recheck_state() { - switch (m_state) - { - case Attack: - if (is_attack_elapsed()) { - m_state = Decay; - m_ramp->RampTo(m_parameters.sustain_level, m_parameters.decay_time); - } - break; - case Decay: - if (is_decay_elapsed()) { - m_state = Sustain; - } - break; - case Release: - if (is_release_elapsed()) { - m_state = Off; - } - break; - default: - break; + switch (m_state) { + case Attack: + if (is_attack_elapsed()) { + m_state = Decay; + m_ramp->RampTo(m_parameters.sustain_level, + m_parameters.decay_time); + } + break; + case Decay: + if (is_decay_elapsed()) { + m_state = Sustain; + } + break; + case Release: + if (is_release_elapsed()) { + m_state = Off; + } + break; + default: + break; } } void ADSR::process_sample(float* sample) { if (m_state == Off) { (*sample) = 0; - } - else if (m_state == Attack) { + } else if (m_state == Attack) { (*sample) = (*sample) * m_ramp->Process(); - } - else if (m_state == Decay) { + } else if (m_state == Decay) { (*sample) = (*sample) * m_ramp->Process(); - } - else if (m_state == Sustain) { + } else if (m_state == Sustain) { (*sample) = (*sample) * m_parameters.sustain_level; - } - else if (m_state == Release) { + } else if (m_state == Release) { (*sample) = (*sample) * m_ramp->Process(); } } @@ -76,8 +68,7 @@ void ADSR::OnSetNote() { write_log("Set ADSR\n"); if (m_state == Off) { m_state = Attack; - } - else if (m_state == Release) { + } else if (m_state == Release) { m_state = Attack; }; diff --git a/src/Application.cpp b/src/Application.cpp index 61ec30e..4936cb4 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -86,23 +86,22 @@ bool Application::detect_note_pressed(Note* note) { } bool is_note_up() { - return IsKeyReleased(KEY_A) || IsKeyReleased(KEY_B) || IsKeyReleased(KEY_C) - || IsKeyReleased(KEY_D) || IsKeyReleased(KEY_E) || IsKeyReleased(KEY_F) - || IsKeyReleased(KEY_G); + return IsKeyReleased(KEY_A) || IsKeyReleased(KEY_B) || + IsKeyReleased(KEY_C) || IsKeyReleased(KEY_D) || + IsKeyReleased(KEY_E) || IsKeyReleased(KEY_F) || IsKeyReleased(KEY_G); } // Update On Input void Application::update_on_note_input() { if (detect_note_pressed(m_current_note)) { - - if (!m_synth.GetIsNoteTriggered()){ + + if (!m_synth.GetIsNoteTriggered()) { m_synth.TriggerNote((*m_current_note)); } - - //m_sound_played_count = 0; + + // m_sound_played_count = 0; write_log("Note played: %s\n", m_current_note->name.c_str()); - } - else if (is_note_up() && m_synth.GetIsNoteTriggered()) { + } else if (is_note_up() && m_synth.GetIsNoteTriggered()) { m_synth.StopSound(); } // will produce 0 signal if ADSR is in off state @@ -112,11 +111,14 @@ void Application::update_on_note_input() { // Play ring-buffered audio void Application::play_buffered_audio() { if (IsAudioStreamProcessed(m_synth_stream)) { - //const float audio_frame_start_time = GetTime(); + // const float audio_frame_start_time = GetTime(); update_on_note_input(); - UpdateAudioStream(m_synth_stream, m_synth.GetOutSignal().data(), STREAM_BUFFER_SIZE); - //const float audio_freme_duration = GetTime() - audio_frame_start_time; - //write_log("Frame time: %.3f%% \n", 100.0f / ((1.0f / audio_freme_duration) / ((float)SAMPLE_RATE/STREAM_BUFFER_SIZE))); + UpdateAudioStream(m_synth_stream, m_synth.GetOutSignal().data(), + STREAM_BUFFER_SIZE); + // const float audio_freme_duration = GetTime() - + // audio_frame_start_time; write_log("Frame time: %.3f%% \n", 100.0f / + // ((1.0f / audio_freme_duration) / + // ((float)SAMPLE_RATE/STREAM_BUFFER_SIZE))); } } diff --git a/src/Ramp.cpp b/src/Ramp.cpp index 6c826e6..d93fb9e 100644 --- a/src/Ramp.cpp +++ b/src/Ramp.cpp @@ -6,13 +6,13 @@ Ramp::Ramp(float starting_level, float sample_rate) { m_sample_rate = sample_rate; } -Ramp::~Ramp() { -} +Ramp::~Ramp() {} void Ramp::RampTo(float val, float time) { m_increment = (val - m_level) / (m_sample_rate * time); m_counter = (int)(m_sample_rate * time); - write_log("Ramping from: %.1f to: %.1f by: %lf for: %d\n", m_level, val, m_increment, m_counter); + write_log("Ramping from: %.1f to: %.1f by: %lf for: %d\n", m_level, val, + m_increment, m_counter); } float Ramp::Process() { @@ -24,6 +24,4 @@ float Ramp::Process() { return m_level; } -bool Ramp::IsCompleted() { - return m_counter == 0; -} \ No newline at end of file +bool Ramp::IsCompleted() { return m_counter == 0; } \ No newline at end of file diff --git a/src/Renderer.cpp b/src/Renderer.cpp index 341221b..102bf9d 100644 --- a/src/Renderer.cpp +++ b/src/Renderer.cpp @@ -10,7 +10,6 @@ #include "raygui.h" #pragma clang diagnostic pop - Renderer::Renderer(/* args */) { InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, "SeeSynth - v0.2"); SetTargetFPS(FPS); @@ -123,23 +122,21 @@ void Renderer::draw_oscillators_panels( // Defer shape drop-down box. ui_osc->shape_dropdown_rect = el_rect; el_rect.y += el_rect.height + el_spacing; - + Rectangle delete_button_rect = el_rect; delete_button_rect.x = osc_panel_x + 5; delete_button_rect.y -= el_rect.height + el_spacing; delete_button_rect.width = 30; bool is_delete_button_pressed = GuiButton(delete_button_rect, "X"); - if (is_delete_button_pressed) - { - // memmove( - // synth->ui_oscillator + ui_osc_i, - // synth->ui_oscillator + ui_osc_i + 1, - // (synth->ui_oscillator_count - ui_osc_i) * - // sizeof(UiOscillator) - // ); - // synth->ui_oscillator_count -= 1; + if (is_delete_button_pressed) { + // memmove( + // synth->ui_oscillator + ui_osc_i, + // synth->ui_oscillator + ui_osc_i + 1, + // (synth->ui_oscillator_count - ui_osc_i) * + // sizeof(UiOscillator) + // ); + // synth->ui_oscillator_count -= 1; } - } } @@ -149,8 +146,9 @@ void Renderer::draw_main_panel(const Rectangle& panel_bounds) { GuiPanel(panel_bounds, ""); } -void Renderer::draw_add_oscillator_button(Synth& synth, SynthGuiState& synth_gui, - Rectangle panel_bounds) { +void Renderer::draw_add_oscillator_button(Synth& synth, + SynthGuiState& synth_gui, + Rectangle panel_bounds) { //clang-format off bool click_add_oscillator = GuiButton((Rectangle){panel_bounds.x + 10, panel_bounds.y + 10, diff --git a/src/Synth.cpp b/src/Synth.cpp index 15888f2..30de536 100644 --- a/src/Synth.cpp +++ b/src/Synth.cpp @@ -1,9 +1,9 @@ #include "Synth.h" #include "ADSR.h" #include "KeyBoard.h" +#include "Logger.h" #include "OscillatorType.h" #include "Settings.h" -#include "Logger.h" Synth::Synth(/* args */) { AddOscillator(); -- 2.49.1 From fd67e7b843e3f74533bf2ec03a953433063ecbd0 Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Tue, 5 Sep 2023 03:17:09 +0400 Subject: [PATCH 10/13] fix: remove unused variables --- src/Renderer.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Renderer.cpp b/src/Renderer.cpp index 102bf9d..c1cb22e 100644 --- a/src/Renderer.cpp +++ b/src/Renderer.cpp @@ -141,8 +141,6 @@ void Renderer::draw_oscillators_panels( } void Renderer::draw_main_panel(const Rectangle& panel_bounds) { - bool is_shape_dropdown_open = false; - int shape_index = 0; GuiPanel(panel_bounds, ""); } -- 2.49.1 From a0514bad983519c5a62e38d02d770ab2010ade35 Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Tue, 5 Sep 2023 22:10:09 +0400 Subject: [PATCH 11/13] fix: key bindings for note release --- src/Application.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Application.cpp b/src/Application.cpp index 4936cb4..6ec69e0 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -86,9 +86,9 @@ bool Application::detect_note_pressed(Note* note) { } bool is_note_up() { - return IsKeyReleased(KEY_A) || IsKeyReleased(KEY_B) || - IsKeyReleased(KEY_C) || IsKeyReleased(KEY_D) || - IsKeyReleased(KEY_E) || IsKeyReleased(KEY_F) || IsKeyReleased(KEY_G); + return IsKeyUp(KEY_A) || IsKeyUp(KEY_B) || + IsKeyUp(KEY_C) || IsKeyUp(KEY_D) || + IsKeyUp(KEY_E) || IsKeyUp(KEY_F) || IsKeyUp(KEY_G); } // Update On Input -- 2.49.1 From 54c4e540ac687b5440c84214e036de5a0563a2bc Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Tue, 5 Sep 2023 23:45:16 +0400 Subject: [PATCH 12/13] feat: adsr gui --- inc/ADSR.h | 1 + inc/Renderer.h | 5 ++-- inc/Synth.h | 2 ++ inc/SynthGuiState.h | 8 ++++++ src/ADSR.cpp | 7 +++++ src/Renderer.cpp | 70 +++++++++++++++++++++++++++++++++++++++++++-- 6 files changed, 88 insertions(+), 5 deletions(-) diff --git a/inc/ADSR.h b/inc/ADSR.h index 3741bb3..53b8c20 100644 --- a/inc/ADSR.h +++ b/inc/ADSR.h @@ -33,4 +33,5 @@ class ADSR : public Effect { // void RetriggerState() override; void Process(std::vector& samples) override; void Reset(); + void SetParameters(float attack, float decay, float sustain, float release); }; diff --git a/inc/Renderer.h b/inc/Renderer.h index 0b59ec7..ad6f92f 100644 --- a/inc/Renderer.h +++ b/inc/Renderer.h @@ -3,13 +3,14 @@ #include "SynthGuiState.h" #include "raylib.h" #include +#include "ADSR.h" class Renderer { private: void draw_main_panel(const Rectangle& panel_bounds); void draw_add_oscillator_button(Synth& synth, SynthGuiState& synth_gui, Rectangle panel_bounds); - void draw_oscillators_panels( + float draw_oscillators_panels( const std::vector& oscillators, const std::vector& gui_oscillators, const Rectangle& panel_bounds); @@ -18,7 +19,7 @@ class Renderer { const std::vector& guiOscillators); void draw_ui(Synth& synth, SynthGuiState& synth_gui); void draw_signal(Synth& synth, SynthGuiState& synth_gui); - + void draw_adsr_panel(ADSR* adsr, ADSRGuiState& gui_adsr, const Rectangle& panel_bounds, float panel_y_offset); public: Renderer(/* args */); ~Renderer(); diff --git a/inc/Synth.h b/inc/Synth.h index e897460..1d2e600 100644 --- a/inc/Synth.h +++ b/inc/Synth.h @@ -6,6 +6,7 @@ #include "Oscillator.h" #include "Settings.h" #include +#include "ADSR.h" class Synth { private: @@ -32,4 +33,5 @@ class Synth { const std::vector& GetOutSignal() { return m_out_signal; } const std::vector& GetOscillators() { return m_oscillators; } const bool& GetIsNoteTriggered() { return is_note_triggered; } + ADSR* GetADSR() { return (ADSR*)m_effects[0]; } }; \ No newline at end of file diff --git a/inc/SynthGuiState.h b/inc/SynthGuiState.h index 5eb02c3..f07a21d 100644 --- a/inc/SynthGuiState.h +++ b/inc/SynthGuiState.h @@ -11,6 +11,14 @@ struct OscillatorGuiState { Rectangle shape_dropdown_rect; }; +struct ADSRGuiState { + float attack; + float decay; + float sustain; + float release; +}; + struct SynthGuiState { std::vector oscillators; + ADSRGuiState adsr; }; \ No newline at end of file diff --git a/src/ADSR.cpp b/src/ADSR.cpp index 6a898a7..879b106 100644 --- a/src/ADSR.cpp +++ b/src/ADSR.cpp @@ -86,4 +86,11 @@ void ADSR::Process(std::vector& samples) { recheck_state(); process_sample(&samples[i]); } +} + +void ADSR::SetParameters(float attack, float decay, float sustain, float release) { + m_parameters.attack_time = attack; + m_parameters.decay_time = decay; + m_parameters.sustain_level = sustain; + m_parameters.release_time = release; } \ No newline at end of file diff --git a/src/Renderer.cpp b/src/Renderer.cpp index c1cb22e..faf46a1 100644 --- a/src/Renderer.cpp +++ b/src/Renderer.cpp @@ -76,7 +76,7 @@ void Renderer::draw_oscillators_shape_inputs( } } -void Renderer::draw_oscillators_panels( +float Renderer::draw_oscillators_panels( const std::vector& oscillators, const std::vector& gui_oscillators, const Rectangle& panel_bounds) { @@ -138,6 +138,8 @@ void Renderer::draw_oscillators_panels( // synth->ui_oscillator_count -= 1; } } + + return panel_y_offset; } void Renderer::draw_main_panel(const Rectangle& panel_bounds) { @@ -177,6 +179,68 @@ void Renderer::draw_ui(Synth& synth, SynthGuiState& synth_gui) { std::vector oscillators = synth.GetOscillators(); std::vector gui_oscillators = synth_gui.oscillators; - draw_oscillators_panels(oscillators, gui_oscillators, panel_bounds); + float panel_y_offset = draw_oscillators_panels(oscillators, gui_oscillators, panel_bounds); draw_oscillators_shape_inputs(oscillators, gui_oscillators); -} \ No newline at end of file + + draw_adsr_panel(synth.GetADSR(), synth_gui.adsr, panel_bounds, panel_y_offset); +} + +void Renderer::draw_adsr_panel(ADSR* adsr, ADSRGuiState& gui_adsr, const Rectangle& panel_bounds, float panel_y_offset) { + // Draw ADSR Panel + const int osc_panel_width = panel_bounds.width - 20; + const int osc_panel_height = 120; + const int osc_panel_x = panel_bounds.x + 10; + const int osc_panel_y = panel_bounds.y + 50 + panel_y_offset; + panel_y_offset += osc_panel_height + 5; + GuiPanel((Rectangle){(float)osc_panel_x, (float)osc_panel_y, + (float)osc_panel_width, (float)osc_panel_height}, + "ADSR"); + + const float slider_padding = 50.f; + const float el_spacing = 5.f; + Rectangle el_rect = {.x = (float)osc_panel_x + slider_padding + 30, + .y = (float)osc_panel_y + 10, + .width = + (float)osc_panel_width - (slider_padding * 2), + .height = 25.f}; + + // Attack slider + float attack = gui_adsr.attack; + char attack_slider_label[32]; + snprintf(attack_slider_label, 7, "%.1f s", attack); + attack = + GuiSlider(el_rect, attack_slider_label, "", attack, 0.0f, 2.0f); + gui_adsr.attack = attack; + el_rect.y += el_rect.height + el_spacing; + + //Decay slider + float decay = gui_adsr.decay; + char decay_slider_label[32]; + snprintf(decay_slider_label, 7, "%.1f s", decay); + decay = + GuiSlider(el_rect, decay_slider_label, "", decay, 0.0f, 1.0f); + gui_adsr.decay = decay; + el_rect.y += el_rect.height + el_spacing; + + //Sustain slider + float sustain = gui_adsr.sustain; + char sustain_slider_label[32]; + snprintf(sustain_slider_label, 7, "%.1f u", sustain); + sustain = + GuiSlider(el_rect, sustain_slider_label, "", sustain, 0.0f, 1.0f); + gui_adsr.sustain = sustain; + el_rect.y += el_rect.height + el_spacing; + + + //Release slider + float release = gui_adsr.release; + char release_slider_label[32]; + snprintf(release_slider_label, 7, "%.1f s", release); + release = + GuiSlider(el_rect, release_slider_label, "", release, 0.0f, 5.0f); + gui_adsr.release = release; + el_rect.y += el_rect.height + el_spacing; + + //apply values to real one + adsr->SetParameters(gui_adsr.attack, gui_adsr.decay, gui_adsr.sustain, gui_adsr.release); +} -- 2.49.1 From df7b8865264133ffe52b18f31cde314eeb495ee3 Mon Sep 17 00:00:00 2001 From: HiveBeats Date: Tue, 5 Sep 2023 23:47:55 +0400 Subject: [PATCH 13/13] refactor: formatting --- inc/Renderer.h | 6 ++- inc/Synth.h | 2 +- src/ADSR.cpp | 3 +- src/Renderer.cpp | 107 +++++++++++++++++++++++------------------------ 4 files changed, 60 insertions(+), 58 deletions(-) diff --git a/inc/Renderer.h b/inc/Renderer.h index ad6f92f..169a788 100644 --- a/inc/Renderer.h +++ b/inc/Renderer.h @@ -1,9 +1,9 @@ #pragma once +#include "ADSR.h" #include "Synth.h" #include "SynthGuiState.h" #include "raylib.h" #include -#include "ADSR.h" class Renderer { private: @@ -19,7 +19,9 @@ class Renderer { const std::vector& guiOscillators); void draw_ui(Synth& synth, SynthGuiState& synth_gui); void draw_signal(Synth& synth, SynthGuiState& synth_gui); - void draw_adsr_panel(ADSR* adsr, ADSRGuiState& gui_adsr, const Rectangle& panel_bounds, float panel_y_offset); + void draw_adsr_panel(ADSR* adsr, ADSRGuiState& gui_adsr, + const Rectangle& panel_bounds, float panel_y_offset); + public: Renderer(/* args */); ~Renderer(); diff --git a/inc/Synth.h b/inc/Synth.h index 1d2e600..b0f4eee 100644 --- a/inc/Synth.h +++ b/inc/Synth.h @@ -1,12 +1,12 @@ #pragma once +#include "ADSR.h" #include "Adder.h" #include "Effect.h" #include "Note.h" #include "Oscillator.h" #include "Settings.h" #include -#include "ADSR.h" class Synth { private: diff --git a/src/ADSR.cpp b/src/ADSR.cpp index 879b106..5d204fa 100644 --- a/src/ADSR.cpp +++ b/src/ADSR.cpp @@ -88,7 +88,8 @@ void ADSR::Process(std::vector& samples) { } } -void ADSR::SetParameters(float attack, float decay, float sustain, float release) { +void ADSR::SetParameters(float attack, float decay, float sustain, + float release) { m_parameters.attack_time = attack; m_parameters.decay_time = decay; m_parameters.sustain_level = sustain; diff --git a/src/Renderer.cpp b/src/Renderer.cpp index faf46a1..7fa528f 100644 --- a/src/Renderer.cpp +++ b/src/Renderer.cpp @@ -179,68 +179,67 @@ void Renderer::draw_ui(Synth& synth, SynthGuiState& synth_gui) { std::vector oscillators = synth.GetOscillators(); std::vector gui_oscillators = synth_gui.oscillators; - float panel_y_offset = draw_oscillators_panels(oscillators, gui_oscillators, panel_bounds); + float panel_y_offset = + draw_oscillators_panels(oscillators, gui_oscillators, panel_bounds); draw_oscillators_shape_inputs(oscillators, gui_oscillators); - draw_adsr_panel(synth.GetADSR(), synth_gui.adsr, panel_bounds, panel_y_offset); + draw_adsr_panel(synth.GetADSR(), synth_gui.adsr, panel_bounds, + panel_y_offset); } -void Renderer::draw_adsr_panel(ADSR* adsr, ADSRGuiState& gui_adsr, const Rectangle& panel_bounds, float panel_y_offset) { - // Draw ADSR Panel - const int osc_panel_width = panel_bounds.width - 20; - const int osc_panel_height = 120; - const int osc_panel_x = panel_bounds.x + 10; - const int osc_panel_y = panel_bounds.y + 50 + panel_y_offset; - panel_y_offset += osc_panel_height + 5; - GuiPanel((Rectangle){(float)osc_panel_x, (float)osc_panel_y, - (float)osc_panel_width, (float)osc_panel_height}, - "ADSR"); +void Renderer::draw_adsr_panel(ADSR* adsr, ADSRGuiState& gui_adsr, + const Rectangle& panel_bounds, + float panel_y_offset) { + // Draw ADSR Panel + const int osc_panel_width = panel_bounds.width - 20; + const int osc_panel_height = 120; + const int osc_panel_x = panel_bounds.x + 10; + const int osc_panel_y = panel_bounds.y + 50 + panel_y_offset; + panel_y_offset += osc_panel_height + 5; + GuiPanel((Rectangle){(float)osc_panel_x, (float)osc_panel_y, + (float)osc_panel_width, (float)osc_panel_height}, + "ADSR"); - const float slider_padding = 50.f; - const float el_spacing = 5.f; - Rectangle el_rect = {.x = (float)osc_panel_x + slider_padding + 30, - .y = (float)osc_panel_y + 10, - .width = - (float)osc_panel_width - (slider_padding * 2), - .height = 25.f}; + const float slider_padding = 50.f; + const float el_spacing = 5.f; + Rectangle el_rect = {.x = (float)osc_panel_x + slider_padding + 30, + .y = (float)osc_panel_y + 10, + .width = (float)osc_panel_width - (slider_padding * 2), + .height = 25.f}; - // Attack slider - float attack = gui_adsr.attack; - char attack_slider_label[32]; - snprintf(attack_slider_label, 7, "%.1f s", attack); - attack = - GuiSlider(el_rect, attack_slider_label, "", attack, 0.0f, 2.0f); - gui_adsr.attack = attack; - el_rect.y += el_rect.height + el_spacing; + // Attack slider + float attack = gui_adsr.attack; + char attack_slider_label[32]; + snprintf(attack_slider_label, 7, "%.1f s", attack); + attack = GuiSlider(el_rect, attack_slider_label, "", attack, 0.0f, 2.0f); + gui_adsr.attack = attack; + el_rect.y += el_rect.height + el_spacing; - //Decay slider - float decay = gui_adsr.decay; - char decay_slider_label[32]; - snprintf(decay_slider_label, 7, "%.1f s", decay); - decay = - GuiSlider(el_rect, decay_slider_label, "", decay, 0.0f, 1.0f); - gui_adsr.decay = decay; - el_rect.y += el_rect.height + el_spacing; + // Decay slider + float decay = gui_adsr.decay; + char decay_slider_label[32]; + snprintf(decay_slider_label, 7, "%.1f s", decay); + decay = GuiSlider(el_rect, decay_slider_label, "", decay, 0.0f, 1.0f); + gui_adsr.decay = decay; + el_rect.y += el_rect.height + el_spacing; - //Sustain slider - float sustain = gui_adsr.sustain; - char sustain_slider_label[32]; - snprintf(sustain_slider_label, 7, "%.1f u", sustain); - sustain = - GuiSlider(el_rect, sustain_slider_label, "", sustain, 0.0f, 1.0f); - gui_adsr.sustain = sustain; - el_rect.y += el_rect.height + el_spacing; + // Sustain slider + float sustain = gui_adsr.sustain; + char sustain_slider_label[32]; + snprintf(sustain_slider_label, 7, "%.1f u", sustain); + sustain = GuiSlider(el_rect, sustain_slider_label, "", sustain, 0.0f, 1.0f); + gui_adsr.sustain = sustain; + el_rect.y += el_rect.height + el_spacing; + // Release slider + float release = gui_adsr.release; + char release_slider_label[32]; + snprintf(release_slider_label, 7, "%.1f s", release); + release = GuiSlider(el_rect, release_slider_label, "", release, 0.0f, 5.0f); + gui_adsr.release = release; + el_rect.y += el_rect.height + el_spacing; - //Release slider - float release = gui_adsr.release; - char release_slider_label[32]; - snprintf(release_slider_label, 7, "%.1f s", release); - release = - GuiSlider(el_rect, release_slider_label, "", release, 0.0f, 5.0f); - gui_adsr.release = release; - el_rect.y += el_rect.height + el_spacing; - - //apply values to real one - adsr->SetParameters(gui_adsr.attack, gui_adsr.decay, gui_adsr.sustain, gui_adsr.release); + // apply values to real one + adsr->SetParameters(gui_adsr.attack, gui_adsr.decay, gui_adsr.sustain, + gui_adsr.release); } -- 2.49.1